diff -ruN 4.6rc2/CHANGELOG.php 4.6-complete/CHANGELOG.php --- 4.6rc2/CHANGELOG.php 2006-07-02 15:21:22.000000000 -0500 +++ 4.6-complete/CHANGELOG.php 2006-09-20 19:05:08.000000000 -0500 @@ -6,7 +6,7 @@ * * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. -* Mambo is Free Software +* Mambo is Free Software */ // no direct access @@ -26,1399 +26,1879 @@ + -> Addition ! -> Change - -> Removed -! -> Note - --------------------- 4.6 Release --------------------------------------- - --------------------- 4.6 (RC2) Release --------------------------------- - ------------------------------------------------------------------------- -r584 | cauld | 2006-07-02 14:02:19 -0600 (Sun, 02 Jul 2006) | 1 line - -Fixing MySQL 5 params NOT NULL issue. Allowing default to be NULL for -components, modules, and mambots. A broader fix will happen with v5. ------------------------------------------------------------------------- -r583 | cauld | 2006-07-02 11:05:31 -0600 (Sun, 02 Jul 2006) | 1 line - -Eliminating the use of realpath() to determine dynamic URLs. This was -creating issues with some shared host plans. ------------------------------------------------------------------------- -r582 | cauld | 2006-06-22 22:17:06 -0600 (Thu, 22 Jun 2006) | 1 line - -MOStlyCE config change to fix Javascript errors. Now not loading several -external plugins (ex) htmltemplate, mambo, etc. These were not written for -TinyMCE 2.x and therefore do not work. Will have to revisit at a later time. ------------------------------------------------------------------------- -r581 | cauld | 2006-06-22 21:32:32 -0600 (Thu, 22 Jun 2006) | 1 line - -MOStlyCE Admin change to remove onclick config section. ------------------------------------------------------------------------- -r580 | cauld | 2006-06-20 11:43:43 -0600 (Tue, 20 Jun 2006) | 1 line - -turning off MOStlyCE compression by default until the compressor works in IE. ------------------------------------------------------------------------- -r579 | csouza | 2006-06-20 05:54:04 -0600 (Tue, 20 Jun 2006) | 1 line - -removing charset conversion button from language form ------------------------------------------------------------------------- ------------------------------------------------------------------------- -r577 | cauld | 2006-06-20 00:05:22 -0600 (Tue, 20 Jun 2006) | 1 line - -adding some missing / unversioned MOStlyCE files ------------------------------------------------------------------------- -r576 | cauld | 2006-06-20 00:01:27 -0600 (Tue, 20 Jun 2006) | 1 line - -tweaking MOStlyCE based on the 4.5.4 MOStlyCE feedback in the forums ------------------------------------------------------------------------- -r575 | cauld | 2006-06-19 23:17:39 -0600 (Mon, 19 Jun 2006) | 1 line - -committing weblinks SQL injection fix ------------------------------------------------------------------------- -r572 | cauld | 2006-06-18 11:53:59 -0600 (Sun, 18 Jun 2006) | 1 line - -! changing mambo.sql to fix utf8 / mysql 5 issue with #__core_acl_aro. ------------------------------------------------------------------------- -r571 | cauld | 2006-06-18 11:22:02 -0600 (Sun, 18 Jun 2006) | 1 line - -! Turning off MOStlyCE compression by default since it doesn't work in IE. -Adding warning to tip so users see why it is off. OK and recommended for use with FF. ------------------------------------------------------------------------- -r570 | neilt | 2006-06-18 04:04:34 -0600 (Sun, 18 Jun 2006) | 1 line - -commit test ------------------------------------------------------------------------- -r569 | chanh | 2006-06-17 22:47:09 -0600 (Sat, 17 Jun 2006) | 1 line - -Make a comment commit on SG SVN to make sure the commit work ------------------------------------------------------------------------- -r568 | cauld | 2006-06-17 19:13:30 -0600 (Sat, 17 Jun 2006) | 1 line - -!test commit against Mambo's new SVN repository ------------------------------------------------------------------------- -r567 | chanh | 2006-06-16 13:03:24 -0600 (Fri, 16 Jun 2006) | 1 line - -Fix bug with STRICT_TRANS_TABLES cause installer to fail in mysql 5 when -install module and mambot ------------------------------------------------------------------------- -r566 | csouza | 2006-06-14 06:50:53 -0600 (Wed, 14 Jun 2006) | 1 line - -updated brazilian portuguese glossary ------------------------------------------------------------------------- -r565 | cauld | 2006-06-13 21:58:48 -0600 (Tue, 13 Jun 2006) | 1 line - -!Changing format of CHANGELOG to use the SVN log. Easier to maintain. ------------------------------------------------------------------------- -r564 | cauld | 2006-06-13 21:17:10 -0600 (Tue, 13 Jun 2006) | 2 lines - -!updating mostlyce.php and mostlyce.xml based on recent test for 454. -Fixing paste plugin issue. ------------------------------------------------------------------------- -r563 | csouza | 2006-06-11 10:05:40 -0600 (Sun, 11 Jun 2006) | 1 line - -bug fix in language charset conversion ------------------------------------------------------------------------- -r562 | csouza | 2006-06-10 11:37:53 -0600 (Sat, 10 Jun 2006) | 1 line - -updated .pot templates ------------------------------------------------------------------------- -r560 | csouza | 2006-06-07 02:35:31 -0600 (Wed, 07 Jun 2006) | 1 line - -language - updated .pot templates ------------------------------------------------------------------------- -r557 | csouza | 2006-06-07 02:21:25 -0600 (Wed, 07 Jun 2006) | 1 line - -including italian, thai and brazilian portuguese language files for the rc. These should be installable. ------------------------------------------------------------------------- -r556 | csouza | 2006-06-07 02:15:51 -0600 (Wed, 07 Jun 2006) | 1 line - -internationalization modifications ------------------------------------------------------------------------- -r555 | cauld | 2006-05-31 21:26:19 -0600 (Wed, 31 May 2006) | 4 lines - -! removing all mentions of mamboforge and replacing with mamboxchange or something else like The Source. -! updating the support page to update links, add better wording, etc. -! updating version.php for RC2 ------------------------------------------------------------------------- -r554 | csouza | 2006-05-31 10:52:24 -0600 (Wed, 31 May 2006) | 1 line - -minor tweaks to HTML_admin_misc::help() in admin.admin.html.php ------------------------------------------------------------------------- -r553 | csouza | 2006-05-31 10:49:28 -0600 (Wed, 31 May 2006) | 1 line - -replaced help files with xhtml compliant ones with title tag needed for help index ------------------------------------------------------------------------- -r552 | csouza | 2006-05-30 17:38:18 -0600 (Tue, 30 May 2006) | 1 line - -removed obsolete help screens ------------------------------------------------------------------------- -r551 | csouza | 2006-05-30 17:35:27 -0600 (Tue, 30 May 2006) | 1 line - -final installment of new and renamed help screens and component toolbars changed to reflect new naming. ------------------------------------------------------------------------- -r550 | csouza | 2006-05-29 11:21:00 -0600 (Mon, 29 May 2006) | 1 line - -first installment of new and renamed help screens and component toolbars changed to reflect new naming ------------------------------------------------------------------------- -r549 | cauld | 2006-05-26 21:42:35 -0600 (Fri, 26 May 2006) | 2 lines - -! Updated "What's new" & "Credits" ------------------------------------------------------------------------- -r548 | cauld | 2006-05-26 20:05:58 -0600 (Fri, 26 May 2006) | 2 lines - -+ Adding new site templates (Donated by Water&Stone, coded by Nalisa) ------------------------------------------------------------------------- -r533 | csouza | 2006-05-22 08:32:01 -0600 (Mon, 22 May 2006) | 1 line - -fixed some bugs caused by index.php cleanup ------------------------------------------------------------------------- -r532 | csouza | 2006-05-21 03:41:05 -0600 (Sun, 21 May 2006) | 1 line - -moved commented 'ErrorHandler' class in index.php to includes/core.classes.php ------------------------------------------------------------------------- -r531 | cauld | 2006-05-20 18:54:45 -0600 (Sat, 20 May 2006) | 1 line - -cauld: (trivial) correcting a few spelling errors ------------------------------------------------------------------------- -r530 | csouza | 2006-05-20 17:17:51 -0600 (Sat, 20 May 2006) | 1 line - -corrected mambocore->rootpath in includes/core.classes.php and added phpdoc templates to undocumented classes ------------------------------------------------------------------------- -r529 | csouza | 2006-05-20 15:01:36 -0600 (Sat, 20 May 2006) | 1 line - -moved classes in index.php to includes/core.classes.php ------------------------------------------------------------------------- -r528 | cauld | 2006-05-20 14:57:10 -0600 (Sat, 20 May 2006) | 1 line - -cauld: # Fixing a Offline bug which caused an error rather than the offline message when MySQL was down ------------------------------------------------------------------------- -r524 | neilt | 2006-05-19 06:18:36 -0600 (Fri, 19 May 2006) | 1 line - -general javascript and formatting bug fixes ------------------------------------------------------------------------- -r523 | neilt | 2006-05-19 00:20:15 -0600 (Fri, 19 May 2006) | 1 line - -Fixed Trac Ticket #86 ------------------------------------------------------------------------- -r521 | cauld | 2006-05-16 22:54:20 -0600 (Tue, 16 May 2006) | 1 line - -cauld - # Rewrote uninstall_template() to fix bug where the wrong template dir was removed ------------------------------------------------------------------------- -r520 | neilt | 2006-05-16 07:13:53 -0600 (Tue, 16 May 2006) | 1 line - -Modification to center menubar labels ------------------------------------------------------------------------- -r517 | neilt | 2006-05-16 06:05:37 -0600 (Tue, 16 May 2006) | 1 line - -bug fix ------------------------------------------------------------------------- -r516 | neilt | 2006-05-16 03:44:41 -0600 (Tue, 16 May 2006) | 1 line - -minor bug fixes ------------------------------------------------------------------------- -r515 | cauld | 2006-05-15 22:20:58 -0600 (Mon, 15 May 2006) | 1 line - -cauld - fixing minor mis-spelling ------------------------------------------------------------------------- -r514 | neilt | 2006-05-15 06:52:09 -0600 (Mon, 15 May 2006) | 1 line - -inclusion of .message class in front end css ------------------------------------------------------------------------- -r512 | cauld | 2006-05-14 17:16:29 -0600 (Sun, 14 May 2006) | 2 lines - -cauld - Added the uploadfiles dir to the installation write permission check - ------------------------------------------------------------------------- -r511 | cauld | 2006-05-14 16:22:54 -0600 (Sun, 14 May 2006) | 1 line - -cauld - missed a few weblink name changes. ------------------------------------------------------------------------- -r510 | cauld | 2006-05-14 15:46:22 -0600 (Sun, 14 May 2006) | 1 line - -cauld: Standardized / Updated the label for New Feeds for the whole app (aka: Newsfeeds) ------------------------------------------------------------------------- -r509 | cauld | 2006-05-14 15:14:22 -0600 (Sun, 14 May 2006) | 1 line - -cauld: Updated MOStlyCE spellchecker plugin tip ------------------------------------------------------------------------- -r508 | cauld | 2006-05-14 14:48:05 -0600 (Sun, 14 May 2006) | 3 lines - -! Updated the "What's New" help doc -! Standardized / Updated the label for Web Links for the whole app (aka: Weblinks) ------------------------------------------------------------------------- -r507 | cauld | 2006-05-13 19:23:34 -0600 (Sat, 13 May 2006) | 7 lines - -! Upgraded MOStlyCE's guts to TinyMCE 2.0.6.1 (bugs fixes, enhancements, etc) -+ Added a layers plugin to MOStlyCE and an experimental spellchecker plugin (works well in IE) -+ Added options in MOStlyCE Admin to control layer & spellchecker plugins -! Various other minor MOStlyCE tweaks and enhancements ------------------------------------------------------------------------- -r506 | adi | 2006-05-13 00:03:27 -0600 (Sat, 13 May 2006) | 1 line - -fix trac #85 ------------------------------------------------------------------------- -r505 | cauld | 2006-05-11 06:54:09 -0600 (Thu, 11 May 2006) | 1 line - -cauld - fixing mambo.sql table prefix bug ------------------------------------------------------------------------- -r504 | neilt | 2006-05-01 11:55:35 -0600 (Mon, 01 May 2006) | 1 line - -Fixed errors occuring whilst copying empty sections - Trac #83 ------------------------------------------------------------------------- -r502 | cauld | 2006-04-30 14:57:33 -0600 (Sun, 30 Apr 2006) | 1 line - -cauld - Updating MOStlyCE Admin to handle the language file structure change. ------------------------------------------------------------------------- -r500 | cauld | 2006-04-30 14:27:06 -0600 (Sun, 30 Apr 2006) | 1 line - -cauld - checking in tinymce 2.0.5.1 ------------------------------------------------------------------------- -r499 | cauld | 2006-04-30 13:02:06 -0600 (Sun, 30 Apr 2006) | 1 line - -cauld - For whatever reason the last time I tried to commit the new version of -the MOStlyCE mambot it disappeared. Trying again. ------------------------------------------------------------------------- -r497 | cauld | 2006-04-30 12:23:50 -0600 (Sun, 30 Apr 2006) | 1 line - -cauld - Removing old basic TinyMCE 2.0.1, will replace with TinyMCE 2.0.5.1. -Tons of enhancements and bug fixes. ------------------------------------------------------------------------- -r496 | cauld | 2006-04-30 12:18:38 -0600 (Sun, 30 Apr 2006) | 1 line - -cauld - Rolling MOStlyCE Admin back to v1.5 since the Img & File mgr plugins have been pulled. ------------------------------------------------------------------------- -r495 | cauld | 2006-04-30 12:10:47 -0600 (Sun, 30 Apr 2006) | 1 line - -cauld - Checking in MOStlyCE 1.7 mambot. Now using TinyMCE 2.0.5.1. -The image mgr and file mgr plugins have been pulled for compatibility reasons. ------------------------------------------------------------------------- -r494 | cauld | 2006-04-30 12:05:15 -0600 (Sun, 30 Apr 2006) | 1 line - -cauld - Removing the old mostlyce install. I will be bringing in a fresh -version with the most recent TinyMCE 2.0.5.1 guts. I didn't want to deal with -new files vs deleted files, etc. Just easier to replace the whole darn thing :) ------------------------------------------------------------------------- -r493 | neilt | 2006-04-27 11:43:45 -0600 (Thu, 27 Apr 2006) | 1 line - -Missing argument 6 for moscomponentusermanager() - Trac #81 ------------------------------------------------------------------------- -r492 | neilt | 2006-04-26 15:31:58 -0600 (Wed, 26 Apr 2006) | 2 lines - -Fixed empty admin module bugs -Fixed bugs adding new content with no section / categories - --------------------- 4.6 (RC1) Release --------------------------------- - ------------------------------------------------------------------------- -r491 | csouza | 2006-04-23 16:43:10 -0600 (Sun, 23 Apr 2006) | 1 line - -fix javascript language bugs and mosmenubar::help() ------------------------------------------------------------------------- -r490 | cauld | 2006-04-23 10:39:53 -0600 (Sun, 23 Apr 2006) | 1 line - -cauld - fixing Image Manager plugin image list bug. ------------------------------------------------------------------------- -r489 | cauld | 2006-04-23 01:35:31 -0600 (Sun, 23 Apr 2006) | 1 line - -cauld - Big commit here for the newly configured MOStlyCE Image & File Manager plugins. Also contains the new MOStlyCE Admin tabs that go along with these. ------------------------------------------------------------------------- -r488 | neilt | 2006-04-22 14:46:52 -0600 (Sat, 22 Apr 2006) | 1 line - -non purged multiple session problems fixed. Trac #79 ------------------------------------------------------------------------- -r487 | counterpoint | 2006-04-22 02:49:01 -0600 (Sat, 22 Apr 2006) | 1 line - -Further relaxation of Itemid check to avoid "not authorized" errors ------------------------------------------------------------------------- -r486 | counterpoint | 2006-04-21 11:08:02 -0600 (Fri, 21 Apr 2006) | 1 line - -Fix bug in showing "shortcut" icon ------------------------------------------------------------------------- -r485 | counterpoint | 2006-04-21 07:10:48 -0600 (Fri, 21 Apr 2006) | 1 line - -Modified search mambots to include correct Itemid and prevent search results from being blocked by "unauthorized access" ------------------------------------------------------------------------- -r484 | cauld | 2006-04-20 12:37:58 -0600 (Thu, 20 Apr 2006) | 1 line - -cauld - updating version.php for Monday's RC1 release. ------------------------------------------------------------------------- -r483 | csouza | 2006-04-19 07:17:58 -0600 (Wed, 19 Apr 2006) | 1 line - -Language Manager Javascript and bug fixes ------------------------------------------------------------------------- -r482 | neilt | 2006-04-19 02:17:21 -0600 (Wed, 19 Apr 2006) | 1 line - -addition of missing index.html files to numerous folders ------------------------------------------------------------------------- -r481 | counterpoint | 2006-04-18 10:54:46 -0600 (Tue, 18 Apr 2006) | 1 line - -Small bug fixes to text items ------------------------------------------------------------------------- -r479 | counterpoint | 2006-04-16 09:27:34 -0600 (Sun, 16 Apr 2006) | 1 line - -Patch installer and file permission bug fixes note. ------------------------------------------------------------------------- -r478 | counterpoint | 2006-04-16 09:25:59 -0600 (Sun, 16 Apr 2006) | 2 lines - -Patch installer and file handling bug fixes ------------------------------------------------------------------------- -r477 | counterpoint | 2006-04-16 09:25:27 -0600 (Sun, 16 Apr 2006) | 1 line - -Patch installer ------------------------------------------------------------------------- -r475 | counterpoint | 2006-04-15 02:28:04 -0600 (Sat, 15 Apr 2006) | 1 line - -Added code to put admin side custom modules into effect, not including RSS feeds. ------------------------------------------------------------------------- -r474 | neilt | 2006-04-13 10:21:17 -0600 (Thu, 13 Apr 2006) | 1 line - -Atom 1.0 changes ------------------------------------------------------------------------- -r473 | counterpoint | 2006-04-13 10:18:01 -0600 (Thu, 13 Apr 2006) | 1 line - -Modified to process the XML for language package installation. ------------------------------------------------------------------------- -r472 | counterpoint | 2006-04-13 09:38:43 -0600 (Thu, 13 Apr 2006) | 1 line - -Extended XML tags for installing language packages. ------------------------------------------------------------------------- -r471 | neilt | 2006-04-13 07:29:26 -0600 (Thu, 13 Apr 2006) | 1 line - -minor changes to dates and path ------------------------------------------------------------------------- -r470 | neilt | 2006-04-13 04:02:43 -0600 (Thu, 13 Apr 2006) | 2 lines - -Corrected declaration and assigning of 3 new field values -$item_created, $item_modified and $item_author ------------------------------------------------------------------------- -r469 | neilt | 2006-04-13 03:52:39 -0600 (Thu, 13 Apr 2006) | 4 lines - -Removal of depricated Atom0.3 syndication -Addition of Atom1.0 standards and RSS feed image -Modifications to language files -Trac #72 ------------------------------------------------------------------------- -r468 | cauld | 2006-04-12 23:11:44 -0600 (Wed, 12 Apr 2006) | 1 line - -cauld - fixing mospagebreak to work with php 4 & 5 ------------------------------------------------------------------------- -r467 | csouza | 2006-04-12 21:55:19 -0600 (Wed, 12 Apr 2006) | 3 lines - -Language fixes -export language functionality -italian language translations ------------------------------------------------------------------------- -r464 | chanh | 2006-04-12 13:59:36 -0600 (Wed, 12 Apr 2006) | 1 line - -Fix missing cid variable for backward compatible with 3PD component. ------------------------------------------------------------------------- -r462 | cauld | 2006-04-11 23:47:58 -0600 (Tue, 11 Apr 2006) | 1 line - -cauld - updating version.php with RC1 details ------------------------------------------------------------------------- -r461 | cauld | 2006-04-11 23:45:32 -0600 (Tue, 11 Apr 2006) | 1 line - -cauld - adding uploadfiles dir for MOStlyDBAdmin local restore function ------------------------------------------------------------------------- -r460 | cauld | 2006-04-11 23:44:29 -0600 (Tue, 11 Apr 2006) | 1 line - -cauld - Commenting out the containers component for now since we are about to -put out 4.6 RC1 and this is not ready. ------------------------------------------------------------------------- -r458 | counterpoint | 2006-04-11 08:36:50 -0600 (Tue, 11 Apr 2006) | 1 line - -Fixed problem with newly created menu not appearing; other minor bugs ------------------------------------------------------------------------- -r456 | cauld | 2006-04-10 20:01:42 -0600 (Mon, 10 Apr 2006) | 1 line - -cauld - Committing the last major revision of MOStlyCE for 4.6, version 1.6. ------------------------------------------------------------------------- -r455 | cauld | 2006-04-10 19:55:50 -0600 (Mon, 10 Apr 2006) | 1 line - -cauld - Checking in the last major revision of MOStlyCE Admin for 4.6, version 1.5. ------------------------------------------------------------------------- -r454 | cauld | 2006-04-10 19:48:15 -0600 (Mon, 10 Apr 2006) | 1 line - -cauld - Checking in updated overlib_mini.js. We are running version 4.0 which is really old. -Updating us to the latest version 4.21. ------------------------------------------------------------------------- -r453 | neilt | 2006-04-07 06:51:31 -0600 (Fri, 07 Apr 2006) | 1 line - -Fixed problem with html in parameters textfield within the admin modules. Trac ticket #73 ------------------------------------------------------------------------- -r452 | neilt | 2006-04-07 06:30:18 -0600 (Fri, 07 Apr 2006) | 1 line - -fixed missing close tags in admin module ------------------------------------------------------------------------- -r450 | neilt | 2006-04-06 12:41:09 -0600 (Thu, 06 Apr 2006) | 1 line - -Bug fixes within the Admin Modules ------------------------------------------------------------------------- -r449 | counterpoint | 2006-04-05 12:41:48 -0600 (Wed, 05 Apr 2006) | 1 line - -Modification to relax check on Itemid for components not having menu entries ------------------------------------------------------------------------- -r448 | neilt | 2006-04-03 12:37:56 -0600 (Mon, 03 Apr 2006) | 1 line - -Changed 2 labels in poll component to Question from Title ------------------------------------------------------------------------- -r447 | counterpoint | 2006-04-03 11:51:53 -0600 (Mon, 03 Apr 2006) | 1 line - -Modification to avoid over complex search and replace of #__ in database query strings ------------------------------------------------------------------------- -r446 | counterpoint | 2006-04-03 07:47:34 -0600 (Mon, 03 Apr 2006) | 1 line - -Small bug fixes and optimisation ------------------------------------------------------------------------- -r445 | counterpoint | 2006-04-03 07:30:46 -0600 (Mon, 03 Apr 2006) | 1 line - -Add user side of containers component (forgotten!) ------------------------------------------------------------------------- -r444 | neilt | 2006-04-03 05:58:09 -0600 (Mon, 03 Apr 2006) | 1 line - -Added The Source URL to weblinks, Mambo Foundation and The Source links to Other Menu ------------------------------------------------------------------------- -r443 | neilt | 2006-04-03 05:51:01 -0600 (Mon, 03 Apr 2006) | 2 lines - -Added The Source URL to weblinks (Trac #63) -Added Mambo Foundation and The Source links in Other Menu and changed title to show (Trac #71) ------------------------------------------------------------------------- -r442 | counterpoint | 2006-04-03 02:46:54 -0600 (Mon, 03 Apr 2006) | 1 line - -Bug fix uninstaller error with array merge ------------------------------------------------------------------------- -r440 | cauld | 2006-04-02 20:40:16 -0600 (Sun, 02 Apr 2006) | 1 line - -cauld - Updating MOStlyDBAdmin.xml file ------------------------------------------------------------------------- -r439 | cauld | 2006-04-02 17:33:27 -0600 (Sun, 02 Apr 2006) | 1 line - -cauld - Adding the new MOStlyDBAdmin component for db backup and restore functionality. ------------------------------------------------------------------------- -r438 | cauld | 2006-04-02 15:34:16 -0600 (Sun, 02 Apr 2006) | 1 line - -cauld - Making a quick mod to the MOStlyCE $adminside check ------------------------------------------------------------------------- -r437 | neilt | 2006-04-02 14:07:50 -0600 (Sun, 02 Apr 2006) | 1 line - -incomplete Note + +-------------------- 4.6 Release --------------------------------------- -Bug fix to stop foreach on null failure. ------------------------------------------------------------------------- -r422 | counterpoint | 2006-03-22 11:41:29 -0700 (Wed, 22 Mar 2006) | 1 line +r716 | cauld | 2006-09-17 12:19:53 -0600 (Sun, 17 Sep 2006) | 1 line -Optimisation of menu types handling, mostlyce.php request for template. Fixed -admin side failure to consistently find session data. Reorganised admin side to -ignore repeated logins. Fixed offline check validation of admin session. +! Removing Mambo Raw SQL installation files and replacing with Mambo Lite SQL files. ------------------------------------------------------------------------ -r421 | counterpoint | 2006-03-22 01:29:54 -0700 (Wed, 22 Mar 2006) | 1 line +r715 | alwarren | 2006-09-14 23:03:21 -0600 (Thu, 14 Sep 2006) | 1 line -Hardening of contact component. +# FS#80 Fixed display of number of items checked in ------------------------------------------------------------------------ -r420 | counterpoint | 2006-03-22 01:29:28 -0700 (Wed, 22 Mar 2006) | 1 line +r714 | adi | 2006-09-14 19:05:36 -0600 (Thu, 14 Sep 2006) | 1 line -Optimisation of admin user and session management +remove non utf-8 in locales.xml ------------------------------------------------------------------------ -r419 | counterpoint | 2006-03-21 11:12:17 -0700 (Tue, 21 Mar 2006) | 1 line +r711 | alwarren | 2006-09-14 11:18:07 -0600 (Thu, 14 Sep 2006) | 1 line -Optimisation and modified document root discovery. +! FS#12 - Change menu manager radio buttons to checkboxes to allow multiple item selection ------------------------------------------------------------------------ -r418 | counterpoint | 2006-03-21 11:11:00 -0700 (Tue, 21 Mar 2006) | 1 line +r710 | alwarren | 2006-09-14 10:22:48 -0600 (Thu, 14 Sep 2006) | 2 lines -Changes to include index.php to establish the environment for editor popups. -Optimisation of requests for information about the current user's ACL status. +# FS#74 - Fixed problem with Itemid. +section/category links in content item were causing bad links ------------------------------------------------------------------------ -r417 | counterpoint | 2006-03-21 11:06:53 -0700 (Tue, 21 Mar 2006) | 1 line - -Optimisation, merging of mosDBTable and mosDBTableEntry methods. + +r708 | gin | 2006-09-14 20:29:00 + +! some minor esthetical change in the form of the advanced search +(components/com_search/search.html.php) +------------------------------------------------------------------------ +r707 | gin | 2006-09-14 16:36:00 + +# fixed the bug #77 noted by Mac in 2nd form's compilation during the new language creation +modfied the file includes\phpgettext\phpgettext.catalog.php +------------------------------------------------------------------------ +r706 | gin | 2006-09-14 14:10:00 + +! Modified the component registration in a 2 step process with double e-mail +verification and some additional test ------------------------------------------------------------------------ -r416 | cauld | 2006-03-20 22:44:47 -0700 (Mon, 20 Mar 2006) | 1 line +r705 | alwarren | 2006-09-13 02:58:12 -0600 (Wed, 13 Sep 2006) | 1 line -cauld - Adding a donation icon to the new installation survey +FS#73 Change wording in comments mambot ------------------------------------------------------------------------ -r415 | csouza | 2006-03-20 18:29:11 -0700 (Mon, 20 Mar 2006) | 1 line +r704 | alwarren | 2006-09-13 02:41:03 -0600 (Wed, 13 Sep 2006) | 1 line -changes to com_admin/admin.admin.html.php to grab local help files +FS#54 Added spacers to toolbar in banner manager ------------------------------------------------------------------------ -r413 | csouza | 2006-03-20 18:24:13 -0700 (Mon, 20 Mar 2006) | 1 line +r703 | adi | 2006-09-12 23:34:45 -0600 (Tue, 12 Sep 2006) | 1 line -changes to com_admin/admin.admin.html.php to grab local help files +fix bug #63 ------------------------------------------------------------------------ -r412 | csouza | 2006-03-20 18:19:39 -0700 (Mon, 20 Mar 2006) | 1 line +r702 | adi | 2006-09-12 23:15:12 -0600 (Tue, 12 Sep 2006) | 1 line -changes to com_admin/admin.admin.html.php to grab local help files +fix bug #57 & #64 ------------------------------------------------------------------------ -r411 | csouza | 2006-03-20 18:10:48 -0700 (Mon, 20 Mar 2006) | 1 line +r701 | cauld | 2006-09-12 22:28:50 -0600 (Tue, 12 Sep 2006) | 1 line -changes to com_admin/admin.admin.html.php to grab local help files +! Updating MOS Rating to be a fully installable package for Mambo Raw ------------------------------------------------------------------------ -r410 | csouza | 2006-03-20 17:58:54 -0700 (Mon, 20 Mar 2006) | 1 line +r700 | cauld | 2006-09-12 17:01:15 -0600 (Tue, 12 Sep 2006) | 1 line -mod to pull help screens locally +# Forgot to add the MOStlyDBAdmin classes folder on an earlier commit ------------------------------------------------------------------------ -r409 | csouza | 2006-03-20 17:22:21 -0700 (Mon, 20 Mar 2006) | 1 line +r699 | cauld | 2006-09-12 16:36:47 -0600 (Tue, 12 Sep 2006) | 1 line -language stuff +! FS#60 — Modify News Feeds Items ------------------------------------------------------------------------ -r408 | csouza | 2006-03-20 16:47:49 -0700 (Mon, 20 Mar 2006) | 1 line +r698 | cauld | 2006-09-12 16:30:12 -0600 (Tue, 12 Sep 2006) | 1 line -language defaults in install4.php +# FS#55 — Update WebLinks Items ------------------------------------------------------------------------ -r406 | cauld | 2006-03-19 18:03:14 -0700 (Sun, 19 Mar 2006) | 1 line +r697 | cauld | 2006-09-12 16:17:48 -0600 (Tue, 12 Sep 2006) | 1 line -cauld - Fixing MOStlyCE print plugin and disabling preview plugin in favor -own Mambo's preview option. +# FS#53 — Change Banner Link ------------------------------------------------------------------------ -r403 | csouza | 2006-03-19 13:41:39 -0700 (Sun, 19 Mar 2006) | 1 line +r696 | cauld | 2006-09-12 16:11:52 -0600 (Tue, 12 Sep 2006) | 1 line -language manager +# FS#68 — Help Screens Missing ------------------------------------------------------------------------ -r402 | counterpoint | 2006-03-19 07:32:34 -0700 (Sun, 19 Mar 2006) | 1 line +r695 | cauld | 2006-09-12 05:17:46 -0600 (Tue, 12 Sep 2006) | 1 line -Extended new contact popup for linking to user, so as to show both full name and user name. +! Pulling mosvote / MOS Rating from Mambo Raw edition ------------------------------------------------------------------------ -r401 | counterpoint | 2006-03-19 03:28:33 -0700 (Sun, 19 Mar 2006) | 1 line +r694 | cauld | 2006-09-11 23:38:01 -0600 (Mon, 11 Sep 2006) | 1 line -Recorded changes to restore functioning of popups. +# Fixing FS#69 — Absolute Path to MOStlyCE Template Directory ------------------------------------------------------------------------ -r400 | counterpoint | 2006-03-19 03:22:44 -0700 (Sun, 19 Mar 2006) | 1 line +r693 | cauld | 2006-09-11 23:30:28 -0600 (Mon, 11 Sep 2006) | 1 line -Reinstate popup changes that had got lost +! Updating mostlyce admin xml file ------------------------------------------------------------------------ -r397 | cauld | 2006-03-16 23:19:47 -0700 (Thu, 16 Mar 2006) | 1 line +r692 | cauld | 2006-09-11 23:28:16 -0600 (Mon, 11 Sep 2006) | 5 lines -cauld - Bringing back MOStlyCE / TinyMCE 2.0.2 with fixed IE issue reported during Beta 1. +# Fixed MOStlyDBAdmin zip archive issue. Was missing the zip.lib/php class. +! Updating directory listing on the universal installer screen +# Updating MOStlyCE Spellchecker plugin warning to notify user that CURL is now a requirement. +# Update VCard to prevent vcard link from displaying when contact has not been edited or where the contact params do not exist. (suggested by alwarren) +# Fixing some missing single quotes in some of the menu manager
@@ -345,28 +345,28 @@
- + id ? T_('Edit') : T_('New');?> @@ -331,10 +331,10 @@
- +
- +
- +
- + - +
- + - +
- + @@ -374,7 +374,7 @@
- + @@ -386,13 +386,13 @@ } else { jsimg='../images/M_images/blank.png'; } - document.write('<?php echo T_('Preview') ?>'); + document.write('<?php echo T_('Preview'); ?>');
- + @@ -400,7 +400,7 @@
- + @@ -408,7 +408,7 @@
- + @@ -416,7 +416,7 @@
- + @@ -424,7 +424,7 @@
- +
- +
- +

- + @@ -464,7 +464,7 @@
- e + e @@ -472,7 +472,7 @@
- + @@ -482,12 +482,12 @@ - +
- +
- +
- +
 
- + @@ -560,13 +560,13 @@ - +


- +
"; @@ -577,14 +577,18 @@ ?> - +
"; - foreach ( $contents as $content ) { - echo "
  • ". $content->title ."
  • "; - } - echo ""; + if ($contents) { + echo "
      "; + foreach ( $contents as $content ) { + echo "
    1. ". $content->title ."
    2. "; + } + echo "
    "; + } else { + echo '
    None'; + } ?> @@ -592,7 +596,7 @@
    and all the items within the category (also listed)
    - to the selected Section.') ?> + to the selected Section.'); ?> . @@ -623,7 +627,7 @@
    - +
    @@ -633,13 +637,13 @@ - +


    - +
    "; @@ -650,7 +654,7 @@ ?> - +
    "; @@ -666,7 +670,7 @@
    and all the items within the category (also listed)
    - to the selected Section.') ?> + to the selected Section.'); ?> . diff -ruN 4.6rc2/administrator/components/com_checkin/admin.checkin.php 4.6-complete/administrator/components/com_checkin/admin.checkin.php --- 4.6rc2/administrator/components/com_checkin/admin.checkin.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_checkin/admin.checkin.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,97 +1,97 @@ -acl_check( 'administration', 'config', 'users', $my->usertype )) { - mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); -} -?> - - - - -
    - - - - - - - -setQuery( "SELECT checked_out, editor FROM $tn WHERE checked_out > 0" ); - } else { - $database->setQuery( "SELECT checked_out FROM $tn WHERE checked_out > 0" ); - } - $res = $database->query(); - $num = $database->getNumRows( $res ); - - if ($foundE) { - $database->setQuery( "UPDATE $tn SET checked_out=0, checked_out_time='00:00:00', editor=NULL WHERE checked_out > 0" ); - } else { - $database->setQuery( "UPDATE $tn SET checked_out=0, checked_out_time='0000-00-00 00:00:00' WHERE checked_out > 0" ); - } - $res = $database->query(); - - if ($res == 1) { - if ($num > 0) { - echo ""; - echo "\n "; - echo "\n "; - echo "\n "; - echo "\n "; - echo "\n"; - } else { - echo ""; - echo "\n "; - echo "\n "; - echo "\n "; - echo "\n "; - echo "\n"; - } - $k = 1 - $k; - } - } -} -?> - - - -
     
    ".T_('Checking table')." - $tn".printf(Tn_('Checked in %d item','Checked in %d items', $num), $num)."\"tick\" 
    ".T_('Checking table')." - $tn".printf(Tn_('Checked in %d item','Checked in %d items', $num), $num)."  
    +acl_check( 'administration', 'config', 'users', $my->usertype )) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} +?> + + + + +
    + + + + + + + +setQuery( "SELECT checked_out, editor FROM $tn WHERE checked_out > 0" ); + } else { + $database->setQuery( "SELECT checked_out FROM $tn WHERE checked_out > 0" ); + } + $res = $database->query(); + $num = $database->getNumRows( $res ); + + if ($foundE) { + $database->setQuery( "UPDATE $tn SET checked_out=0, checked_out_time='00:00:00', editor=NULL WHERE checked_out > 0" ); + } else { + $database->setQuery( "UPDATE $tn SET checked_out=0, checked_out_time='0000-00-00 00:00:00' WHERE checked_out > 0" ); + } + $res = $database->query(); + + if ($res == 1) { + if ($num > 0) { + echo ""; + echo "\n "; + echo "\n "; + echo "\n "; + echo "\n "; + echo "\n"; + } else { + echo ""; + echo "\n "; + echo "\n "; + echo "\n "; + echo "\n "; + echo "\n"; + } + $k = 1 - $k; + } + } +} +?> + + + +
     
    ".T_('Checking table')." - $tn".sprintf(Tn_('Checked in %d item','Checked in %d items', $num), $num)."\"tick\" 
    ".T_('Checking table')." - $tn".sprintf(Tn_('Checked in %d item','Checked in %d items', $num), $num)."  
    diff -ruN 4.6rc2/administrator/components/com_comment/admin.comment.html.php 4.6-complete/administrator/components/com_comment/admin.comment.html.php --- 4.6rc2/administrator/components/com_comment/admin.comment.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_comment/admin.comment.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,173 @@ + + + + + + + + +
    + + + + + +
    + + + + + + + + + + + article_link = 'index2.php?option=com_comment&task=editA&hidemainmenu=1&id='. $row->id; + + echo ""; + echo ""; + echo ""; + echo ""; + + if(strlen($row->comments) > $admin_comments_length) { + $row->comments = substr($row->comments,0,$admin_comments_length-3); + $row->comments .= "..."; + } + + echo ""; + echo ""; + echo ""; + + $task = $row->published ? 'unpublish' : 'publish'; + $img = $row->published ? 'publish_g.png' : 'publish_x.png'; + + ?> + + + + +
    #
    ".$pageNav->rowNumber( $i )."".$row->name."$row->comments$row->startdate$row->articleid
    + + getListFooter(); ?> + + + + +
    + + + + + + + + +
    id ? 'Edit' : 'Add';?>
    + + + + + + + + + + + + + + + + + + + + + + + +
    : + +
    : + +
    : + +
    : + +
    + + + + + + \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_comment/admin.comment.php 4.6-complete/administrator/components/com_comment/admin.comment.php --- 4.6rc2/administrator/components/com_comment/admin.comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_comment/admin.comment.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,338 @@ +getPath( 'admin_html' ) ); + +switch ($task) { + + case "new": + editComment( $option, 0 ); + break; + + case "edit": + editComment( $option, $cid[0] ); + break; + + case 'editA': + editComment( $option, intval( $id ) ); + break; + + case "save": + saveComment( $option ); + break; + + case "remove": + removeComments( $cid, $option ); + break; + + case "publish": + publishComments( $cid, 1, $option ); + break; + + case "unpublish": + publishComments( $cid, 0, $option ); + break; + + case "settings": + showConfig( $option ); + break; + + case "savesettings": + $allow_comments_in_sections = implode(',',$_POST['mcselections']); + saveConfig ($option, $auto_publish_comments, $allow_anonymous_entries, $notify_new_entries, $allow_comments_in_sections, $comments_per_page, $admin_comments_length); + break; + + default: + showComments( $option ); + break; + +} + +/** + * @param option + * @return list of comments + */ +function showComments ( $option ) { + global $database, $mainframe; + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', 10 ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + $where = array(); + if ($search) { + $where[] = "LOWER(comments) LIKE '%$search%'"; + } + $database->setQuery( "SELECT count(*) FROM #__comment AS a" . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") ); + $total = $database->loadResult(); + echo $database->getErrorMsg(); + include_once( "includes/pageNavigation.php" ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + $database->setQuery( "SELECT * FROM #__comment" + . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") + . "\nORDER BY id DESC" + . "\nLIMIT $pageNav->limitstart,$pageNav->limit" + ); + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + HTML_comment::showComments( $option, $rows, $search, $pageNav ); +} + +/** + * @param option + * @param id + * @return edit box for article or new comment box + */ +function editComment( $option, $uid ) { + global $database, $my; + $row = new moscomment( $database ); + $row->load( $uid ); + $contentitem[] = mosHTML::makeOption( '0', 'Select Content Item' ); + $database->setQuery( "SELECT id AS value, title AS text FROM #__content ORDER BY title" ); + $contentitem = array_merge( $contentitem, $database->loadObjectList() ); + if (count( $contentitem ) < 1) { + mosRedirect( "index2.php?option=com_sections&scope=content", 'You must add sections first.' ); + } + $clist = mosHTML::selectList( $contentitem, 'articleid', 'class="inputbox" size="1"', 'value', 'text', intval( $row->articleid ) ); + if ($uid) { + $row->checkout( $my->id ); + } else { + $row->published = 0; + } + $publist = mosHTML::yesnoRadioList( 'published', 'class="inputbox"', $row->published ); + HTML_comment::editComment( $option, $row, $clist, $publist ); +} + +/** + * @param option + * @return saves comment + */ +function saveComment( $option ) { + global $database; + $row = new moscomment( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + $row->startdate = date( "Y-m-d H:i:s" ); + $row->ip = getenv('REMOTE_ADDR'); + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->updateOrder( "articleid='$row->articleid'" ); + mosRedirect( "index2.php?option=$option" ); +} + + +/** + * @param cid + * @param publish + * @param option + * @return publishes / unpublishes article comment + */ +function publishComments( $cid=null, $publish=1, $option ) { + global $database; + if (!is_array( $cid ) || count( $cid ) < 1) { + $action = $publish ? 'publish' : 'unpublish'; + echo "\n"; + exit; + } + $cids = implode( ',', $cid ); + $database->setQuery( "UPDATE #__comment SET published='$publish' WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + mosRedirect( "index2.php?option=$option" ); +} + +/** + * @param option + * @return builds admin configuration options + */ +function showConfig( $option ) { + global $mosConfig_absolute_path, $database, $mosConfig_mailfrom; + require($mosConfig_absolute_path."/administrator/components/com_comment/config.comment.php"); + ?> + +
    + startPane( "_comment" ); + $gbtabs->startTab("General","General-page"); + ?> + + + + + + + + + + + + + + + + + + + + + +
    : + Choose which section(s) should + use the comment system. Hold down [CTRL] to make multiple selections.
    : + +
    : + +
    : + +
    + endTab(); + $gbtabs->startTab("Notification","Notification-page"); + ?> + + + + + + + + + + + +
    : + +
    :
    + endTab(); + $gbtabs->startTab("Admin","Admin-page"); + ?> + + + + + + +
    : + +
    + endTab(); + $gbtabs->endPane(); + ?> + + + + +
    + "; + if ($fp = fopen("$configfile", "w")) { + fputs($fp, $config, strlen($config)); + fclose ($fp); + } + mosRedirect("index2.php?option=$option&task=settings", "Settings saved"); +} + +/** + * @param cid + * @param option + * @return deletes selected article + */ +function removeComments( $cid, $option ) { + global $database; + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__comment WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + } + } + mosRedirect( "index2.php?option=$option" ); +} \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_comment/class.comment.php 4.6-complete/administrator/components/com_comment/class.comment.php --- 4.6rc2/administrator/components/com_comment/class.comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_comment/class.comment.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,41 @@ +mosDBTable( '#__comment', 'id', $db ); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_comment/comment.xml 4.6-complete/administrator/components/com_comment/comment.xml --- 4.6rc2/administrator/components/com_comment/comment.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_comment/comment.xml 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,57 @@ + + + Comment + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + Adds a commenting feature to articles within selected sections + + comment.php + + + + DROP TABLE IF EXISTS `#__comment` + + CREATE TABLE `#__comment` ( + `id` int(10) NOT NULL auto_increment, + `articleid` int(10) NOT NULL default '0', + `ip` varchar(15) NOT NULL default '', + `name` varchar(30) NOT NULL default '', + `comment` text NOT NULL, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`id`) + ) TYPE=MyISAM; + + + + + + DELETE FROM `#__comment` + DROP TABLE `#__comment` + + + install.comment.php + uninstall.comment.php + + Comment + + View Comments + Edit Settings + + + admin.comment.html.php + admin.comment.php + class.comment.php + config.comment.php + install.comment.php + toolbar.comment.html.php + toolbar.comment.php + uninstall.comment.php + + + diff -ruN 4.6rc2/administrator/components/com_comment/config.comment.php 4.6-complete/administrator/components/com_comment/config.comment.php --- 4.6rc2/administrator/components/com_comment/config.comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_comment/config.comment.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,8 @@ + \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_comment/toolbar.comment.html.php 4.6-complete/administrator/components/com_comment/toolbar.comment.html.php --- 4.6rc2/administrator/components/com_comment/toolbar.comment.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_comment/toolbar.comment.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,60 @@ + \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_comment/toolbar.comment.php 4.6-complete/administrator/components/com_comment/toolbar.comment.php --- 4.6rc2/administrator/components/com_comment/toolbar.comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_comment/toolbar.comment.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,36 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + + case "new": + case "edit": + case "editA": + TOOLBAR_MenuComment::FILE_MENU(); + break; + + case "settings": + TOOLBAR_MenuComment::CONFIG_MENU(); + break; + + default: + TOOLBAR_MenuComment::DEFAULT_MENU(); + break; + +} +?> \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_config/admin.config.html.php 4.6-complete/administrator/components/com_config/admin.config.html.php --- 4.6rc2/administrator/components/com_config/admin.config.html.php 2006-05-20 19:54:45.000000000 -0500 +++ 4.6-complete/administrator/components/com_config/admin.config.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -99,9 +99,9 @@ - + @@ -111,14 +111,14 @@ ?>
    - + '.T_('Writeable').'' : ' '.T_('Unwriteable').'' ?> - + - +
    - + - + - + - + - + + + + + - + - + + - + + - + - + - + - + + +
    *Requires the GD image library.
    - + - + - + - + - + - +
    @@ -247,10 +256,10 @@ ?> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -363,23 +372,23 @@ ?>
    * *

    * *

     
     
     
     
     
    - + - + - + - + - + + + inputTop($title, true); + ?> + + + + + commonScripts('description'); + echo '
    '; + $this->startEditHeader(T_('Edit Container details')); + $this->publishedBox($container); + $this->fileInputBox(T_('Container name'), 'name', $container->name, 50); + $this->fileInputArea(T_('Description'), T_('Up to 500 characters'), 'description', $container->description, 50, 100, true); + $this->fileInputBox(T_('Keywords'),'keywords',$container->keywords,50); + $this->fileInputBox(T_('Window title'),'windowtitle',$container->windowtitle,50); + $this->displayIcons($container, $iconList); + $this->editFormEnd ($container->id); + } +} + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_containers/admin.containers.php 4.6-complete/uploadfiles/administrator/components/com_containers/admin.containers.php --- 4.6rc2/uploadfiles/administrator/components/com_containers/admin.containers.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_containers/admin.containers.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,167 @@ +getPath( 'admin_html' ) ); + +class containersAdminContainers extends mosComponentAdminControllers { + var $parentid = 0; + + function getRequestData () { + $this->parentid = mosGetParam($_REQUEST, 'parentid', 0); + } + + function listTask () { + // Get the search string that will constrain the list of containers displayed + $search = trim( strtolower( mosGetParam( $_POST, 'search', '' ) ) ); + // Get the flag that tells us whether to continue to nested containers right down to the bottom + $descendants = intval(mosGetParam($_POST, 'descendants', 0)); + // Create the container above our present position - might be degenerate + $handler = mosContainerHandler::getInstance(); + $container =& $handler->getBasicContainer($this->parentid); + // Get all the containers that are to be displayed + if ($descendants) $folders = $container->getDescendants($search); + else $folders = $container->getChildren(false,$search); + // Generate a container list for user to select where to be + $clist = $container->getSelectList('parentid', 'class="inputbox" size="1" onchange="document.adminForm.submit();"', false); + // Create and activate a View object + $view = $this->admin->newHTMLClassCheck ('listContainersHTML', $this, count($folders), $clist); + $view->view(array_slice($folders,$this->admin->limitstart,$this->admin->limit), $descendants, $search); + } + + function addTask () { + // This is our new container - nothing much in it to start with + $container =& new mosContainer(); + // Its parent is by default the situation we are in at present + $container->parentid = $this->parentid; + // Generate a container list so the user can change the parent + $clist = $container->getSelectList('parentid', 'class="inputbox"', false); + // Create and activate a View object + $view = $this->admin->newHTMLClassCheck ('editContainersHTML', $this, 0, $clist); + $view->view($container); + } + + function editTask () { + // Create a container object that will be filled with data from the DB using currid as key + $handler = mosContainerHandler::getInstance(); + $container =& $handler->getContainer($this->admin->currid); + $parent =& $container->getParent(); + // Generate a container list so the user can change the parent + $clist = $parent->getSelectList('parentid', 'class="inputbox"', false, $container->id); + // Create and activate a View object + $view = $this->admin->newHTMLClassCheck ('editContainersHTML', $this, 0, $clist); + $view->view($container); + } + + function saveTask () { + // Create a container object that will be filled with data from the DB using currid as key + $handler = mosContainerHandler::getInstance(); + $container =& $handler->getContainer($this->admin->currid); + // Clear tick box fields as nothing will be received if they are unticked + $container->published = 0; + // Add the new information from the form just submitted + $container->addPostData(); + // By default, a new container is automatically published + if ($this->admin->currid == 0) $container->published = 1; + // Save the new information about the container to the database + $container->saveValues (); + // Next we locate ourselves where this container has finished up and list containers + $this->parentid = $container->parentid; + $this->listTask(); + } + + function saveorderTask () { + // Create a container object that will be filled with data from the DB using currid as key + $handler = mosContainerHandler::getInstance(); + $container =& $handler->getContainer($this->admin->currid); + // Reorder based on the first container in the list + $where = "parentid = ".$container->parentid; + $container->updateOrder($where, $this->admin->cfid, $this->admin->order); + $handler->resetData(); + $this->parentid = $container->parentid; + $this->listTask(); + } + + function orderupTask () { + // Create a container object that will be filled with data from the DB using currid as key + $handler = mosContainerHandler::getInstance(); + $container =& $handler->getContainer($this->admin->currid); + // Reorder based on the first container in the list + $where = "parentid = ".$container->parentid; + $container->move(-1, $where); + $handler->resetData(); + $this->parentid = $container->parentid; + $this->listTask(); + } + + function orderdownTask () { + // Create a container object that will be filled with data from the DB using currid as key + $handler = mosContainerHandler::getInstance(); + $container =& $handler->getContainer($this->admin->currid); + // Reorder based on the first container in the list + $where = "parentid = ".$container->parentid; + $container->move(+1, $where); + $handler->resetData(); + $this->parentid = $container->parentid; + $this->listTask(); + } + + function deleteTask () { + // In case the Javascript cannot do the check, ensure at least one item selected + $this->admin->check_selection(_DOWN_SEL_FILE_DEL); + // For each selected container, create an object then delete (will delete from DB) + $dlist = array(); + $handler = mosContainerHandler::getInstance(); + foreach ($this->admin->cfid as $id) $dlist[] = $handler->getDescendantIDList($id); + $deletelist = implode (',', $dlist); + $mambothandler = mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('container'); + $messages = $mambothandler->trigger('preDelete', $deletelist); + foreach ($messages as $message) if ($message) { + // Create and activate a View object + $view = $this->admin->newHTMLClassCheck ('messageContainersHTML', $this, 0, ''); + $view->view($container); + } + else { + $mambothandler->trigger('doDelete', $deletelist); + // Now show the list of containers again + $this->listTask(); + } + } + + function publishTask () { + $this->publishToggle(1); + } + + function unpublishTask () { + $this->publishToggle(0); + } + + function publishToggle ($publish) { + // Check that one or more items have been selected (Javascript may not have run) + $this->admin->check_selection(_DOWN_PUB_PROMPT.($publish ? 'publish' : 'unpublish')); + mosContainer::togglePublished($this->admin->cfid,$publish); + // The file/folder counts only include published items, so recalculate + $this->repository->resetCounts(array()); + // List out the containers again + $this->listTask(); + } + + +} + +new mosComponentAdminManager('Containers'); + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_containers/containers.xml 4.6-complete/uploadfiles/administrator/components/com_containers/containers.xml --- 4.6rc2/uploadfiles/administrator/components/com_containers/containers.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_containers/containers.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,90 @@ + + + Containers + 10 March 2006 + Mambo Foundation + copyright (C) 2005 - 2006 Mambo Foundation Inc. + project_manager@mambo-foundation.org + www.mambo-foundation.org + 4.6 + Nested container system for Mambo + + containers.class.php + + + + + + + + + CREATE TABLE IF NOT EXISTS `mos_containers` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `description` text NOT NULL, + `ordering` int(11) NOT NULL default '0', + `windowtitle` varchar(50) NOT NULL default '', + `keywords` varchar(255) NOT NULL default '', + `published` smallint(6) NOT NULL default '0', + `icon` varchar(25) NOT NULL default '', + `parentid` int(11) NOT NULL default '0', + `params` text NOT NULL, + `callbacks` text NOT NULL, + PRIMARY KEY (`id`) + ); + + + + + Mambo Containers + + admin.containers.php + admin.containers.html.php + toolbar.containers.php + + + images/add_file.gif + images/approve.png + images/approve_f2.png + images/back.gif + images/blank.gif + images/calendar.gif + images/download_trans.gif + images/edit.gif + images/gohome.gif + images/header.gif + images/home.gif + images/search.gif + images/folder_icons/folder_blue.gif + images/folder_icons/folder_blue_docs.gif + images/folder_icons/folder_blue_favourites.gif + images/folder_icons/folder_blue_games.gif + images/folder_icons/folder_blue_music.gif + images/folder_icons/folder_blue_paint.gif + images/folder_icons/folder_blue_pics.gif + images/folder_icons/folder_blue_settings.gif + images/folder_icons/folder_blue_software.gif + images/folder_icons/folder_blue_stuff.gif + images/folder_icons/folder_blue_themes.gif + images/folder_icons/folder_blue_video.gif + images/folder_icons/folder_blue_web.gif + images/folder_icons/folder_green.gif + images/folder_icons/folder_orange.gif + images/folder_icons/folder_red.gif + images/folder_icons/folder_red_settings.gif + images/folder_icons/folder_yellow.gif + images/folder_icons/folder_yellow_docs.gif + images/folder_icons/folder_yellow_favourites.gif + images/folder_icons/folder_yellow_games.gif + images/folder_icons/folder_yellow_music.gif + images/folder_icons/folder_yellow_paint.gif + images/folder_icons/folder_yellow_pics.gif + images/folder_icons/folder_yellow_settings.gif + images/folder_icons/folder_yellow_software.gif + images/folder_icons/folder_yellow_stuff.gif + images/folder_icons/folder_yellow_themes.gif + images/folder_icons/folder_yellow_video.gif + images/folder_icons/folder_yellow_web.gif + + + Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/add_file.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/add_file.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/approve.png and 4.6-complete/uploadfiles/administrator/components/com_containers/images/approve.png differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/approve_f2.png and 4.6-complete/uploadfiles/administrator/components/com_containers/images/approve_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/back.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/back.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/blank.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/blank.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/calendar.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/calendar.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/download_trans.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/download_trans.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/edit.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/edit.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_docs.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_docs.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_favourites.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_favourites.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_games.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_games.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_music.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_music.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_paint.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_paint.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_pics.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_pics.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_settings.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_settings.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_software.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_software.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_stuff.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_stuff.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_themes.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_themes.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_video.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_video.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_web.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_blue_web.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_green.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_green.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_orange.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_orange.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_red.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_red.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_red_settings.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_red_settings.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_docs.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_docs.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_favourites.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_favourites.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_games.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_games.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_music.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_music.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_paint.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_paint.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_pics.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_pics.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_settings.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_settings.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_software.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_software.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_stuff.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_stuff.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_themes.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_themes.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_video.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_video.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_web.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/folder_yellow_web.gif differ diff -ruN 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/index.html 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/index.html --- 4.6rc2/uploadfiles/administrator/components/com_containers/images/folder_icons/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_containers/images/folder_icons/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/gohome.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/gohome.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/header.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/header.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/home.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/home.gif differ diff -ruN 4.6rc2/uploadfiles/administrator/components/com_containers/images/index.html 4.6-complete/uploadfiles/administrator/components/com_containers/images/index.html --- 4.6rc2/uploadfiles/administrator/components/com_containers/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_containers/images/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/administrator/components/com_containers/images/search.gif and 4.6-complete/uploadfiles/administrator/components/com_containers/images/search.gif differ diff -ruN 4.6rc2/uploadfiles/administrator/components/com_containers/index.html 4.6-complete/uploadfiles/administrator/components/com_containers/index.html --- 4.6rc2/uploadfiles/administrator/components/com_containers/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_containers/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_containers/toolbar.containers.php 4.6-complete/uploadfiles/administrator/components/com_containers/toolbar.containers.php --- 4.6rc2/uploadfiles/administrator/components/com_containers/toolbar.containers.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_containers/toolbar.containers.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,70 @@ +act = mosGetParam ($_REQUEST, 'act', 'containers')); + else $this->act = 'containers'; + if ($this->task = mosGetParam($_REQUEST, 'task', 'list')); + else $this->task = 'list'; + $this->makeBar(); + } + // create a toolbar based on the parameters found in $_REQUEST + function makeBar () { + $this->start(); + $act = $this->act; + $call_check = array(&$this,$act); + if (is_callable($call_check)) $this->$act(); + $this->finish(); + } + // Any initial actions + function start () { + mosMenuBar::startTable(); + } + // The following methods correspond exactly to the possible values + // of 'act' in the request. They in turn correspond to all the + // possible options in the admin side drop down menu for Remository. + function containers () { + if ($this->task == 'add') $this->addMenu('Container'); + elseif ($this->task == 'edit') $this->editMenu('Container'); + else $this->listMenu(''); + } + + // The cancel option is always formed the same way + function cancelButton () { + mosMenuBar::custom( 'list', 'cancel.png', 'cancel_f2.png', 'Cancel', false ); + } + // The menu for adding something is always the same apart from the text + function addMenu ($entity) { + mosMenuBar::save( 'save', 'Save '.$entity ); + $this->cancelButton(); + } + // The menu for editing something is always the same apart from the text + function editMenu ($entity) { + mosMenuBar::save( 'save', 'Save '.$entity ); + $this->cancelButton(); + } + // The menu for a list of items is always the same apart from the text + function listMenu ($entity) { + mosMenuBar::publishList( 'publish', 'Publish '.$entity ); + mosMenuBar::unpublishList( 'unpublish', 'UnPublish '.$entity ); + mosMenuBar::addNew( 'add', 'Add '.$entity ); + mosMenuBar::editList( 'edit', 'Edit '.$entity ); + mosMenuBar::deleteList( '', 'delete', 'Delete '.$entity ); + } + // Any concluding actions + function finish () { + mosMenuBar::spacer(); + mosMenuBar::endTable(); + } + +} + +$toolbar = new mosToolbar(); + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_content/admin.content.html.php 4.6-complete/uploadfiles/administrator/components/com_content/admin.content.html.php --- 4.6rc2/uploadfiles/administrator/components/com_content/admin.content.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_content/admin.content.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,1240 @@ + + + +
      @@ -392,24 +401,24 @@ ?> - + - - + + - - + - + - + - + - + @@ -453,20 +462,20 @@ $flags = octdec($row->config_fileperms); } // if ?> - + + + + + + + + + + + + clist<>'') { + echo ''; + } + echo ''; + } + + function containerSelectBox () { + ?> + + + + + + +
    config_path; ?>  
    config_live_site; ?>  
    @@ -417,31 +426,31 @@  
    -    +     
     
    -  
    -
    +
    - + @@ -532,18 +541,18 @@ $flags = octdec($row->config_dirperms); } // if ?> - + - - --> + diff -ruN 4.6rc2/administrator/components/com_mambots/admin.mambots.html.php 4.6-complete/administrator/components/com_mambots/admin.mambots.html.php --- 4.6rc2/administrator/components/com_mambots/admin.mambots.html.php 2006-05-19 07:18:36.000000000 -0500 +++ 4.6-complete/administrator/components/com_mambots/admin.mambots.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -62,7 +62,7 @@ +
    />
    /> - + - + - + - + - + - + - + - + - + - + - + - + - +
    /> /> />
    /> /> />
    /> /> />
    -
    +
    - + @@ -607,15 +616,15 @@ ?>
    />
    /> - + @@ -557,26 +566,26 @@ - + - + - + - + - + - + - + - + - + - + - + - +
    /> /> />
    /> /> />
    /> /> />
    - + - + - + - + - + @@ -686,7 +695,7 @@ } ?> - + - - + +
        @@ -623,7 +632,7 @@
        @@ -637,35 +646,35 @@ ?> - + - + - + - + - + - + - + - +
    ::
    @@ -678,7 +687,7 @@ if (is_writeable($row->config_cachepath)) { ?>
     
     
     
    @@ -710,17 +719,17 @@ ?> - + - + - + @@ -731,17 +740,17 @@ ?>
     
    - + - + - + @@ -752,7 +761,6 @@ ?> - diff -ruN 4.6rc2/administrator/components/com_config/admin.config.php 4.6-complete/administrator/components/com_config/admin.config.php --- 4.6rc2/administrator/components/com_config/admin.config.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_config/admin.config.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -46,6 +46,8 @@ var $config_error_message=null; /** @var int */ var $config_useractivation=null; + /** @var string */ + var $config_use_captcha=0; /** @var int */ var $config_uniquemail=null; /** @var string */ @@ -167,6 +169,7 @@ 'config_auth' =>'mosConfig_shownoauth', 'config_useractivation' =>'mosConfig_useractivation', 'config_uniquemail' =>'mosConfig_uniquemail', + 'config_use_captcha' =>'mosConfig_usecaptcha', 'config_offline_message' =>'mosConfig_offline_message', 'config_error_message' =>'mosConfig_error_message', 'config_debug' =>'mosConfig_debug', @@ -381,6 +384,8 @@ $lists['uniquemail'] = mosHTML::yesnoRadioList( 'config_uniquemail', 'class="inputbox"', $row->config_uniquemail ); + $lists['usecaptcha'] = mosHTML::yesnoRadioList( 'config_use_captcha', 'class="inputbox"', $row->config_use_captcha ); + $lists['allowuserregistration'] = mosHTML::yesnoRadioList( 'config_allowUserRegistration', 'class="inputbox"', $row->config_allowUserRegistration ); $lists['debug'] = mosHTML::yesnoRadioList( 'config_debug', 'class="inputbox"', $row->config_debug ); @@ -422,9 +427,9 @@ $lists['error_reporting'] = mosHTML::selectList( $errors, 'config_error_reporting', 'class="inputbox" size="1"', 'value', 'text', $row->config_error_reporting ); $lists['register_globals'] = mosHTML::RadioList( $register_globals, 'config_register_globals', 'class="inputbox" size="1"', $row->config_register_globals, 'value', 'text' ); - + $lists['locale_debug'] = mosHTML::RadioList( $locale_debug, 'config_locale_debug', 'class="inputbox" size="1"', $row->config_locale_debug, 'value', 'text' ); - + $disabled = (extension_loaded('gettext')) ? '' : 'disabled="disabled" '; $lists['locale_use_gettext'] = mosHTML::RadioList( $locale_use_gettext, 'config_locale_use_gettext', $disabled.'class="inputbox" size="1"', $row->config_locale_use_gettext, 'value', 'text' ); @@ -462,7 +467,7 @@ if (!$row->bind( $_POST )) { mosRedirect( "index2.php", $row->getError() ); } - + $editor = intval( mosGetParam( $_POST, 'editor', 0 ) ); if ($editor > 0) { $query = "UPDATE #__mambots" diff -ruN 4.6rc2/administrator/components/com_contact/admin.contact.html.php 4.6-complete/administrator/components/com_contact/admin.contact.html.php --- 4.6rc2/administrator/components/com_contact/admin.contact.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_contact/admin.contact.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -24,10 +24,10 @@
       
     
    name; } else { ?> - + name; ?> orderDownIcon( $i, $n, ( $row->catid == @$rows[$i+1]->catid ) ); ?> @@ -157,9 +157,9 @@ // do field validation if ( form.name.value == "" ) { - alert( "" ); + alert( "" ); } else if ( form.catid.value == 0 ) { - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -171,7 +171,7 @@
    - + - + @@ -47,19 +47,19 @@ - + - + - + - + - +
    - + category; ?> - + user; ?>
    '; + echo ''; + echo ''; +} + +/** +* @package Mambo +*/ +class HTML_installer { + + function showInstallForm( $title, $option, $element, $client = "", $p_startdir = "", $backLink="" ) { + ?> + + +
    - + id ? T_('Edit') : T_('New');?> @@ -185,12 +185,12 @@ '; - echo ''; - echo ''; -} - -/** -* @package Mambo -*/ -class HTML_installer { - - function showInstallForm( $title, $option, $element, $client = "", $p_startdir = "", $backLink="" ) { - ?> - - -
    - +
    - + @@ -198,7 +198,7 @@
    - + @@ -206,7 +206,7 @@
    - + @@ -214,7 +214,7 @@
    - + @@ -222,7 +222,7 @@
    - + @@ -230,7 +230,7 @@
    - + @@ -238,7 +238,7 @@
    - + @@ -246,7 +246,7 @@
    - + @@ -254,7 +254,7 @@
    - + @@ -262,7 +262,7 @@
    - + @@ -270,7 +270,7 @@
    - + @@ -278,7 +278,7 @@
    - + @@ -286,7 +286,7 @@
    - + @@ -303,12 +303,12 @@ + +
    - +
    - + @@ -316,7 +316,7 @@
    - + @@ -324,7 +324,7 @@
    - + @@ -332,7 +332,7 @@
    - + @@ -351,12 +351,12 @@ @@ -384,12 +384,12 @@
    - +
    - : + : @@ -372,7 +372,7 @@ } else { jsimg='../images/M_images/blank.png'; } - document.write('<?php echo T_('Preview') ?>'); + document.write('<?php echo T_('Preview'); ?>');
    diff -ruN 4.6rc2/administrator/components/com_containers/admin.containers.html.php 4.6-complete/administrator/components/com_containers/admin.containers.html.php --- 4.6rc2/administrator/components/com_containers/admin.containers.html.php 2006-04-03 08:47:34.000000000 -0500 +++ 4.6-complete/administrator/components/com_containers/admin.containers.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -3,7 +3,7 @@ class containersAdminHTML extends basicAdminHTML { var $repository = ''; var $clist = ''; - + function containersAdminHTML (&$controller, $limit, $clist) { basicAdminHTML::basicAdminHTML($controller, $limit); $this->repository =& $controller->repository; @@ -38,7 +38,7 @@ @@ -53,10 +53,10 @@ clist<>'') { echo ''; - } + } echo ''; } - + function containerSelectBox () { ?> @@ -69,7 +69,7 @@ @@ -86,7 +86,7 @@ $this->blankRow(); $this->containerSelectBox(); } - + function publishedBox (&$object) { ?> @@ -97,13 +97,13 @@ act&task=edit&cfid=$id"; if ($containerid) $url .= "&containerid=$containerid"; return $url; } - + function legalTypeList ($current) { $alternatives = explode(',',_REMOS_LEGAL_TYPES); foreach ($alternatives as $one) { @@ -116,18 +116,18 @@ } class listContainersHTML extends containersAdminHTML { - + function columnHeads ($containers, $descendants) { $this->listHeadingStart(count($containers)); $this->headingItem('30%', T_('Title')); - if ($this->clist) { + if ($this->clist) { $this->headingItem('5%', 'ID'); if (!$descendants) { $this->headingItem('5%', T_('Reorder'), 2); $this->headingItem('2%', T_('Order')); ?> headingItem('7%', T_('Published')); echo ''; } - + function filecount ($container) { if ($container->filecount) { $link = ""; @@ -147,7 +147,7 @@ } else return '0'; } - + function listLine ($container, $descendants, $i, $k, $n) { global $mosConfig_live_site; ?> @@ -211,7 +211,7 @@ inputTop($title, true); ?> @@ -228,7 +228,7 @@ - -
    - +
    - * * + * *

    '.$this->clist.'
    - <?php echo T_('Save Order') ?> + <?php echo T_('Save Order'); ?>
    diff -ruN 4.6rc2/administrator/components/com_content/admin.content.html.php 4.6-complete/administrator/components/com_content/admin.content.html.php --- 4.6rc2/administrator/components/com_content/admin.content.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_content/admin.content.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,1240 +1,1240 @@ - - - - - - - - - - - - - - - - -
    - - [ ] - - [ title; ?> ] - - - - - - - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - id; - - $row->sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->sectionid; - $row->cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; - - $now = date( "Y-m-d H:i:s" ); - if ( $now <= $row->publish_up && $row->state == "1" ) { - $img = 'publish_y.png'; - $alt = T_('Published'); - } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { - $img = 'publish_g.png'; - $alt = T_('Published'); - } else if ( $now > $row->publish_down && $row->state == "1" ) { - $img = 'publish_r.png'; - $alt = T_('Expired'); - } elseif ( $row->state == "0" ) { - $img = "publish_x.png"; - $alt = T_('Unpublished'); - } - $times = ''; - if (isset($row->publish_up)) { - if ($row->publish_up == '0000-00-00 00:00:00') { - $times .= ""; - } else { - $times .= ""; - } - } - if (isset($row->publish_down)) { - if ($row->publish_down == '0000-00-00 00:00:00') { - $times .= ""; - } else { - $times .= ""; - } - } - - if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { - if ( $row->created_by_alias ) { - $author = $row->created_by_alias; - } else { - $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; - $author = ''. $row->author .''; - } - } else { - if ( $row->created_by_alias ) { - $author = $row->created_by_alias; - } else { - $author = $row->author; - } - } - - $date = mosFormatDate( $row->created, '%x' ); - - $access = mosCommonHTML::AccessProcessing( $row, $i ); - $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); - ?> - "> - - - - - - - - - - - - - - - - - - - - -
    - # - - - - - - - - - - - - - - <?php echo T_('Save Order') ?> - - - - - - - - - - - - -
    ".T_('Start:')." ".T_('Always')."
    Start: $row->publish_up
    ".T_('Finish:')." ".T_('No Expiry')."
    ".T_('Finish:')." $row->publish_down
    - rowNumber( $i ); ?> - - - - checked_out && ( $row->checked_out != $my->id ) ) { - echo $row->title; - } else { - ?> - - title, ENT_QUOTES); ?> - - - - ')"> - <?php echo $alt; ?> - - - - <?php echo ( $row->frontpage ) ? T_('Yes') : T_('No');?> - - - orderUpIcon( $i, ($row->catid == @$rows[$i-1]->catid) ); ?> - - orderDownIcon( $i, $n, ($row->catid == @$rows[$i+1]->catid) ); ?> - - - - - - id; ?> - - - section_name; ?> - - - - name; ?> - - - - - -
    - - getListFooter(); ?> - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - [ ] - - [ title; ?> ] - - - - - - - -
    - - - -
    - - - - - - - - - - - - - cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; - - if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { - if ( $row->created_by_alias ) { - $author = $row->created_by_alias; - } else { - $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; - $author = ''. $row->author .''; - } - } else { - if ( $row->created_by_alias ) { - $author = $row->created_by_alias; - } else { - $author = $row->author; - } - } - - $date = mosFormatDate( $row->created, '%x' ); - ?> - "> - - - - - - - - - -
    - # - - - - - - - - <?php echo T_('Save Order') ?> - - - - - - -
    - rowNumber( $i ); ?> - - id ); ?> - - title; ?> - - - - - name; ?> - - - - - -
    - - getListFooter(); ?> - - - - - - - - -
    - $row is passed with the id - * property set to 0. - * @param mosContent The category object - * @param string The html for the groups select list - */ - function editContent( &$row, $section, &$lists, &$sectioncategories, &$images, &$params, $option, $redirect, &$menus ) { - global $mosConfig_live_site; - - mosMakeHtmlSafe( $row ); - - $create_date = null; - if (intval( $row->created ) <> 0) { - $create_date = mosFormatDate( $row->created, '%A, %d %B %Y %H:%M', '0' ); - } - $mod_date = null; - if (intval( $row->modified ) <> 0) { - $mod_date = mosFormatDate( $row->modified, '%A, %d %B %Y %H:%M', '0' ); - } - - $tabs = new mosTabs(1); - - - // used to hide "Reset Hits" when hits = 0 - if ( !$row->hits ) { - $visibility = "style='display: none; visbility: hidden;'"; - } else { - $visibility = ""; - } - - mosCommonHTML::loadOverlib(); - mosCommonHTML::loadCalendar(); - ?> - - - -
    - - - - - -
    - - - id ? T_('Edit') : T_('New');?> - - id ) { - ?> - - [ ] - - - -
    - - - - -
    -
    - -
    -
    - -
    -
    - - - - - - -
    - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - -
    - -
    - - - - - - - -
    - - - - - - - -
    -
    - () -
    introtext , 'introtext', '100%;', '200', '75', '20' ) ; ?> -
    - () -
    fulltext , 'fulltext', '100%;', '350', '75', '30' ) ; ?> -
    -
    -
    - - - - -
    - - - - - - -
    - startPane("content-pane"); - $tabs->startTab(T_("Publishing"),"publish-page"); - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - frontpage ? 'checked="checked"' : ''; ?> /> -
    - - - state ? 'checked="checked"' : ''; ?> /> -
    - - -
    - - - -
    - - -
    -
    - - - - -
    - - - - -
    - - - - -
    -
    - - id ) { - ?> - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - id; ?> -
    - - - state > 0 ? T_('Published') : ($row->state < 0 ? T_('Archived') : T_('Draft Unpublished'));?> -
    - - - : - - hits;?> -
    > - -
    -
    - - - : - - version;?> -
    - - - - - created ? "$create_date
    ".T_('By')."$row->creator" : "New document"; ?> -
    - - - - - modified ? "$mod_date
    ".T_('By')."$row->modifier" : "Not modified";?> -
    - endTab(); - $tabs->startTab(T_("Images"),"images-page"); - ?> - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - -
    - - - -
    - - - -
    - - - -
    - - - -
    - -
    -
    - endTab(); - $tabs->startTab(T_("Parameters"),"params-page"); - ?> - - - - - - - - - - -
    - -
    - * * -

    -
    - render();?> -
    - endTab(); - $tabs->startTab(T_("Meta Info"),"metadata-page"); - ?> - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - endTab(); - $tabs->startTab(T_("Link to Menu"),"link-page"); - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - -

    -
    - - - -
    - - - -
    - - -
    - -
    - -
    -
    - endTab(); - $tabs->endPane(); - ?> -
    -
    -
    -
    - -
    - - - - - - - - - - - - - -
    -
    - - - - -
    - -
    - -
    - - - - - -
    - -
    - -

    -
    - -
    - "; - foreach ( $items as $item ) { - echo "
  • ". $item->title ."
  • "; - } - echo ""; - ?> -
    -

    - - - - - "; - } - ?> -
    - - -
    -
    - - - - -
    - -
    - -
    - - - - - -
    - -
    - -

    -
    - -
    - "; - foreach ( $items as $item ) { - echo "
  • ". $item->title ."
  • "; - } - echo ""; - ?> -
    -

    - - - - - "; - } - ?> -
    - + +
    + + + + + + + + + + + + + + +
    + + [ ] + + [ title; ?> ] + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + id; + + $row->sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->sectionid; + $row->cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; + + $now = date( "Y-m-d H:i:s" ); + if ( $now <= $row->publish_up && $row->state == "1" ) { + $img = 'publish_y.png'; + $alt = T_('Published'); + } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { + $img = 'publish_g.png'; + $alt = T_('Published'); + } else if ( $now > $row->publish_down && $row->state == "1" ) { + $img = 'publish_r.png'; + $alt = T_('Expired'); + } elseif ( $row->state == "0" ) { + $img = "publish_x.png"; + $alt = T_('Unpublished'); + } + $times = ''; + if (isset($row->publish_up)) { + if ($row->publish_up == '0000-00-00 00:00:00') { + $times .= ""; + } else { + $times .= ""; + } + } + if (isset($row->publish_down)) { + if ($row->publish_down == '0000-00-00 00:00:00') { + $times .= ""; + } else { + $times .= ""; + } + } + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. $row->author .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = $row->author; + } + } + + $date = mosFormatDate( $row->created, '%x' ); + + $access = mosCommonHTML::AccessProcessing( $row, $i ); + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + ?> + "> + + + + + + + + + + + + + + + + + + + + +
    + # + + + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + + + + + +
    ".T_('Start:')." ".T_('Always')."
    Start: $row->publish_up
    ".T_('Finish:')." ".T_('No Expiry')."
    ".T_('Finish:')." $row->publish_down
    + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->title; + } else { + ?> + + title, ENT_QUOTES); ?> + + + + ')"> + <?php echo $alt; ?> + + + + <?php echo ( $row->frontpage ) ? T_('Yes') : T_('No');?> + + + orderUpIcon( $i, ($row->catid == @$rows[$i-1]->catid) ); ?> + + orderDownIcon( $i, $n, ($row->catid == @$rows[$i+1]->catid) ); ?> + + + + + + id; ?> + + + section_name; ?> + + + + name; ?> + + + + + +
    + + getListFooter(); ?> + + + + + + + + +
    + + +
    + + + + + + + + + + + + + + +
    + + [ ] + + [ title; ?> ] + + + + + + + +
    + + + +
    + + + + + + + + + + + + + cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. $row->author .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = $row->author; + } + } + + $date = mosFormatDate( $row->created, '%x' ); + ?> + "> + + + + + + + + + +
    + # + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + +
    + rowNumber( $i ); ?> + + id ); ?> + + title; ?> + + + + + name; ?> + + + + + +
    + + getListFooter(); ?> + + + + + + + + +
    + $row is passed with the id + * property set to 0. + * @param mosContent The category object + * @param string The html for the groups select list + */ + function editContent( &$row, $section, &$lists, &$sectioncategories, &$images, &$params, $option, $redirect, &$menus ) { + global $mosConfig_live_site; + + mosMakeHtmlSafe( $row ); + + $create_date = null; + if (intval( $row->created ) <> 0) { + $create_date = mosFormatDate( $row->created, '%A, %d %B %Y %H:%M', '0' ); + } + $mod_date = null; + if (intval( $row->modified ) <> 0) { + $mod_date = mosFormatDate( $row->modified, '%A, %d %B %Y %H:%M', '0' ); + } + + $tabs = new mosTabs(1); + + + // used to hide "Reset Hits" when hits = 0 + if ( !$row->hits ) { + $visibility = "style='display: none; visbility: hidden;'"; + } else { + $visibility = ""; + } + + mosCommonHTML::loadOverlib(); + mosCommonHTML::loadCalendar(); + ?> + + + +
    + + + + + +
    + + + id ? T_('Edit') : T_('New');?> + + id ) { + ?> + + [ ] + + + +
    + + + + +
    +
    + +
    +
    + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + +
    + + + + + + + +
    +
    + () +
    introtext , 'introtext', '100%;', '200', '75', '20' ) ; ?> +
    + () +
    fulltext , 'fulltext', '100%;', '350', '75', '30' ) ; ?> +
    +
    +
    + + + + +
    + + + + + + +
    + startPane("content-pane"); + $tabs->startTab(T_("Publishing"),"publish-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + frontpage ? 'checked="checked"' : ''; ?> /> +
    + + + state ? 'checked="checked"' : ''; ?> /> +
    + + +
    + + + +
    + + +
    +
    + + + + +
    + + + + +
    + + + + +
    +
    + + id ) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + id; ?> +
    + + + state > 0 ? T_('Published') : ($row->state < 0 ? T_('Archived') : T_('Draft Unpublished'));?> +
    + + + : + + hits;?> +
    > + +
    +
    + + + : + + version;?> +
    + + + + + created ? "$create_date
    ".T_('By')."$row->creator" : "New document"; ?> +
    + + + + + modified ? "$mod_date
    ".T_('By')."$row->modifier" : "Not modified";?> +
    + endTab(); + $tabs->startTab(T_("Images"),"images-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + +
    +
    + endTab(); + $tabs->startTab(T_("Parameters"),"params-page"); + ?> + + + + + + + + + + +
    + +
    + * * +

    +
    + render();?> +
    + endTab(); + $tabs->startTab(T_("Meta Info"),"metadata-page"); + ?> + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    + +
    + +
    + endTab(); + $tabs->startTab(T_("Link to Menu"),"link-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +

    +
    + + + +
    + + + +
    + + +
    + +
    + +
    +
    + endTab(); + $tabs->endPane(); + ?> +
    +
    +
    +
    + +
    + + + + + + + + + + + + + +
    +
    + + + + +
    + +
    + +
    + + + + + +
    + +
    + +

    +
    + +
    + "; + foreach ( $items as $item ) { + echo "
  • ". $item->title ."
  • "; + } + echo ""; + ?> +
    +

    + + + + + "; + } + ?> +
    + + +
    +
    + + + + +
    + +
    + +
    + + + + + +
    + +
    + +

    +
    + +
    + "; + foreach ( $items as $item ) { + echo "
  • ". $item->title ."
  • "; + } + echo ""; + ?> +
    +

    + + + + + "; + } + ?> +
    + diff -ruN 4.6rc2/administrator/components/com_frontpage/admin.frontpage.html.php 4.6-complete/administrator/components/com_frontpage/admin.frontpage.html.php --- 4.6rc2/administrator/components/com_frontpage/admin.frontpage.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_frontpage/admin.frontpage.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,222 +1,232 @@ - -
    - - - - - - - - - - - -
    - - - - - - - -
    - - - -
    - - - - - - - - - - - - - - - - id; - - $row->sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->sectionid; - $row->cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; - - $now = date( "Y-m-d H:i:s" ); - if ( $now <= $row->publish_up && $row->state == "1" ) { - $img = 'publish_y.png'; - $alt = T_('Published'); - } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { - $img = 'publish_g.png'; - $alt = T_('Published'); - } else if ( $now > $row->publish_down && $row->state == "1" ) { - $img = 'publish_r.png'; - $alt = T_('Expired'); - } elseif ( $row->state == "0" ) { - $img = "publish_x.png"; - $alt = T_('Unpublished'); - } - - $times = ''; - if ( isset( $row->publish_up ) ) { - if ( $row->publish_up == '0000-00-00 00:00:00' ) { - $times .= ''; - } else { - $times .= ''; - } - } - if ( isset( $row->publish_down ) ) { - if ( $row->publish_down == '0000-00-00 00:00:00' ) { - $times .= ''; - } else { - $times .= ''; - } - } - - $access = mosCommonHTML::AccessProcessing( $row, $i ); - $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); - - if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { - if ( $row->created_by_alias ) { - $author = $row->created_by_alias; - } else { - $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; - $author = ''. $row->author .''; - } - } else { - if ( $row->created_by_alias ) { - $author = $row->created_by_alias; - } else { - $author = $row->author; - } - } - ?> - "> - - - - - - - - - - - - - - - -
    - # - - - - - - - - - - - - <?php echo T_('Save Order') ?> - - - - - - - - -
    '.T_('Start:').' '.T_('Always').'
    '.T_('Start:').' '. $row->publish_up .'
    '.T_('Finish:').' '.T_('No Expiry').'
    '.T_('Finish:').' '. $row->publish_down .'
    - rowNumber( $i ); ?> - - - - checked_out && ( $row->checked_out != $my->id ) ) { - echo $row->title; - } else { - ?> - - title; ?> - - - - ')"> - <?php echo $alt;?> - - - orderUpIcon( $i ); ?> - - orderDownIcon( $i, $n ); ?> - - - - - - - sect_name; ?> - - - - name; ?> - - - -
    - - getListFooter(); - mosCommonHTML::ContentLegend(); - ?> - - - - -
    - +
    + + + + + + + + + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + sectionid == 0 && !$row->catid == 0){ + $link = 'index2.php?option=com_content§ionid=0&task=edit&hidemainmenu=1&id='. $row->id; + $row->sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->sectionid; + $row->cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; + } else { + $link = 'index2.php?option=com_typedcontent&task=edit&hidemainmenu=1&id='. $row->id; + $row->sect_name = 'Static Content'; + $row->name = 'Static Content'; + $row->sect_link = 'index2.php?option=com_typedcontent'; + $row->cat_link = 'index2.php?option=com_typedcontent'; + } + + + + + $now = date( "Y-m-d H:i:s" ); + if ( $now <= $row->publish_up && $row->state == "1" ) { + $img = 'publish_y.png'; + $alt = T_('Published'); + } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { + $img = 'publish_g.png'; + $alt = T_('Published'); + } else if ( $now > $row->publish_down && $row->state == "1" ) { + $img = 'publish_r.png'; + $alt = T_('Expired'); + } elseif ( $row->state == "0" ) { + $img = "publish_x.png"; + $alt = T_('Unpublished'); + } + + $times = ''; + if ( isset( $row->publish_up ) ) { + if ( $row->publish_up == '0000-00-00 00:00:00' ) { + $times .= ''; + } else { + $times .= ''; + } + } + if ( isset( $row->publish_down ) ) { + if ( $row->publish_down == '0000-00-00 00:00:00' ) { + $times .= ''; + } else { + $times .= ''; + } + } + + $access = mosCommonHTML::AccessProcessing( $row, $i ); + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. $row->author .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = $row->author; + } + } + ?> + "> + + + + + + + + + + + + + + + +
    + # + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + +
    '.T_('Start:').' '.T_('Always').'
    '.T_('Start:').' '. $row->publish_up .'
    '.T_('Finish:').' '.T_('No Expiry').'
    '.T_('Finish:').' '. $row->publish_down .'
    + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->title; + } else { + ?> + + title; ?> + + + + ')"> + <?php echo $alt;?> + + + orderUpIcon( $i ); ?> + + orderDownIcon( $i, $n ); ?> + + + + + + + sect_name; ?> + + + + name; ?> + + + +
    + + getListFooter(); + mosCommonHTML::ContentLegend(); + ?> + + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_frontpage/admin.frontpage.php 4.6-complete/administrator/components/com_frontpage/admin.frontpage.php --- 4.6rc2/administrator/components/com_frontpage/admin.frontpage.php 2006-05-13 01:03:27.000000000 -0500 +++ 4.6-complete/administrator/components/com_frontpage/admin.frontpage.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,299 +1,299 @@ -acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) - | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_frontpage' ))) { - mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); -} - -// call -require_once( $mainframe->getPath( 'admin_html' ) ); -require_once( $mainframe->getPath( 'class' ) ); - -$task = mosGetParam( $_REQUEST, 'task', array(0) ); -$cid = mosGetParam( $_POST, 'cid', array(0) ); -if (!is_array( $cid )) { - $cid = array(0); -} - -switch ($task) { - case 'publish': - changeFrontPage( $cid, 1, $option ); - break; - - case 'unpublish': - changeFrontPage( $cid, 0, $option ); - break; - - case 'archive': - changeFrontPage( $cid, -1, $option ); - break; - - case 'remove': - removeFrontPage( $cid, $option ); - break; - - case 'orderup': - orderFrontPage( $cid[0], -1, $option ); - break; - - case 'orderdown': - orderFrontPage( $cid[0], 1, $option ); - break; - - case 'saveorder': - saveOrder( $cid ); - break; - - case 'accesspublic': - accessMenu( $cid[0], 0 ); - break; - - case 'accessregistered': - accessMenu( $cid[0], 1 ); - break; - - case 'accessspecial': - accessMenu( $cid[0], 2 ); - break; - - default: - viewFrontPage( $option ); - break; -} - - -/** -* Compiles a list of frontpage items -*/ -function viewFrontPage( $option ) { - global $database, $mainframe, $mosConfig_list_limit; - - $catid = $mainframe->getUserStateFromRequest( "catid{$option}", 'catid', 0 ); - $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}", 'filter_authorid', 0 ); - $filter_sectionid = $mainframe->getUserStateFromRequest( "filter_sectionid{$option}", 'filter_sectionid', 0 ); - - $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); - $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); - $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); - $search = $database->getEscaped( trim( strtolower( $search ) ) ); - - $where = array( - "c.state >= 0" - ); - - // used by filter - if ( $filter_sectionid > 0 ) { - $where[] = "c.sectionid = '$filter_sectionid'"; - } - if ( $catid > 0 ) { - $where[] = "c.catid = '$catid'"; - } - if ( $filter_authorid > 0 ) { - $where[] = "c.created_by = '$filter_authorid'"; - } - - if ($search) { - $where[] = "LOWER(c.title) LIKE '%$search%'"; - } - - // get the total number of records - $query = "SELECT count(*)" - . "\n FROM #__content AS c" - . "\n INNER JOIN #__categories AS cc ON cc.id = c.catid" - . "\n INNER JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" - . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = c.id" - . (count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ) - ; - $database->setQuery( $query ); - $total = $database->loadResult(); - - require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); - $pageNav = new mosPageNav( $total, $limitstart, $limit ); - - $query = "SELECT c.*, g.name AS groupname, cc.name, s.name AS sect_name, u.name AS editor, f.ordering AS fpordering, v.name AS author" - . "\n FROM #__content AS c" - . "\n INNER JOIN #__categories AS cc ON cc.id = c.catid" - . "\n INNER JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" - . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = c.id" - . "\n INNER JOIN #__groups AS g ON g.id = c.access" - . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" - . "\n LEFT JOIN #__users AS v ON v.id = c.created_by" - . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") - . "\n ORDER BY f.ordering" - . "\n LIMIT $pageNav->limitstart,$pageNav->limit" - ; - $database->setQuery( $query ); - - $rows = $database->loadObjectList(); - if ($database->getErrorNum()) { - echo $database->stderr(); - return false; - } - - // get list of categories for dropdown filter - $query = "SELECT cc.id AS value, cc.title AS text, section" - . "\n FROM #__categories AS cc" - . "\n INNER JOIN #__sections AS s ON s.id=cc.section " - . "\n ORDER BY s.ordering, cc.ordering" - ; - $categories[] = mosHTML::makeOption( '0', T_('- All Categories -')); - $database->setQuery( $query ); - $categories = array_merge( $categories, $database->loadObjectList() ); - $lists['catid'] = mosHTML::selectList( $categories, 'catid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $catid ); - - // get list of sections for dropdown filter - $javascript = 'onchange="document.adminForm.submit();"'; - $lists['sectionid'] = mosAdminMenus::SelectSection( 'filter_sectionid', $filter_sectionid, $javascript ); - - // get list of Authors for dropdown filter - $query = "SELECT c.created_by AS value, u.name AS text" - . "\n FROM #__content AS c" - . "\n INNER JOIN #__sections AS s ON s.id = c.sectionid" - . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" - . "\n WHERE c.state <> '-1'" - . "\n AND c.state <> '-2'" - . "\n GROUP BY u.name" - . "\n ORDER BY u.name" - ; - $authors[] = mosHTML::makeOption( '0', T_('- All Authors -') ); - $database->setQuery( $query ); - $authors = array_merge( $authors, (array)$database->loadObjectList() ); - $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); - - HTML_content::showList( $rows, $search, $pageNav, $option, $lists ); -} - -/** -* Changes the state of one or more content pages -* @param array An array of unique category id numbers -* @param integer 0 if unpublishing, 1 if publishing -*/ -function changeFrontPage( $cid=null, $state=0, $option ) { - global $database, $my; - - if (count( $cid ) < 1) { - $action = $publish == 1 ? T_('publish') : ($publish == -1 ? T_('archive') : T_('unpublish')); - echo "\n"; - exit; - } - - $cids = implode( ',', $cid ); - - $query = "UPDATE #__content SET state='$state'" - . "\n WHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" - ; - $database->setQuery( $query ); - if (!$database->query()) { - echo "\n"; - exit(); - } - - if (count( $cid ) == 1) { - $row = new mosContent( $database ); - $row->checkin( $cid[0] ); - } - - mosRedirect( "index2.php?option=$option" ); -} - -function removeFrontPage( &$cid, $option ) { - global $database; - - if (!is_array( $cid ) || count( $cid ) < 1) { - echo "\n"; - exit; - } - $fp = new mosFrontPage( $database ); - foreach ($cid as $id) { - if (!$fp->delete( $id )) { - echo "\n"; - exit(); - } - $obj = new mosContent( $database ); - $obj->load( $id ); - $obj->mask = 0; - if (!$obj->store()) { - echo "\n"; - exit(); - } - } - $fp->updateOrder(); - - mosRedirect( "index2.php?option=$option" ); -} - -/** -* Moves the order of a record -* @param integer The increment to reorder by -*/ -function orderFrontPage( $uid, $inc, $option ) { - global $database; - - $fp = new mosFrontPage( $database ); - $fp->load( $uid ); - $fp->move( $inc ); - - mosRedirect( "index2.php?option=$option" ); -} - -/** -* @param integer The id of the content item -* @param integer The new access level -* @param string The URL option -*/ -function accessMenu( $uid, $access ) { - global $database; - - $row = new mosContent( $database ); - $row->load( $uid ); - $row->access = $access; - - if ( !$row->check() ) { - return $row->getError(); - } - if ( !$row->store() ) { - return $row->getError(); - } - - mosRedirect( 'index2.php?option=com_frontpage' ); -} - -function saveOrder( &$cid ) { - global $database; - - $total = count( $cid ); - $order = mosGetParam( $_POST, 'order', array(0) ); - - for( $i=0; $i < $total; $i++ ) { - $query = "UPDATE #__content_frontpage SET ordering='$order[$i]' WHERE content_id = $cid[$i]"; - $database->setQuery( $query ); - if (!$database->query()) { - echo "\n"; - exit(); - } - - // update ordering - $row = new mosFrontPage( $database ); - $row->load( $cid[$i] ); - $row->updateOrder(); - } - - $msg = T_('New ordering saved'); - mosRedirect( 'index2.php?option=com_frontpage', $msg ); -} -?> +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) + | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_frontpage' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +// call +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$task = mosGetParam( $_REQUEST, 'task', array(0) ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ($task) { + case 'publish': + changeFrontPage( $cid, 1, $option ); + break; + + case 'unpublish': + changeFrontPage( $cid, 0, $option ); + break; + + case 'archive': + changeFrontPage( $cid, -1, $option ); + break; + + case 'remove': + removeFrontPage( $cid, $option ); + break; + + case 'orderup': + orderFrontPage( $cid[0], -1, $option ); + break; + + case 'orderdown': + orderFrontPage( $cid[0], 1, $option ); + break; + + case 'saveorder': + saveOrder( $cid ); + break; + + case 'accesspublic': + accessMenu( $cid[0], 0 ); + break; + + case 'accessregistered': + accessMenu( $cid[0], 1 ); + break; + + case 'accessspecial': + accessMenu( $cid[0], 2 ); + break; + + default: + viewFrontPage( $option ); + break; +} + + +/** +* Compiles a list of frontpage items +*/ +function viewFrontPage( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $catid = $mainframe->getUserStateFromRequest( "catid{$option}", 'catid', 0 ); + $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}", 'filter_authorid', 0 ); + $filter_sectionid = $mainframe->getUserStateFromRequest( "filter_sectionid{$option}", 'filter_sectionid', 0 ); + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + $where = array( + "c.state >= 0" + ); + + // used by filter + if ( $filter_sectionid > 0 ) { + $where[] = "c.sectionid = '$filter_sectionid'"; + } + if ( $catid > 0 ) { + $where[] = "c.catid = '$catid'"; + } + if ( $filter_authorid > 0 ) { + $where[] = "c.created_by = '$filter_authorid'"; + } + + if ($search) { + $where[] = "LOWER(c.title) LIKE '%$search%'"; + } + + // get the total number of records + $query = "SELECT count(*)" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" + . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = c.id" + . (count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ) + ; + $database->setQuery( $query ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT c.*, g.name AS groupname, cc.name, s.name AS sect_name, u.name AS editor, f.ordering AS fpordering, v.name AS author" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" + . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = c.id" + . "\n INNER JOIN #__groups AS g ON g.id = c.access" + . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" + . "\n LEFT JOIN #__users AS v ON v.id = c.created_by" + . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") + . "\n ORDER BY f.ordering" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + // get list of categories for dropdown filter + $query = "SELECT cc.id AS value, cc.title AS text, section" + . "\n FROM #__categories AS cc" + . "\n INNER JOIN #__sections AS s ON s.id=cc.section " + . "\n ORDER BY s.ordering, cc.ordering" + ; + $categories[] = mosHTML::makeOption( '0', T_('- All Categories -')); + $database->setQuery( $query ); + $categories = array_merge( $categories, $database->loadObjectList() ); + $lists['catid'] = mosHTML::selectList( $categories, 'catid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $catid ); + + // get list of sections for dropdown filter + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['sectionid'] = mosAdminMenus::SelectSection( 'filter_sectionid', $filter_sectionid, $javascript ); + + // get list of Authors for dropdown filter + $query = "SELECT c.created_by AS value, u.name AS text" + . "\n FROM #__content AS c" + . "\n INNER JOIN #__sections AS s ON s.id = c.sectionid" + . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" + . "\n WHERE c.state <> '-1'" + . "\n AND c.state <> '-2'" + . "\n GROUP BY u.name" + . "\n ORDER BY u.name" + ; + $authors[] = mosHTML::makeOption( '0', T_('- All Authors -') ); + $database->setQuery( $query ); + $authors = array_merge( $authors, (array)$database->loadObjectList() ); + $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); + + HTML_content::showList( $rows, $search, $pageNav, $option, $lists ); +} + +/** +* Changes the state of one or more content pages +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +*/ +function changeFrontPage( $cid=null, $state=0, $option ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $publish == 1 ? T_('publish') : ($publish == -1 ? T_('archive') : T_('unpublish')); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "UPDATE #__content SET state='$state'" + . "\n WHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosContent( $database ); + $row->checkin( $cid[0] ); + } + + mosRedirect( "index2.php?option=$option" ); +} + +function removeFrontPage( &$cid, $option ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + $fp = new mosFrontPage( $database ); + foreach ($cid as $id) { + if (!$fp->delete( $id )) { + echo "\n"; + exit(); + } + $obj = new mosContent( $database ); + $obj->load( $id ); + $obj->mask = 0; + if (!$obj->store()) { + echo "\n"; + exit(); + } + } + $fp->updateOrder(); + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* Moves the order of a record +* @param integer The increment to reorder by +*/ +function orderFrontPage( $uid, $inc, $option ) { + global $database; + + $fp = new mosFrontPage( $database ); + $fp->load( $uid ); + $fp->move( $inc ); + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* @param integer The id of the content item +* @param integer The new access level +* @param string The URL option +*/ +function accessMenu( $uid, $access ) { + global $database; + + $row = new mosContent( $database ); + $row->load( $uid ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + mosRedirect( 'index2.php?option=com_frontpage' ); +} + +function saveOrder( &$cid ) { + global $database; + + $total = count( $cid ); + $order = mosGetParam( $_POST, 'order', array(0) ); + + for( $i=0; $i < $total; $i++ ) { + $query = "UPDATE #__content_frontpage SET ordering='$order[$i]' WHERE content_id = $cid[$i]"; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + // update ordering + $row = new mosFrontPage( $database ); + $row->load( $cid[$i] ); + $row->updateOrder(); + } + + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_frontpage', $msg ); +} +?> diff -ruN 4.6rc2/administrator/components/com_installer/admin.installer.html.php 4.6-complete/administrator/components/com_installer/admin.installer.html.php --- 4.6rc2/administrator/components/com_installer/admin.installer.html.php 2006-02-24 10:46:13.000000000 -0600 +++ 4.6-complete/administrator/components/com_installer/admin.installer.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,197 +1,395 @@ -'; - echo '
    ' . $folder . '/'; - echo is_writable( $GLOBALS['mosConfig_absolute_path'] . '/' . $folder ) ? ''.T_('Writeable').'' : ''.T_('Unwriteable').'' . '
    - - - - -
    - - - -
    - - - - - - - - -
    - -
    - - - -
    - - - - - - -
    - - - -
    - - - - - - - -
    - -
    -   -   - -
    - - - - - -
    -
    - -
    - - - - - - - -
    - -
    -   -   - -
    - - - - - -
    -
    - ' - .T_('Sorry, it seems that The Source is not available').''; - } - - /** - * @param string - * @param string - * @param string - * @param string - */ - function showInstallMessage ($messages, $title, $return) { - global $PHP_SELF; - if (!$return) $return = mamboCore::get('mosConfig_live_site').'/administrator/index2.php'; - ?> - - - - -
    - -
    - - - level) { - case _MOS_ERROR_INFORM: - $colour = 'green'; - $level = 'Information: '; - break; - case _MOS_ERROR_WARN: - $colour = 'red'; - $level = 'Warning: '; - break; - case _MOS_ERROR_SEVERE: - $colour = 'red'; - $level = 'Severe: '; - break; - case _MOS_ERROR_FATAL: - $colour = 'red'; - $level = 'Fatal: '; - break; - } - ?> - - - - - - - -
    - text; ?> -
    - [  ] -
    - +'; + echo '
    ' . $folder . '/'; + echo is_writable( $GLOBALS['mosConfig_absolute_path'] . '/' . $folder ) ? ''.T_('Writeable').'' : ''.T_('Unwriteable').'' . '
    + + + + +
    + + + +
    + + + + + + + + +
    + +
    + + + +
    + + + + + + +
    + + + +
    + + + + + + + +
    + +
    +   +   + +
    + + + + + +
    +
    + +
    + + + + + + + +
    + +
    +   +   + +
    + + + + +
    +
    + +
    + name as $i) $addon_count++; + ?> + + + + + + + + + + + + + + + + + + + + type[$counter]=='Mambot') { ?> + + + + + + + + + + + + + type[$counter]=='Component') { ?> + + + + + + + + + + + + + type[$counter]=='Module') { ?> + + + + + + + + + name as $i) $exaddon_count++; + ?> + + + + + + + + + + + + + + + type[$counter]=='Mambot') { + //If we are here then 3rd party mambots exist + $exmambot_count = 1; + ?> + + + + + + + + + + + + + + + + + + type[$counter]=='Component') { + //If we are here then 3rd party components exist + $excomponent_count = 1; + ?> + + + + + + + + + + + + + + + + + + type[$counter]=='Module') { + //If we are here then 3rd party modules exist + $exmodule_count = 1; + ?> + + + + + + + + + + + + + +
    +
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    +
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + + + + +
    +
    + ' + .T_('Sorry, it seems that The Source is not available').''; + } + + /** + * @param string + * @param string + * @param string + * @param string + */ + function showInstallMessage ($messages, $title, $return) { + global $PHP_SELF; + if (!$return) $return = mamboCore::get('mosConfig_live_site').'/administrator/index2.php'; + ?> + + + + +
    + +
    + + + level) { + case _MOS_ERROR_INFORM: + $colour = 'green'; + $level = 'Information: '; + break; + case _MOS_ERROR_WARN: + $colour = 'red'; + $level = 'Warning: '; + break; + case _MOS_ERROR_SEVERE: + $colour = 'red'; + $level = 'Severe: '; + break; + case _MOS_ERROR_FATAL: + $colour = 'red'; + $level = 'Fatal: '; + break; + } + ?> + + + + + + + +
    + text; ?> +
    + [  ] +
    + diff -ruN 4.6rc2/administrator/components/com_installer/admin.installer.php 4.6-complete/administrator/components/com_installer/admin.installer.php --- 4.6rc2/administrator/components/com_installer/admin.installer.php 2006-05-16 23:54:20.000000000 -0500 +++ 4.6-complete/administrator/components/com_installer/admin.installer.php 2006-09-20 19:05:04.000000000 -0500 @@ -55,6 +55,10 @@ case 'thesource': HTML_installer::theSourceForm($option, $element, $client); break; + + case 'addon': + HTML_installer::AddonForm($classMap[$element], $option, $element, $client); + break; case 'remove': $uninstaller = $element.'_uninstall'; @@ -179,14 +183,15 @@ $message = new mosError (T_('Please select an HTTP URL'), _MOS_ERROR_FATAL); HTML_installer::showInstallMessage($message, T_('Installer - Error'), returnTo($option, $element, $client)); } - $url_data = parse_url($userurl); + foreach ($userurl as $value) { + $url_data = parse_url($value); if (isset($url_data['path'])) $userfilename = basename($url_data['path']); else $userfilename = ''; if (!$userfilename) { $message = new mosError (T_('The URL did not define a file name'), _MOS_ERROR_FATAL); HTML_installer::showInstallMessage($message, T_('Installer - Error'), returnTo($option, $element, $client)); } - if (uploadUrl($userurl, $userfilename, $message )) { + if (uploadUrl($value, $userfilename, $message )) { $installer = new $installerClass(); if (!$installer->extractArchive($userfilename)) { $installer->cleanUpInstall(); @@ -202,6 +207,7 @@ returnTo( $option, $element, $client ) ); } } +} /** * @param string The name of the php (temporary) uploaded file * @param string The name of the file to put in the temp directory diff -ruN 4.6rc2/administrator/components/com_installer/component/component.html.php 4.6-complete/administrator/components/com_installer/component/component.html.php --- 4.6rc2/administrator/components/com_installer/component/component.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_installer/component/component.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -25,33 +25,33 @@
    - +
    - +
    - + - + - + - + - + - + - +
    - +
    - + diff -ruN 4.6rc2/administrator/components/com_installer/installer.class.php 4.6-complete/administrator/components/com_installer/installer.class.php --- 4.6rc2/administrator/components/com_installer/installer.class.php 2006-06-17 23:47:09.000000000 -0500 +++ 4.6-complete/administrator/components/com_installer/installer.class.php 2006-09-20 19:05:04.000000000 -0500 @@ -298,7 +298,7 @@ if (!$database->query()) { $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s SQL error %s'), $this->xmlfile, 'module', $this->name, $database->stderr(true)), _MOS_ERROR_FATAL); } - $this->errors->addErrorDetails($this->getDescription('module'), _MOS_ERROR_INFORM); + //$this->errors->addErrorDetails($this->getDescription('module'), _MOS_ERROR_INFORM); } function install_mambot () { diff -ruN 4.6rc2/administrator/components/com_installer/mambot/mambot.html.php 4.6-complete/administrator/components/com_installer/mambot/mambot.html.php --- 4.6rc2/administrator/components/com_installer/mambot/mambot.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_installer/mambot/mambot.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -24,12 +24,12 @@ @@ -40,10 +40,10 @@
    - +
    - +

    - + @@ -42,25 +42,25 @@
    - + - + - + - + - + - + - +
    - + - + @@ -33,7 +33,7 @@
    - +

    - + - + - + - + - + - + - +
    - +
    :
    : - <?php echo T_('Save Order') ?> + <?php echo T_('Save Order'); ?> diff -ruN 4.6rc2/administrator/components/com_media/admin.media.html.php 4.6-complete/administrator/components/com_media/admin.media.html.php --- 4.6rc2/administrator/components/com_media/admin.media.html.php 2006-02-26 11:51:15.000000000 -0600 +++ 4.6-complete/administrator/components/com_media/admin.media.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -83,14 +83,14 @@
    - + '; - } - - h += '
    @@ -65,31 +65,31 @@ '; - deltaHeight -= 23; - } - - template['html'] += '
    - + @@ -111,18 +111,18 @@ @@ -250,7 +250,7 @@ @@ -269,7 +269,7 @@
    - + - + - + @@ -162,7 +162,7 @@ ?>
      - = + =
    - +
    + <?php echo T_('Code'); ?> + <?php echo T_('Delete'); ?>
    - <?php echo T_('Code') ?> - <?php echo T_('Delete') ?>
    + <?php echo T_('Delete'); ?>
    - <?php echo T_('Delete') ?>
    @@ -280,9 +280,9 @@ @@ -368,7 +368,7 @@ function deleteImage(file) { - if(confirm()) + if(confirm()) return true; return false; @@ -376,11 +376,11 @@ function deleteFolder(folder, numFiles) { if(numFiles > 0) { - alert(); + alert(); return false; } - if(confirm()) + if(confirm()) return true; return false; diff -ruN 4.6rc2/administrator/components/com_menumanager/admin.menumanager.html.php 4.6-complete/administrator/components/com_menumanager/admin.menumanager.html.php --- 4.6rc2/administrator/components/com_menumanager/admin.menumanager.html.php 2006-03-06 20:42:01.000000000 -0600 +++ 4.6-complete/administrator/components/com_menumanager/admin.menumanager.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,438 +1,438 @@ - - - - -
    - + <?php echo $doc; ?>
    + <?php echo T_('Code'); ?> + <?php echo T_('Delete'); ?>
    - <?php echo T_('Code') ?> - <?php echo T_('Delete') ?>
    - - - -
    - -
    - - - - - - - - - - - - - limitstart) - $start = $pageNav->limitstart; - $count = count($menus)-$start; - if ($pageNav->limit) - if ($count > $pageNav->limit) - $count = $pageNav->limit; - for ($m = $start; $m < $start+$count; $m++) { - $menu = $menus[$m]; - $link = 'index2.php?option=com_menumanager&task=edit&hidemainmenu=1&menu='. $menu->type; - $linkA = 'index2.php?option=com_menus&menutype='. $menu->type; - ?> - "> - - - - - - - - - - -
    # - - - - - - - - - - - - -
    - limitstart;?> - - - - - type; ?> - - - - - - - published; - ?> - - unpublished; - ?> - - trash; - ?> - - modules; - ?> -
    - getListFooter(); ?> - - - - - - - menutype ? 0 : 1; - ?> - - -
    - - - - -
    - -
    - - - - - - - - - - - - - - - -
    - - - - -
    - Module Title: - - - -


    - - - * * -

    - Site Modules') ?> -
    -
    -
    -

    - - - - - - - - - - - - - - - - -
    - -
    - - - - -
    - -
    - -
    - - - - - - - - - - -
    - - -
      - -
    1. - - - title; ?> - - -
    2. - - -
    - -
    - -
    -
      - -
    1. - - name; ?> - -
    2. - - -
    -
    - * Delete this Menu,
    ALL its Menu Items and the Module(s) associated with it') ?> * -


    - -
     
    -

    - - - - - -
    - - -
    - - - - -
    - -
    - -
    - - - - - - - - - - -
    - -
    - -


    - -
    - -

    -
    - - - -
    - - - - - -

    - - - -
    -
      - -
    1. - - name; ?> - -
    2. - - -
    -
    -
     
    -

    - - - - -
    - + + +
    + + + + +
    + +
    + + + + + + + + + + + + + limitstart) + $start = $pageNav->limitstart; + $count = count($menus)-$start; + if ($pageNav->limit) + if ($count > $pageNav->limit) + $count = $pageNav->limit; + for ($m = $start; $m < $start+$count; $m++) { + $menu = $menus[$m]; + $link = 'index2.php?option=com_menumanager&task=edit&hidemainmenu=1&menu='. $menu->type; + $linkA = 'index2.php?option=com_menus&menutype='. $menu->type; + ?> + "> + + + + + + + + + + +
    # + + + + + + + + + + + + +
    + limitstart;?> + + + + + type; ?> + + + + + + + published; + ?> + + unpublished; + ?> + + trash; + ?> + + modules; + ?> +
    + getListFooter(); ?> + + + + + +
    + menutype ? 0 : 1; + ?> + + +
    + + + + +
    + +
    + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +


    + + + * * +

    + Site Modules'); ?> +
    +
    +
    +

    + + + + + + + + + + + + + + + + +
    + +
    + + + + +
    + +
    + +
    + + + + + + + + + + +
    + + +
      + +
    1. + + + title; ?> + + +
    2. + + +
    + +
    + +
    +
      + +
    1. + + name; ?> + +
    2. + + +
    +
    + * Delete this Menu,
    ALL its Menu Items and the Module(s) associated with it'); ?> * +


    + +
     
    +

    + + + + + +
    + + +
    + + + + +
    + +
    + +
    + + + + + + + + + + +
    + +
    + +


    + +
    + +

    +
    + + + +
    + + + + + +

    + + + +
    +
      + +
    1. + + name; ?> + +
    2. + + +
    +
    +
     
    +

    + + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_menumanager/admin.menumanager.php 4.6-complete/administrator/components/com_menumanager/admin.menumanager.php --- 4.6rc2/administrator/components/com_menumanager/admin.menumanager.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menumanager/admin.menumanager.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,540 +1,542 @@ -acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_menumanager' )) { - mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); -} - -require_once( $mainframe->getPath( 'admin_html' ) ); - -$menu = mosGetParam( $_GET, 'menu', '' ); -$task = mosGetParam( $_REQUEST, 'task', array(0) ); -$type = mosGetParam( $_POST, 'type', '' ); -$cid = mosGetParam( $_POST, 'cid', '' ); - -switch ($task) { - case 'new': - editMenu( $option, '' ); - break; - - case 'edit': - if ( !$menu ) { - $menu = $cid[0]; - } - editMenu( $option, $menu ); - break; - - case 'savemenu': - saveMenu(); - break; - - case 'deleteconfirm': - deleteconfirm( $option, $cid[0] ); - break; - - case 'deletemenu': - deleteMenu( $option, $cid, $type ); - break; - - case 'copyconfirm': - copyConfirm( $option, $cid[0] ); - break; - - case 'copymenu': - copyMenu( $option, $cid, $type ); - break; - - case 'cancel': - cancelMenu( $option ); - break; - - default: - showMenu( $option ); - break; -} - - -/** -* Compiles a list of menumanager items -*/ -function showMenu( $option ) { - global $database, $mainframe, $mosConfig_list_limit; - - $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); - $limitstart = $mainframe->getUserStateFromRequest( "view{". $option ."}limitstart", 'limitstart', 0 ); - - $menuTypes = mosAdminMenus::menutypes(); - $total = count( $menuTypes ); - $i = 0; - foreach ( $menuTypes as $a ) { - $menus[$i]->type = $a; - - // query to get number of modules for menutype - $query = "SELECT count( id )" - . "\n FROM #__modules" - . "\n WHERE module = 'mod_mainmenu'" - . "\n AND params LIKE '%$a%'" - ; - $database->setQuery( $query ); - $modules = $database->loadResult(); - - if ( !$modules ) { - $modules = '-'; - } - $menus[$i]->modules = $modules; - - $i++; - } - - // Query to get published menu item counts - $query = "SELECT a.menutype, count( a.menutype ) as num" - . "\n FROM #__menu AS a" - . "\n WHERE a.published = 1" - . "\n GROUP BY a.menutype" - . "\n ORDER BY a.menutype" - ; - $database->setQuery( $query ); - $published = $database->loadObjectList(); - - // Query to get unpublished menu item counts - $query = "SELECT a.menutype, count( a.menutype ) as num" - . "\n FROM #__menu AS a" - . "\n WHERE a.published = 0" - . "\n GROUP BY a.menutype" - . "\n ORDER BY a.menutype" - ; - $database->setQuery( $query ); - $unpublished = $database->loadObjectList(); - if (!$unpublished) $unpublished = array(); - - // Query to get trash menu item counts - $query = "SELECT a.menutype, count( a.menutype ) as num" - . "\n FROM #__menu AS a" - . "\n WHERE a.published = -2" - . "\n GROUP BY a.menutype" - . "\n ORDER BY a.menutype" - ; - $database->setQuery( $query ); - $trash = $database->loadObjectList(); - if (!$trash) $trash = array(); - - for( $i = 0; $i < $total; $i++ ) { - // adds published count - foreach ( $published as $count ) { - if ( $menus[$i]->type == $count->menutype ) { - $menus[$i]->published = $count->num; - } - } - if ( @!$menus[$i]->published ) { - $menus[$i]->published = '-'; - } - // adds unpublished count - foreach ( $unpublished as $count ) { - if ( $menus[$i]->type == $count->menutype ) { - $menus[$i]->unpublished = $count->num; - } - } - if ( @!$menus[$i]->unpublished ) { - $menus[$i]->unpublished = '-'; - } - // adds trash count - foreach ( $trash as $count ) { - if ( $menus[$i]->type == $count->menutype ) { - $menus[$i]->trash = $count->num; - } - } - if ( @!$menus[$i]->trash ) { - $menus[$i]->trash = '-'; - } - } - - require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); - $pageNav = new mosPageNav( $total, $limitstart, $limit ); - - HTML_menumanager::show( $option, $menus, $pageNav ); -} - - -/** -* Edits a mod_mainmenu module -* -* @param option options for the edit mode -* @param cid menu id -*/ -function editMenu( $option, $menu ) { - global $database; - - if( $menu ) { - $row->menutype = $menu; - } else { - $row = new mosModule( $database ); - // setting default values - $row->menutype = ''; - $row->iscore = 0; - $row->published = 0; - $row->position = 'left'; - $row->module = 'mod_mainmenu'; - } - - HTML_menumanager::edit( $row, $option ); -} - -/** -* Creates a new mod_mainmenu module, which makes the menu visible -* this is a workaround until a new dedicated table for menu management can be created -*/ -function saveMenu() { - global $database; - - $menutype = mosGetParam( $_POST, 'menutype', '' ); - $old_menutype = mosGetParam( $_POST, 'old_menutype', '' ); - $new = mosGetParam( $_POST, 'new', 1 ); - - // block to stop renaming of 'mainmenu' menutype - if ( $old_menutype == 'mainmenu' ) { - if ( $menutype <> 'mainmenu' ) { - echo "\n"; - exit; - } - } - - // check for unique menutype for new menus - $query = "SELECT params" - . "\n FROM #__modules" - . "\n WHERE module = 'mod_mainmenu'" - ; - $database->setQuery( $query ); - $menus = $database->loadResultArray(); - foreach ( $menus as $menu ) { - $pparser = new mosParameters($menu); - $params = $pparser->getParams(); - if ( $params->menutype == $menutype ) { - echo "\n"; - exit; - } - } - - switch ( $new ) { - case 1: - // create a new module for the new menu - $row = new mosModule( $database ); - $row->bind( $_POST ); - - $row->params = 'menutype='. $menutype; - - // check then store data in db - if (!$row->check()) { - echo "\n"; - exit(); - } - if (!$row->store()) { - echo "\n"; - exit(); - } - - $row->checkin(); - $row->updateOrder( "position='". $row->position ."'" ); - - // module assigned to show on All pages by default - // ToDO: Changed to become a mambo db-object - $query = "INSERT INTO #__modules_menu VALUES ( $row->id, 0 )"; - $database->setQuery( $query ); - if ( !$database->query() ) { - echo "\n"; - exit(); - } - - $msg = sprintf(T_('New Menu created [ %s ]'), $menutype); - break; - - default: - // change menutype being of all mod_mainmenu modules calling old menutype - $query = "SELECT id" - . "\n FROM #__modules" - . "\n WHERE module = 'mod_mainmenu'" - . "\n AND params LIKE '%$old_menutype%'" - ; - $database->setQuery( $query ); - $modules = $database->loadResultArray(); - - foreach ( $modules as $module ) { - $row = new mosModule( $database ); - $row->load( $module ); - - $save = 0; - $pparser = new mosParameters($row->params); - $params = $pparser->getParams(); - if ( $params->menutype == $old_menutype ) { - $params->menutype = $menutype; - $save = 1; - } - - // save changes to module 'menutype' param - if ( $save ) { - $txt = array(); - foreach ( $params as $k=>$v) { - $txt[] = "$k=$v"; - } - $row->params = implode( "\n", $txt ); - - // check then store data in db - if ( !$row->check() ) { - echo "\n"; - exit(); - } - if ( !$row->store() ) { - echo "\n"; - exit(); - } - - $row->checkin(); - } - } - - // change menutype of all menuitems using old menutype - if ( $menutype <> $old_menutype ) { - $query = "UPDATE #__menu SET menutype = '$menutype' WHERE menutype = '$old_menutype'"; - $database->setQuery( $query ); - $database->query(); - } - - $msg = T_('Menu Items & Modules updated'); - break; - } - - mosRedirect( 'index2.php?option=com_menumanager', $msg ); -} - -/** -* Compiles a list of the items you have selected to permanently delte -*/ -function deleteConfirm( $option, $type ) { - global $database; - - if ( $type == 'mainmenu' ) { - echo "\n"; - exit(); - } - - // list of menu items to delete - $query = "SELECT a.name, a.id" - . "\n FROM #__menu AS a" - . "\n WHERE ( a.menutype IN ( '$type' ) )" - . "\n ORDER BY a.name" - ; - $database->setQuery( $query ); - $items = $database->loadObjectList(); - - // list of modules to delete - $query = "SELECT id" - . "\n FROM #__modules" - . "\n WHERE module = 'mod_mainmenu'" - . "\n AND params LIKE '%$type%'" - ; - $database->setQuery( $query ); - $mods = $database->loadResultArray(); - - foreach ( $mods as $module ) { - $row = new mosModule( $database ); - $row->load( $module ); - $pparser = new mosParameters($row->params); - $params = $pparser->getParams(); - if ( $params->menutype == $type ) { - $mid[] = $module; - } - } - - @$mids = implode( ',', $mid ); - $query = "SELECT id, title" - . "\n FROM #__modules" - . "\n WHERE id IN ( $mids )" - ; - $database->setQuery( $query ); - @$modules = $database->loadObjectList(); - - HTML_menumanager::showDelete( $option, $type, $items, $modules ); -} - -/** -* Deletes menu items(s) you have selected -*/ -function deleteMenu( $option, $cid, $type ) { - global $database; - - if ( $type == 'mainmenu' ) { - echo "\n"; - exit(); - } - - - $mids = mosGetParam( $_POST, 'mids', 0 ); - if ( is_array( $mids ) ) { - $mids = implode( ',', $mids ); - } - // delete menu items - $query = "DELETE FROM #__menu" - . "\n WHERE ( id IN ( $mids ) )" - ; - $database->setQuery( $query ); - if ( !$database->query() ) { - echo "\n"; - exit; - } - - if ( is_array( $cid ) ) { - $cids = implode( ',', $cid ); - } else { - $cids = $cid; - } - - // checks whether any modules to delete - if ( $cids ) { - // delete modules - $database->setQuery( "DELETE FROM #__modules WHERE id IN ( $cids )" ); - if ( !$database->query() ) { - echo "\n"; - exit; - } - // delete all module entires in mos_modules_menu - $database->setQuery( "DELETE FROM #__modules_menu WHERE moduleid IN ( ". $cids ." )" ); - if ( !$database->query() ) { - echo "\n"; - exit; - } - - // reorder modules after deletion - $mod = new mosModule( $database ); - $mod->ordering = 0; - $mod->updateOrder( "position='left'" ); - $mod->updateOrder( "position='right'" ); - } - - $msg = 'Menu Deleted'; - mosRedirect( 'index2.php?option=' . $option, $msg ); -} - - -/** -* Compiles a list of the items you have selected to Copy -*/ -function copyConfirm( $option, $type ) { - global $database; - - // Content Items query - $query = "SELECT a.name, a.id" - . "\n FROM #__menu AS a" - . "\n WHERE ( a.menutype IN ( '". $type ."' ) )" - . "\n ORDER BY a.name" - ; - $database->setQuery( $query ); - $items = $database->loadObjectList(); - - HTML_menumanager::showCopy( $option, $type, $items ); -} - - -/** -* Copies a complete menu, all its items and creates a new module, using the name speified -*/ -function copyMenu( $option, $cid, $type ) { - global $database; - - $menu_name = mosGetParam( $_POST, 'menu_name', 'New Menu' ); - $module_name = mosGetParam( $_POST, 'module_name', 'New Module' ); - - // check for unique menutype for new menu copy - $query = "SELECT params" - . "\n FROM #__modules" - . "\n WHERE module = 'mod_mainmenu'" - ; - $database->setQuery( $query ); - $menus = $database->loadResultArray(); - foreach ( $menus as $menu ) { - $pparser = new mosParameters($menu); - $params = $pparser->getParams(); - if ( $params->menutype == $menu_name ) { - echo "\n"; - exit; - } - } - - // copy the menu items - $mids = mosGetParam( $_POST, 'mids', '' ); - $total = count( $mids ); - $copy = new mosMenu( $database ); - $original = new mosMenu( $database ); - sort( $mids ); - $a_ids = array(); - - foreach( $mids as $mid ) { - $original->load( $mid ); - $copy = $original; - $copy->id = NULL; - $copy->parent = $a_ids[$original->parent]; - $copy->menutype = $menu_name; - - if ( !$copy->check() ) { - echo "\n"; - exit(); - } - if ( !$copy->store() ) { - echo "\n"; - exit(); - } - $a_ids[$original->id] = $copy->id; - } - - // create the module copy - $row = new mosModule( $database ); - $row->load( 0 ); - $row->title = $module_name; - $row->iscore = 0; - $row->published = 1; - $row->position = 'left'; - $row->module = 'mod_mainmenu'; - $row->params = 'menutype='. $menu_name; - - if (!$row->check()) { - echo "\n"; - exit(); - } - if (!$row->store()) { - echo "\n"; - exit(); - } - $row->checkin(); - $row->updateOrder( "position='". $row->position ."'" ); - // module assigned to show on All pages by default - // ToDO: Changed to become a mambo db-object - $query = "INSERT INTO #__modules_menu VALUES ( $row->id, 0 )"; - $database->setQuery( $query ); - if ( !$database->query() ) { - echo "\n"; - exit(); - } - - $msg = sprintf(Tn_('Copy of Menu `%s` created, consisting of %d item', 'Copy of Menu `%s` created, consisting of %d items', $total), $type, $total); - mosRedirect( 'index2.php?option=' . $option, $msg ); -} - -/** -* Cancels an edit operation -* @param option options for the operation -*/ -function cancelMenu( $option ) { - mosRedirect( 'index2.php?option=' . $option . '&task=view' ); -} -?> +acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_menumanager' )) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); + +$menu = mosGetParam( $_GET, 'menu', '' ); +$task = mosGetParam( $_REQUEST, 'task', array(0) ); +$type = mosGetParam( $_POST, 'type', '' ); +$cid = mosGetParam( $_POST, 'cid', '' ); + +switch ($task) { + case 'new': + editMenu( $option, '' ); + break; + + case 'edit': + if ( !$menu ) { + $menu = $cid[0]; + } + editMenu( $option, $menu ); + break; + + case 'savemenu': + saveMenu(); + break; + + case 'deleteconfirm': + deleteconfirm( $option, $cid ); + break; + + case 'deletemenu': + deleteMenu( $option, $cid, $type ); + break; + + case 'copyconfirm': + copyConfirm( $option, $cid[0] ); + break; + + case 'copymenu': + copyMenu( $option, $cid, $type ); + break; + + case 'cancel': + cancelMenu( $option ); + break; + + default: + showMenu( $option ); + break; +} + + +/** +* Compiles a list of menumanager items +*/ +function showMenu( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{". $option ."}limitstart", 'limitstart', 0 ); + + $menuTypes = mosAdminMenus::menutypes(); + $total = count( $menuTypes ); + $i = 0; + foreach ( $menuTypes as $a ) { + $menus[$i]->type = $a; + + // query to get number of modules for menutype + $query = "SELECT count( id )" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + . "\n AND params LIKE '%$a%'" + ; + $database->setQuery( $query ); + $modules = $database->loadResult(); + + if ( !$modules ) { + $modules = '-'; + } + $menus[$i]->modules = $modules; + + $i++; + } + + // Query to get published menu item counts + $query = "SELECT a.menutype, count( a.menutype ) as num" + . "\n FROM #__menu AS a" + . "\n WHERE a.published = 1" + . "\n GROUP BY a.menutype" + . "\n ORDER BY a.menutype" + ; + $database->setQuery( $query ); + $published = $database->loadObjectList(); + + // Query to get unpublished menu item counts + $query = "SELECT a.menutype, count( a.menutype ) as num" + . "\n FROM #__menu AS a" + . "\n WHERE a.published = 0" + . "\n GROUP BY a.menutype" + . "\n ORDER BY a.menutype" + ; + $database->setQuery( $query ); + $unpublished = $database->loadObjectList(); + if (!$unpublished) $unpublished = array(); + + // Query to get trash menu item counts + $query = "SELECT a.menutype, count( a.menutype ) as num" + . "\n FROM #__menu AS a" + . "\n WHERE a.published = -2" + . "\n GROUP BY a.menutype" + . "\n ORDER BY a.menutype" + ; + $database->setQuery( $query ); + $trash = $database->loadObjectList(); + if (!$trash) $trash = array(); + + for( $i = 0; $i < $total; $i++ ) { + // adds published count + foreach ( $published as $count ) { + if ( $menus[$i]->type == $count->menutype ) { + $menus[$i]->published = $count->num; + } + } + if ( @!$menus[$i]->published ) { + $menus[$i]->published = '-'; + } + // adds unpublished count + foreach ( $unpublished as $count ) { + if ( $menus[$i]->type == $count->menutype ) { + $menus[$i]->unpublished = $count->num; + } + } + if ( @!$menus[$i]->unpublished ) { + $menus[$i]->unpublished = '-'; + } + // adds trash count + foreach ( $trash as $count ) { + if ( $menus[$i]->type == $count->menutype ) { + $menus[$i]->trash = $count->num; + } + } + if ( @!$menus[$i]->trash ) { + $menus[$i]->trash = '-'; + } + } + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + HTML_menumanager::show( $option, $menus, $pageNav ); +} + + +/** +* Edits a mod_mainmenu module +* +* @param option options for the edit mode +* @param cid menu id +*/ +function editMenu( $option, $menu ) { + global $database; + + if( $menu ) { + $row->menutype = $menu; + } else { + $row = new mosModule( $database ); + // setting default values + $row->menutype = ''; + $row->iscore = 0; + $row->published = 0; + $row->position = 'left'; + $row->module = 'mod_mainmenu'; + } + + HTML_menumanager::edit( $row, $option ); +} + +/** +* Creates a new mod_mainmenu module, which makes the menu visible +* this is a workaround until a new dedicated table for menu management can be created +*/ +function saveMenu() { + global $database; + + $menutype = mosGetParam( $_POST, 'menutype', '' ); + $old_menutype = mosGetParam( $_POST, 'old_menutype', '' ); + $new = mosGetParam( $_POST, 'new', 1 ); + + // block to stop renaming of 'mainmenu' menutype + if ( $old_menutype == 'mainmenu' ) { + if ( $menutype <> 'mainmenu' ) { + echo "\n"; + exit; + } + } + + // check for unique menutype for new menus + $query = "SELECT params" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + ; + $database->setQuery( $query ); + $menus = $database->loadResultArray(); + foreach ( $menus as $menu ) { + $pparser = new mosParameters($menu); + $params = $pparser->getParams(); + if ( $params->menutype == $menutype ) { + echo "\n"; + exit; + } + } + + switch ( $new ) { + case 1: + // create a new module for the new menu + $row = new mosModule( $database ); + $row->bind( $_POST ); + + $row->params = 'menutype='. $menutype; + + // check then store data in db + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + + $row->checkin(); + $row->updateOrder( "position='". $row->position ."'" ); + + // module assigned to show on All pages by default + // ToDO: Changed to become a mambo db-object + $query = "INSERT INTO #__modules_menu VALUES ( $row->id, 0 )"; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $msg = sprintf(T_('New Menu created [ %s ]'), $menutype); + break; + + default: + // change menutype being of all mod_mainmenu modules calling old menutype + $query = "SELECT id" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + . "\n AND params LIKE '%$old_menutype%'" + ; + $database->setQuery( $query ); + $modules = $database->loadResultArray(); + + foreach ( $modules as $module ) { + $row = new mosModule( $database ); + $row->load( $module ); + + $save = 0; + $pparser = new mosParameters($row->params); + $params = $pparser->getParams(); + if ( $params->menutype == $old_menutype ) { + $params->menutype = $menutype; + $save = 1; + } + + // save changes to module 'menutype' param + if ( $save ) { + $txt = array(); + foreach ( $params as $k=>$v) { + $txt[] = "$k=$v"; + } + $row->params = implode( "\n", $txt ); + + // check then store data in db + if ( !$row->check() ) { + echo "\n"; + exit(); + } + if ( !$row->store() ) { + echo "\n"; + exit(); + } + + $row->checkin(); + } + } + + // change menutype of all menuitems using old menutype + if ( $menutype <> $old_menutype ) { + $query = "UPDATE #__menu SET menutype = '$menutype' WHERE menutype = '$old_menutype'"; + $database->setQuery( $query ); + $database->query(); + } + + $msg = T_('Menu Items & Modules updated'); + break; + } + + mosRedirect( 'index2.php?option=com_menumanager', $msg ); +} + +/** +* Compiles a list of the items you have selected to permanently delte +*/ +function deleteConfirm( $option, $types ) { + global $database; + + if ( in_array('mainmenu', $types )) { + $types = array_diff($types, array('mainmenu')); + echo "\n"; + } + + $menus = implode("','",$types); + // list of menu items to delete + $query = "SELECT a.name, a.id" + . "\n FROM #__menu AS a" + . "\n WHERE ( a.menutype IN ( '$menus' ) )" + . "\n ORDER BY a.name" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + foreach ($types as $type) { + // list of modules to delete + $query = "SELECT id" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + . "\n AND params LIKE '%$type%'" + ; + $database->setQuery( $query ); + $mods = $database->loadResultArray(); + foreach ( $mods as $module ) { + $row = new mosModule( $database ); + $row->load( $module ); + $pparser = new mosParameters($row->params); + $params = $pparser->getParams(); + if ( $params->menutype == $type ) { + $mid[] = $module; + } + } + } + + @$mids = implode( ',', $mid ); + $query = "SELECT id, title" + . "\n FROM #__modules" + . "\n WHERE id IN ( $mids )" + ; + $database->setQuery( $query ); + @$modules = $database->loadObjectList(); + + HTML_menumanager::showDelete( $option, $type, $items, $modules ); +} + +/** +* Deletes menu items(s) you have selected +*/ +function deleteMenu( $option, $cid, $type ) { + global $database; + + if ( $type == 'mainmenu' ) { + echo "\n"; + exit(); + } + + + $mids = mosGetParam( $_POST, 'mids', 0 ); + if ( is_array( $mids ) ) { + $mids = implode( ',', $mids ); + } + // delete menu items + $query = "DELETE FROM #__menu" + . "\n WHERE ( id IN ( $mids ) )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit; + } + + if ( is_array( $cid ) ) { + $cids = implode( ',', $cid ); + } else { + $cids = $cid; + } + + // checks whether any modules to delete + if ( $cids ) { + // delete modules + $database->setQuery( "DELETE FROM #__modules WHERE id IN ( $cids )" ); + if ( !$database->query() ) { + echo "\n"; + exit; + } + // delete all module entires in mos_modules_menu + $database->setQuery( "DELETE FROM #__modules_menu WHERE moduleid IN ( ". $cids ." )" ); + if ( !$database->query() ) { + echo "\n"; + exit; + } + + // reorder modules after deletion + $mod = new mosModule( $database ); + $mod->ordering = 0; + $mod->updateOrder( "position='left'" ); + $mod->updateOrder( "position='right'" ); + } + + $msg = 'Menu Deleted'; + mosRedirect( 'index2.php?option=' . $option, $msg ); +} + + +/** +* Compiles a list of the items you have selected to Copy +*/ +function copyConfirm( $option, $type ) { + global $database; + + // Content Items query + $query = "SELECT a.name, a.id" + . "\n FROM #__menu AS a" + . "\n WHERE ( a.menutype IN ( '". $type ."' ) )" + . "\n ORDER BY a.name" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + HTML_menumanager::showCopy( $option, $type, $items ); +} + + +/** +* Copies a complete menu, all its items and creates a new module, using the name speified +*/ +function copyMenu( $option, $cid, $type ) { + global $database; + + $menu_name = mosGetParam( $_POST, 'menu_name', 'New Menu' ); + $module_name = mosGetParam( $_POST, 'module_name', 'New Module' ); + + // check for unique menutype for new menu copy + $query = "SELECT params" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + ; + $database->setQuery( $query ); + $menus = $database->loadResultArray(); + foreach ( $menus as $menu ) { + $pparser = new mosParameters($menu); + $params = $pparser->getParams(); + if ( $params->menutype == $menu_name ) { + echo "\n"; + exit; + } + } + + // copy the menu items + $mids = mosGetParam( $_POST, 'mids', '' ); + $total = count( $mids ); + $copy = new mosMenu( $database ); + $original = new mosMenu( $database ); + sort( $mids ); + $a_ids = array(); + + foreach( $mids as $mid ) { + $original->load( $mid ); + $copy = $original; + $copy->id = NULL; + $copy->parent = $a_ids[$original->parent]; + $copy->menutype = $menu_name; + + if ( !$copy->check() ) { + echo "\n"; + exit(); + } + if ( !$copy->store() ) { + echo "\n"; + exit(); + } + $a_ids[$original->id] = $copy->id; + } + + // create the module copy + $row = new mosModule( $database ); + $row->load( 0 ); + $row->title = $module_name; + $row->iscore = 0; + $row->published = 1; + $row->position = 'left'; + $row->module = 'mod_mainmenu'; + $row->params = 'menutype='. $menu_name; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "position='". $row->position ."'" ); + // module assigned to show on All pages by default + // ToDO: Changed to become a mambo db-object + $query = "INSERT INTO #__modules_menu VALUES ( $row->id, 0 )"; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $msg = sprintf(Tn_('Copy of Menu `%s` created, consisting of %d item', 'Copy of Menu `%s` created, consisting of %d items', $total), $type, $total); + mosRedirect( 'index2.php?option=' . $option, $msg ); +} + +/** +* Cancels an edit operation +* @param option options for the operation +*/ +function cancelMenu( $option ) { + mosRedirect( 'index2.php?option=' . $option . '&task=view' ); +} +?> diff -ruN 4.6rc2/administrator/components/com_menus/admin.menus.html.php 4.6-complete/administrator/components/com_menus/admin.menus.html.php --- 4.6rc2/administrator/components/com_menus/admin.menus.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/admin.menus.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -27,13 +27,13 @@ [ %s ]'), $menutype) ?>
    - + - + @@ -44,10 +44,10 @@ ?>
    - * * + * *
    - - * * + + * *
    - + - + - + - + - <?php echo T_('Save Order') ?> + <?php echo T_('Save Order'); ?> - + - + - + - +
    - + @@ -198,7 +198,7 @@
    - +
    - +
    - * + *
    - +
    - +
    - +
    @@ -364,14 +364,14 @@
    - +


    - +
      @@ -414,7 +414,7 @@
      - +
      @@ -425,7 +425,7 @@
    - +
    @@ -433,7 +433,7 @@
    - +
      diff -ruN 4.6rc2/administrator/components/com_menus/admin.menus.php 4.6-complete/administrator/components/com_menus/admin.menus.php --- 4.6rc2/administrator/components/com_menus/admin.menus.php 2006-05-14 16:46:22.000000000 -0500 +++ 4.6-complete/administrator/components/com_menus/admin.menus.php 2006-09-20 19:05:04.000000000 -0500 @@ -68,14 +68,7 @@ break; case 'remove': - $msg = ''; - foreach($cid as $_id){ - $_cid = array(); - $_cid[] = $_id; - addDescendants($_id, $_cid); - $msg .= TrashMenuSection( $_cid ); - } - if ($msg) { + if ($msg = TrashMenusection( $cid )) { mosRedirect( 'index2.php?option=com_menus&menutype='. $menutype .'&mosmsg= '.$msg ); } else { mosRedirect( 'index2.php?option=com_menus&menutype='. $menutype ); @@ -441,7 +434,7 @@ */ function TrashMenuSection( $cid=NULL ) { global $database; - + $state = "-2"; //seperate contentids $cids = implode( ',', $cid ); diff -ruN 4.6rc2/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php 4.6-complete/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php --- 4.6rc2/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -32,9 +32,9 @@ // do field validation if ( trim(form.name.value) == "" ){ - alert( "" ); + alert( "" ); } else if ( trim( form.link.value ) == "" ){ - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -45,7 +45,7 @@
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -56,12 +56,12 @@ - + - + @@ -128,7 +128,7 @@
      - +
      - + @@ -69,21 +69,21 @@
      - +
      - + @@ -91,7 +91,7 @@
      - + @@ -99,7 +99,7 @@
      - + @@ -107,14 +107,14 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/components/components.menu.html.php 4.6-complete/administrator/components/com_menus/components/components.menu.html.php --- 4.6rc2/administrator/components/com_menus/components/components.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/components/components.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -37,7 +37,7 @@ if (pressbutton == 'cancel') { submitform( pressbutton ); return; - } + } var comp_links = new Array; " ); + alert( "" ); } else if (form.componentid.value == ""){ - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -80,48 +80,48 @@
      - +
      - + - + - + - + - + - + - + @@ -135,7 +135,7 @@
      - +
      @@ -145,7 +145,7 @@ echo $params->render(); } else { ?> - + diff -ruN 4.6rc2/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php 4.6-complete/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php --- 4.6rc2/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -36,7 +36,7 @@ if ( !$menu->id ) { ?> if ( getSelectedValue( 'adminForm', 'componentid' ) < 1 ) { - alert( '' ); + alert( '' ); return; } cat = getSelectedText( 'adminForm', 'componentid' ); @@ -50,7 +50,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -63,7 +63,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -74,12 +74,12 @@ ';deltaHeight-=23;}template['html']+='
      - +
      - + @@ -94,7 +94,7 @@
      - + @@ -102,7 +102,7 @@
      - + @@ -110,7 +110,7 @@
      - + @@ -118,7 +118,7 @@
      - + @@ -126,7 +126,7 @@
      - + @@ -134,7 +134,7 @@
      - + @@ -149,7 +149,7 @@ diff -ruN 4.6rc2/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php 4.6-complete/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php --- 4.6rc2/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -32,9 +32,9 @@ // do field validation if (trim(form.name.value) == ""){ - alert( "" ); + alert( "" ); } else if (trim(form.contact_item_link.value) == ""){ - alert( "" ); + alert( "" ); } else { form.link.value = "index.php?option=com_contact&task=view&contact_id=" + form.contact_item_link.value; form.componentid.value = form.contact_item_link.value; @@ -47,7 +47,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -58,12 +58,12 @@ - + @@ -130,7 +130,7 @@
      - +
      - + @@ -71,7 +71,7 @@
      - + @@ -85,7 +85,7 @@
      - + @@ -93,7 +93,7 @@
      - + @@ -101,7 +101,7 @@
      - + @@ -109,14 +109,14 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php 4.6-complete/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php --- 4.6rc2/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -36,7 +36,7 @@ if ( !$menu->id ) { ?> if ( getSelectedValue( 'adminForm', 'componentid' ) < 1 ) { - alert( '' ); + alert( '' ); return; } sectcat = getSelectedText( 'adminForm', 'componentid' ); @@ -52,7 +52,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -65,7 +65,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -76,11 +76,11 @@ - + @@ -93,37 +93,37 @@ - + - + - + - + - + - + @@ -137,7 +137,7 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php 4.6-complete/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php --- 4.6rc2/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -36,13 +36,13 @@ if ( !$menu->id ) { ?> if ( getSelectedValue( 'adminForm', 'componentid' ) < 0 ) { - alert( '' ); + alert( '' ); return; } if ( form.name.value == '' ) { if ( form.componentid.value == 0 ) { - form.name.value = ""; + form.name.value = ""; } else { form.name.value = form.componentid.options[form.componentid.selectedIndex].text; } @@ -53,7 +53,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -67,7 +67,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -78,11 +78,11 @@ - + @@ -95,37 +95,37 @@ - + - + - + - + - + - + @@ -139,7 +139,7 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php 4.6-complete/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php --- 4.6rc2/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -37,7 +37,7 @@ if ( !$menu->id ) { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); return; } else { submitform( pressbutton ); @@ -46,7 +46,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -61,7 +61,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -72,11 +72,11 @@ - + @@ -85,7 +85,7 @@ - + - + - + - + - + @@ -135,7 +135,7 @@
      - +
      - + @@ -97,31 +97,31 @@
      diff -ruN 4.6rc2/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php 4.6-complete/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php --- 4.6rc2/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -37,7 +37,7 @@ if ( !$menu->id ) { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); return; } else { submitform( pressbutton ); @@ -46,7 +46,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -61,7 +61,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -72,11 +72,11 @@ - + @@ -85,7 +85,7 @@ - + - + - + - + - + @@ -135,7 +135,7 @@
      - +
      - + @@ -97,31 +97,31 @@
      diff -ruN 4.6rc2/administrator/components/com_menus/content_category/content_category.menu.html.php 4.6-complete/administrator/components/com_menus/content_category/content_category.menu.html.php --- 4.6rc2/administrator/components/com_menus/content_category/content_category.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_category/content_category.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -36,7 +36,7 @@ if ( !$menu->id ) { ?> if ( getSelectedValue( 'adminForm', 'componentid' ) < 1 ) { - alert( '' ); + alert( '' ); return; } sectcat = getSelectedText( 'adminForm', 'componentid' ); @@ -52,7 +52,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -65,7 +65,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -76,12 +76,12 @@ '; - }, - - addItem : function(icon, title, command, value, disabled) { - if (title.charAt(0) == '$') - title = tinyMCE.getLang(title.substring(1)); - - var onMouseDown = ''; - var html = ''; - - if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0) - onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;'; - else - onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;'; - - if (icon == "") - icon = this.settings['spacer_image']; - - if (!disabled) - html += ''; - else - html += ''; - - html += ''; - html += ''; - html += ''; - - // Add to main - this.html += html; - }, - - show : function(x, y) { - if (this.html == "") - return; - - var html = ''; - - html += '
      - +
      - + @@ -96,7 +96,7 @@
      - + @@ -104,7 +104,7 @@
      - + @@ -112,7 +112,7 @@
      - + @@ -120,7 +120,7 @@
      - + @@ -128,7 +128,7 @@
      - + @@ -136,7 +136,7 @@
      - + @@ -151,7 +151,7 @@ diff -ruN 4.6rc2/administrator/components/com_menus/content_category/content_category.xml 4.6-complete/administrator/components/com_menus/content_category/content_category.xml --- 4.6rc2/administrator/components/com_menus/content_category/content_category.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_category/content_category.xml 2006-09-20 19:05:04.000000000 -0500 @@ -90,7 +90,7 @@ - + diff -ruN 4.6rc2/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php 4.6-complete/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php --- 4.6rc2/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -38,9 +38,9 @@ // do field validation if (trim(form.name.value) == ""){ - alert( "" ); + alert( "" ); } else if (trim(form.content_item_link.value) == ""){ - alert( "" ); + alert( "" ); } else { form.link.value = "index.php?option=com_content&task=view&id=" + form.content_item_link.value; form.componentid.value = form.content_item_link.value; @@ -53,7 +53,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -64,12 +64,12 @@ - + - + @@ -136,7 +136,7 @@
      - +
      - + @@ -77,21 +77,21 @@
      - +
      - + @@ -99,7 +99,7 @@
      - + @@ -107,7 +107,7 @@
      - + @@ -115,14 +115,14 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/content_section/content_section.menu.html.php 4.6-complete/administrator/components/com_menus/content_section/content_section.menu.html.php --- 4.6rc2/administrator/components/com_menus/content_section/content_section.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_section/content_section.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -36,7 +36,7 @@ if ( !$menu->id ) { ?> if ( getSelectedValue( 'adminForm', 'componentid' ) < 1 ) { - alert( '' ); + alert( '' ); return; } @@ -49,7 +49,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -65,7 +65,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -76,11 +76,11 @@ - + @@ -93,37 +93,37 @@ - + - + - + - + - + - + @@ -137,7 +137,7 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/content_typed/content_typed.menu.html.php 4.6-complete/administrator/components/com_menus/content_typed/content_typed.menu.html.php --- 4.6rc2/administrator/components/com_menus/content_typed/content_typed.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/content_typed/content_typed.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -39,9 +39,9 @@ // do field validation if (trim(form.name.value) == ""){ - alert( "" ); + alert( "" ); } else if (trim(form.content_typed.value) == ""){ - alert( "" ); + alert( "" ); } else { form.link.value = "index.php?option=com_content&task=view&id=" + form.content_typed.value; form.componentid.value = form.content_typed.value; @@ -54,7 +54,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -65,12 +65,12 @@ - + @@ -137,7 +137,7 @@
      - +
      - + @@ -78,7 +78,7 @@
      - + @@ -92,7 +92,7 @@
      - + @@ -100,7 +100,7 @@
      - + @@ -108,7 +108,7 @@
      - + @@ -116,14 +116,14 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php 4.6-complete/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php --- 4.6rc2/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php 2006-05-14 16:46:22.000000000 -0500 +++ 4.6-complete/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -36,7 +36,7 @@ if ( !$menu->id ) { ?> if ( getSelectedValue( 'adminForm', 'componentid' ) < 1 ) { - alert( '' ); + alert( '' ); return; } cat = getSelectedText( 'adminForm', 'componentid' ); @@ -50,7 +50,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -63,7 +63,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -74,12 +74,12 @@ + +
      - +
      - + @@ -94,7 +94,7 @@
      - + @@ -102,7 +102,7 @@
      - + @@ -110,7 +110,7 @@
      - + @@ -118,7 +118,7 @@
      - + @@ -126,7 +126,7 @@
      - + @@ -134,7 +134,7 @@
      - + @@ -149,7 +149,7 @@ diff -ruN 4.6rc2/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php 4.6-complete/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php --- 4.6rc2/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php 2006-05-14 16:46:22.000000000 -0500 +++ 4.6-complete/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -32,9 +32,9 @@ // do field validation if (trim(form.name.value) == ""){ - alert( "" ); + alert( "" ); } else if (trim(form.newsfeed_link.value) == ""){ - alert( "" ); + alert( "" ); } else { form.link.value = "index.php?option=com_newsfeeds&task=view&feedid=" + form.newsfeed_link.value; form.componentid.value = form.newsfeed_link.value; @@ -47,7 +47,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -58,12 +58,12 @@ - + @@ -130,7 +130,7 @@
      - +
      - + @@ -71,7 +71,7 @@
      - + @@ -85,7 +85,7 @@
      - + @@ -93,7 +93,7 @@
      - + @@ -101,7 +101,7 @@
      - + @@ -109,14 +109,14 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/separator/separator.menu.html.php 4.6-complete/administrator/components/com_menus/separator/separator.menu.html.php --- 4.6rc2/administrator/components/com_menus/separator/separator.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/separator/separator.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -41,7 +41,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -52,12 +52,12 @@ - + @@ -102,7 +102,7 @@
      - +
      - + @@ -65,7 +65,7 @@
      - + @@ -73,7 +73,7 @@
      - + @@ -81,14 +81,14 @@
      - +
      diff -ruN 4.6rc2/administrator/components/com_menus/url/url.menu.html.php 4.6-complete/administrator/components/com_menus/url/url.menu.html.php --- 4.6rc2/administrator/components/com_menus/url/url.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/url/url.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -35,9 +35,9 @@ // do field validation if (trim(form.name.value) == ""){ - alert( "" ); + alert( "" ); } else if (trim(form.link.value) == ""){ - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -48,7 +48,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -59,12 +59,12 @@ - -
      - +
      - + @@ -72,7 +72,7 @@
      - + @@ -80,7 +80,7 @@
      - + @@ -88,7 +88,7 @@
      - + @@ -96,7 +96,7 @@
      - + @@ -104,7 +104,7 @@
      - + @@ -112,7 +112,7 @@
      - + @@ -124,7 +124,7 @@ diff -ruN 4.6rc2/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php 4.6-complete/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php --- 4.6rc2/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php 2006-05-14 15:48:05.000000000 -0500 +++ 4.6-complete/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -36,7 +36,7 @@ if ( !$menu->id ) { ?> if ( getSelectedValue( 'adminForm', 'componentid' ) < 1 ) { - alert( '' ); + alert( '' ); return; } cat = getSelectedText( 'adminForm', 'componentid' ); @@ -50,7 +50,7 @@ } else { ?> if ( form.name.value == '' ) { - alert( '' ); + alert( '' ); } else { submitform( pressbutton ); } @@ -63,7 +63,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -74,13 +74,13 @@ .
      - +
      - + @@ -95,7 +95,7 @@
      - + @@ -103,7 +103,7 @@
      - + @@ -111,7 +111,7 @@
      - + @@ -119,7 +119,7 @@
      - + @@ -127,7 +127,7 @@
      - + @@ -135,7 +135,7 @@
      - + @@ -150,7 +150,7 @@ diff -ruN 4.6rc2/administrator/components/com_menus/wrapper/wrapper.menu.html.php 4.6-complete/administrator/components/com_menus/wrapper/wrapper.menu.html.php --- 4.6rc2/administrator/components/com_menus/wrapper/wrapper.menu.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_menus/wrapper/wrapper.menu.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -32,13 +32,13 @@ } var form = document.adminForm; if ( form.name.value == "" ) { - alert( '' ); + alert( '' ); } else { id ) { ?> if ( form.url.value == "" ){ - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -56,7 +56,7 @@
      - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -67,12 +67,12 @@
      - +
      - + @@ -80,7 +80,7 @@
      - + @@ -88,7 +88,7 @@
      - + @@ -96,7 +96,7 @@
      - + @@ -104,7 +104,7 @@
      - + @@ -112,7 +112,7 @@
      - + @@ -120,7 +120,7 @@
      - + @@ -135,7 +135,7 @@ diff -ruN 4.6rc2/administrator/components/com_messages/admin.messages.html.php 4.6-complete/administrator/components/com_messages/admin.messages.html.php --- 4.6rc2/administrator/components/com_messages/admin.messages.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_messages/admin.messages.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -19,8 +19,8 @@
      - +
      - - + + @@ -30,11 +30,11 @@ - - + + - - + +
      #
      - +
      ")) { + if (confirm ("")) { submitform( pressbutton ); } } else { @@ -96,11 +96,11 @@ - + - +
      @@ -118,26 +118,26 @@ ?> - +
      - + - + - + - +
      user_from;?>
      date_time;?>
      subject;?>
      message );?>
      @@ -164,11 +164,11 @@ // do field validation if (form.subject.value == "") { - alert( "" ); + alert( "" ); } else if (form.message.value == "") { - alert( "" ); + alert( "" ); } else if (getSelectedValue('adminForm','user_id_to') < 1) { - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -177,24 +177,24 @@ - +
      - + - + - + diff -ruN 4.6rc2/administrator/components/com_messages/admin.messages.php 4.6-complete/administrator/components/com_messages/admin.messages.php --- 4.6rc2/administrator/components/com_messages/admin.messages.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_messages/admin.messages.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -119,7 +119,10 @@ } function saveMessage( $option ) { - global $database, $mainframe, $my; + global $database, $mainframe, $my, $mosConfig_absolute_path; + global $mosConfig_mailfrom, $mosConfig_fromname; + + require_once($mosConfig_absolute_path."/includes/mambofunc.php"); $row = new mosMessage( $database ); if (!$row->bind( $_POST )) { @@ -130,6 +133,24 @@ if (!$row->send()) { mosRedirect( "index2.php?option=com_messages&mosmsg=" . $row->getError() ); } + + $msg = $row->subject.' - '.$row->message; + + $sql = "SELECT a.id, a.name, a.email" + . "\nFROM #__users AS a" + . "\nWHERE a.sendEmail = '1'" + . "\nAND a.id = '".$row->user_id_to."'" + ; + $database->setQuery( $sql ); + $rows = $database->loadObjectList(); + + if ($rows) { + foreach($rows as $row){ + $recipient = $row->email; + $subject = "New private message from ".$row->name; + mosMail($mosConfig_mailfrom, $mosConfig_fromname, $recipient, $subject, $msg); + } + } mosRedirect( "index2.php?option=com_messages" ); } diff -ruN 4.6rc2/administrator/components/com_modules/toolbar.modules.html.php 4.6-complete/administrator/components/com_modules/toolbar.modules.html.php --- 4.6rc2/administrator/components/com_modules/toolbar.modules.html.php 2006-05-30 18:35:27.000000000 -0500 +++ 4.6-complete/administrator/components/com_modules/toolbar.modules.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,97 +1,86 @@ - - - setQuery('select module from #__modules where id = '.$cid); - $result = substr($database->loadResult(), 4); - - if ($result) { - if ($GLOBALS['client'] == 'admin') { - $result = 'admin.'.$result; - } - - } - mosMenuBar::help( $result ? $result : 'edit' ); - mosMenuBar::endTable(); - } - function _DEFAULT() { - mosMenuBar::startTable(); - mosMenuBar::publishList(); - mosMenuBar::spacer(); - mosMenuBar::unpublishList(); - mosMenuBar::spacer(); - mosMenuBar::custom( 'copy', 'copy.png', 'copy_f2.png', T_('Copy'), true ); - mosMenuBar::spacer(); - mosMenuBar::addNewX(); - mosMenuBar::spacer(); - mosMenuBar::editListX(); - mosMenuBar::spacer(); - mosMenuBar::deleteList(); - mosMenuBar::spacer(); - if ($GLOBALS['client'] == 'admin') { - $ref = 'admin.'; - } - mosMenuBar::help( $ref.'manager' ); - mosMenuBar::endTable(); - } -} -?> + + + setQuery('select module from #__modules where id = '.$cid); + $result = substr($database->loadResult(), 4); + + mosMenuBar::help( $result ? $result : 'edit' ); + mosMenuBar::endTable(); + } + function _DEFAULT() { + mosMenuBar::startTable(); + mosMenuBar::publishList(); + mosMenuBar::spacer(); + mosMenuBar::unpublishList(); + mosMenuBar::spacer(); + mosMenuBar::custom( 'copy', 'copy.png', 'copy_f2.png', T_('Copy'), true ); + mosMenuBar::spacer(); + mosMenuBar::addNewX(); + mosMenuBar::spacer(); + mosMenuBar::editListX(); + mosMenuBar::spacer(); + mosMenuBar::deleteList(); + mosMenuBar::spacer(); + mosMenuBar::help( 'admin.manager' ); + mosMenuBar::endTable(); + } +} +?> diff -ruN 4.6rc2/administrator/components/com_mostlyce/language/english.php 4.6-complete/administrator/components/com_mostlyce/language/english.php --- 4.6rc2/administrator/components/com_mostlyce/language/english.php 2006-06-22 22:32:32.000000000 -0500 +++ 4.6-complete/administrator/components/com_mostlyce/language/english.php 2006-09-20 19:05:04.000000000 -0500 @@ -76,8 +76,7 @@ DEFINE('_EDITOR_PLUGINS','Plugins'); DEFINE('_EDITOR_EMOTIONS', 'Load Emotions'); DEFINE('_EDITOR_SPELLCHECKER', 'Load Spellchecker'); -DEFINE('_EDITOR_SPELLCHECKER_TIP', 'The Spellchecker plugin is still experimental, but seems to work well in IE' . -' and FireFox 1.5+ (on non-Windows machines)'); +DEFINE('_EDITOR_SPELLCHECKER_TIP', 'The Spellchecker plugin is still experimental, but seems to work well in FireFox 1.5+ on non-Windows machines. This plugin requires CURL.'); DEFINE('_EDITOR_LAYER', 'Load Layers'); DEFINE('_EDITOR_PRINT', 'Load Print'); DEFINE('_EDITOR_SEARCH_REPLACE', 'Load Search & Replace'); diff -ruN 4.6rc2/administrator/components/com_mostlyce/mostlyce.xml 4.6-complete/administrator/components/com_mostlyce/mostlyce.xml --- 4.6rc2/administrator/components/com_mostlyce/mostlyce.xml 2006-05-13 20:23:34.000000000 -0500 +++ 4.6-complete/administrator/components/com_mostlyce/mostlyce.xml 2006-09-20 19:05:04.000000000 -0500 @@ -1,8 +1,8 @@ mostlyce -1.6 -May 2006 +1.7 +Sept 2006 Chad Auld cauld@mambo-foundation.org http://opensourcepenguin.net diff -ruN 4.6rc2/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php 4.6-complete/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php --- 4.6rc2/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php 2006-04-02 18:33:27.000000000 -0500 +++ 4.6-complete/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php 2006-09-20 19:05:04.000000000 -0500 @@ -538,9 +538,9 @@ $content = fread($fp,filesize($extractdir . $filesinzip[0]["filename"])); fclose($fp); - // Cleanup + // Cleanup temp extract dir deldir($extractdir); - unlink($mosConfig_absolute_path . "/uploadfiles/$file"); + //unlink($mosConfig_absolute_path . "uploadfiles/$file"); } else diff -ruN 4.6rc2/administrator/components/com_mostlydbadmin/classes/zip.lib.php 4.6-complete/administrator/components/com_mostlydbadmin/classes/zip.lib.php --- 4.6rc2/administrator/components/com_mostlydbadmin/classes/zip.lib.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_mostlydbadmin/classes/zip.lib.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,188 @@ + + * + * http://www.zend.com/codex.php?id=470&single=1 + * by Denis125 + * + * a patch from Peter Listiak for last modified + * date and time of the compressed file + * + * Official ZIP file format: http://www.pkware.com/appnote.txt + * + * @access public + */ +class zipfile +{ + /** + * Array to store compressed data + * + * @var array $datasec + */ + var $datasec = array(); + + /** + * Central directory + * + * @var array $ctrl_dir + */ + var $ctrl_dir = array(); + + /** + * End of central directory record + * + * @var string $eof_ctrl_dir + */ + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + + /** + * Last offset position + * + * @var integer $old_offset + */ + var $old_offset = 0; + + + /** + * Converts an Unix timestamp to a four byte DOS date and time format (date + * in high two bytes, time in low two bytes allowing magnitude comparison). + * + * @param integer the current Unix timestamp + * + * @return integer the current date in a four byte DOS format + * + * @access private + */ + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } // end if + + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } // end of the 'unix2DosTime()' method + + + /** + * Adds "file" to archive + * + * @param string file contents + * @param string name of the file in the archive (may contains the path) + * @param integer the current timestamp + * + * @access public + */ + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; // ver needed to extract + $fr .= "\x00\x00"; // gen purpose bit flag + $fr .= "\x08\x00"; // compression method + $fr .= $hexdtime; // last mod time and date + + // "local file header" segment + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); // fix crc bug + $c_len = strlen($zdata); + $fr .= pack('V', $crc); // crc32 + $fr .= pack('V', $c_len); // compressed filesize + $fr .= pack('V', $unc_len); // uncompressed filesize + $fr .= pack('v', strlen($name)); // length of filename + $fr .= pack('v', 0); // extra field length + $fr .= $name; + + // "file data" segment + $fr .= $zdata; + + // "data descriptor" segment (optional but necessary if archive is not + // served as file) + // nijel(2004-10-19): this seems not to be needed at all and causes + // problems in some cases (bug #1037737) + //$fr .= pack('V', $crc); // crc32 + //$fr .= pack('V', $c_len); // compressed filesize + //$fr .= pack('V', $unc_len); // uncompressed filesize + + // add this entry to array + $this -> datasec[] = $fr; + + // now add to central directory record + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; // version made by + $cdrec .= "\x14\x00"; // version needed to extract + $cdrec .= "\x00\x00"; // gen purpose bit flag + $cdrec .= "\x08\x00"; // compression method + $cdrec .= $hexdtime; // last mod time & date + $cdrec .= pack('V', $crc); // crc32 + $cdrec .= pack('V', $c_len); // compressed filesize + $cdrec .= pack('V', $unc_len); // uncompressed filesize + $cdrec .= pack('v', strlen($name) ); // length of filename + $cdrec .= pack('v', 0 ); // extra field length + $cdrec .= pack('v', 0 ); // file comment length + $cdrec .= pack('v', 0 ); // disk number start + $cdrec .= pack('v', 0 ); // internal file attributes + $cdrec .= pack('V', 32 ); // external file attributes - 'archive' bit set + + $cdrec .= pack('V', $this -> old_offset ); // relative offset of local header + $this -> old_offset += strlen($fr); + + $cdrec .= $name; + + // optional extra field, file comment goes here + // save to central directory + $this -> ctrl_dir[] = $cdrec; + } // end of the 'addFile()' method + + + /** + * Dumps out file + * + * @return string the zipped file + * + * @access public + */ + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . // total # of entries "on this disk" + pack('v', sizeof($this -> ctrl_dir)) . // total # of entries overall + pack('V', strlen($ctrldir)) . // size of central dir + pack('V', strlen($data)) . // offset to start of central dir + "\x00\x00"; // .zip file comment length + } // end of the 'file()' method + +} // end of the 'zipfile' class +?> diff -ruN 4.6rc2/administrator/components/com_mostlydbadmin/mostlydbadmin.xml 4.6-complete/administrator/components/com_mostlydbadmin/mostlydbadmin.xml --- 4.6rc2/administrator/components/com_mostlydbadmin/mostlydbadmin.xml 2006-05-14 15:48:05.000000000 -0500 +++ 4.6-complete/administrator/components/com_mostlydbadmin/mostlydbadmin.xml 2006-09-20 19:05:04.000000000 -0500 @@ -1,12 +1,12 @@ MOStlyDBAdmin - April 2006 + Sept 2006 Mambo Project This component if released under the GNU/GPL License core@mambo-foundation.org - www.mambo-foundation.org - 1.0 + mambo-foundation.org + 1.1 MOStlyDBAdmin is used for easy back up/restore of your database.

      It is a revival @@ -22,9 +22,10 @@ admin.mostlydbadmin.html.php - admin.mostlydbadmin.php - read_me.txt + admin.mostlydbadmin.php + read_me.txt index.html + classes/zip.lib.php diff -ruN 4.6rc2/administrator/components/com_newsfeeds/admin.newsfeeds.html.php 4.6-complete/administrator/components/com_newsfeeds/admin.newsfeeds.html.php --- 4.6rc2/administrator/components/com_newsfeeds/admin.newsfeeds.html.php 2006-05-14 16:46:22.000000000 -0500 +++ 4.6-complete/administrator/components/com_newsfeeds/admin.newsfeeds.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -24,7 +24,7 @@

      <?php echo T_('Preview') ?><?php echo T_('Preview') ?>
      checked_out && ( $row->checked_out != $my->id ) ) { ?> name; ?> -  [ ] +  [ ] - + name; ?> orderDownIcon( $i, $n ); ?> @@ -149,17 +149,17 @@ // do field validation if (form.name.value == '') { - alert( "" ); + alert( "" ); } else if (form.catid.value == 0) { - alert( "" ); + alert( "" ); } else if (form.link.value == '') { - alert( "" ); + alert( "" ); } else if (getSelectedValue('adminForm','catid') < 0) { - alert( "" ); + alert( "" ); } else if (form.numarticles.value == "" || form.numarticles.value == 0) { - alert( "" ); + alert( "" ); } else if (form.cache_time.value == "" || form.cache_time.value == 0) { - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -170,7 +170,7 @@
      - + @@ -41,22 +41,22 @@ - + - + - + - + - + - +
      - + catname;?>
      - id ? T_('Edit') : T_('New');?> [ name;?> ] + id ? T_('Edit') : T_('New');?> [ name;?> ]
      @@ -178,12 +178,12 @@ @@ -113,9 +113,9 @@ } // do field validation if (form.title.value == "") { - alert( "" ); + alert( "" ); } else if( isNaN( parseInt( form.lag.value ) ) ) { - alert( "" ); + alert( "" ); //} else if (form.menu.options.value == ""){ // alert( "Poll must have pages." ); //} else if (form.adminForm.textfieldcheck.value == 0){ @@ -129,7 +129,7 @@
      - +
      - + @@ -191,7 +191,7 @@
      - + @@ -199,7 +199,7 @@
      - + @@ -207,7 +207,7 @@
      - + @@ -215,7 +215,7 @@
      - + @@ -223,7 +223,7 @@
      - + @@ -231,7 +231,7 @@
      - + diff -ruN 4.6rc2/administrator/components/com_newsfeeds/newsfeeds.xml 4.6-complete/administrator/components/com_newsfeeds/newsfeeds.xml --- 4.6rc2/administrator/components/com_newsfeeds/newsfeeds.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/administrator/components/com_newsfeeds/newsfeeds.xml 2006-09-20 19:05:04.000000000 -0500 @@ -1,14 +1,55 @@ - + Newsfeeds - Mambo Project - July 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 This component manages RSS/RDF newsfeeds + + News Feeds + + Manage News Feeds + Manage Categories + + + admin.newsfeeds.html.php + admin.newsfeeds.php + newsfeeds.class.php + newsfeeds.xml + index.html + toolbar.newsfeeds.html.php + toolbar.newsfeeds.php + + + + newsfeeds.html.php + newsfeeds.php + index.html + + + + CREATE TABLE `mos_newsfeeds` ( + `catid` int(11) NOT NULL default '0', + `id` int(11) NOT NULL auto_increment, + `name` text NOT NULL, + `link` text NOT NULL, + `filename` varchar(200) default NULL, + `published` tinyint(1) NOT NULL default '0', + `numarticles` int(11) unsigned NOT NULL default '1', + `cache_time` int(11) unsigned NOT NULL default '3600', + `checked_out` tinyint(3) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `published` (`published`) + ); + + + diff -ruN 4.6rc2/administrator/components/com_poll/admin.poll.html.php 4.6-complete/administrator/components/com_poll/admin.poll.html.php --- 4.6rc2/administrator/components/com_poll/admin.poll.html.php 2006-04-03 13:37:56.000000000 -0500 +++ 4.6-complete/administrator/components/com_poll/admin.poll.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -23,7 +23,7 @@ - +
      @@ -36,16 +36,16 @@
      - + - + - + - +
      - + title; ?>
      @@ -186,21 +186,21 @@ if ( pressbutton == 'menulink' ) { if ( form.menuselect.value == "" ) { - alert( "" ); + alert( "" ); return; } else if ( form.link_type.value == "" ) { - alert( "" ); + alert( "" ); return; } else if ( form.link_name.value == "" ) { - alert( "" ); + alert( "" ); return; } } if (form.name.value == ""){ - alert(""); + alert(""); } else if (form.title.value ==""){ - alert(""); + alert(""); } else { submitform(pressbutton); @@ -248,7 +248,7 @@
      - + id ? T_('Edit') : T_('New');?> @@ -140,12 +140,12 @@ - + Poll - Mambo Project - July 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 This component shows Polls/Surveys + + Polls + + admin.poll.html.php + admin.poll.php + index.html + poll.class.php + poll.xml + toolbar.poll.html.php + toolbar.poll.php + + + + images/blank.png + images/poll.png + poll.html.php + poll.php + index.html + poll_bars.css + + + + CREATE TABLE `mos_polls` ( + `id` int(11) unsigned NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `voters` int(9) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + `access` int(11) NOT NULL default '0', + `lag` int(11) NOT NULL default '0', + PRIMARY KEY (`id`) + ); + + CREATE TABLE `mos_poll_data` ( + `id` int(11) NOT NULL auto_increment, + `pollid` int(4) NOT NULL default '0', + `text` text NOT NULL, + `hits` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `pollid` (`pollid`,`text`(1)) + ); + + CREATE TABLE `mos_poll_date` ( + `id` bigint(20) NOT NULL auto_increment, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `vote_id` int(11) NOT NULL default '0', + `poll_id` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `poll_id` (`poll_id`) + ); + + CREATE TABLE `mos_poll_menu` ( + `pollid` int(11) NOT NULL default '0', + `menuid` int(11) NOT NULL default '0', + PRIMARY KEY (`pollid`,`menuid`) + ); + + + diff -ruN 4.6rc2/administrator/components/com_sections/admin.sections.html.php 4.6-complete/administrator/components/com_sections/admin.sections.html.php --- 4.6rc2/administrator/components/com_sections/admin.sections.html.php 2006-05-01 12:55:35.000000000 -0500 +++ 4.6-complete/administrator/components/com_sections/admin.sections.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -28,7 +28,7 @@
      - +
      - + @@ -154,14 +154,14 @@ - +
      - + (seconds between votes) @@ -170,7 +170,7 @@


      - +
      - +
      @@ -42,34 +42,34 @@
      - + - + - + - + - <?php echo T_('Save Order') ?> + <?php echo T_('Save Order'); ?> - + - + - + - + - +
      @@ -276,12 +276,12 @@
      - + id ? T_('Edit') : T_('New');?> @@ -262,10 +262,10 @@
      - +
      - +
      - +
      - +
      - + @@ -291,23 +291,23 @@
      - + - +
      - section) ? T_("Category") : T_("Section"));?> + section) ? T_("Category") : T_("Section"));?> - +
      - + @@ -319,12 +319,12 @@ $path.= "stories/"; } ?> - <?php echo T_('Preview') ?> + <?php echo T_('Preview'); ?>
      - + @@ -332,7 +332,7 @@
      - + @@ -340,7 +340,7 @@
      - + @@ -348,7 +348,7 @@
      - + @@ -356,7 +356,7 @@
      - +
      - +
      - +

      - + @@ -396,7 +396,7 @@
      - + @@ -404,7 +404,7 @@
      - + @@ -414,12 +414,12 @@ - +
      - +
      - +
       
      - +
      @@ -494,13 +494,13 @@
      - +
      - +

      - +
      "; @@ -516,7 +516,7 @@ ?>
      - +
      "; @@ -536,7 +536,7 @@
      and all the items within the category (also listed)
      - to the new Section created.') ?> + to the new Section created.'); ?>
      diff -ruN 4.6rc2/administrator/components/com_statistics/admin.statistics.html.php 4.6-complete/administrator/components/com_statistics/admin.statistics.html.php --- 4.6rc2/administrator/components/com_statistics/admin.statistics.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_statistics/admin.statistics.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -30,7 +30,7 @@ - +
      @@ -40,7 +40,7 @@ ?> - + @@ -83,7 +83,7 @@ ?>
            % #
      - + @@ -126,7 +126,7 @@ ?>
            % #
      - + @@ -169,7 +169,7 @@ ?> - +
            % #
      - +
      - +
      - - + + limitstart; @@ -223,20 +223,20 @@
      #
      - - + + getCfg( 'enable_log_searches' ) ? ''.T_('Enabled').'' : ''.T_('Disabled').'' ?>
      - + - - - + + +
      #
      - +
      - +
      @@ -31,7 +31,7 @@ @@ -46,7 +46,7 @@ - + diff -ruN 4.6rc2/administrator/components/com_templates/admin.templates.html.php 4.6-complete/administrator/components/com_templates/admin.templates.html.php --- 4.6rc2/administrator/components/com_templates/admin.templates.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_templates/admin.templates.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -37,7 +37,7 @@ if (document.adminForm.doPreview.checked) { var src = '/templates/'+name+'/template_thumbnail.png'; var html=name; - html = '
      <?php echo T_('No preview available') ?>'; + html = '
      <?php echo T_('No preview available'); ?>'; return overlib(html, CAPTION, name) } else { return false; @@ -50,10 +50,10 @@
      - +
      published == 1 ) { ?> - <?php echo T_('Published') ?> + <?php echo T_('Published'); ?> @@ -148,7 +148,7 @@ published == 1 ) { ?> - <?php echo T_('Default') ?> + <?php echo T_('Default'); ?> @@ -161,7 +161,7 @@ assigned == 1 ) { ?> - <?php echo T_('Assigned') ?> + <?php echo T_('Assigned'); ?> @@ -218,7 +218,7 @@
      - [ ] + [ ] - + @@ -65,37 +65,37 @@ #   - + - + - + - + - + - + - + - +
      - +
      index.php is : '.T_('Writeable').'' : ''.T_('Unwriteable').'' ?> @@ -230,14 +230,14 @@ ?> - + - +
      - + +
      template_css.css is : '.T_('Writeable').'' : ''.T_('Unwriteable').'' ?> @@ -284,14 +284,14 @@ ?> - + - +
      - + @@ -356,7 +356,7 @@
      - +
      @@ -370,10 +370,10 @@ #
      - + - +
      - +
      - + startPane("content-pane"); $tabs->startTab(T_("Content Items"),"content_items"); ?> - +
      - + @@ -80,16 +80,16 @@ " /> - + - - + + startTab(T_("Menu Items"),"menu_items"); ?>
      #   - + - + - + - +
      - +
      - + @@ -168,16 +168,16 @@ endTab(); $tabs->endPane(); - ?> - + ?> + @@ -244,22 +244,22 @@
      #   - + - + - + - +
      - +
      - +
      @@ -285,7 +285,7 @@
      - +


      - +
      "; @@ -270,12 +270,12 @@ ?>
      - * Permanently Delete
      these Items from the Database') ?> * + * Permanently Delete
      these Items from the Database'); ?> *




      - + @@ -309,22 +309,22 @@ - +
      - +
      @@ -350,7 +350,7 @@
      - +


      - +
      "; @@ -335,12 +335,12 @@ ?>
      - * Restore these Items,
      they will be returned to their orignial places as Unpublished items') ?> * + * Restore these Items,
      they will be returned to their orignial places as Unpublished items'); ?> *




      - + diff -ruN 4.6rc2/administrator/components/com_typedcontent/admin.typedcontent.html.php 4.6-complete/administrator/components/com_typedcontent/admin.typedcontent.html.php --- 4.6rc2/administrator/components/com_typedcontent/admin.typedcontent.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_typedcontent/admin.typedcontent.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,813 +1,829 @@ - - - - - - - - - - - - -
      - - -   - - - -    Order:  - - - - -
      - - - - - - - - - - - - - - - - publish_up && $row->state == "1" ) { - $img = 'publish_y.png'; - $alt = T_('Published'); - } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { - $img = 'publish_g.png'; - $alt = T_('Published'); - } else if ( $now > $row->publish_down && $row->state == "1" ) { - $img = 'publish_r.png'; - $alt = T_('Expired'); - } elseif ( $row->state == "0" ) { - $img = "publish_x.png"; - $alt = T_('Unpublished'); - } - $times = ''; - if (isset($row->publish_up)) { - if ($row->publish_up == '0000-00-00 00:00:00') { - $times .= ""; - } else { - $times .= ""; - } - } - if (isset($row->publish_down)) { - if ($row->publish_down == '0000-00-00 00:00:00') { - $times .= ""; - } else { - $times .= ""; - } - } - - if ( !$row->access ) { - $color_access = 'style="color: green;"'; - $task_access = 'accessregistered'; - } else if ( $row->access == 1 ) { - $color_access = 'style="color: red;"'; - $task_access = 'accessspecial'; - } else { - $color_access = 'style="color: black;"'; - $task_access = 'accesspublic'; - } - - $link = 'index2.php?option=com_typedcontent&task=edit&hidemainmenu=1&id='. $row->id; - - if ( $row->checked_out ) { - $checked = mosCommonHTML::checkedOut( $row ); - } else { - $checked = mosHTML::idBox( $i, $row->id, ($row->checked_out && $row->checked_out != $my->id ) ); - } - - if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { - if ( $row->created_by_alias ) { - $author = $row->created_by_alias; - } else { - $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; - $author = ''. $row->creator .''; - } - } else { - if ( $row->created_by_alias ) { - $author = $row->created_by_alias; - } else { - $author = $row->creator; - } - } - - $date = mosFormatDate( $row->created, '%x' ); - ?> - "> - - - - - - - - - - - - - - -
      - # - - - - - - - - - - <?php echo T_('Save Order') ?> - - - - - - - - - - -
      ".T_('Start:')." ".T_('Always')."
      ".T_('Start:')." $row->publish_up
      ".T_('Finish:')." ".T_('No Expiry')."
      ".T_('Finish:')." $row->publish_down
      - rowNumber( $i ); ?> - - - - checked_out && ( $row->checked_out != $my->id ) ) { - echo $row->title; - if ( $row->title_alias ) { - echo ' ('. $row->title_alias .')'; - } - } else { - ?> - - title; - if ( $row->title_alias ) { - echo ' ('. $row->title_alias .')'; - } - ?> - - - - ')"> - <?php echo $alt; ?> - - - - - > - groupname;?> - - - id;?> - - links;?> - - - - -
      - - getListFooter(); ?> - - - - - - - - hits ) { - $visibility = "style='display: none; visbility: hidden;'"; - } else { - $visibility = ""; - } - - mosCommonHTML::loadOverlib(); - mosCommonHTML::loadCalendar(); - ?> - - - - - - -
      - - - id ? T_('Edit') : T_('New');?> - -
      - - - - -
      -
      - -
      -
      - -
      -
      -
      - - - - - - - - - -
      - - - - - - - - - - - - - - - -
      - -
      - - - -
      - - - -
      -
      - introtext, 'introtext', '100%;', '400', '65', '50' ); - ?> -
      -
      -
      - - - - -
      - - - - - - -
      - startPane("content-pane"); - $tabs->startTab(T_("Publishing"),"publish-page"); - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - - - state > 0 ? 'Published' : 'Draft Unpublished'; ?> -
      - - - state ? 'checked="checked"' : ''; ?> /> -
      - - - -
      - - - -
      - - - -
      - - - - -
      - - - - -
      - - - - -
      -
      - - id ) { - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Content ID: - - id; ?> -
      - State - - state > 0 ? T_('Published') : ($row->state < 0 ? T_('Archived') : T_('Draft Unpublished'));?> -
      - - - hits;?> -
      > - -
      -
      - - - version";?> -
      - - - created ? "$row->created
      By$row->creator" : T_("New document");?> -
      - - - modified ? "$row->modified
      By$row->modifier" : T_("Not modified");?> -
      - - - publish_down";?> -
      - endTab(); - $tabs->startTab(T_("Images"),"images-page"); - ?> - - - - - - - - - - - - - - - - - - -
      - -
      - -
      - -
      - -
      - -
      - -
      - -
      - -
      - - - -
      - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - -
      - - - -
      - - - -
      - - - -
      - - - -
      - - - -
      - - - -
      - - - -
      - -
      -
      - endTab(); - $tabs->startTab(T_("Parameters"),"params-page"); - ?> - - - - - - - -
      - -
      - render();?> -
      - endTab(); - $tabs->startTab(T_("Meta Info"),"metadata-page"); - ?> - - - - - - - - - - -
      - -
      -
      - -
      -
      - -
      - endTab(); - $tabs->startTab(T_("Link to Menu"),"link-page"); - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - -

      -
      - - - -
      - - - -
      - - -
      - -
      - -
      -
      - endTab(); - $tabs->endPane(); - ?> -
      -
      -
      -
      - -
      - - - - - - - +
      + + + + + + + + + + +
      + + +   + + + +      + + + + +
      + + + + + + + + + + + + + + + + + publish_up && $row->state == "1" ) { + $img = 'publish_y.png'; + $alt = T_('Published'); + } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { + $img = 'publish_g.png'; + $alt = T_('Published'); + } else if ( $now > $row->publish_down && $row->state == "1" ) { + $img = 'publish_r.png'; + $alt = T_('Expired'); + } elseif ( $row->state == "0" ) { + $img = "publish_x.png"; + $alt = T_('Unpublished'); + } + $times = ''; + if (isset($row->publish_up)) { + if ($row->publish_up == '0000-00-00 00:00:00') { + $times .= ""; + } else { + $times .= ""; + } + } + if (isset($row->publish_down)) { + if ($row->publish_down == '0000-00-00 00:00:00') { + $times .= ""; + } else { + $times .= ""; + } + } + + if ( !$row->access ) { + $color_access = 'style="color: green;"'; + $task_access = 'accessregistered'; + } else if ( $row->access == 1 ) { + $color_access = 'style="color: red;"'; + $task_access = 'accessspecial'; + } else { + $color_access = 'style="color: black;"'; + $task_access = 'accesspublic'; + } + + $link = 'index2.php?option=com_typedcontent&task=edit&hidemainmenu=1&id='. $row->id; + + if ( $row->checked_out ) { + $checked = mosCommonHTML::checkedOut( $row ); + } else { + $checked = mosHTML::idBox( $i, $row->id, ($row->checked_out && $row->checked_out != $my->id ) ); + } + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. $row->creator .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = $row->creator; + } + } + + $date = mosFormatDate( $row->created, '%x' ); + ?> + "> + + + + + + + + + + + + + + + +
      + # + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + + + +
      ".T_('Start:')." ".T_('Always')."
      ".T_('Start:')." $row->publish_up
      ".T_('Finish:')." ".T_('No Expiry')."
      ".T_('Finish:')." $row->publish_down
      + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->title; + if ( $row->title_alias ) { + echo ' ('. $row->title_alias .')'; + } + } else { + ?> + + title; + if ( $row->title_alias ) { + echo ' ('. $row->title_alias .')'; + } + ?> + + + + ')"> + <?php echo $alt; ?> + + + + <?php echo ( $row->frontpage ) ? T_('Yes') : T_('No');?> + + + + + > + groupname;?> + + + id;?> + + links;?> + + + + +
      + + getListFooter(); ?> + + + + + + +
      + hits ) { + $visibility = "style='display: none; visbility: hidden;'"; + } else { + $visibility = ""; + } + + mosCommonHTML::loadOverlib(); + mosCommonHTML::loadCalendar(); + ?> + + + + + + +
      + + + id ? T_('Edit') : T_('New');?> + +
      + + + + +
      +
      + +
      +
      + +
      +
      +
      + + + + + + + + + +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + +
      +
      + introtext, 'introtext', '100%;', '400', '65', '50' ); + ?> +
      +
      +
      + + + + +
      + + + + + + +
      + startPane("content-pane"); + $tabs->startTab(T_("Publishing"),"publish-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + state > 0 ? 'Published' : 'Draft Unpublished'; ?> +
      + + + state ? 'checked="checked"' : ''; ?> /> +
      + + + frontpage ? 'checked="checked"' : ''; ?> /> +
      + + + +
      + + + +
      + + + +
      + + + + +
      + + + + +
      + + + + +
      +
      + + id ) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + id; ?> +
      + + + state > 0 ? T_('Published') : ($row->state < 0 ? T_('Archived') : T_('Draft Unpublished'));?> +
      + + + hits;?> +
      > + +
      +
      + + + version";?> +
      + + + created ? "$row->created
      ".T_('By')."$row->creator" : T_("New document");?> +
      + + + modified ? "$row->modified
      ".T_('By')."$row->modifier" : T_("Not modified");?> +
      + + + publish_down";?> +
      + endTab(); + $tabs->startTab(T_("Images"),"images-page"); + ?> + + + + + + + + + + + + + + + + + + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + + + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + +
      +
      + endTab(); + $tabs->startTab(T_("Parameters"),"params-page"); + ?> + + + + + + + +
      + +
      + render();?> +
      + endTab(); + $tabs->startTab(T_("Meta Info"),"metadata-page"); + ?> + + + + + + + + + + +
      + +
      +
      + +
      +
      + +
      + endTab(); + $tabs->startTab(T_("Link to Menu"),"link-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +

      +
      + + + +
      + + + +
      + + +
      + +
      + +
      +
      + endTab(); + $tabs->endPane(); + ?> +
      +
      +
      +
      + +
      + + + + + + + \ No newline at end of file diff -ruN 4.6rc2/administrator/components/com_typedcontent/admin.typedcontent.php 4.6-complete/administrator/components/com_typedcontent/admin.typedcontent.php --- 4.6rc2/administrator/components/com_typedcontent/admin.typedcontent.php 2006-02-22 07:31:46.000000000 -0600 +++ 4.6-complete/administrator/components/com_typedcontent/admin.typedcontent.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,575 +1,656 @@ -getPath( 'admin_html' ) ); -require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); - -$id = mosGetParam( $_REQUEST, 'id', '' ); -$cid = mosGetParam( $_POST, 'cid', array(0) ); -if (!is_array( $cid )) { - $cid = array(0); -} - - -switch ( $task ) { - case 'cancel': - cancel( $option ); - break; - - case 'new': - edit( 0, $option ); - break; - - case 'edit': - edit( $id, $option ); - break; - - case 'editA': - edit( $cid[0], $option ); - break; - - case 'go2menu': - case 'go2menuitem': - case 'resethits': - case 'menulink': - case 'save': - case 'apply': - save( $option, $task ); - break; - - case 'remove': - trash( $cid, $option ); - break; - - case 'publish': - changeState( $cid, 1, $option ); - break; - - case 'unpublish': - changeState( $cid, 0, $option ); - break; - - case 'accesspublic': - changeAccess( $cid[0], 0, $option ); - break; - - case 'accessregistered': - changeAccess( $cid[0], 1, $option ); - break; - - case 'accessspecial': - changeAccess( $cid[0], 2, $option ); - break; - - case 'saveorder': - saveOrder( $cid ); - break; - - default: - view( $option ); - break; -} - -/** -* Compiles a list of installed or defined modules -* @param database A database connector object -*/ -function view( $option ) { - global $database, $mainframe, $mosConfig_list_limit; - - $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}", 'filter_authorid', 0 ); - $order = $mainframe->getUserStateFromRequest( "zorder", 'zorder', 'c.ordering DESC' ); - $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); - $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); - $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); - $search = $database->getEscaped( trim( strtolower( $search ) ) ); - - // used by filter - if ( $search ) { - $search_query = "\n AND ( LOWER( c.title ) LIKE '%$search%' OR LOWER( c.title_alias ) LIKE '%$search%' )"; - } else { - $search_query = ''; - } - - $filter = ''; - if ( $filter_authorid > 0 ) { - $filter = "\n AND c.created_by = '$filter_authorid'"; - } - - // get the total number of records - $query = "SELECT count(*)" - . "\n FROM #__content AS c" - . "\n WHERE c.sectionid = '0'" - . "\n AND c.catid = '0'" - . "\n AND c.state <> '-2'" - . $filter - ; - $database->setQuery( $query ); - $total = $database->loadResult(); - require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); - $pageNav = new mosPageNav( $total, $limitstart, $limit ); - - $query = "SELECT c.*, g.name AS groupname, u.name AS editor, z.name AS creator" - . "\n FROM #__content AS c" - . "\n LEFT JOIN #__groups AS g ON g.id = c.access" - . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" - . "\n LEFT JOIN #__users AS z ON z.id = c.created_by" - . "\n WHERE c.sectionid = '0'" - . "\n AND c.catid = '0'" - . "\n AND c.state <> '-2'" - . $search_query - . $filter - . "\n ORDER BY ". $order - . "\n LIMIT $pageNav->limitstart,$pageNav->limit" - ; - $database->setQuery( $query ); - $rows = $database->loadObjectList(); - - if ($database->getErrorNum()) { - echo $database->stderr(); - return false; - } - - $count = count( $rows ); - for( $i = 0; $i < $count; $i++ ) { - $query = "SELECT COUNT( id )" - . "\n FROM #__menu" - . "\n WHERE componentid = ". $rows[$i]->id - . "\n AND type = 'content_typed'" - . "\n AND published <> '-2'" - ; - $database->setQuery( $query ); - $rows[$i]->links = $database->loadResult(); - } - - $ordering[] = mosHTML::makeOption( 'c.ordering ASC', T_('Ordering asc') ); - $ordering[] = mosHTML::makeOption( 'c.ordering DESC', T_('Ordering desc') ); - $ordering[] = mosHTML::makeOption( 'c.id ASC', T_('ID asc') ); - $ordering[] = mosHTML::makeOption( 'c.id DESC', T_('ID desc') ); - $ordering[] = mosHTML::makeOption( 'c.title ASC', T_('Title asc') ); - $ordering[] = mosHTML::makeOption( 'c.title DESC', T_('Title desc') ); - $ordering[] = mosHTML::makeOption( 'c.created ASC', T_('Date asc') ); - $ordering[] = mosHTML::makeOption( 'c.created DESC', T_('Date desc') ); - $ordering[] = mosHTML::makeOption( 'z.name ASC', T_('Author asc') ); - $ordering[] = mosHTML::makeOption( 'z.name DESC', T_('Author desc') ); - $ordering[] = mosHTML::makeOption( 'c.state ASC', T_('Published asc') ); - $ordering[] = mosHTML::makeOption( 'c.state DESC', T_('Published desc') ); - $ordering[] = mosHTML::makeOption( 'c.access ASC', T_('Access asc') ); - $ordering[] = mosHTML::makeOption( 'c.access DESC', T_('Access desc') ); - $javascript = 'onchange="document.adminForm.submit();"'; - $lists['order'] = mosHTML::selectList( $ordering, 'zorder', 'class="inputbox" size="1"'. $javascript, 'value', 'text', $order ); - - // get list of Authors for dropdown filter - $query = "SELECT c.created_by AS value, u.name AS text" - . "\n FROM #__content AS c" - . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" - . "\n WHERE c.sectionid = 0" - . "\n GROUP BY u.name" - . "\n ORDER BY u.name" - ; - $authors[] = mosHTML::makeOption( '0', T_('- All Authors -') ); - $database->setQuery( $query ); - $authors = array_merge( $authors, $database->loadObjectList() ); - $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); - - HTML_typedcontent::showContent( $rows, $pageNav, $option, $search, $lists ); -} - -/** -* Compiles information to add or edit content -* @param database A database connector object -* @param string The name of the category section -* @param integer The unique id of the category to edit (0 if new) -*/ -function edit( $uid, $option ) { - global $database, $my, $mainframe; - global $mosConfig_absolute_path, $mosConfig_live_site; - - $row = new mosContent( $database ); - - // fail if checked out not by 'me' - if ($row->checked_out && $row->checked_out <> $my->id) { - echo "\n"; - exit(0); - } - - $lists = array(); - - if ($uid) { - // load the row from the db table - $row->load( $uid ); - $row->checkout( $my->id ); - if (trim( $row->images )) { - $row->images = explode( "\n", $row->images ); - } else { - $row->images = array(); - } - if (trim( $row->publish_down ) == "0000-00-00 00:00:00") { - $row->publish_down = "Never"; - } - - $query = "SELECT name from #__users" - . "\n WHERE id=$row->created_by" - ; - $database->setQuery( $query ); - $row->creator = $database->loadResult(); - - $query = "SELECT name from #__users" - . "\n WHERE id=$row->modified_by" - ; - $database->setQuery( $query ); - $row->modifier = $database->loadResult(); - - // get list of links to this item - $_and = "\n AND componentid = ". $row->id; - $menus = mosAdminMenus::Links2Menu( 'content_typed', $_and ); - } else { - // initialise values for a new item - $row->version = 0; - $row->state = 1; - $row->images = array(); - $row->publish_up = date( "Y-m-d", time() ); - $row->publish_down = "Never"; - $row->sectionid = 0; - $row->catid = 0; - $row->creator = ''; - $row->modifier = ''; - $row->ordering = 0; - $menus = array(); - } - - // calls function to read image from directory - $pathA = $mosConfig_absolute_path .'/images/stories'; - $pathL = $mosConfig_live_site .'/images/stories'; - $images = array(); - $folders = array(); - $folders[] = mosHTML::makeOption( '/' ); - mosAdminMenus::ReadImages( $pathA, '/', $folders, $images ); - // list of folders in images/stories/ - $lists['folders'] = mosAdminMenus::GetImageFolders( $folders, $pathL ); - // list of images in specfic folder in images/stories/ - $lists['imagefiles'] = mosAdminMenus::GetImages( $images, $pathL ); - // list of saved images - $lists['imagelist'] = mosAdminMenus::GetSavedImages( $row, $pathL ); - - // build list of users - $active = ( intval( $row->created_by ) ? intval( $row->created_by ) : $my->id ); - $lists['created_by'] = mosAdminMenus::UserSelect( 'created_by', $active ); - // build the html select list for the group access - $lists['access'] = mosAdminMenus::Access( $row ); - // build the html select list for menu selection - $lists['menuselect'] = mosAdminMenus::MenuSelect( ); - // build the select list for the image positions - $lists['_align'] = mosAdminMenus::Positions( '_align' ); - // build the select list for the image caption alignment - $lists['_caption_align'] = mosAdminMenus::Positions( '_caption_align' ); - // build the select list for the image caption position - $pos[] = mosHTML::makeOption( 'bottom', T_('Bottom') ); - $pos[] = mosHTML::makeOption( 'top', T_('Top') ); - $lists['_caption_position'] = mosHTML::selectList( $pos, '_caption_position', 'class="inputbox" size="1"', 'value', 'text' ); - - // get params definitions - $params =& new mosAdminParameters( $row->attribs, $mainframe->getPath( 'com_xml', 'com_typedcontent' ), 'component' ); - - HTML_typedcontent::edit( $row, $images, $lists, $params, $option, $menus ); -} - -/** -* Saves the typed content item -*/ -function save( $option, $task ) { - global $database, $my; - - $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); - $menuid = mosGetParam( $_POST, 'menuid', 0 ); - - $row = new mosContent( $database ); - if (!$row->bind( $_POST )) { - echo "\n"; - exit(); - } - - if ( $row->id ) { - $row->modified = date( 'Y-m-d H:i:s' ); - $row->modified_by = $my->id; - } else { - $row->created = date( 'Y-m-d H:i:s' ); - $row->created_by = $my->id; - } - if (trim( $row->publish_down ) == 'Never') { - $row->publish_down = '0000-00-00 00:00:00'; - } - - // Save Parameters - $params = mosGetParam( $_POST, 'params', '' ); - if (is_array( $params )) { - $txt = array(); - foreach ( $params as $k=>$v) { - $txt[] = "$k=$v"; - } - $row->attribs = implode( "\n", $txt ); - } - - // code cleaner for xhtml transitional compliance - $row->introtext = str_replace( '
      ', '
      ', $row->introtext ); - - $row->state = mosGetParam( $_REQUEST, 'published', 0 ); - - if (!$row->check()) { - echo "\n"; - exit(); - } - if (!$row->store()) { - echo "\n"; - exit(); - } - $row->checkin(); - - switch ( $task ) { - case 'go2menu': - mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); - break; - - case 'go2menuitem': - mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $menuid ); - break; - - case 'menulink': - menuLink( $option, $row->id ); - break; - - case 'resethits': - resethits( $option, $row->id ); - break; - - case 'save': - $msg = T_('Typed Content Item saved'); - mosRedirect( 'index2.php?option='. $option, $msg ); - break; - - case 'apply': - default: - $msg = T_('Changes to Typed Content Item saved'); - mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $row->id, $msg ); - break; - } -} - -/** -* Trashes the typed content item -*/ -function trash( &$cid, $option ) { - global $database, $mainframe; - - $total = count( $cid ); - if ( $total < 1) { - echo "\n"; - exit; - } - - $state = '-2'; - $ordering = '0'; - //seperate contentids - $cids = implode( ',', $cid ); - $query = "UPDATE #__content SET state = '". $state ."', ordering = '". $ordering ."'" - . "\n WHERE id IN ( ". $cids ." )" - ; - $database->setQuery( $query ); - if ( !$database->query() ) { - echo "\n"; - exit(); - } - - $msg = sprintf(Tn_('%d Item sent to the Trash', '%d Items sent to the Trash', $total), $total) .""; - mosRedirect( 'index2.php?option='. $option, $msg ); -} - -/** -* Changes the state of one or more content pages -* @param string The name of the category section -* @param integer A unique category id (passed from an edit form) -* @param array An array of unique category id numbers -* @param integer 0 if unpublishing, 1 if publishing -* @param string The name of the current user -*/ -function changeState( $cid=null, $state=0, $option ) { - global $database, $my; - - if (count( $cid ) < 1) { - $action = $state == 1 ? T_('publish') : ($state == -1 ? T_('archive') : T_('unpublish')); - echo "\n"; - exit; - } - - $total = count ( $cid ); - $cids = implode( ',', $cid ); - - $database->setQuery( "UPDATE #__content SET state='$state'" - . "\nWHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" - ); - if (!$database->query()) { - echo "\n"; - exit(); - } - - if (count( $cid ) == 1) { - $row = new mosContent( $database ); - $row->checkin( $cid[0] ); - } - - if ( $state == "1" ) { - $msg = $total .""; - $msg = sprintf(Tn_('%d Item successfully Published', '%d Items successfully Published', $total), $total); - } else if ( $state == "0" ) { - $msg = sprintf(Tn_('%d Item successfully Unpublished', '%d Items successfully Unpublished', $total), $total); - } - mosRedirect( 'index2.php?option='. $option .'&msg='. $msg ); -} - -/** -* changes the access level of a record -* @param integer The increment to reorder by -*/ -function changeAccess( $id, $access, $option ) { - global $database; - - $row = new mosContent( $database ); - $row->load( $id ); - $row->access = $access; - - if ( !$row->check() ) { - return $row->getError(); - } - if ( !$row->store() ) { - return $row->getError(); - } - - mosRedirect( 'index2.php?option='. $option ); -} - - -/** -* Function to reset Hit count of a content item -*/ -function resethits( $option, $id ) { - global $database; - - $row = new mosContent($database); - $row->Load( $id ); - $row->hits = "0"; - $row->store(); - $row->checkin(); - - $msg = T_('Successfully Reset Hit'); - mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $row->id, $msg ); -} - -/** -* Cancels an edit operation -* @param database A database connector object -*/ -function cancel( $option ) { - global $database; - - $row = new mosContent( $database ); - $row->bind( $_POST ); - $row->checkin(); - mosRedirect( 'index2.php?option='. $option ); -} - -function menuLink( $option, $id ) { - global $database; - - $menu = mosGetParam( $_POST, 'menuselect', '' ); - $link = mosGetParam( $_POST, 'link_name', '' ); - - $row = new mosMenu( $database ); - $row->menutype = $menu; - $row->name = $link; - $row->type = 'content_typed'; - $row->published = 1; - $row->componentid = $id; - $row->link = 'index.php?option=com_content&task=view&id='. $id; - $row->ordering = 9999; - - if (!$row->check()) { - echo "\n"; - exit(); - } - if (!$row->store()) { - echo "\n"; - exit(); - } - $row->checkin(); - $row->updateOrder( "menutype='$row->menutype' AND parent='$row->parent'" ); - - $msg =sprintf(T_('%s (Link - Static Content) in menu: %s successfully created'),$link , $menu); - mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $id, $msg ); -} - -function go2menu() { - global $database; - - // checkin content - $row = new mosContent( $database ); - $row->bind( $_POST ); - $row->checkin(); - - $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); - - mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); -} - -function go2menuitem() { - global $database; - - // checkin content - $row = new mosContent( $database ); - $row->bind( $_POST ); - $row->checkin(); - - $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); - $id = mosGetParam( $_POST, 'menuid', 0 ); - - mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $id ); -} - -function saveOrder( &$cid ) { - global $database; - $order = mosGetParam( $_POST, 'order', array(0) ); - $row = new mosMenu( $database ); - $categories = array(); - // update ordering values - foreach ($cid as $i=>$ciditem) { - $row->load( $ciditem ); - if ($row->ordering != $order[$i]) { - $row->ordering = $order[$i]; - if (!$row->store()) { - echo "\n"; - exit(); - } - // remember to updateOrder this group - $categories[$row->catid] = $row->id; - } - } - // execute updateOrder for each group - foreach ($categories as $catid=>$rowid) { - $row->updateOrder("catid = $catid AND state >= 0"); - } // foreach - - $msg = T_('New ordering saved'); - mosRedirect( 'index2.php?option=com_typedcontent', $msg ); -} // saveOrder -?> +getPath( 'admin_html' ) ); +require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); + +$id = mosGetParam( $_REQUEST, 'id', '' ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + + +switch ( $task ) { + case 'cancel': + cancel( $option ); + break; + + case 'new': + edit( 0, $option ); + break; + + case 'edit': + edit( $id, $option ); + break; + + case 'editA': + edit( $cid[0], $option ); + break; + + case 'go2menu': + case 'go2menuitem': + case 'resethits': + case 'menulink': + case 'save': + case 'apply': + save( $option, $task ); + break; + + case 'remove': + trash( $cid, $option ); + break; + + case 'publish': + changeState( $cid, 1, $option ); + break; + + case 'unpublish': + changeState( $cid, 0, $option ); + break; + + case 'accesspublic': + changeAccess( $cid[0], 0, $option ); + break; + + case 'accessregistered': + changeAccess( $cid[0], 1, $option ); + break; + + case 'accessspecial': + changeAccess( $cid[0], 2, $option ); + break; + + case 'saveorder': + saveOrder( $cid ); + break; + + case 'toggle_frontpage': + toggleFrontPage( $cid, $option ); + break; + + default: + view( $option ); + break; +} + +/** +* Compiles a list of installed or defined modules +* @param database A database connector object +*/ +function view( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}", 'filter_authorid', 0 ); + $order = $mainframe->getUserStateFromRequest( "zorder", 'zorder', 'c.ordering DESC' ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + // used by filter + if ( $search ) { + $search_query = "\n AND ( LOWER( c.title ) LIKE '%$search%' OR LOWER( c.title_alias ) LIKE '%$search%' )"; + } else { + $search_query = ''; + } + + $filter = ''; + if ( $filter_authorid > 0 ) { + $filter = "\n AND c.created_by = '$filter_authorid'"; + } + + // get the total number of records + $query = "SELECT count(*)" + . "\n FROM #__content AS c" + . "\n WHERE c.sectionid = '0'" + . "\n AND c.catid = '0'" + . "\n AND c.state <> '-2'" + . $filter + ; + $database->setQuery( $query ); + $total = $database->loadResult(); + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT c.*, g.name AS groupname, u.name AS editor, z.name AS creator, f.content_id AS frontpage" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__groups AS g ON g.id = c.access" + . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" + . "\n LEFT JOIN #__users AS z ON z.id = c.created_by" + . "\n LEFT JOIN #__content_frontpage AS f ON f.content_id = c.id" + . "\n WHERE c.sectionid = '0'" + . "\n AND c.catid = '0'" + . "\n AND c.state <> '-2'" + . $search_query + . $filter + . "\n ORDER BY ". $order + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + $count = count( $rows ); + for( $i = 0; $i < $count; $i++ ) { + $query = "SELECT COUNT( id )" + . "\n FROM #__menu" + . "\n WHERE componentid = ". $rows[$i]->id + . "\n AND type = 'content_typed'" + . "\n AND published <> '-2'" + ; + $database->setQuery( $query ); + $rows[$i]->links = $database->loadResult(); + } + + $ordering[] = mosHTML::makeOption( 'c.ordering ASC', T_('Ordering asc') ); + $ordering[] = mosHTML::makeOption( 'c.ordering DESC', T_('Ordering desc') ); + $ordering[] = mosHTML::makeOption( 'c.id ASC', T_('ID asc') ); + $ordering[] = mosHTML::makeOption( 'c.id DESC', T_('ID desc') ); + $ordering[] = mosHTML::makeOption( 'c.title ASC', T_('Title asc') ); + $ordering[] = mosHTML::makeOption( 'c.title DESC', T_('Title desc') ); + $ordering[] = mosHTML::makeOption( 'c.created ASC', T_('Date asc') ); + $ordering[] = mosHTML::makeOption( 'c.created DESC', T_('Date desc') ); + $ordering[] = mosHTML::makeOption( 'z.name ASC', T_('Author asc') ); + $ordering[] = mosHTML::makeOption( 'z.name DESC', T_('Author desc') ); + $ordering[] = mosHTML::makeOption( 'c.state ASC', T_('Published asc') ); + $ordering[] = mosHTML::makeOption( 'c.state DESC', T_('Published desc') ); + $ordering[] = mosHTML::makeOption( 'c.access ASC', T_('Access asc') ); + $ordering[] = mosHTML::makeOption( 'c.access DESC', T_('Access desc') ); + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['order'] = mosHTML::selectList( $ordering, 'zorder', 'class="inputbox" size="1"'. $javascript, 'value', 'text', $order ); + + // get list of Authors for dropdown filter + $query = "SELECT c.created_by AS value, u.name AS text" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" + . "\n WHERE c.sectionid = 0" + . "\n GROUP BY u.name" + . "\n ORDER BY u.name" + ; + $authors[] = mosHTML::makeOption( '0', T_('- All Authors -') ); + $database->setQuery( $query ); + $authors = array_merge( $authors, $database->loadObjectList() ); + $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); + + HTML_typedcontent::showContent( $rows, $pageNav, $option, $search, $lists ); +} + +/** +* Compiles information to add or edit content +* @param database A database connector object +* @param string The name of the category section +* @param integer The unique id of the category to edit (0 if new) +*/ +function edit( $uid, $option ) { + global $database, $my, $mainframe; + global $mosConfig_absolute_path, $mosConfig_live_site; + + $row = new mosContent( $database ); + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + $lists = array(); + + if ($uid) { + // load the row from the db table + $row->load( $uid ); + $row->checkout( $my->id ); + if (trim( $row->images )) { + $row->images = explode( "\n", $row->images ); + } else { + $row->images = array(); + } + if (trim( $row->publish_down ) == "0000-00-00 00:00:00") { + $row->publish_down = "Never"; + } + + $query = "SELECT name from #__users" + . "\n WHERE id=$row->created_by" + ; + $database->setQuery( $query ); + $row->creator = $database->loadResult(); + + $query = "SELECT name from #__users" + . "\n WHERE id=$row->modified_by" + ; + $database->setQuery( $query ); + $row->modifier = $database->loadResult(); + + $query = "SELECT content_id from #__content_frontpage" + . "\n WHERE content_id=$row->id" + ; + $database->setQuery( $query ); + $row->frontpage = $database->loadResult(); + + // get list of links to this item + $_and = "\n AND componentid = ". $row->id; + $menus = mosAdminMenus::Links2Menu( 'content_typed', $_and ); + } else { + // initialise values for a new item + $row->version = 0; + $row->state = 1; + $row->images = array(); + $row->publish_up = date( "Y-m-d", time() ); + $row->publish_down = "Never"; + $row->sectionid = 0; + $row->catid = 0; + $row->creator = ''; + $row->modifier = ''; + $row->ordering = 0; + $row->frontpage = 0; + $menus = array(); + } + + // calls function to read image from directory + $pathA = $mosConfig_absolute_path .'/images/stories'; + $pathL = $mosConfig_live_site .'/images/stories'; + $images = array(); + $folders = array(); + $folders[] = mosHTML::makeOption( '/' ); + mosAdminMenus::ReadImages( $pathA, '/', $folders, $images ); + // list of folders in images/stories/ + $lists['folders'] = mosAdminMenus::GetImageFolders( $folders, $pathL ); + // list of images in specfic folder in images/stories/ + $lists['imagefiles'] = mosAdminMenus::GetImages( $images, $pathL ); + // list of saved images + $lists['imagelist'] = mosAdminMenus::GetSavedImages( $row, $pathL ); + + // build list of users + $active = ( intval( $row->created_by ) ? intval( $row->created_by ) : $my->id ); + $lists['created_by'] = mosAdminMenus::UserSelect( 'created_by', $active ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + // build the html select list for menu selection + $lists['menuselect'] = mosAdminMenus::MenuSelect( ); + // build the select list for the image positions + $lists['_align'] = mosAdminMenus::Positions( '_align' ); + // build the select list for the image caption alignment + $lists['_caption_align'] = mosAdminMenus::Positions( '_caption_align' ); + // build the select list for the image caption position + $pos[] = mosHTML::makeOption( 'bottom', T_('Bottom') ); + $pos[] = mosHTML::makeOption( 'top', T_('Top') ); + $lists['_caption_position'] = mosHTML::selectList( $pos, '_caption_position', 'class="inputbox" size="1"', 'value', 'text' ); + + // get params definitions + $params =& new mosAdminParameters( $row->attribs, $mainframe->getPath( 'com_xml', 'com_typedcontent' ), 'component' ); + + HTML_typedcontent::edit( $row, $images, $lists, $params, $option, $menus ); +} + +/** +* Saves the typed content item +*/ +function save( $option, $task ) { + global $database, $my, $mainframe; + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + $menuid = mosGetParam( $_POST, 'menuid', 0 ); + + $row = new mosContent( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + if ( $row->id ) { + $row->modified = date( 'Y-m-d H:i:s' ); + $row->modified_by = $my->id; + } else { + $row->created = date( 'Y-m-d H:i:s' ); + $row->created_by = $my->id; + } + if (trim( $row->publish_down ) == 'Never') { + $row->publish_down = '0000-00-00 00:00:00'; + } + + // Save Parameters + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ( $params as $k=>$v) { + $txt[] = "$k=$v"; + } + $row->attribs = implode( "\n", $txt ); + } + + // code cleaner for xhtml transitional compliance + $row->introtext = str_replace( '
      ', '
      ', $row->introtext ); + + $row->state = mosGetParam( $_REQUEST, 'published', 0 ); + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + + // manage frontpage items + require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); + $fp = new mosFrontPage( $database ); + + if (mosGetParam( $_REQUEST, 'frontpage', 0 )) { + + // toggles go to first place + if (!$fp->load( $row->id )) { + // new entry + $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$row->id','1')" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $fp->ordering = 1; + } + } else { + // no frontpage mask + if (!$fp->delete( $row->id )) { + $msg .= $fp->stderr(); + } + $fp->ordering = 0; + } + $fp->updateOrder(); + + $row->checkin(); + + switch ( $task ) { + case 'go2menu': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); + break; + + case 'go2menuitem': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $menuid ); + break; + + case 'menulink': + menuLink( $option, $row->id ); + break; + + case 'resethits': + resethits( $option, $row->id ); + break; + + case 'save': + $msg = T_('Typed Content Item saved'); + mosRedirect( 'index2.php?option='. $option, $msg ); + break; + + case 'apply': + default: + $msg = T_('Changes to Typed Content Item saved'); + mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $row->id, $msg ); + break; + } +} + +/** +* Trashes the typed content item +*/ +function trash( &$cid, $option ) { + global $database, $mainframe; + + $total = count( $cid ); + if ( $total < 1) { + echo "\n"; + exit; + } + + $state = '-2'; + $ordering = '0'; + //seperate contentids + $cids = implode( ',', $cid ); + $query = "UPDATE #__content SET state = '". $state ."', ordering = '". $ordering ."'" + . "\n WHERE id IN ( ". $cids ." )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $msg = sprintf(Tn_('%d Item sent to the Trash', '%d Items sent to the Trash', $total), $total) .""; + mosRedirect( 'index2.php?option='. $option, $msg ); +} + +/** +* Changes the state of one or more content pages +* @param string The name of the category section +* @param integer A unique category id (passed from an edit form) +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The name of the current user +*/ +function changeState( $cid=null, $state=0, $option ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $state == 1 ? T_('publish') : ($state == -1 ? T_('archive') : T_('unpublish')); + echo "\n"; + exit; + } + + $total = count ( $cid ); + $cids = implode( ',', $cid ); + + $database->setQuery( "UPDATE #__content SET state='$state'" + . "\nWHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosContent( $database ); + $row->checkin( $cid[0] ); + } + + if ( $state == "1" ) { + $msg = $total .""; + $msg = sprintf(Tn_('%d Item successfully Published', '%d Items successfully Published', $total), $total); + } else if ( $state == "0" ) { + $msg = sprintf(Tn_('%d Item successfully Unpublished', '%d Items successfully Unpublished', $total), $total); + } + mosRedirect( 'index2.php?option='. $option .'&msg='. $msg ); +} + +/** +* changes the access level of a record +* @param integer The increment to reorder by +*/ +function changeAccess( $id, $access, $option ) { + global $database; + + $row = new mosContent( $database ); + $row->load( $id ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + mosRedirect( 'index2.php?option='. $option ); +} + + +/** +* Function to reset Hit count of a content item +*/ +function resethits( $option, $id ) { + global $database; + + $row = new mosContent($database); + $row->Load( $id ); + $row->hits = "0"; + $row->store(); + $row->checkin(); + + $msg = T_('Successfully Reset Hit'); + mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $row->id, $msg ); +} + +/** +* Cancels an edit operation +* @param database A database connector object +*/ +function cancel( $option ) { + global $database; + + $row = new mosContent( $database ); + $row->bind( $_POST ); + $row->checkin(); + mosRedirect( 'index2.php?option='. $option ); +} + +function menuLink( $option, $id ) { + global $database; + + $menu = mosGetParam( $_POST, 'menuselect', '' ); + $link = mosGetParam( $_POST, 'link_name', '' ); + + $row = new mosMenu( $database ); + $row->menutype = $menu; + $row->name = $link; + $row->type = 'content_typed'; + $row->published = 1; + $row->componentid = $id; + $row->link = 'index.php?option=com_content&task=view&id='. $id; + $row->ordering = 9999; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "menutype='$row->menutype' AND parent='$row->parent'" ); + + $msg =sprintf(T_('%s (Link - Static Content) in menu: %s successfully created'),$link , $menu); + mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $id, $msg ); +} + +function go2menu() { + global $database; + + // checkin content + $row = new mosContent( $database ); + $row->bind( $_POST ); + $row->checkin(); + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); +} + +function go2menuitem() { + global $database; + + // checkin content + $row = new mosContent( $database ); + $row->bind( $_POST ); + $row->checkin(); + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + $id = mosGetParam( $_POST, 'menuid', 0 ); + + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $id ); +} + +function saveOrder( &$cid ) { + global $database; + $order = mosGetParam( $_POST, 'order', array(0) ); + $row = new mosMenu( $database ); + $categories = array(); + // update ordering values + foreach ($cid as $i=>$ciditem) { + $row->load( $ciditem ); + if ($row->ordering != $order[$i]) { + $row->ordering = $order[$i]; + if (!$row->store()) { + echo "\n"; + exit(); + } + // remember to updateOrder this group + $categories[$row->catid] = $row->id; + } + } + // execute updateOrder for each group + foreach ($categories as $catid=>$rowid) { + $row->updateOrder("catid = $catid AND state >= 0"); + } // foreach + + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_typedcontent', $msg ); +} // saveOrder + + +/** +* Changes the state of one or more content pages +* @param string The name of the category section +* @param integer A unique category id (passed from an edit form) +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The name of the current user +*/ +function toggleFrontPage( $cid, $option ) { + global $database, $my, $mainframe; + + if (count( $cid ) < 1) { + echo "\n"; + exit; + } + + $msg = ''; + require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); + + $fp = new mosFrontPage( $database ); + foreach ($cid as $id) { + // toggles go to first place + if ($fp->load( $id )) { + if (!$fp->delete( $id )) { + $msg .= $fp->stderr(); + } + $fp->ordering = 0; + } else { + // new entry + $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$id','0')" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $fp->ordering = 0; + } + $fp->updateOrder(); + } + mosRedirect( 'index2.php?option=com_typedcontent' ); +} //toggleFrontPage + +?> diff -ruN 4.6rc2/administrator/components/com_users/admin.users.html.php 4.6-complete/administrator/components/com_users/admin.users.html.php --- 4.6rc2/administrator/components/com_users/admin.users.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_users/admin.users.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -23,10 +23,10 @@ " ); + alert( "" ); } else if (form.username.value == "") { - alert( "" ); + alert( "" ); } else if (r.exec(form.username.value) || form.username.value.length < 3) { - alert( "" ); + alert( "" ); } else if (trim(form.email.value) == "") { - alert( "" ); + alert( "" ); } else if (form.gid.value == "") { - alert( "" ); + alert( "" ); } else if (trim(form.password.value) != "" && form.password.value != form.password2.value){ - alert( "" ); + alert( "" ); } else if (form.gid.value == "29") { - alert( "" ); + alert( "" ); } else if (form.gid.value == "30") { - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -180,7 +180,7 @@
      - + - + @@ -49,25 +49,25 @@ - + - + - + - + - + - + - +
      - id ? T_('Edit') : T_('Add');?> + id ? T_('Edit') : T_('Add');?>
      @@ -191,12 +191,12 @@ ';},addItem:function(icon,title,command,value,disabled){if(title.charAt(0)=='$')title=tinyMCE.getLang(title.substring(1));var onMouseDown='';var html='';if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)onMouseDown='contextMenu.execCommand(\''+command+'\', \''+value+'\');return false;';else onMouseDown=this.settings['commandhandler']+'(\''+command+'\', \''+value+'\');return false;';if(icon=="")icon=this.settings['spacer_image'];if(!disabled)html+='';else html+='';html+='';html+='';html+='';this.html+=html;},show:function(x,y){if(this.html=="")return;var html='';html+='
      - +
      - + @@ -204,14 +204,14 @@
      - +
      - + @@ -219,7 +219,7 @@
      - + @@ -227,7 +227,7 @@
      - + @@ -235,7 +235,7 @@
      - + @@ -246,7 +246,7 @@ ?>
      - + @@ -258,7 +258,7 @@ ?>
      - + @@ -270,7 +270,7 @@ ?>
      - + registerDate;?> @@ -278,7 +278,7 @@
      - + lastvisitDate;?> @@ -301,15 +301,15 @@ @@ -320,12 +320,12 @@
      - +

      - +
      - Contact -> Manage Contacts" for details.') ?> + Contact -> Manage Contacts" for details.'); ?>

      diff -ruN 4.6rc2/administrator/components/com_users/admin.users.php 4.6-complete/administrator/components/com_users/admin.users.php --- 4.6rc2/administrator/components/com_users/admin.users.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/components/com_users/admin.users.php 2006-09-20 19:05:04.000000000 -0500 @@ -231,6 +231,10 @@ exit(); } + // sanitize + $row->id = intval($row->id); + $row->gid = intval($row->gid); + $isNew = !$row->id; $pwd = ''; @@ -323,7 +327,7 @@ $adminName = $mosConfig_fromname; $adminEmail = $mosConfig_mailfrom; } else { - $query = "SELECT name, email FROM #__users WHERE usertype='superadministrator'"; + $query = "SELECT name, email FROM #__users WHERE usertype='super administrator'"; $database->setQuery( $query ); $rows = $database->loadObjectList(); $row = $rows[0]; diff -ruN 4.6rc2/administrator/components/com_weblink_items/weblink_items.xml 4.6-complete/administrator/components/com_weblink_items/weblink_items.xml --- 4.6rc2/administrator/components/com_weblink_items/weblink_items.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/administrator/components/com_weblink_items/weblink_items.xml 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,19 @@ + + + Weblinks + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This component shows a listing of Weblinks + + + + + + + + diff -ruN 4.6rc2/administrator/components/com_weblinks/admin.weblinks.html.php 4.6-complete/administrator/components/com_weblinks/admin.weblinks.html.php --- 4.6rc2/administrator/components/com_weblinks/admin.weblinks.html.php 2006-05-14 17:22:54.000000000 -0500 +++ 4.6-complete/administrator/components/com_weblinks/admin.weblinks.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -24,10 +24,10 @@
      - +
      - + @@ -335,7 +335,7 @@
      - + @@ -345,7 +345,7 @@
      - + @@ -355,7 +355,7 @@
      - + @@ -377,7 +377,7 @@
      - <?php echo T_('Contact') ?> + <?php echo T_('Contact'); ?>


      - +
      - ' Contact -> Manage Contacts') ?>'. + ' Contact -> Manage Contacts'); ?>'.
      title; } else { ?> - + title; ?> orderDownIcon( $i, $n, ($row->catid == @$rows[$i+1]->catid) ); ?> @@ -171,11 +171,11 @@ // do field validation if (form.title.value == ""){ - alert( "" ); + alert( "" ); } else if (form.catid.value == "0"){ - alert( "" ); + alert( "" ); } else if (form.url.value == ""){ - alert( "" ); + alert( "" ); } else { submitform( pressbutton ); } @@ -185,7 +185,7 @@
      - + - + @@ -47,22 +47,22 @@ - + - + - + - + - + - +
      - + category; ?>
      '; + var currentDomItem; + // find the table first + for (currentDomItem = htmlNode.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'table') + break; + } + if (!currentDomItem) + return returnVal; + // skip over tbody + for (currentDomItem = currentDomItem.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'tbody') + break; + } + if (!currentDomItem) + return returnVal; + // get the first tr + for (currentDomItem = currentDomItem.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'tr') + break; + } + if (!currentDomItem) + return returnVal; + return currentDomItem.innerHTML; +} + +// +// get the DOM object associated with the item +// +function cmGetMenuItem (item) +{ + if (!item.subMenuID) + return null; + var subMenu = cmGetObject (item.subMenuID); + // we are dealing with a main menu item + if (item.menu) + { + var menu = item.menu; + // skip over table, tbody, tr, reach td + subMenu = subMenu.firstChild.firstChild.firstChild.firstChild; + var i; + for (i = 0; i < menu.length; ++i) + { + if (menu[i] == item) + return subMenu; + subMenu = subMenu.nextSibling; + } + } + else if (item.parentItem) // sub menu item + { + var menu = item.parentItem; + var table = cmGetObject (item.subMenuID + 'Table'); + if (!table) + return null; + // skip over table, tbody, reach tr + subMenu = table.firstChild.firstChild; + var i; + for (i = 5; i < menu.length; ++i) + { + if (menu[i] == item) + return subMenu; + subMenu = subMenu.nextSibling; + } + } + return null; +} + +// +// disable a menu item +// +function cmDisableItem (item, prefix) +{ + if (!item) + return; + var menuItem = cmGetMenuItem (item); + if (!menuItem) + return; + if (item.menu) + menuItem.className = prefix + 'MainItemDisabled'; + else + menuItem.className = prefix + 'MenuItemDisabled'; + item.isDisabled = true; +} + +// +// enable a menu item +// +function cmEnableItem (item, prefix) +{ + if (!item) + return; + var menuItem = cmGetMenuItem (item); + if (!menuItem) + return; + if (item.menu) + menu.className = prefix + 'MainItem'; + else + menu.className = prefix + 'MenuItem'; + item.isDisabled = true; +} + +////////////////////////////////////////////////////////////////////// +// +// Mouse Event Handling Functions +// +////////////////////////////////////////////////////////////////////// + +// +// action should be taken for mouse moving in to the menu item +// +// Here we just do things concerning this menu item, w/o opening sub menus. +// +function cmItemMouseOver (obj, isMain, idSub, menuID, index, calledByOpenSub) +{ + if (!calledByOpenSub && _cmClicked) + { + cmItemMouseOverOpenSub (obj, isMain, idSub, menuID, index); + return; + } + + clearTimeout (_cmTimeOut); + + if (_cmItemList[index].isDisabled) + return; + + var prefix = _cmMenuList[menuID].prefix; + + if (!obj.cmMenuID) + { + obj.cmMenuID = menuID; + obj.cmIsMain = isMain; + } + + var thisMenu = cmGetThisMenu (obj, prefix); + + // insert obj into cmItems if cmItems doesn't have obj + if (!thisMenu.cmItems) + thisMenu.cmItems = new Array (); + var i; + for (i = 0; i < thisMenu.cmItems.length; ++i) + { + if (thisMenu.cmItems[i] == obj) + break; + } + if (i == thisMenu.cmItems.length) + { + //thisMenu.cmItems.push (obj); + thisMenu.cmItems[i] = obj; + } + + // hide the previous submenu that is not this branch + if (_cmCurrentItem) + { + // occationally, we get this case when user + // move the mouse slowly to the border + if (_cmCurrentItem == obj || _cmCurrentItem == thisMenu) + { + var item = _cmItemList[index]; + cmSetStatus (item); + return; + } + + var thatMenuInfo = _cmMenuList[_cmCurrentItem.cmMenuID]; + var thatPrefix = thatMenuInfo.prefix; + var thatMenu = cmGetThisMenu (_cmCurrentItem, thatPrefix); + + if (thatMenu != thisMenu.cmParentMenu) + { + if (_cmCurrentItem.cmIsMain) + _cmCurrentItem.className = thatPrefix + 'MainItem'; + else + _cmCurrentItem.className = thatPrefix + 'MenuItem'; + if (thatMenu.id != idSub) + cmHideMenu (thatMenu, thisMenu, thatMenuInfo); + } + } + + // okay, set the current menu to this obj + _cmCurrentItem = obj; + + // just in case, reset all items in this menu to MenuItem + cmResetMenu (thisMenu, prefix); + + var item = _cmItemList[index]; + var isDefaultItem = cmIsDefaultItem (item); + + if (isDefaultItem) + { + if (isMain) + obj.className = prefix + 'MainItemHover'; + else + obj.className = prefix + 'MenuItemHover'; + } + + cmSetStatus (item); +} + +// +// action should be taken for mouse moving in to the menu item +// +// This function also opens sub menu +// +function cmItemMouseOverOpenSub (obj, isMain, idSub, menuID, index) +{ + clearTimeout (_cmTimeOut); + + if (_cmItemList[index].isDisabled) + return; + + cmItemMouseOver (obj, isMain, idSub, menuID, index, true); + + if (idSub) + { + var subMenu = cmGetObject (idSub); + var menuInfo = _cmMenuList[menuID]; + var orient = menuInfo.orient; + var prefix = menuInfo.prefix; + cmShowSubMenu (obj, isMain, subMenu, menuInfo); + } +} + +// +// action should be taken for mouse moving out of the menu item +// +function cmItemMouseOut (obj, isMain, idSub, menuID, index) +{ + var delayTime = _cmMenuList[menuID].nodeProperties.delay; + _cmTimeOut = window.setTimeout ('cmHideMenuTime ()', delayTime); + window.defaultStatus = ''; +} + +// +// action should be taken for mouse button down at a menu item +// +function cmItemMouseDown (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + if (cmIsDefaultItem (_cmItemList[index])) + { + var prefix = _cmMenuList[menuID].prefix; + if (obj.cmIsMain) + obj.className = prefix + 'MainItemActive'; + else + obj.className = prefix + 'MenuItemActive'; + } +} + +// +// action should be taken for mouse button down at a menu item +// this is one also opens submenu if needed +// +function cmItemMouseDownOpenSub (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + _cmClicked = true; + cmItemMouseDown (obj, isMain, idSub, menuID, index); + + if (idSub) + { + var subMenu = cmGetObject (idSub); + var menuInfo = _cmMenuList[menuID]; + cmShowSubMenu (obj, isMain, subMenu, menuInfo); + } +} + +// +// action should be taken for mouse button up at a menu item +// +function cmItemMouseUp (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + var item = _cmItemList[index]; + + var link = null, target = '_self'; + + if (item.length > 2) + link = item[2]; + if (item.length > 3 && item[3]) + target = item[3]; + + if (link != null) + { + _cmClicked = false; + window.open (link, target); + } + + var menuInfo = _cmMenuList[menuID]; + var prefix = menuInfo.prefix; + var thisMenu = cmGetThisMenu (obj, prefix); + + var hasChild = (item.length > 5); + if (!hasChild) + { + if (cmIsDefaultItem (item)) + { + if (obj.cmIsMain) + obj.className = prefix + 'MainItem'; + else + obj.className = prefix + 'MenuItem'; + } + cmHideMenu (thisMenu, null, menuInfo); + } + else + { + if (cmIsDefaultItem (item)) + { + if (obj.cmIsMain) + obj.className = prefix + 'MainItemHover'; + else + obj.className = prefix + 'MenuItemHover'; + } + } +} + +////////////////////////////////////////////////////////////////////// +// +// Mouse Event Support Utility Functions +// +////////////////////////////////////////////////////////////////////// + +// +// move submenu to the appropriate location +// +function cmMoveSubMenu (obj, isMain, subMenu, menuInfo) +{ + var orient = menuInfo.orient; + + var offsetAdjust; + + if (isMain) + { + if (orient.charAt (0) == 'h') + offsetAdjust = menuInfo.nodeProperties.offsetHMainAdjust; + else + offsetAdjust = menuInfo.nodeProperties.offsetVMainAdjust; + } + else + offsetAdjust = menuInfo.nodeProperties.offsetSubAdjust; + + if (!isMain && orient.charAt (0) == 'h') + orient = 'v' + orient.charAt (1) + orient.charAt (2); + + var mode = String (orient); + var p = subMenu.offsetParent; + var subMenuWidth = cmGetWidth (subMenu); + var horiz = cmGetHorizontalAlign (obj, mode, p, subMenuWidth); + if (mode.charAt (0) == 'h') + { + if (mode.charAt (1) == 'b') + subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) + offsetAdjust[1]) + 'px'; + else + subMenu.style.top = (cmGetYAt (obj, p) - cmGetHeight (subMenu) - offsetAdjust[1]) + 'px'; + if (horiz == 'r') + subMenu.style.left = (cmGetXAt (obj, p) + offsetAdjust[0]) + 'px'; + else + subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) - subMenuWidth - offsetAdjust[0]) + 'px'; + } + else + { + if (horiz == 'r') + subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) + offsetAdjust[0]) + 'px'; + else + subMenu.style.left = (cmGetXAt (obj, p) - subMenuWidth - offsetAdjust[0]) + 'px'; + if (mode.charAt (1) == 'b') + subMenu.style.top = (cmGetYAt (obj, p) + offsetAdjust[1]) + 'px'; + else + subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) - cmGetHeight (subMenu) + offsetAdjust[1]) + 'px'; + } + + // IE specific iframe masking method + /*@cc_on + @if (@_jscript_version >= 5.5) + if (menuInfo.nodeProperties.cmFrameMasking) + { + if (!subMenu.cmFrameObj) + { + var frameObj = cmAllocFrame (); + subMenu.cmFrameObj = frameObj; + } + + var frameObj = subMenu.cmFrameObj; + frameObj.style.zIndex = subMenu.style.zIndex - 1; + frameObj.style.left = (cmGetX (subMenu) - cmGetX (frameObj.offsetParent)) + 'px'; + frameObj.style.top = (cmGetY (subMenu) - cmGetY (frameObj.offsetParent)) + 'px'; + frameObj.style.width = cmGetWidth (subMenu) + 'px'; + frameObj.style.height = cmGetHeight (subMenu) + 'px'; + frameObj.style.display = 'block'; + } + @end + @*/ + if (horiz != orient.charAt (2)) + orient = orient.charAt (0) + orient.charAt (1) + horiz; + return orient; +} + +// +// automatically re-adjust the menu position based on available screen size. +// +function cmGetHorizontalAlign (obj, mode, p, subMenuWidth) +{ + var horiz = mode.charAt (2); + if (!(document.body)) + return horiz; + var body = document.body; + var browserLeft; + var browserRight; + if (window.innerWidth) + { + // DOM window attributes + browserLeft = window.pageXOffset; + browserRight = window.innerWidth + browserLeft; + } + else if (body.clientWidth) + { + // IE attributes + browserLeft = body.clientLeft; + browserRight = body.clientWidth + browserLeft; + } + else + return horiz; + if (mode.charAt (0) == 'h') + { + if (horiz == 'r' && (cmGetXAt (obj) + subMenuWidth) > browserRight) + horiz = 'l'; + if (horiz == 'l' && (cmGetXAt (obj) + cmGetWidth (obj) - subMenuWidth) < browserLeft) + horiz = 'r'; + return horiz; + } + else + { + if (horiz == 'r' && (cmGetXAt (obj, p) + cmGetWidth (obj) + subMenuWidth) > browserRight) + horiz = 'l'; + if (horiz == 'l' && (cmGetXAt (obj, p) - subMenuWidth) < browserLeft) + horiz = 'r'; + return horiz; + } +} + +// +// show the subMenu w/ specified orientation +// also move it to the correct coordinates +// +function cmShowSubMenu (obj, isMain, subMenu, menuInfo) +{ + var prefix = menuInfo.prefix; + + if (!subMenu.cmParentMenu) + { + // establish the tree w/ back edge + var thisMenu = cmGetThisMenu (obj, prefix); + subMenu.cmParentMenu = thisMenu; + if (!thisMenu.cmSubMenu) + thisMenu.cmSubMenu = new Array (); + thisMenu.cmSubMenu[thisMenu.cmSubMenu.length] = subMenu; + } + + var effectInstance = subMenu.cmEffect; + if (effectInstance) + effectInstance.showEffect (true); + else + { + // position the sub menu only if we are not already showing the submenu + var orient = cmMoveSubMenu (obj, isMain, subMenu, menuInfo); + subMenu.cmOrient = orient; + + var forceShow = false; + if (subMenu.style.visibility != 'visible' && menuInfo.nodeProperties.effect) + { + try + { + effectInstance = menuInfo.nodeProperties.effect.getInstance (subMenu, orient); + effectInstance.showEffect (false); + } + catch (e) + { + forceShow = true; + subMenu.cmEffect = null; + } + } + else + forceShow = true; + + if (forceShow) + { + subMenu.style.visibility = 'visible'; + /*@cc_on + @if (@_jscript_version >= 5.5) + if (subMenu.cmFrameObj) + subMenu.cmFrameObj.style.display = 'block'; + @end + @*/ + } + } + + if (!_cmHideObjects) + { + _cmHideObjects = 2; // default = not hide, may change behavior later + try + { + if (window.opera) + { + if (parseInt (navigator.appVersion) < 9) + _cmHideObjects = 1; + } + } + catch (e) + { + } + } + + if (_cmHideObjects == 1) + { + if (!subMenu.cmOverlap) + subMenu.cmOverlap = new Array (); + cmHideControl ("IFRAME", subMenu); + cmHideControl ("OBJECT", subMenu); + } +} + +// +// reset all the menu items to class MenuItem in thisMenu +// +function cmResetMenu (thisMenu, prefix) +{ + if (thisMenu.cmItems) + { + var i; + var str; + var items = thisMenu.cmItems; + for (i = 0; i < items.length; ++i) + { + if (items[i].cmIsMain) + { + if (items[i].className == (prefix + 'MainItemDisabled')) + continue; + } + else + { + if (items[i].className == (prefix + 'MenuItemDisabled')) + continue; + } + if (items[i].cmIsMain) + str = prefix + 'MainItem'; + else + str = prefix + 'MenuItem'; + if (items[i].className != str) + items[i].className = str; + } + } +} + +// +// called by the timer to hide the menu +// +function cmHideMenuTime () +{ + _cmClicked = false; + if (_cmCurrentItem) + { + var menuInfo = _cmMenuList[_cmCurrentItem.cmMenuID]; + var prefix = menuInfo.prefix; + cmHideMenu (cmGetThisMenu (_cmCurrentItem, prefix), null, menuInfo); + _cmCurrentItem = null; + } +} + +// +// Only hides this menu +// +function cmHideThisMenu (thisMenu, menuInfo) +{ + var effectInstance = thisMenu.cmEffect; + if (effectInstance) + effectInstance.hideEffect (true); + else + { + thisMenu.style.visibility = 'hidden'; + thisMenu.style.top = '0px'; + thisMenu.style.left = '0px'; + thisMenu.cmOrient = null; + /*@cc_on + @if (@_jscript_version >= 5.5) + if (thisMenu.cmFrameObj) + { + var frameObj = thisMenu.cmFrameObj; + frameObj.style.display = 'none'; + frameObj.style.width = '1px'; + frameObj.style.height = '1px'; + thisMenu.cmFrameObj = null; + cmFreeFrame (frameObj); + } + @end + @*/ + } + + cmShowControl (thisMenu); +} + +// +// hide thisMenu, children of thisMenu, as well as the ancestor +// of thisMenu until currentMenu is encountered. currentMenu +// will not be hidden +// +function cmHideMenu (thisMenu, currentMenu, menuInfo) +{ + var prefix = menuInfo.prefix; + var str = prefix + 'SubMenu'; + + // hide the down stream menus + if (thisMenu.cmSubMenu) + { + var i; + for (i = 0; i < thisMenu.cmSubMenu.length; ++i) + { + cmHideSubMenu (thisMenu.cmSubMenu[i], menuInfo); + } + } + + // hide the upstream menus + while (thisMenu && thisMenu != currentMenu) + { + cmResetMenu (thisMenu, prefix); + if (thisMenu.className == str) + { + cmHideThisMenu (thisMenu, menuInfo); + } + else + break; + thisMenu = cmGetThisMenu (thisMenu.cmParentMenu, prefix); + } +} + +// +// hide thisMenu as well as its sub menus if thisMenu is not +// already hidden +// +function cmHideSubMenu (thisMenu, menuInfo) +{ + if (thisMenu.style.visibility == 'hidden') + return; + if (thisMenu.cmSubMenu) + { + var i; + for (i = 0; i < thisMenu.cmSubMenu.length; ++i) + { + cmHideSubMenu (thisMenu.cmSubMenu[i], menuInfo); + } + } + var prefix = menuInfo.prefix; + cmResetMenu (thisMenu, prefix); + cmHideThisMenu (thisMenu, menuInfo); +} + +// +// hide a control such as IFRAME +// +function cmHideControl (tagName, subMenu) +{ + var x = cmGetX (subMenu); + var y = cmGetY (subMenu); + var w = subMenu.offsetWidth; + var h = subMenu.offsetHeight; + + var i; + for (i = 0; i < document.all.tags(tagName).length; ++i) + { + var obj = document.all.tags(tagName)[i]; + if (!obj || !obj.offsetParent) + continue; + + // check if the object and the subMenu overlap + + var ox = cmGetX (obj); + var oy = cmGetY (obj); + var ow = obj.offsetWidth; + var oh = obj.offsetHeight; + + if (ox > (x + w) || (ox + ow) < x) + continue; + if (oy > (y + h) || (oy + oh) < y) + continue; + + // if object is already made hidden by a different + // submenu then we dont want to put it on overlap list of + // of a submenu a second time. + // - bug fixed by Felix Zaslavskiy + if(obj.style.visibility == 'hidden') + continue; + + //subMenu.cmOverlap.push (obj); + subMenu.cmOverlap[subMenu.cmOverlap.length] = obj; + obj.style.visibility = 'hidden'; + } +} + +// +// show the control hidden by the subMenu +// +function cmShowControl (subMenu) +{ + if (subMenu.cmOverlap) + { + var i; + for (i = 0; i < subMenu.cmOverlap.length; ++i) + subMenu.cmOverlap[i].style.visibility = ""; + } + subMenu.cmOverlap = null; +} + +// +// returns the main menu or the submenu table where this obj (menu item) +// is in +// +function cmGetThisMenu (obj, prefix) +{ + var str1 = prefix + 'SubMenu'; + var str2 = prefix + 'Menu'; + while (obj) + { + if (obj.className == str1 || obj.className == str2) + return obj; + obj = obj.parentNode; + } + return null; +} + +// +// A special effect function to hook the menu which contains +// special effect object to the timer. +// +function cmTimeEffect (menuID, show, delayTime) +{ + window.setTimeout ('cmCallEffect("' + menuID + '",' + show + ')', delayTime); +} + +// +// A special effect function. Called by timer. +// +function cmCallEffect (menuID, show) +{ + var menu = cmGetObject (menuID); + if (!menu || !menu.cmEffect) + return; + try + { + if (show) + menu.cmEffect.showEffect (false); + else + menu.cmEffect.hideEffect (false); + } + catch (e) + { + } +} + +// +// return true if this item is handled using default handlers +// +function cmIsDefaultItem (item) +{ + if (item == _cmSplit || item[0] == _cmNoAction || item[0] == _cmNoClick) + return false; + return true; +} + +// +// returns the object baring the id +// +function cmGetObject (id) +{ + if (document.all) + return document.all[id]; + return document.getElementById (id); +} + +// +// functions that obtain the width of an HTML element. +// +function cmGetWidth (obj) +{ + var width = obj.offsetWidth; + if (width > 0 || !cmIsTRNode (obj)) + return width; + if (!obj.firstChild) + return 0; + // use TABLE's length can cause an extra pixel gap + //return obj.parentNode.parentNode.offsetWidth; + + // use the left and right child instead + return obj.lastChild.offsetLeft - obj.firstChild.offsetLeft + cmGetWidth (obj.lastChild); +} + +// +// functions that obtain the height of an HTML element. +// +function cmGetHeight (obj) +{ + var height = obj.offsetHeight; + if (height > 0 || !cmIsTRNode (obj)) + return height; + if (!obj.firstChild) + return 0; + // use the first child's height + return obj.firstChild.offsetHeight; +} + +// +// functions that obtain the coordinates of an HTML element +// +function cmGetX (obj) +{ + if (!obj) + return 0; + var x = 0; + + do + { + x += obj.offsetLeft; + obj = obj.offsetParent; + } + while (obj); + return x; +} + +function cmGetXAt (obj, elm) +{ + var x = 0; + + while (obj && obj != elm) + { + x += obj.offsetLeft; + obj = obj.offsetParent; + } + if (obj == elm) + return x; + return x - cmGetX (elm); +} + +function cmGetY (obj) +{ + if (!obj) + return 0; + var y = 0; + do + { + y += obj.offsetTop; + obj = obj.offsetParent; + } + while (obj); + return y; +} + +function cmIsTRNode (obj) +{ + var tagName = obj.tagName; + return tagName == "TR" || tagName == "tr" || tagName == "Tr" || tagName == "tR"; +} + +// +// get the Y position of the object. In case of TR element though, +// we attempt to adjust the value. +// +function cmGetYAt (obj, elm) +{ + var y = 0; + + if (!obj.offsetHeight && cmIsTRNode (obj)) + { + var firstTR = obj.parentNode.firstChild; + obj = obj.firstChild; + y -= firstTR.firstChild.offsetTop; + } + + while (obj && obj != elm) + { + y += obj.offsetTop; + obj = obj.offsetParent; + } + + if (obj == elm) + return y; + return y - cmGetY (elm); +} + +// +// extract description from the menu item and set the status text +// +function cmSetStatus (item) +{ + var descript = ''; + if (item.length > 4) + descript = (item[4] != null) ? item[4] : (item[2] ? item[2] : descript); + else if (item.length > 2) + descript = (item[2] ? item[2] : descript); + + window.defaultStatus = descript; +} + +// +// debug function, ignore :) +// +function cmGetProperties (obj) +{ + if (obj == undefined) + return 'undefined'; + if (obj == null) + return 'null'; + + var msg = obj + ':\n'; + var i; + for (i in obj) + msg += i + ' = ' + obj[i] + '; '; + return msg; +} + +/* v2.0.1 1. Disable iframe masking for IE7 since it is no longer necessary. */ +/* v2.0 1. improves the way handling flash/iframe/select boxes in IE + and firefox and Opera 9. Hiding these elements is no + longer necessary. For older versions of Opera, flash/iframe + still need to be hidden. + 2. Improves cmDrawFromText (). Also allows custom actions. + 3. Improves clickOpen behavior. Now once a submenu is opened, + opening other sub menus no longer requires clicking. + 4. Special Effects. This version has hooks that allow people + to install special effects to various themes. + 5. For a given menu item, cmGetMenuitem(item) provides the ability + to find the corresponding DOM element. + 6. Disable API. If you know which item to disable, you can call + cmDisableItem(item, themePrefix) and cmEnableItem(item, themePrefix). + However, you will have to provide your own CSS for the item. + For purposes other than to disable an item, cmGetMenuItem (item) + is provided for locating HTML DOM element of the menu item in concern. + 7. Better z-index. Now you can specify in the theme property the + starting z-index and incremental step for submenus. + 8. Allow themes to insert additional elements before and after + the sub menu table. + 9. Improved themes. More organized and easier to customize. + 10. Add a flag to control hiding/nohiding objects/iframes. By default, + only Opera before 9 hides objects. + 11. Add new property options to control submenu positions to fine tune + the look. + 12. It is no longer necessary to specify the theme name while calling + cmDraw and cmDrawFromText. Currently it still accepts it, but it + will not in the future. +*/ +/* v1.4.4 1. a quick fix for a bug for _cmSplit checking. reported by + Son Nguyen. +*/ +/* v1.4.3 1. changed how _cmSplit is handled a bit so that _cmNoClick can work + properly. All splits in predefined themes are changed to use + _cmNoClick instead of _cmNoAction. +*/ +/* v1.4.2 1. fixed _cmNoClick mouse hoover bug. + 2. fixed a statusbar text problem that cause text to disappear when + hoovering mouse within the same menu item. + 3. changed the behavior of cmDrawFromText s.t. if the title of the + of a link is empty, the actual url is used as text. To clear + this link information, title needs to be ' '. +*/ +/* v1.4.1 1. fixed a problem introduced in 1.4 where re-entering a main menu + item which doesn't have a child can disable its hover setting. + Apparently I deleted an extra line of code when I was doing + cleaning up. Reported by David Maliachi and a few others. +*/ +/* JSCookMenu v1.4 1. fixed a minor td cell closure problem. Thanks to Georg Lorenz + for discovering that. + 2. added clickOpen to nodeProperties. See _cmNodeProperties for + description. Basically menus can be opened on click only. + 3. added an ability to draw menu from an html node instead of a javascript + tree, making this script search bot friendly (I hope?). +*/ +/* JSCookMenu v1.31 1. fix a bug on IE with causes submenus to display at the top + left corner due to doctype. The fix was provided by + Burton Strauss . +*/ +/* JSCookMenu v1.3 1. automatically realign (left and right) the submenu when + client space is not enough. + 2. add _cmNoClick to get rid of menu closing behavior + on the particular menu item, to make it possible for things + such as search box to be inside the menu. +*/ +/* JSCookMenu v1.25 1. fix Safari positioning issue. The problem is that all TR elements are located + at the top left corner. Thus, need to obtain the "virtual" + position of these element could be at. +*/ +/* JSCookMenu v1.24 1. fix window based control hiding bug + thanks to Felix Zaslavskiy for the fix. +*/ +/* JSCookMenu v1.23 1. correct a position bug when the container is positioned. + thanks to Andre for narrowing down + the problem. +*/ +/* JSCookMenu v1.22 1. change Array.push (obj) call to Array[length] = obj. + Suggestion from Dick van der Kaaden to + make the script compatible with IE 5.0 + 2. Changed theme files a little to add z-index: 100 for sub + menus. This change is necessary for Netscape to avoid + a display problem. + 3. some changes to the DOM structure to make this menu working + on Netscape 6.0 (tested). The main reason is that NN6 does + not do absolute positioning with tables. Therefore an extra + div layer must be put around the table. +*/ +/* JSCookMenu v1.21 1. fixed a bug that didn't add 'px' as part of coordinates. + JSCookMenu should be XHTML validator friendly now. + 2. removed unnecessary display attribute and corresponding + theme entry to fix a problem that Netscape sometimes + render Office theme incorrectly +*/ +/* JSCookMenu v1.2. 1. fix the problem of showing status in Netscape + 2. changed the handler parameters a bit to allow + string literals to be passed to javascript based + links + 3. having null in target field would cause the link + to be opened in the current window, but this behavior + could change in the future releases +*/ +/* JSCookMenu v1.1. added ability to hide controls in IE to show submenus properly */ +/* JSCookMenu v1.01. cmDraw generates XHTML code */ +/* JSCookMenu v1.0. (c) Copyright 2002 by Heng Yuan */ diff -ruN 4.6rc2/includes/js/tabs/tabpane.css 4.6-complete/includes/js/tabs/tabpane.css --- 4.6rc2/includes/js/tabs/tabpane.css 2005-12-12 21:45:47.000000000 -0600 +++ 4.6-complete/includes/js/tabs/tabpane.css 2006-09-20 19:05:04.000000000 -0500 @@ -12,7 +12,7 @@ display: inline; float: left; overflow: hidden; - cursor: hand; + cursor: pointer; margin: 1px -1px 1px 2px; padding: 2px 0px 0px 0px; border: 0; @@ -37,7 +37,7 @@ font: 11px Tahoma; color: #333; text-decoration: none; - cursor: hand; + cursor: pointer; } .dynamic-tab-pane-control .tab-row .tab.hover { font: 11px Tahoma; diff -ruN 4.6rc2/includes/mambofunc.php 4.6-complete/includes/mambofunc.php --- 4.6rc2/includes/mambofunc.php 2006-06-07 03:15:51.000000000 -0500 +++ 4.6-complete/includes/mambofunc.php 2006-09-20 19:05:04.000000000 -0500 @@ -379,6 +379,16 @@ } // mosMail /** +* Create mail object +* @return mail object +*/ +function &mosCreateMail ($from, $fromname, $subject, $body) { + require_once(mamboCore::get('mosConfig_absolute_path').'/includes/phpmailer/class.phpmailer.php'); + $mail =& new mosMailer ($from, $fromname, $subject, $body); + return $mail; +} + +/** * Random password generator * @return password */ diff -ruN 4.6rc2/includes/pageNavigation.php 4.6-complete/includes/pageNavigation.php --- 4.6rc2/includes/pageNavigation.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/includes/pageNavigation.php 2006-09-20 19:05:04.000000000 -0500 @@ -25,8 +25,8 @@ function mosPageNav( $total, $limitstart, $limit ) { $this->total = intval( $total ); - $this->limitstart = max( $limitstart, 0 ); - $this->limit = max( $limit, 0 ); + $this->limitstart = max( intval($limitstart), 0 ); + $this->limit = max( intval($limit), 0 ); } /** * Returns the html limit # input box diff -ruN 4.6rc2/includes/phpgettext/phpgettext.catalog.php 4.6-complete/includes/phpgettext/phpgettext.catalog.php --- 4.6rc2/includes/phpgettext/phpgettext.catalog.php 2006-06-07 03:15:51.000000000 -0500 +++ 4.6-complete/includes/phpgettext/phpgettext.catalog.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,410 +1,411 @@ - - * @package PHPGettext - * @license MIT License (http://www.opensource.org/licenses/mit-license.php) - * @link http://phpgettext.web-sense.net - */ - - -define('_MODE_MO_', 'mo'); -define('_MODE_PO_', 'po'); -define('_MODE_POT_','pot'); - -require_once('phpgettext.message.php'); -class PHPGettext_Catalog -{ - var $mode = _MODE_MO_; - var $name = ''; - var $path = ''; - var $lang = 'en'; - var $charset = 'utf-8'; - var $category = 'LC_MESSAGES'; - var $comments = array(); - var $headers = array(); - var $strings = array(); - function PHPGettext_Catalog($name, $path) - { - $this->name = trim($name); - $this->path = trim($path); - } - - function load() - { - switch ($this->mode) - { - case _MODE_MO_: - return $this->_readMO(); - break; - case _MODE_PO_: - return $this->_readPO(); - break; - case _MODE_POT_: - return $this->_readPO(); - break; - default: - trigger_error('Unrecognized mode in '.__CLASS__.'->'.__FUNCTION__, E_USER_ERROR); - return false; - break; - } - } - - function save() - { - - $langdir = $this->path.DIRECTORY_SEPARATOR.$this->lang; - if (!is_dir($langdir)) { - $this->createdir($langdir.DIRECTORY_SEPARATOR.$this->category); - } - - switch ($this->mode) - { - case _MODE_MO_: - return $this->_writeMO(); - break; - case _MODE_PO_: - $this->setRevisionDate(); - return $this->_writePO(); - case _MODE_POT_: - return $this->_writePO(); - break; - default: - trigger_error('Unrecognized mode in '.__CLASS__.'->'.__FUNCTION__, E_USER_ERROR); - return false; - break; - } - } - - - function filename() - { - $return = $this->path.DIRECTORY_SEPARATOR; - $return .= !empty($this->lang) ? $this->lang.DIRECTORY_SEPARATOR : ''; - $return .= (!empty($this->category) && $this->mode == _MODE_MO_) ? $this->category.DIRECTORY_SEPARATOR : ''; - $return .= $this->name.'.'.$this->mode; - return $return; - } - - function createdir($path) - { - if (!file_exists($path)) - { - // The directory doesn't exist. Recurse, passing in the parent - // directory so that it gets created. - $this->createdir(dirname($path)); - mkdir($path, 0777); - } - } - - function setRevisionDate() - { - $this->headers['PO-Revision-Date'] = date('Y-m-d G:iO'); - } - - function setComments($comments) - { - $comments = trim($comments); - if (is_string($comments)) { - $comments = explode("\n", $comments); - if (is_array($comments)) { - foreach ($comments as $comment) { - if (strpos($comment, '#') == 1) { - $this->comments .= $comment."\n"; - } - } - } - } - } - - function setHeaders($headers) - { - if (!is_array($headers)) { - return false; - } - foreach ($headers as $key => $value) { - $this->headers[$key] = $value; - } - } - - function setproperty($property, $value = null) { - $return = $this->$property; - $this->$property = $value; - return $return; - } - function getproperty($property) { - return $this->$property; - } - function addentry($msgid, $msgid_plural=null, $msgstr=null, $comments=array()) - { - $entry = new PHPGettext_Message($msgid, $msgid_plural); - if (!is_null($msgstr)) $entry->setmsgstr($msgstr); - if (!empty($comments)) $entry->setcomments($comments); - $this->strings[$msgid] = $entry; - } - - function _writePO() - { - $file = $this->filename(); - - // open PO file - if (!is_resource($res = @fopen($file, 'w'))) { - trigger_error("Cannot create '$file'. ", E_USER_WARNING); - } - // lock PO file exclusively - if (!@flock($res, LOCK_EX)) { - @fclose($res); - trigger_error("Cannot lock '$file'. ", E_USER_WARNING); - } - // write comments - if (count($this->comments > 0)) { - foreach ($this->comments as $line) { - fwrite($res, trim($line)."\n"); - } - } - // write meta info - if (count($this->headers > 0)) { - $header = 'msgid ""' . "\nmsgstr " . '""' . "\n"; - foreach ($this->headers as $k => $v) { - $header .= '"' . $k . ': ' . $v . '\n"' . "\n"; - } - fwrite($res, $header . "\n"); - } - - // write strings - if (count($this->strings > 0)) { - foreach ($this->strings as $string) { - fwrite($res, $string->toString()); - } - } - //done - @flock($res, LOCK_UN); - @fclose($res); - return true; - } - - function _readPO() - { - $file = $this->filename(); - if (!is_readable($file)) { - trigger_error('Gettext Catalog '.$this->filename().' not found', E_USER_WARNING); - return false; - } - // load file - if (!$data = @file($file)) { - trigger_error('Gettext Catalog '.$this->filename().' not found', E_USER_WARNING); - return false; - } - $count = 0; - $comments = ''; - $is_fuzzy = false; - $nplural = false; - - // get all strings - foreach ($data as $line) { - // comments - if (strncmp($line, "#", 1) == 0) { - if ($count < 1) { - $this->comments[] = $line; - } else { - if (strncmp($line, "#,", 2) == 0 && preg_match('/fuzzy/', $line)) { - unset($line); - $is_fuzzy = true; - } - if (isset($line)) { - $comments[] = $line; - } - } - }// msgid - elseif (preg_match('/^msgid\s*"(.*)"\s*|^msgid_plural\s*"(.*)"\s*/s', $line, $matches)) { - if (preg_match('/^msgid_plural\s*/s', $line, $arr)) { - $nplural = true; - $strings[$count]['msgid_plural'] = $matches[2]; - } else { - $count++; - $strings[$count]['comments'] = isset($comments) ? $comments : ''; - $strings[$count]['msgid'] = ''; - $strings[$count]['msgid_plural'] = ''; - $strings[$count]['msgstr'] = ''; - $strings[$count]['is_fuzzy'] = $is_fuzzy; - if (!empty($matches[1])) { - $strings[$count]['msgid'] = $matches[1]; - } - unset($msgstr); - unset($comments); - $nplural = false; - $is_fuzzy = false; - - } - } // msgstr - elseif (preg_match('/^msgstr\s*"(.*)"\s*|^msgstr\[[0-9]\]\s*"(.*)"\s*/s', $line, $matches)) { - $msgstr = true; - if ($nplural) { - $strings[$count]['msgstr'][] = isset($matches[2]) ? $matches[2] : ''; - } else { - $strings[$count]['msgstr'] = $matches[1]; - } - } // multiline msgid or msgstr - elseif (preg_match('/^"(.*)"\s*$/s', $line, $matches)) { - // headers - if (isset($msgstr) && $count == 1) { - list($key, $value) = explode(':', $matches[1], 2); - $this->headers[$key] = $value; - } - elseif (isset($msgstr) && $count > 1) { - $strings[$count]['msgstr'] .= $matches[1]; - } - else { // msgid - $strings[$count]['msgid'] .= $matches[1]; - } - } - } - - // load the strings - array_shift($strings); - for ($a=0; $a < count($strings); $a++) { - $this->strings[$a] = new PHPGettext_Message($strings[$a]['msgid'], $strings[$a]['msgid_plural']); - $this->strings[$a]->setmsgstr($strings[$a]['msgstr']); - $this->strings[$a]->setfuzzy($strings[$a]['is_fuzzy']); - $this->strings[$a]->setcomments($strings[$a]['comments']); - } - return true; - } - - function _writeMO() - { - $file = $this->filename(); - - // open MO file - if (!is_resource($res = @fopen($file, 'w'))) { - trigger_error("Cannot create '$file'. ", E_USER_WARNING); - } - // lock MO file exclusively - if (!@flock($res, LOCK_EX)) { - @fclose($res); - trigger_error("Cannot lock '$file'. ", E_USER_WARNING); - } - - // get the headers - foreach ($this->headers as $key => $val) { - $headers .= $key . ': ' . $val . "\n"; - } - $strings[] = array('msgid' => "", 'msgstr' => $headers); - - // don't write fuzzy entries - foreach ($this->strings as $message) { - if (!$message->is_fuzzy) { - $strings[] = array('msgid' => $message->msgid,'msgid_plural' => $message->msgid_plural, 'msgstr' => $message->msgstr); - } - - } - - $count = count($strings); - fwrite($res, pack('L', (int) 0x950412de)); // magic number - fwrite($res, pack('L', 0)); // revision 0 - fwrite($res, pack('L', $count)); // N - number of strings - $offset = 28; - fwrite($res, pack('L', $offset)); // O - offset of table with original strings - $offset += ($count * 8); - fwrite($res, pack('L', $offset)); // T - offset of table with translation strings - fwrite($res, pack('L', 0)); // S - size of hashing table (set to 0 to omit the table) - $offset += ($count * 8); - fwrite($res, pack('L', $offset)); // H - offset of hashing table - - // offsets for original strings - for ($a=0; $a<$count; $a++) { - if (isset($strings[$a]['msgid_plural'])) { // plurals - $strings[$a]['msgid'] = $strings[$a]['msgid'] ."\0".$strings[$a]['msgid_plural']; - } - $len = strlen($strings[$a]['msgid']); - fwrite($res, pack('L', $len)); - fwrite($res, pack('L', $offset)); - $offset += $len + 1; - } - - // offsets for translated strings - for ($a=0; $a<$count; $a++) { - if (is_array($strings[$a]['msgstr'])) { // plurals - $strings[$a]['msgstr'] = implode("\0", $strings[$a]['msgstr']); - } - $len = strlen($strings[$a]['msgstr']); - fwrite($res, pack('L', $len)); - fwrite($res, pack('L', $offset)); - $offset += $len + 1; - } - - // write original strings - foreach ($strings as $str) { - fwrite($res, $str['msgid'] . "\0"); - } - // write translated strings - foreach ($strings as $str) { - fwrite($res, $str['msgstr'] . "\0"); - } - // done - @flock($res, LOCK_UN); - @fclose($res); - return true; - } - - - function _readMO() - { - $file = $this->filename(); - if (!file_exists($file)) return false; - - // read in data file completely - $f = fopen($file, "rb"); - $data = fread($f, 1<<20); - fclose($f); - - // extract header fields and check file magic - if ($data) { - $header = substr($data, 0, 20); - $header = unpack("L1magic/L1version/L1count/L1o_msg/L1o_trn", $header); - extract($header); - if ((dechex($magic) == "950412de") && ($version == 0)) { - // fetch all strings - for ($a=0; $a<$count; $a++) { - // msgid - $r = unpack("L1len/L1offs", substr($data, $o_msg + $a * 8, 8)); - $msgid = substr($data, $r["offs"], $r["len"]); - unset($msgid_plural); - if (strpos($msgid, "\0")) { // plurals - list($msgid, $msgid_plural) = explode("\0", $msgid); - } - // msgstr - $r = unpack("L1len/L1offs", substr($data, $o_trn + $a * 8, 8)); - $msgstr = substr($data, $r["offs"], $r["len"]); - if (isset($msgid_plural)) { // plurals - $msgstr = explode("\0", $msgstr); - } - $strings[$a]['msgid'] = $msgid; - $strings[$a]['msgstr'] = $msgstr; - $strings[$a]['msgid_plural'] = isset($msgid_plural) ? $msgid_plural : ''; - } - if (!empty($strings[0]['msgstr'])){ // header - $str = explode("\n", $strings[0]['msgstr']); - foreach ($str as $s){ - if (!empty($s)) { - list($key, $value) = explode(':', $s, 2); - $this->headers[$key] = $value; - } - } - } - // load the strings - array_shift($strings); - for ($a=0; $a < count($strings); $a++) { - $this->strings[$a] = new PHPGettext_Message($strings[$a]['msgid'], $strings[$a]['msgid_plural']); - $this->strings[$a]->setmsgstr($strings[$a]['msgstr']); - } - return true; - } - } - return false; - } - - -} + + * @package PHPGettext + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + * @link http://phpgettext.web-sense.net + */ + + +define('_MODE_MO_', 'mo'); +define('_MODE_PO_', 'po'); +define('_MODE_POT_','pot'); + +require_once('phpgettext.message.php'); +class PHPGettext_Catalog +{ + var $mode = _MODE_MO_; + var $name = ''; + var $path = ''; + var $lang = 'en'; + var $charset = 'utf-8'; + var $category = 'LC_MESSAGES'; + var $comments = array(); + var $headers = array(); + var $strings = array(); + function PHPGettext_Catalog($name, $path) + { + $this->name = trim($name); + $this->path = trim($path); + } + + function load() + { + switch ($this->mode) + { + case _MODE_MO_: + return $this->_readMO(); + break; + case _MODE_PO_: + return $this->_readPO(); + break; + case _MODE_POT_: + return $this->_readPO(); + break; + default: + trigger_error('Unrecognized mode in '.__CLASS__.'->'.__FUNCTION__, E_USER_ERROR); + return false; + break; + } + } + + function save() + { + + $langdir = $this->path.DIRECTORY_SEPARATOR.$this->lang; + if (!is_dir($langdir)) { + $this->createdir($langdir.DIRECTORY_SEPARATOR.$this->category); + } + + switch ($this->mode) + { + case _MODE_MO_: + return $this->_writeMO(); + break; + case _MODE_PO_: + $this->setRevisionDate(); + return $this->_writePO(); + case _MODE_POT_: + return $this->_writePO(); + break; + default: + trigger_error('Unrecognized mode in '.__CLASS__.'->'.__FUNCTION__, E_USER_ERROR); + return false; + break; + } + } + + + function filename() + { + $return = $this->path.DIRECTORY_SEPARATOR; + $return .= !empty($this->lang) ? $this->lang.DIRECTORY_SEPARATOR : ''; + $return .= (!empty($this->category) && $this->mode == _MODE_MO_) ? $this->category.DIRECTORY_SEPARATOR : ''; + $return .= $this->name.'.'.$this->mode; + return $return; + } + + function createdir($path) + { + if (!file_exists($path)) + { + // The directory doesn't exist. Recurse, passing in the parent + // directory so that it gets created. + $this->createdir(dirname($path)); + mkdir($path, 0777); + } + } + + function setRevisionDate() + { + $this->headers['PO-Revision-Date'] = date('Y-m-d G:iO'); + } + + function setComments($comments) + { + $comments = trim($comments); + if (is_string($comments)) { + $comments = explode("\n", $comments); + if (is_array($comments)) { + foreach ($comments as $comment) { + if (strpos($comment, '#') == 1) { + $this->comments .= $comment."\n"; + } + } + } + } + } + + function setHeaders($headers) + { + if (!is_array($headers)) { + return false; + } + foreach ($headers as $key => $value) { + $this->headers[$key] = $value; + } + } + + function setproperty($property, $value = null) { + $return = $this->$property; + $this->$property = $value; + return $return; + } + function getproperty($property) { + return $this->$property; + } + function addentry($msgid, $msgid_plural=null, $msgstr=null, $comments=array()) + { + $entry = new PHPGettext_Message($msgid, $msgid_plural); + if (!is_null($msgstr)) $entry->setmsgstr($msgstr); + if (!empty($comments)) $entry->setcomments($comments); + $this->strings[$msgid] = $entry; + } + + function _writePO() + { + $file = $this->filename(); + + // open PO file + if (!is_resource($res = @fopen($file, 'w'))) { + trigger_error("Cannot create '$file'. ", E_USER_WARNING); + } + // lock PO file exclusively + if (!@flock($res, LOCK_EX)) { + @fclose($res); + trigger_error("Cannot lock '$file'. ", E_USER_WARNING); + } + // write comments + if (count($this->comments > 0)) { + foreach ($this->comments as $line) { + fwrite($res, trim($line)."\n"); + } + } + // write meta info + if (count($this->headers > 0)) { + $header = 'msgid ""' . "\nmsgstr " . '""' . "\n"; + foreach ($this->headers as $k => $v) { + $header .= '"' . $k . ': ' . $v . '\n"' . "\n"; + } + fwrite($res, $header . "\n"); + } + + // write strings + if (count($this->strings > 0)) { + foreach ($this->strings as $string) { + fwrite($res, $string->toString()); + } + } + //done + @flock($res, LOCK_UN); + @fclose($res); + return true; + } + + function _readPO() + { + $file = $this->filename(); + if (!is_readable($file)) { + trigger_error('Gettext Catalog '.$this->filename().' not found', E_USER_WARNING); + return false; + } + // load file + if (!$data = @file($file)) { + trigger_error('Gettext Catalog '.$this->filename().' not found', E_USER_WARNING); + return false; + } + $count = 0; + $comments = ''; + $is_fuzzy = false; + $nplural = false; + + // get all strings + foreach ($data as $line) { + // comments + if (strncmp($line, "#", 1) == 0) { + if ($count < 1) { + $this->comments[] = $line; + } else { + if (strncmp($line, "#,", 2) == 0 && preg_match('/fuzzy/', $line)) { + unset($line); + $is_fuzzy = true; + } + if (isset($line)) { + $comments[] = $line; + } + } + }// msgid + elseif (preg_match('/^msgid\s*"(.*)"\s*|^msgid_plural\s*"(.*)"\s*/s', $line, $matches)) { + if (preg_match('/^msgid_plural\s*/s', $line, $arr)) { + $nplural = true; + $strings[$count]['msgid_plural'] = $matches[2]; + } else { + $count++; + $strings[$count]['comments'] = isset($comments) ? $comments : ''; + $strings[$count]['msgid'] = ''; + $strings[$count]['msgid_plural'] = ''; + $strings[$count]['msgstr'] = ''; + $strings[$count]['is_fuzzy'] = $is_fuzzy; + if (!empty($matches[1])) { + $strings[$count]['msgid'] = $matches[1]; + } + unset($msgstr); + unset($comments); + $nplural = false; + $is_fuzzy = false; + + } + } // msgstr + elseif (preg_match('/^msgstr\s*"(.*)"\s*|^msgstr\[[0-9]\]\s*"(.*)"\s*/s', $line, $matches)) { + $msgstr = true; + if ($nplural) { + $strings[$count]['msgstr'][] = isset($matches[2]) ? $matches[2] : ''; + } else { + $strings[$count]['msgstr'] = $matches[1]; + } + } // multiline msgid or msgstr + elseif (preg_match('/^"(.*)"\s*$/s', $line, $matches)) { + // headers + if (isset($msgstr) && $count == 1) { + list($key, $value) = explode(':', $matches[1], 2); + $this->headers[$key] = $value; + } + elseif (isset($msgstr) && $count > 1) { + $strings[$count]['msgstr'] .= $matches[1]; + } + else { // msgid + $strings[$count]['msgid'] .= $matches[1]; + } + } + } + + // load the strings + array_shift($strings); + for ($a=0; $a < count($strings); $a++) { + $this->strings[$a] = new PHPGettext_Message($strings[$a]['msgid'], $strings[$a]['msgid_plural']); + $this->strings[$a]->setmsgstr($strings[$a]['msgstr']); + $this->strings[$a]->setfuzzy($strings[$a]['is_fuzzy']); + $this->strings[$a]->setcomments($strings[$a]['comments']); + } + return true; + } + + function _writeMO() + { + $file = $this->filename(); + + // open MO file + if (!is_resource($res = @fopen($file, 'w'))) { + trigger_error("Cannot create '$file'. ", E_USER_WARNING); + } + // lock MO file exclusively + if (!@flock($res, LOCK_EX)) { + @fclose($res); + trigger_error("Cannot lock '$file'. ", E_USER_WARNING); + } + + // get the headers + $headers = ""; + foreach ($this->headers as $key => $val) { + $headers .= $key . ': ' . $val . "\n"; + } + $strings[] = array('msgid' => "", 'msgstr' => $headers); + + // don't write fuzzy entries + foreach ($this->strings as $message) { + if (!$message->is_fuzzy) { + $strings[] = array('msgid' => $message->msgid,'msgid_plural' => $message->msgid_plural, 'msgstr' => $message->msgstr); + } + + } + + $count = count($strings); + fwrite($res, pack('L', (int) 0x950412de)); // magic number + fwrite($res, pack('L', 0)); // revision 0 + fwrite($res, pack('L', $count)); // N - number of strings + $offset = 28; + fwrite($res, pack('L', $offset)); // O - offset of table with original strings + $offset += ($count * 8); + fwrite($res, pack('L', $offset)); // T - offset of table with translation strings + fwrite($res, pack('L', 0)); // S - size of hashing table (set to 0 to omit the table) + $offset += ($count * 8); + fwrite($res, pack('L', $offset)); // H - offset of hashing table + + // offsets for original strings + for ($a=0; $a<$count; $a++) { + if (isset($strings[$a]['msgid_plural'])) { // plurals + $strings[$a]['msgid'] = $strings[$a]['msgid'] ."\0".$strings[$a]['msgid_plural']; + } + $len = strlen($strings[$a]['msgid']); + fwrite($res, pack('L', $len)); + fwrite($res, pack('L', $offset)); + $offset += $len + 1; + } + + // offsets for translated strings + for ($a=0; $a<$count; $a++) { + if (is_array($strings[$a]['msgstr'])) { // plurals + $strings[$a]['msgstr'] = implode("\0", $strings[$a]['msgstr']); + } + $len = strlen($strings[$a]['msgstr']); + fwrite($res, pack('L', $len)); + fwrite($res, pack('L', $offset)); + $offset += $len + 1; + } + + // write original strings + foreach ($strings as $str) { + fwrite($res, $str['msgid'] . "\0"); + } + // write translated strings + foreach ($strings as $str) { + fwrite($res, $str['msgstr'] . "\0"); + } + // done + @flock($res, LOCK_UN); + @fclose($res); + return true; + } + + + function _readMO() + { + $file = $this->filename(); + if (!file_exists($file)) return false; + + // read in data file completely + $f = fopen($file, "rb"); + $data = fread($f, 1<<20); + fclose($f); + + // extract header fields and check file magic + if ($data) { + $header = substr($data, 0, 20); + $header = unpack("L1magic/L1version/L1count/L1o_msg/L1o_trn", $header); + extract($header); + if ((dechex($magic) == "950412de") && ($version == 0)) { + // fetch all strings + for ($a=0; $a<$count; $a++) { + // msgid + $r = unpack("L1len/L1offs", substr($data, $o_msg + $a * 8, 8)); + $msgid = substr($data, $r["offs"], $r["len"]); + unset($msgid_plural); + if (strpos($msgid, "\0")) { // plurals + list($msgid, $msgid_plural) = explode("\0", $msgid); + } + // msgstr + $r = unpack("L1len/L1offs", substr($data, $o_trn + $a * 8, 8)); + $msgstr = substr($data, $r["offs"], $r["len"]); + if (isset($msgid_plural)) { // plurals + $msgstr = explode("\0", $msgstr); + } + $strings[$a]['msgid'] = $msgid; + $strings[$a]['msgstr'] = $msgstr; + $strings[$a]['msgid_plural'] = isset($msgid_plural) ? $msgid_plural : ''; + } + if (!empty($strings[0]['msgstr'])){ // header + $str = explode("\n", $strings[0]['msgstr']); + foreach ($str as $s){ + if (!empty($s)) { + list($key, $value) = explode(':', $s, 2); + $this->headers[$key] = $value; + } + } + } + // load the strings + array_shift($strings); + for ($a=0; $a < count($strings); $a++) { + $this->strings[$a] = new PHPGettext_Message($strings[$a]['msgid'], $strings[$a]['msgid_plural']); + $this->strings[$a]->setmsgstr($strings[$a]['msgstr']); + } + return true; + } + } + return false; + } + + +} ?> \ No newline at end of file diff -ruN 4.6rc2/includes/phpgettext/phpgettext.class.php 4.6-complete/includes/phpgettext/phpgettext.class.php --- 4.6rc2/includes/phpgettext/phpgettext.class.php 2006-06-08 04:17:26.000000000 -0500 +++ 4.6-complete/includes/phpgettext/phpgettext.class.php 2006-09-20 19:05:04.000000000 -0500 @@ -6,8 +6,8 @@ * @package PHPGettext * @license MIT License (http://www.opensource.org/licenses/mit-license.php) * @link http://phpgettext.web-sense.net - * - * + * + * */ class PHPGettext { @@ -54,29 +54,33 @@ function PHPGettext() {} /** - * + * * Set and lookup the locale from the environment variables. * Priority order for gettext is: * 1. LANGUAGE * 2. LC_ALL * 3. LC_MESSAGE - * 4. LANG + * 4. LANG * * @return unknown */ - function setlocale($lang, $locale=false) { - #dump(setlocale(LC_ALL, 0)); - putenv("LANGUAGE=$lang"); - putenv("LC_ALL=$lang"); - putenv("LC_MESSAGE=$lang"); - putenv("LANG=$lang"); - $this->lang = $lang; - if ($locale) { - $this->locale = setlocale(LC_ALL, $locale); - setlocale(LC_ALL, $locale); - } - } + function setlocale($lang, $locale=false) { + //supress error messages + ini_set('display_errors', '0'); + #dump(setlocale(LC_ALL, 0)); + putenv("LANGUAGE=$lang"); + putenv("LC_ALL=$lang"); + putenv("LC_MESSAGE=$lang"); + putenv("LANG=$lang"); + $this->lang = $lang; + if ($locale) { + $this->locale = setlocale(LC_ALL, $locale); + setlocale(LC_ALL, $locale); + } + //allow error messages + ini_set('display_errors', '1'); + } function getlocale() { if (empty($this->locale)) { @@ -96,7 +100,7 @@ /** * debugging function - * + * */ function output($message, $untranslated = false){ switch ($this->debug) @@ -161,7 +165,7 @@ } /** - * Plural version of gettext + * Plural version of gettext */ function ngettext($msgid, $msgid_plural, $count){ if ($this->has_gettext){ @@ -179,7 +183,7 @@ return $this->output($translation, $untranslated); } /** - * Plural version of dgettext + * Plural version of dgettext */ function dngettext($domain, $msgid, $msgid_plural, $count){ $original = array($msgid, $msgid_plural); @@ -198,8 +202,8 @@ } /** - * Specify the character encoding in which the messages - * from the DOMAIN message catalog will be returned + * Specify the character encoding in which the messages + * from the DOMAIN message catalog will be returned * */ function bind_textdomain_codeset($domain, $charset){ @@ -212,7 +216,7 @@ /** * Sets the path for a domain * if gettext is unavailable, translation files will be loaded here - * + * */ function bindtextdomain($domain, $path){ if ($this->has_gettext){ @@ -239,10 +243,10 @@ /** * Overrides the domain for a single lookup - * This function allows you to override the current domain for a single message lookup. - * It also allows you to specify a category. + * This function allows you to override the current domain for a single message lookup. + * It also allows you to specify a category. * Categories are folders within the languages directory . - * currently, only LC_MESSAGES is implemented + * currently, only LC_MESSAGES is implemented * * The values for categories are: * LC_CTYPE 0 @@ -269,27 +273,27 @@ /** - * Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; - * + * Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; + * * nplurals - total number of plurals * plural - the plural index - * + * * Plural-Forms: nplurals=1; plural=0; - * 1 form only - * - * Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; + * 1 form only + * + * Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; * Plural-Forms: nplurals=2; plural=n != 1; * 2 forms, singular used for one only - * + * * Plural-Forms: nplurals=2; plural=n>1; * 2 forms, singular used for zero and one - * + * * Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2; * 3 forms, special case for zero - * + * * Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2; * 3 forms, special cases for one and two - * + * * Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3; * 4 forms, special case for one and all numbers ending in 02, 03, or 04 */ @@ -380,7 +384,7 @@ * @param unknown_type $langdir */ function compile($lang, $textdomain, $enc='utf-8') { - + if ($this->has_gettext) { $cmd = "msgfmt -o $textdomain/$lang/LC_MESSAGES/$lang.mo $textdomain/$lang/$lang.po"; return $this->execute($cmd); @@ -513,7 +517,7 @@ $cmd = $cmd." --files-from=$tmpfile"; } else { $cmd = $cmd." ".implode(" ", $php_sources); - } + } $ret = $this->execute($cmd); @unlink($tmpfile); return $ret; diff -ruN 4.6rc2/includes/version.php 4.6-complete/includes/version.php --- 4.6rc2/includes/version.php 2006-07-02 15:21:22.000000000 -0500 +++ 4.6-complete/includes/version.php 2006-09-20 19:05:04.000000000 -0500 @@ -16,13 +16,13 @@ /** @var int Main Release Level */ var $RELEASE = '4.6'; /** @var string Development Status */ - var $DEV_STATUS = 'Release Candidate 2'; + var $DEV_STATUS = 'Stable'; /** @var int Sub Release Level */ var $DEV_LEVEL = '0'; /** @var string Codename */ - var $CODENAME = 'Kare'; + var $CODENAME = 'Graff'; /** @var string Date */ - var $RELDATE = '3-July-2006'; + var $RELDATE = '18-Sept-2006'; /** @var string Time */ var $RELTIME = '03:00'; /** @var string Timezone */ @@ -30,7 +30,7 @@ /** @var string Copyright Text */ var $COPYRIGHT = 'Copyright 2000 - 2006 Mambo Foundation. All rights reserved.'; /** @var string URL */ - var $URL = 'Mambo is Free Software released under the GNU/GPL License.'; + var $URL = 'Mambo is Free Software released under the GNU/GPL License.'; } -?> +?> diff -ruN 4.6rc2/index.php 4.6-complete/index.php --- 4.6rc2/index.php 2006-06-07 03:15:51.000000000 -0500 +++ 4.6-complete/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -55,27 +55,19 @@ return $sef->sefRelToAbs($string); } -if (!isset($adminside)) { - $adminside = 0; -} -if (!isset($indextype)) { - $indextype = 1; -} +if (!isset($adminside)) $adminside = 0; +if (!isset($indextype)) $indextype = 1; require_once (dirname(__FILE__).'/includes/database.php'); require_once(dirname(__FILE__).'/includes/core.classes.php'); $configuration =& mamboCore::getMamboCore(); $configuration->handleGlobals(); -//new mosErrorHandler(); - - require($configuration->rootPath().'/includes/version.php'); $_VERSION =& new version(); - $version = $_VERSION->PRODUCT .' '. $_VERSION->RELEASE .'.'. $_VERSION->DEV_LEVEL .' ' . $_VERSION->DEV_STATUS .' [ '.$_VERSION->CODENAME .' ] '. $_VERSION->RELDATE .' ' diff -ruN 4.6rc2/language/glossary/th_TH.utf-8.po 4.6-complete/language/glossary/th_TH.utf-8.po --- 4.6rc2/language/glossary/th_TH.utf-8.po 2006-06-08 04:17:26.000000000 -0500 +++ 4.6-complete/language/glossary/th_TH.utf-8.po 2006-09-20 19:05:05.000000000 -0500 @@ -10,8 +10,8 @@ "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-06-08 09:23+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"Last-Translator: Akarawuth Tamrareang \n" +"Language-Team: MamboHub.com \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -210,7 +210,7 @@ #: administrator/components/com_admin/admin.admin.html.php:491 msgid "Search Results" -msgstr "" +msgstr "ผลการค้นหา" #: administrator/components/com_admin/admin.admin.html.php:493 msgid "Index" @@ -230,7 +230,7 @@ #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:27 msgid "News Feed Manager" -msgstr "" +msgstr "การจัดการ News Feed" #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:44 msgid "News Feed" @@ -264,7 +264,7 @@ #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:93 msgid "Edit News Feed" -msgstr "" +msgstr "แก้ไข News Feed" #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:112 msgid "Edit Category" @@ -272,7 +272,7 @@ #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:152 msgid "Please fill in the news feed name." -msgstr "" +msgstr "กรุณาหาชื่อของ News Feed" #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:154 msgid "Please select a Category." @@ -280,7 +280,7 @@ #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:156 msgid "Please fill in the news feed link." -msgstr "" +msgstr "กรุณาหาลิงก์ของ News Feed" #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:158 msgid "Please select a category." @@ -304,7 +304,7 @@ #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:173 msgid "News Feed:" -msgstr "" +msgstr "News Feed:" #: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:181 msgid "Details" @@ -587,16 +587,22 @@ "\tcomponent stopped working with Mambo 4.5.3h and development appears to " "have ceased.

      \n" msgstr "" +"

      MOStlyDBAdmin จะใช้สำหรับการ back up หรือrestore ฐานข้อมูลได้โดยง่าย.

      " +"เป็นตัวที่พัฒนา \r\n" +"\tมาจากคอมโพเน้นท์ dbadmin เพื่อใช้งานกับ Mambo 4.6+. คอมโพเน้นท์ dbadmin \r\n" +"\tได้หยุดการทำงานบน Mambo 4.5.3h และไม่มีการพัฒนาต่อ.

      \n" #: administrator/components/com_mostlydbadmin/mostlydbadmin.xml msgid "MOStlyDBAdmin" -msgstr "" +msgstr "MOStlyDBAdmin" #: administrator/components/com_mostlyce/mostlyce.xml msgid "" "

      Admin component for the MOStlyCE editor mambot. Helps customize your " "MOStlyCE editor installation.

      " msgstr "" +"

      Admin คอมโพเน้นท์ สำหรับ MOStlyCE editor แมมบอท. ช่วยเหลือและปรับปรุง " +"MOStlyCE editor หลังจากได้ทำการติดตั้ง.

      " #: administrator/components/com_mostlyce/mostlyce.xml msgid "mostlyce" @@ -1941,7 +1947,7 @@ #: administrator/components/com_menus/content_category/content_category.xml msgid "His" -msgstr "" +msgstr "ผู้ชม" #: administrator/components/com_menus/content_category/content_category.xml #: administrator/components/com_menus/content_section/content_section.xml @@ -2118,7 +2124,7 @@ #: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:66 msgid "Menu Item :: Table - News Feed Category" -msgstr "" +msgstr "รายการเมนู :: ตาราง - ประเภท News Feed" #: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml msgid "" @@ -2144,11 +2150,11 @@ #: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml msgid "Shows a Table view of News Feed items for a particular Category" -msgstr "" +msgstr "แสดงแบบตารางของรายการ News Feed จากประเภทที่ต้องการแสดง" #: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml msgid "Table - News Feed Category" -msgstr "" +msgstr "ตาราง - ประเภท News Feed" #. outputs item name, category & section instead of the select list #: administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php:60 @@ -2157,15 +2163,15 @@ #: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:37 msgid "You must select a News Feed to link to" -msgstr "" +msgstr "คุณต้องเลือก News Feed ที่ต้องการทำลิงก์เพื่อเชื่อมต่อ" #: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:50 msgid "Menu Item :: Link - News Feed" -msgstr "" +msgstr "รายการเมนู :: ลิงก์ - News Feed" #: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:74 msgid "News Feed to Link:" -msgstr "" +msgstr "News Feed ที่จะเชื่อมโยง:" #: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml msgid "Creates a link to an individual Published Newsfeed" @@ -2185,7 +2191,7 @@ #: administrator/components/com_menus/separator/separator.xml msgid "Creates a menu placeholder or separator" -msgstr "" +msgstr "สร้างเมนูเพื่อเว้นช่อง หรือสร้างเส้นขั้น" #: administrator/components/com_menus/separator/separator.xml msgid "Separator / Placeholder" @@ -2227,7 +2233,7 @@ #: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:66 msgid "Menu Item :: Table - Web Link Category" -msgstr "" +msgstr "รายการเมนู :: ตาราง - ประเภทเว็บลิงก์" #: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml msgid "Link Descriptions" @@ -2314,6 +2320,10 @@ msgid "Menu Name:" msgstr "ชื่อเมนู:" +#: administrator/components/com_menumanager/admin.menumanager.html.php:205 +msgid "Module Title:" +msgstr "ชื่อโมดูลเมนู:" + #: administrator/components/com_menumanager/admin.menumanager.html.php:195 msgid "" "This is the identification name used by mambo to identify this menu within " @@ -2333,10 +2343,8 @@ "โมดูล mod_mainmenu ใหม่, ที่อยู่ในชื่อโมดูลที่คุณกรอกไว้จะถูกบันทึกโดยอัตโนมัติเมื่อคุณบันทึกเมนู." #: administrator/components/com_menumanager/admin.menumanager.html.php:218 -msgid "" -"Parameters for the module created are to be edited through the \"Modules " -"Manager [site]\": Modules -> Site Modules" -msgstr "" +msgid "Parameters for the module created are to be edited through the "Modules Manager [site]": Modules -> Site Modules" +msgstr "พารามิเตอร์สำหรับโมดูลที่สร้างขึ้น จะสามารถแก้ไขได้จากเมนู "การจัดการโมดูล [เว็บ]": โมดูล -> โมดูลเว็บ" #: administrator/components/com_menumanager/admin.menumanager.html.php:266 #, php-format @@ -2848,7 +2856,7 @@ #: administrator/components/com_languages/actions/default.action.php:25 msgid "Default Language succesfully updated!" -msgstr "" +msgstr "ภาษาพื้นฐานถูกปรับปรุงเป็นผลสำเร็จ!" #: administrator/components/com_languages/actions/default.action.php:27 #: administrator/components/com_languages/actions/publish.action.php:40 @@ -2862,15 +2870,15 @@ #: administrator/components/com_languages/toolbar.languages.php:42 #: administrator/components/com_languages/toolbar.languages.php:67 msgid "Translate Strings" -msgstr "" +msgstr "แปลสตริง" #: administrator/components/com_languages/toolbar.languages.php:45 msgid "Auto Translate" -msgstr "" +msgstr "แปลอัตโนมัติ" #: administrator/components/com_languages/toolbar.languages.php:69 msgid "Export" -msgstr "" +msgstr "ส่งออก" #: administrator/components/com_languages/toolbar.languages.php:94 msgid "Extract Strings" @@ -2887,82 +2895,82 @@ #: administrator/components/com_languages/views/templates/langform.tpl.php:153 #: administrator/components/com_languages/views/templates/languages.tpl.php:21 msgid "Language" -msgstr "" +msgstr "ภาษา" #: administrator/components/com_languages/views/edit.view.php:28 msgid "New language" -msgstr "" +msgstr "สร้างภาษาใหม่" #: administrator/components/com_languages/views/edit.view.php:43 msgid "Edit language" -msgstr "" +msgstr "แก้ไขภาษา" #: administrator/components/com_languages/views/edit.view.php:72 #, php-format msgid "Translate Catalog: %s [%s]" -msgstr "" +msgstr "แปลสมุดรายชื่อ: %s [%s]" #: administrator/components/com_languages/views/templates/catalogs.tpl.php:21 msgid "Language File" -msgstr "" +msgstr "ไฟล์ภาษา" #: administrator/components/com_languages/views/templates/catalogs.tpl.php:22 msgid "% Translated" -msgstr "" +msgstr "แปลไปแล้ว %" #: administrator/components/com_languages/views/templates/catalogs.tpl.php:23 msgid "Total Strings" -msgstr "" +msgstr "สตริงทั้งหมด" #: administrator/components/com_languages/views/templates/catalogs.tpl.php:24 msgid "Translated Strings" -msgstr "" +msgstr "สตริงที่แปลแล้ว" #: administrator/components/com_languages/views/templates/catalogs.tpl.php:25 msgid "Fuzzy" -msgstr "" +msgstr "อื่นๆ" #: administrator/components/com_languages/views/templates/edit.tpl.php:11 msgid "You must provide a Language Name." -msgstr "" +msgstr "คุณต้องเลือกชื่อภาษา." #: administrator/components/com_languages/views/templates/edit.tpl.php:13 msgid "You must provide a Language Identifier." -msgstr "" +msgstr "คุณต้องเลือกผู้ใช้งานภาษา." #: administrator/components/com_languages/views/templates/edit.tpl.php:15 msgid "You must provide a locale." -msgstr "" +msgstr "คุณต้องเลือกประเทศ." #: administrator/components/com_languages/views/templates/edit.tpl.php:17 msgid "You must provide a character encoding." -msgstr "" +msgstr "คุณต้องเลือกที่เข้ารหัสตัวอักษร." #: administrator/components/com_languages/views/templates/edit.tpl.php:19 msgid "You must provide a date format." -msgstr "" +msgstr "คุณต้องเลือกรูปแบบวันที่." #: administrator/components/com_languages/views/templates/edit.tpl.php:33 msgid "New Language" -msgstr "" +msgstr "สร้างภาษาใหม่" #: administrator/components/com_languages/views/templates/edit.tpl.php:43 msgid "Language Identifier" -msgstr "" +msgstr "ผู้ใช้งานภาษา" #: administrator/components/com_languages/views/templates/edit.tpl.php:46 msgid "" "The identifier for this language. This is used for naming the language xml " "file and translations directory." -msgstr "" +msgstr "ผู้ใช้ที่จะใช้งานภาษา. สิ่งนี้จะถูกตั้งเป็นชื่อไฟล์ xml และไดเรกทอรี่ที่เก็บไฟล์แปล." #: administrator/components/com_languages/views/templates/edit.tpl.php:50 msgid "Language Name" -msgstr "" +msgstr "ชื่อภาษา" #: administrator/components/com_languages/views/templates/edit.tpl.php:53 msgid "The official name for this language" -msgstr "" +msgstr "ชื่อเป็นทางการสำหรับภาษานี้" #: administrator/components/com_languages/views/templates/edit.tpl.php:57 msgid "Locale" @@ -2971,44 +2979,44 @@ #: administrator/components/com_languages/views/templates/edit.tpl.php:60 msgid "" "The locale list for this language. \\nLocale names must be comma separated." -msgstr "" +msgstr "รายการประเทศของภาษา. \\nชื่อประเทศจำเป็นต้องมีจุดจุลภาค." #: administrator/components/com_languages/views/templates/edit.tpl.php:64 msgid "Encoding" -msgstr "" +msgstr "การเข้ารหัส" #: administrator/components/com_languages/views/templates/edit.tpl.php:67 msgid "The character encoding for this language. Ex. utf-8" -msgstr "" +msgstr "ตัวอักษรที่เข้ารหัสสำหรับภาษานี้. เช่น. utf-8" #: administrator/components/com_languages/views/templates/edit.tpl.php:71 msgid "Direction" -msgstr "" +msgstr "ทิศทาง" #: administrator/components/com_languages/views/templates/edit.tpl.php:74 msgid "Left-to-Right" -msgstr "" +msgstr "ซ้าย-ไป-ขวา" #: administrator/components/com_languages/views/templates/edit.tpl.php:75 msgid "Right-to-Left" -msgstr "" +msgstr "ขวา-ไป-ซ้าย" #: administrator/components/com_languages/views/templates/edit.tpl.php:77 msgid "Text direction." -msgstr "" +msgstr "ทิศทางข้อความ." #: administrator/components/com_languages/views/templates/edit.tpl.php:84 #: administrator/components/com_languages/views/templates/langform.tpl.php:233 msgid "Date format for strftime()." -msgstr "" +msgstr "รูปแบบวันที่สำหรับ strftime()." #: administrator/components/com_languages/views/templates/edit.tpl.php:88 msgid "Plural forms" -msgstr "" +msgstr "รูปแบบพหูพจน์" #: administrator/components/com_languages/views/templates/edit.tpl.php:91 msgid "Plural forms for gettext." -msgstr "" +msgstr "รูปแบบพหูพจน์สำหรับ gettext." #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:18 msgid "Messages" @@ -3016,31 +3024,31 @@ #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:23 msgid "Verified" -msgstr "" +msgstr "พิสูจน์" #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:26 #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:114 #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:121 msgid "Original" -msgstr "" +msgstr "ต้นฉบับ" #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:29 #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:116 #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:125 msgid "Translation" -msgstr "" +msgstr "การแปล" #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:32 msgid "Ref" -msgstr "" +msgstr "Ref" #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:55 msgid "Translation OK" -msgstr "" +msgstr "ยืนยันการแปล" #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:55 msgid "Verify Translation" -msgstr "" +msgstr "พิสูจน์การแปล" #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:86 msgid "Headers" @@ -3052,66 +3060,66 @@ #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:122 msgid "Singular" -msgstr "" +msgstr "ยอดเยี่ยม" #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:123 #: administrator/components/com_languages/views/templates/editcatalog.tpl.php:132 msgid "Plural" -msgstr "" +msgstr "พหูพจน์" #: administrator/components/com_languages/views/templates/form.tpl.php:39 msgid "Mambo Language Editor" -msgstr "" +msgstr "เอดิเตอร์ภาษาแมมโบ้" #: administrator/components/com_languages/views/templates/form.tpl.php:44 msgid "Select Language" -msgstr "" +msgstr "เลือกภาษา" #. #: administrator/components/com_languages/views/templates/form.tpl.php:54 msgid "No content to display." -msgstr "" +msgstr "ไม่มีเนื้อหาที่จะแสดง." #: administrator/components/com_languages/views/templates/langform.tpl.php:10 msgid "You must choose a language." -msgstr "" +msgstr "คุณต้องเลือกภาษา." #: administrator/components/com_languages/views/templates/langform.tpl.php:12 msgid "You must choose a character set." -msgstr "" +msgstr "คุณต้องเลือกการตั้งค่าตัวอักษร" #: administrator/components/com_languages/views/templates/langform.tpl.php:33 #: administrator/components/com_languages/views/templates/langform.tpl.php:109 msgid "choose language" -msgstr "" +msgstr "เลือกภาษา" #: administrator/components/com_languages/views/templates/langform.tpl.php:40 #: administrator/components/com_languages/views/templates/langform.tpl.php:120 msgid "choose territory" -msgstr "" +msgstr "เลือกอาณาเขต" #: administrator/components/com_languages/views/templates/langform.tpl.php:41 msgid "choose character set" -msgstr "" +msgstr "เลือกการตั้งค่าตัวอักษร" #: administrator/components/com_languages/views/templates/langform.tpl.php:117 #: administrator/components/com_languages/views/templates/langform.tpl.php:161 msgid "Territory" -msgstr "" +msgstr "อาณาเขต" #: administrator/components/com_languages/views/templates/langform.tpl.php:125 #: administrator/components/com_languages/views/templates/langform.tpl.php:169 #: administrator/components/com_languages/views/templates/languages.tpl.php:24 msgid "Character Set" -msgstr "" +msgstr "การตั้งค่าตัวอักษร" #: administrator/components/com_languages/views/templates/langform.tpl.php:128 msgid "choose charset" -msgstr "" +msgstr "เลือก charset" #: administrator/components/com_languages/views/templates/langform.tpl.php:175 msgid "Convert to" -msgstr "" +msgstr "แปลงเป็น" #: administrator/components/com_languages/views/templates/langform.tpl.php:199 #: administrator/components/com_languages/views/templates/table.tpl.php:32 @@ -3120,48 +3128,48 @@ #: administrator/components/com_languages/views/templates/langform.tpl.php:205 msgid "Author Url" -msgstr "" +msgstr "Url ผู้สร้าง" #: administrator/components/com_languages/views/templates/langform.tpl.php:211 msgid "Text Direction" -msgstr "" +msgstr "ทิศทางข้อความ" #: administrator/components/com_languages/views/templates/langform.tpl.php:214 msgid "left to right" -msgstr "" +msgstr "ซ้าย ไป ขวา" #: administrator/components/com_languages/views/templates/langform.tpl.php:215 msgid "right to left" -msgstr "" +msgstr "ขวา ไป ซ้าย" #: administrator/components/com_languages/views/templates/langform.tpl.php:220 msgid "Plural Forms" -msgstr "" +msgstr "รูปแบบพหูพจน์" #: administrator/components/com_languages/views/templates/langform.tpl.php:237 msgid "Locales" -msgstr "" +msgstr "ประเทศ" #: administrator/components/com_languages/views/templates/langform.tpl.php:240 msgid "" "The locale list for setlocale(). \\nLocale names must be comma separated." -msgstr "" +msgstr "แสดงรายการประเทศสำหรับ setlocale(). \\nชื่อประเทศจำเป็นต้องตามด้วยจุดจุลภาค." #: administrator/components/com_languages/views/templates/langform.tpl.php:244 msgid "Days" -msgstr "" +msgstr "วัน" #: administrator/components/com_languages/views/templates/langform.tpl.php:258 msgid "Months" -msgstr "" +msgstr "เดือน" #: administrator/components/com_languages/views/templates/languages.tpl.php:6 msgid "You cannot delete English." -msgstr "" +msgstr "คุณไม่สามารถลบอังกฤษ." #: administrator/components/com_languages/views/templates/languages.tpl.php:22 msgid "Country - Region" -msgstr "" +msgstr "ประเทศ - บริเวณ" #: administrator/components/com_languages/views/templates/languages.tpl.php:25 #: administrator/components/com_languages/views/templates/table.tpl.php:23 @@ -3187,7 +3195,7 @@ #: administrator/components/com_installer/admin.installer.html.php:37 #: administrator/components/com_installer/admin.installer.php:154 msgid "Please select a directory" -msgstr "โปรดเลือกไดเรกทอรี่่" +msgstr "โปรดเลือกไดเรกทอรี่" #: administrator/components/com_installer/admin.installer.html.php:58 msgid "Upload Package File" @@ -3207,7 +3215,7 @@ #: administrator/components/com_installer/admin.installer.html.php:90 msgid "Install directory:" -msgstr "ติดตั้งไดเรกทอรี่่:" +msgstr "ติดตั้งไดเรกทอรี่:" #: administrator/components/com_installer/admin.installer.html.php:92 msgid "Install" @@ -3215,19 +3223,19 @@ #: administrator/components/com_installer/admin.installer.html.php:112 msgid "Install from HTTP URL" -msgstr "" +msgstr "ติดตั้งจาก HTTP URL" #: administrator/components/com_installer/admin.installer.html.php:117 msgid "Install HTTP URL:" -msgstr "" +msgstr "ติดตั้ง HTTP URL:" #: administrator/components/com_installer/admin.installer.html.php:119 msgid "Upload URL & Install" -msgstr "" +msgstr "อัพโหลด URL & ติดตั้ง" #: administrator/components/com_installer/admin.installer.html.php:136 msgid "Sorry, it seems that The Source is not available" -msgstr "" +msgstr "เสียใจ, ต้นฉบับของไฟล์ที่ให้มาไม่ถูกต้อง" #: administrator/components/com_installer/admin.installer.html.php:190 msgid "Continue ..." @@ -3246,63 +3254,65 @@ #. * ensure this file is being included by a parent file #: administrator/components/com_installer/admin.installer.php:14 msgid "Direct Access to this location is not allowed." -msgstr "" +msgstr "ไม่อนุญาตให้เข้าถึงตำแหน่งนี้โดยตรง." #: administrator/components/com_installer/admin.installer.php:67 msgid "There was nothing selected to be uninstalled" -msgstr "" +msgstr "คุณต้องเลือกก่อนรายการที่จะลบ" #: administrator/components/com_installer/admin.installer.php:69 #, php-format msgid "Uninstaller not found for element [%s]" -msgstr "" +msgstr "การลบไม่สามารถค้นพบไฟล์ [%s]" #: administrator/components/com_installer/admin.installer.php:78 #, php-format msgid "Installer not found for element [%s]" -msgstr "" +msgstr "การติดตั้งไม่สามารถค้นพบไฟล์ [%s]" #: administrator/components/com_installer/admin.installer.php:84 #, php-format msgid "Installer not available for element [%s]" -msgstr "" +msgstr "ไม่มีส่วนประกอบที่จะติดตั้ง [%s]" #: administrator/components/com_installer/admin.installer.php:109 msgid "" "The installer can't continue before file uploads are enabled. Please use the " "install from directory method." msgstr "" +"การติดตั้งทำต่อไม่ได้ ต้องตั้งค่าการอัพโหลดไฟล์ให้ใช้ได้ก่อน. ควรใช้การติดตั้ง " +"จากไดเรกทอรี่ที่มีให้." #: administrator/components/com_installer/admin.installer.php:110 #: administrator/components/com_installer/admin.installer.php:117 #: administrator/components/com_installer/admin.installer.php:180 #: administrator/components/com_installer/admin.installer.php:187 msgid "Installer - Error" -msgstr "" +msgstr "ติดตั้ง - ผิดพลาด" #: administrator/components/com_installer/admin.installer.php:116 #: administrator/components/com_installer/admin.installer.php:173 msgid "The installer can't continue before zlib is installed" -msgstr "" +msgstr "การติดตั้งทำต่อไม่ได้ ต้องให้ zlib ถูกติดตั้งก่อน" #: administrator/components/com_installer/admin.installer.php:124 msgid "No file selected" -msgstr "" +msgstr "ไม่มีไฟล์ที่ถูกเลือก" #: administrator/components/com_installer/admin.installer.php:125 msgid "Upload new module - error" -msgstr "" +msgstr "อัพโหลดโมดูลใหม่ - ผิดพลาด" #: administrator/components/com_installer/admin.installer.php:135 #, php-format msgid "Upload %s - Upload Failed" -msgstr "" +msgstr "อัพโหลด %s - อัพโหลด ไม่สำเร็จ" #: administrator/components/com_installer/admin.installer.php:140 #: administrator/components/com_installer/admin.installer.php:193 #: administrator/components/com_installer/admin.installer.php:198 msgid "Failed" -msgstr "" +msgstr "ไม่สำเร็จ" #: administrator/components/com_installer/admin.installer.php:140 #: administrator/components/com_installer/admin.installer.php:163 @@ -3321,12 +3331,12 @@ #: administrator/components/com_installer/admin.installer.php:198 #: administrator/components/com_installer/admin.installer.php:201 msgid "Upload " -msgstr "" +msgstr "อัพโหลด" #: administrator/components/com_installer/admin.installer.php:143 #, php-format msgid "Upload %s - Upload Error" -msgstr "" +msgstr "อัพโหลด %s - อัพโหลด ผิดพลาด" #: administrator/components/com_installer/admin.installer.php:163 #: administrator/components/com_installer/admin.installer.php:201 @@ -3343,11 +3353,11 @@ #: administrator/components/com_installer/admin.installer.php:179 msgid "Please select an HTTP URL" -msgstr "" +msgstr "โปรดเลือก HTTP URL" #: administrator/components/com_installer/admin.installer.php:186 msgid "The URL did not define a file name" -msgstr "" +msgstr "URL ไม่สามารถค้นพบชื่อไฟล์" #: administrator/components/com_installer/admin.installer.php:220 #: administrator/components/com_installer/admin.installer.php:253 @@ -3370,11 +3380,11 @@ #: administrator/components/com_installer/admin.installer.php:255 msgid "Failed to open the local file from the URL." -msgstr "" +msgstr "เกิดข้อผิดพลาดในการเปิดไฟล์ผ่านทาง URL." #: administrator/components/com_installer/admin.installer.php:257 msgid "Failed to open the specified URL." -msgstr "" +msgstr "ไม่สามารถเปิดผ่านทาง URL ได้." #: administrator/components/com_installer/admin.installer.php:278 #: administrator/components/com_installer/admin.installer.php:362 @@ -3395,11 +3405,11 @@ #: administrator/components/com_installer/admin.installer.php:297 msgid "Uninstall component - " -msgstr "" +msgstr "ลบคอมโพเน้นท์ - " #: administrator/components/com_installer/admin.installer.php:309 msgid "Uninstaller could not find XML file, but cleaned database" -msgstr "" +msgstr "การลบไฟล์ไม่สามารถค้นพบไฟล์ XML, เนื่องจากฐานข้อมูลว่างเปล่า" #: administrator/components/com_installer/admin.installer.php:310 msgid "Uninstall " @@ -3407,7 +3417,7 @@ #: administrator/components/com_installer/admin.installer.php:310 msgid "component - " -msgstr "" +msgstr "คอมโพเน้นท์ - " #: administrator/components/com_installer/admin.installer.php:328 #, php-format @@ -3420,7 +3430,7 @@ #: administrator/components/com_installer/admin.installer.php:344 msgid "Uninstall module - " -msgstr "" +msgstr "ลบโมดูล - " #: administrator/components/com_installer/admin.installer.php:367 msgid "Invalid object id" @@ -3432,19 +3442,19 @@ #: administrator/components/com_installer/admin.installer.php:385 msgid "Uninstaller did its best with no XML file present" -msgstr "" +msgstr "การลบที่ดีที่สุดควรจะมีไฟล์ XML แสดงอยู่ด้วย" #: administrator/components/com_installer/admin.installer.php:387 msgid "Uninstall mambot - " -msgstr "" +msgstr "ลบแมมบอท - " #: administrator/components/com_installer/admin.installer.php:412 msgid "Uninstall template - " -msgstr "" +msgstr "ลบเทมเพลต - " #: administrator/components/com_installer/admin.installer.php:432 msgid "Uninstall language - " -msgstr "" +msgstr "ลบภาษา - " #: administrator/components/com_installer/admin.installer.php:436 msgid "Language id empty, cannot remove files" @@ -3543,37 +3553,37 @@ #: administrator/components/com_installer/installer.class.php:400 #, php-format msgid "Patch install error with %s: cannot write %s" -msgstr "" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: ไม่สามารถเขียน %s" #: administrator/components/com_installer/installer.class.php:406 #, php-format msgid "Patch install error with %s: cannot delete %s" -msgstr "" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: ไม่สามารถลบ %s" #: administrator/components/com_installer/installer.class.php:411 #, php-format msgid "Patch install error with %s: file permissions prevent patch application" -msgstr "" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: การยินยอมของไฟล์ป้องกันโปรแกรมแพ็ช" #: administrator/components/com_installer/installer.class.php:416 #, php-format msgid "Patch install error with %s: failed to delete %s" -msgstr "" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: การลบล้มเหลว %s" #: administrator/components/com_installer/installer.class.php:422 #, php-format msgid "Patch install error with %s: failed to write %s" -msgstr "" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: การเขียนล้มเหลว %s" #: administrator/components/com_installer/installer.class.php:426 #, php-format msgid "Patch install error with %s: check was OK, but application failed" -msgstr "" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: เลือก ตกลง, แต่โปรแกรมล้มเหลว" #: administrator/components/com_installer/installer.class.php:427 #, php-format msgid "Patch install %s: completed successfully" -msgstr "" +msgstr "ติดตั้งแพ็ช %s: ที่เสร็จสิ้นสมบูรณ์" #: administrator/components/com_installer/installer.class.php:495 #, php-format @@ -3680,6 +3690,8 @@ "Install Mambo plugin (component, module, mambot, template, include, " "parameter, composite)" msgstr "" +"ติดตั้งแมมโบ้ปลั๊กอิน (คอมโพเน้นท์, โมดูล, แมมบอท, เทมเพลต, รวมถึง, " +"พารามิเตอร์, ส่วนประกอบ)" #: installation/index.php:30 installation/index.php:207 #: installation/index.php:211 installation/index.php:212 @@ -3858,6 +3870,9 @@ "\t\t\t\t
      *** To continue installing Mambo you must check " "the box under the license ***
      " msgstr "" +"แมมโบ้ เป็นซอฟท์แวร์ " +"เสรีภายใต้ลิขสิทธิ์ GNU/GPL.\n" +"\t\t\t\t
      *** เช็คที่กล่องสี่เหลี่ยมหากต้องการติดตั้ง Mambo ภายใต้ลิขสิทธิ์นี้ ***
      " #: installation/install.php:102 msgid "I understand that this software is released under the GNU/GPL License" @@ -3936,7 +3951,7 @@ #: installation/install1.php:112 msgid "For site security using a password for the mysql account is mandatory" -msgstr "" +msgstr "เพื่อความปลอดภัย กรุณากำหนดรหัสผ่าน สำหรับการเข้าถึง mysql" #: installation/install1.php:115 msgid "Verify MySQL Password" @@ -4220,6 +4235,10 @@ "\t\t\t\t to take you to administrator login. Please take a moment to fill " "out the form below.

      " msgstr "" +"\n" +"\t\t\t\t

      คลิกที่ปุ่ม \"ดูเว็บไซต์\" เพื่อเข้าไปยังเว็บ Mambo ของท่าน หรือคลิกที่ " +"\"ผู้ดูแลระบบ\"\n" +"\t\t\t\t เพื่อเข้าไปยังหน้าล็อกอินเข้าจัดการระบบ.

      " #: installation/install4.php:359 msgid "PLEASE REMEMBER TO COMPLETELY
      REMOVE THE INSTALLATION DIRECTORY" @@ -4248,6 +4267,13 @@ "highlight\n" "\t\t\t\t\t\t\t\tall of the code." msgstr "" +"\n" +"\t\t\t\t\t\t\t\tไม่สามารถเขียนไฟล์ configuration ได้,\n" +"\t\t\t\t\t\t\t\tหรือมีปัญหาในการสร้างไฟล์ดังกล่าว. " +"ให้ท่านทำการ\n" +"\t\t\t\t\t\t\t\tคัดลอกโค้ดข้างล่างนี้ไว้ใน txt editor. จากนั้นให้บันทึกและอัพโหลดขึ้นเซิร์ฟเวอร์ " +"คลิกที่ textarea \n" +"\t\t\t\t\t\t\t\tเพื่อทำการไฮไลท์โค้ดทั้งหมด." #: administrator/components/com_frontpage/admin.frontpage.html.php:30 msgid "Frontpage Manager" @@ -4344,10 +4370,12 @@ "A suffix to be applied to the css class of the module (table.moduletable), " "this allows individual module styling" msgstr "" +"คำเสริมท้ายคลาส css ของโมดูล (table.moduletable), " +"โดยจะใช้แสดงเแพาะโมดูลนั้นๆ" #: modules/custom.xml msgid "Custom Module" -msgstr "" +msgstr "โมดูลพื้นฐาน" #: modules/custom.xml modules/mod_archive.xml modules/mod_latestcontent.xml #: modules/mod_latestnews.xml modules/mod_mainmenu.xml @@ -4355,15 +4383,15 @@ #: modules/mod_related_items.xml modules/mod_rssfeed.xml #: modules/mod_search.xml msgid "Enable Cache" -msgstr "" +msgstr "เปิดการทำงานของแคช" #: modules/custom.xml msgid "Enter number of RSS items to display" -msgstr "" +msgstr "ใส่จำนวนของรายการ RSS ที่ต้องการแสดง" #: modules/custom.xml msgid "Enter the URL of the RSS/RDF feed" -msgstr "" +msgstr "ใส่ URL สำหรับ RSS/RDF feed" #: modules/custom.xml msgid "Items" @@ -4378,11 +4406,11 @@ #: modules/mod_templatechooser.xml modules/mod_whosonline.xml #: modules/mod_wrapper.xml msgid "Module Class Suffix" -msgstr "" +msgstr "คำเสริมท้ายคลาสของโมดูล" #: modules/custom.xml msgid "RSS URL" -msgstr "" +msgstr "RSS URL" #: modules/custom.xml modules/mod_archive.xml modules/mod_latestcontent.xml #: modules/mod_latestnews.xml modules/mod_mainmenu.xml @@ -4390,33 +4418,33 @@ #: modules/mod_related_items.xml modules/mod_rssfeed.xml #: modules/mod_search.xml msgid "Select whether to cache the content of this module" -msgstr "" +msgstr "เลือกให้แคชของบทความทำงานจากโมดูล" #: modules/custom.xml msgid "Show the description or intro text of individual news items" -msgstr "" +msgstr "แสดงคำอธิบาย หรือ ข้อความส่วนต้นของรายการข่าวส่วนตัว" #: modules/custom.xml msgid "Show the description text for the whole Feed" -msgstr "" +msgstr "แสดงข้อความคำอธิบายสำหรับใส่ Feed ทั้งหมด" #: modules/custom.xml msgid "Show the image associated with the whole Feed" -msgstr "" +msgstr "แสดงรูปภาพที่เกี่ยวข้องกับ Feed ทั้งหมด" #: modules/mod_archive.xml msgid "Archived Content" -msgstr "" +msgstr "คลังเนื้อหา" #: modules/mod_archive.xml modules/mod_latestcontent.xml #: modules/mod_latestnews.xml modules/mod_mostread.xml #: modules/mod_sections.xml msgid "Count" -msgstr "" +msgstr "นับ" #: modules/mod_archive.xml msgid "The number of items to display (default is 10)" -msgstr "" +msgstr "จำนวนรายการที่ต้องการแสดงต่อหน้าเพจ ปกติกำหนดค่า = 10" #: modules/mod_archive.xml msgid "" @@ -4424,6 +4452,9 @@ "items. After you have changed the status of a Content Item to 'Archived' " "this list will be automatically generated." msgstr "" +"โมดูลแสดงรายการปฏิทินแบบเดือน, สิ่งซึ่งบรรจุรายการคลังเนื้อหา." +"หลังจากที่คุณได้เปลี่ยนสถาระของเนื้อหาที่ต้องการเป็น 'คลังเนื้อหา' " +"รายการนี้จะที่ถูกสร้างขึ้นโดยอัตโนมัติ." #: modules/mod_banners.php:75 msgid "Advertisement" @@ -4434,34 +4465,38 @@ "A suffix to be aapplied to the css class of the module (table.moduletable), " "this allows individual module styling" msgstr "" +"คำเสริมท้ายคลาส css ของโมดูล (table.moduletable), " +"โดยจะใช้แสดงเแพาะโมดูลนั้นๆ" #: modules/mod_banners.xml msgid "Banner" -msgstr "" +msgstr "ป้ายโฆษณา" #: modules/mod_banners.xml msgid "Banner client" -msgstr "" +msgstr "เจ้าของป้ายโฆษณา" #: modules/mod_banners.xml msgid "Reference to banner client id. Enter separated by ','!" -msgstr "" +msgstr "กำหนดหมายเลข ID ของ เจ้าของป้ายโฆษณาแต่ละราย โดยแยกด้วยเครื่องหมาย ','!" #: modules/mod_banners.xml msgid "" "The banner module allows to show the active banners out of the component " "within your site." msgstr "" +"โมดูลแสดงป้ายโฆษณายอมเพื่อแสดงป้ายโฆษณาทำงานออกมาจากส่วนประกอบ" +"เพื่อแสดงในหน้าเว็บคุณ." #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml msgid "Allows you to control which type of Content to display in the module" -msgstr "" +msgstr "กำหนดชนิดของเนื้อหาที่ต้องการแสดงในโมดูล" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml modules/mod_whosonline.xml msgid "Both" -msgstr "" +msgstr "ทั้งคู่" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml @@ -4471,30 +4506,30 @@ #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml msgid "Content Items only" -msgstr "" +msgstr "หัวข้อของเนื้อหาเท่านั้น" #: modules/mod_latestcontent.xml modules/mod_newsflash.xml msgid "Display content item images" -msgstr "" +msgstr "แสดงรูปภาพประจำเนื้อหา" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml msgid "Frontpage Items" -msgstr "" +msgstr "รายการเนื้อหาที่เว็บเพจหน้าแรก" #: modules/mod_latestcontent.xml modules/mod_mainmenu.xml #: modules/mod_newsflash.xml msgid "Horizontal" -msgstr "" +msgstr "แนวนอน" #: modules/mod_latestcontent.xml msgid "Latest Content" -msgstr "" +msgstr "เนื้อหาล่าสุด" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml msgid "Module Mode" -msgstr "" +msgstr "โหมดโมดูล" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml @@ -4507,21 +4542,25 @@ "Selects items from a specific Category or set of Categories (to specify more " "than one Category, seperate with a comma , )." msgstr "" +"เลือกรายการจากประเภทที่ต้องการ (หากต้องการ" +"มากกว่าหนึ่งประเภท ให้ใช้จุลภาคขั้น , )." #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml msgid "" "Selects items from a specific Secion or set of Sections (to specify more " -"than one Section, seperate with a comma , )." +"than one Category, seperate with a comma , )." msgstr "" +"เลือกรายการจากหมวดที่ต้องการ (หากต้องการ" +"มากกว่าหนึ่งหมวด ให้ใช้จุลภาคขั้น , )." #: modules/mod_latestcontent.xml modules/mod_newsflash.xml msgid "Show images" -msgstr "" +msgstr "แสดงรูปภาพ" #: modules/mod_latestcontent.xml modules/mod_newsflash.xml msgid "Show item title" -msgstr "" +msgstr "แสดงหัวข้อเนื้อเรื่อง" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml @@ -4529,27 +4568,29 @@ "Show/Hide items designated for the Frontpage - only works when in Content " "Items only mode" msgstr "" +"แสดง/ซ่อน รายการที่มีหมายเลขสำหรับด้านหน้าเว็บ - จะทำได้เมื่ออยู่ในโหมด" +"เนื้อหาเท่านั้น" #: modules/mod_latestcontent.xml modules/mod_newsflash.xml msgid "Show/Hide the Read More button" -msgstr "" +msgstr "แสดง/ซ่อน ปุ่มอ่านต่อ" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml msgid "Static Content only" -msgstr "" +msgstr "เฉพาะเนื้อหาสเตติก" #: modules/mod_latestcontent.xml modules/mod_newsflash.xml msgid "Style" -msgstr "" +msgstr "รูปแบบ" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml msgid "The number of items to display (default 5)" -msgstr "" +msgstr "จำนวนรายการที่ต้องการแสดงต่อหน้าเพจ ปกติกำหนดค่า = 5" #: modules/mod_latestcontent.xml msgid "The style to display the content" -msgstr "" +msgstr "รูปแบบการแสดงเนื้อหา" #: modules/mod_latestcontent.xml msgid "" @@ -4558,25 +4599,29 @@ "may have expired even though they are the most recent). Items that are " "displayed on the Front Page Component are not included in the list." msgstr "" +"โมดูลนี้ใช้แสดงรายการเนื้อหาจากเนื้อหาส่วนต้นในแนวตั้ง หรือ " +"แนวนอน จากเนื้อหาที่เพิ่งเผยแพร่เมื่อไม่นาน (บางครั้ง " +"อาจจะหมดเวลาในการแสดง ถึงแม้จะเพิ่งเผยแพร่เมื่อไม่นานมานี้เอง). รายการเหล่านี้ " +"จะถูกแสดงอยู่ด้านหน้าเว็บโดยไม่ถูกยึดติด." #: modules/mod_latestcontent.xml modules/mod_mainmenu.xml #: modules/mod_newsflash.xml msgid "Vertical" -msgstr "" +msgstr "แนวตั้ง" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml msgid "hide" -msgstr "" +msgstr "ซ่อน" #: modules/mod_latestcontent.xml modules/mod_latestnews.xml #: modules/mod_mostread.xml msgid "show" -msgstr "" +msgstr "แสดง" #: modules/mod_latestnews.xml msgid "Latest News" -msgstr "" +msgstr "ข่าวล่าสุด" #: modules/mod_latestnews.xml msgid "" @@ -4584,6 +4629,9 @@ "current (some may have expired even though they are the most recent). Items " "that are displayed on the Front Page Component are not included in the list." msgstr "" +"โมดูลนี้ใช้แสดงรายการจากเนื้อหาที่เพิ่งทำการเผยแพร่เมื่อไม่นานมานี้ " +"(บางครั้งอาจจะหมดเวลาในการแสดง ถึงแม้จะเพิ่งเผยแพร่เมื่อไม่นานมานี้เอง). " +"รายการเหล่านี้จะถูกแสดงอยู่ด้านหน้าเว็บโดยไม่ถูกยึดติด." #: modules/mod_login.php:44 #, php-format @@ -4604,43 +4652,43 @@ #: modules/mod_login.xml msgid "Greeting" -msgstr "" +msgstr "แสดงความยินดี" #: modules/mod_login.xml msgid "Login Form" -msgstr "" +msgstr "ฟอร์มเข้าสู่ระบบ" #: modules/mod_login.xml msgid "Login Message" -msgstr "" +msgstr "ข้อความแสดงการเข้าสู่ระบบ" #: modules/mod_login.xml msgid "Logout Message" -msgstr "" +msgstr "ข้อความแสดงการออกจากระบบ" #: modules/mod_login.xml msgid "Name/Username" -msgstr "" +msgstr "ชื่อ/ชื่อผู้ใช้งาน" #: modules/mod_login.xml msgid "Post-text" -msgstr "" +msgstr "ข้อความหลังออกจากระบบ" #: modules/mod_login.xml msgid "Pre-text" -msgstr "" +msgstr "ข้อความก่อนเข้าสู่ระบบ" #: modules/mod_login.xml msgid "Show/Hide the simple greeting text" -msgstr "" +msgstr "แสดง/ซ่อน ข้อความแสดงความยินดี" #: modules/mod_login.xml msgid "This is the Text or HTML that is displayed above the login form" -msgstr "" +msgstr "ข้อความนี้จะปรากฎอยู่ด้านบนของแบบฟอร์มการเข้าสู่ระบบ" #: modules/mod_login.xml msgid "This is the Text or HTML that is displayed below the login form" -msgstr "" +msgstr "ข้อความนี้จะปรากฎอยู่ด้านล่างของแบบฟอร์มการเข้าสู่ระบบ" #: modules/mod_login.xml msgid "" @@ -4649,184 +4697,190 @@ "(refer to the Configuration settings), then another link will be shown to " "invite users to self-register." msgstr "" +"โมดูลที่แสดงชื่อผู้ใช้ และรหัสผ่านฟอร์มเข้าสู่ระบบ. มันจะแสดง" +"ลิงก์ไปยังการคืนรหัสผ่านให้เมื่อมีการลืม. ถ้าผู้ใช้ได้ลงทะเบียนถูกต้อง, " +"(อ้างถึงการตั้งค่าที่ได้ตั้งไว้), ต่อมาจะมีลิงอื่นๆ แสดง" +"ให้กับสมาชิก เพื่อให้ลงทะเบียนได้." #: modules/mod_mainmenu.xml msgid "A suffix to be applied to the css class of the menu items" -msgstr "" +msgstr "คำเสริมท้ายใช้กับคลาสของรายการเมนู" #: modules/mod_mainmenu.xml msgid "Alignment of the Menu Icons" -msgstr "" +msgstr "การเรียงไอคอนเมนู" #: modules/mod_mainmenu.xml msgid "Choose which indent image system to utilise" -msgstr "" +msgstr "เลือกเพื่อเปลี่ยนรูปภาพย่อหน้าเมนูที่ต้องการใช้" #: modules/mod_mainmenu.xml msgid "Displays a menu." -msgstr "" +msgstr "แสดงเมนู." #: modules/mod_mainmenu.xml msgid "End Spacer" -msgstr "" +msgstr "สิ้นสุดช่องว่าง" #: modules/mod_mainmenu.xml msgid "End Spacer for Horizontal menu" -msgstr "" +msgstr "สิ้นสุดช่องว่างสำหรับเมนูในแนวนอน" #: modules/mod_mainmenu.xml msgid "Expand Menu" -msgstr "" +msgstr "ขยายเมนู" #: modules/mod_mainmenu.xml msgid "Expand the menu and make its sub-menus items always visible" -msgstr "" +msgstr "ขยายส่วนของเมนูและจัดการให้เมนูย่อยสามารถมองเห็นได้ตลอดเวลา" #: modules/mod_mainmenu.xml msgid "Flat List" -msgstr "" +msgstr "เชื่อมโยงรายการ" #: modules/mod_mainmenu.xml msgid "Image for the fifth sub-level" -msgstr "" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 5" #: modules/mod_mainmenu.xml msgid "Image for the first sub-level" -msgstr "" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 1" #: modules/mod_mainmenu.xml msgid "Image for the fourth sub-level" -msgstr "" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 4" #: modules/mod_mainmenu.xml msgid "Image for the second sub-level" -msgstr "" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 2" #: modules/mod_mainmenu.xml msgid "Image for the sixth sub-level" -msgstr "" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 6" #: modules/mod_mainmenu.xml msgid "Image for the third sub-level" -msgstr "" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 3" #: modules/mod_mainmenu.xml msgid "Indent Image" -msgstr "" +msgstr "รูปภาพย่อหน้าเมนู" #: modules/mod_mainmenu.xml msgid "Indent Image 1" -msgstr "" +msgstr "รูปภาพย่อหน้าเมนู 1" #: modules/mod_mainmenu.xml msgid "Indent Image 2" -msgstr "" +msgstr "รูปภาพย่อหน้าเมนู 2" #: modules/mod_mainmenu.xml msgid "Indent Image 3" -msgstr "" +msgstr "รูปภาพย่อหน้าเมนู 3" #: modules/mod_mainmenu.xml msgid "Indent Image 4" -msgstr "" +msgstr "รูปภาพย่อหน้าเมนู 4" #: modules/mod_mainmenu.xml msgid "Indent Image 5" -msgstr "" +msgstr "รูปภาพย่อหน้าเมนู 5" #: modules/mod_mainmenu.xml msgid "Indent Image 6" -msgstr "" +msgstr "รูปภาพย่อหน้าเมนู 6" #: modules/mod_mainmenu.xml msgid "Main Menu" -msgstr "" +msgstr "เมนูหลัก" #: modules/mod_mainmenu.xml msgid "Mambo default images" -msgstr "" +msgstr "รูปภาพตั้งต้นที่กำหนดโดยแมมโบ้" #: modules/mod_mainmenu.xml msgid "Menu Class Suffix" -msgstr "" +msgstr "คำเสริมท้ายคลาสของเมนู" #: modules/mod_mainmenu.xml msgid "Menu Icon Alignment" -msgstr "" +msgstr "การเรียงไอคอนเมนู" #: modules/mod_mainmenu.xml msgid "Menu Style" -msgstr "" +msgstr "รูปแบบเมนู" #: modules/mod_mainmenu.xml msgid "Show Menu Icons" -msgstr "" +msgstr "แสดงไอคอนเมนู" #: modules/mod_mainmenu.xml msgid "Show the Menu Icons you have selected for your menu items" -msgstr "" +msgstr "แสดงไอคอนเมนูที่เลือกให้แก่รายการของเมนู" #: modules/mod_mainmenu.xml msgid "Spacer" -msgstr "" +msgstr "ช่องว่าง" #: modules/mod_mainmenu.xml msgid "Spacer for Horizontal menu" -msgstr "" +msgstr "ช่องว่างสำหรับเมนูในแนวนอน" #: modules/mod_mainmenu.xml msgid "Template" -msgstr "" +msgstr "เทมเพลท" #: modules/mod_mainmenu.xml msgid "The menu style" -msgstr "" +msgstr "รูปแบบเมนู" #: modules/mod_mainmenu.xml msgid "The name of the menu (default is 'mainmenu')" -msgstr "" +msgstr "ชื่อของเมนู (ค่าปกติคือ 'เมนูหลัก')" #: modules/mod_mainmenu.xml msgid "Use params below" -msgstr "" +msgstr "ใช้ค่าของตัวแปรด้านล่าง" #: modules/mod_mostread.xml msgid "Most Read Content" -msgstr "" +msgstr "เนื้อหาที่มีการอ่านมากที่สุด" #: modules/mod_mostread.xml modules/mod_sections.xml msgid "The number of items to display (default is 5)" -msgstr "" +msgstr "จำนวนรายการที่ต้องการแสดงต่อหน้าเพจ ปกติกำหนดค่า = 5" #: modules/mod_mostread.xml msgid "" "This module shows a list of the currently published Items that have been " "viewed the most - determined by the number of times the page has been viewed." msgstr "" +"โมดูลนี้แสดงรายการของรายการที่ได้เผยแพร่โดยมี" +"การแสดงมากที่สุด - ตัดสินโดยจำนวนของเวลาในการแสดงของหน้านั้น." #: modules/mod_newsflash.xml msgid "A content category" -msgstr "" +msgstr "ประเภทเนื้อหา" #: modules/mod_newsflash.xml msgid "Make the Item titles linkable" -msgstr "" +msgstr "กำหนดให้หัวข้อเป็นลิงก์" #: modules/mod_newsflash.xml msgid "Newsflash" -msgstr "" +msgstr "Newsflash" #: modules/mod_newsflash.xml msgid "No of items to display" -msgstr "" +msgstr "จำนวนเนื้อเรื่องที่ต้องการแสดงต่อครั้ง" #: modules/mod_newsflash.xml msgid "No. of Items" -msgstr "" +msgstr "จำนวนของเนื้อเรื่อง" #: modules/mod_newsflash.xml msgid "Randomly choose one at a time" -msgstr "" +msgstr "การเลือกแบบสุ่มจะเลือกเพียงรูปเดียวในแต่ละครั้ง" #: modules/mod_newsflash.xml msgid "" @@ -4834,10 +4888,13 @@ "category upon each page refresh. It may also dislpay multiple items in " "horizontal or vertical configurations." msgstr "" +"โมดูล Newsflash จะทำการสุ่มเลือกเพียงหนึ่ง จากรายการที่เผยแพร่ จาก" +"ประเภทเมื่อบนหน้าเว็บรีเฟรช. มันจะแสดงหลายรายการใน " +"แนวนอน หรือแนวตั้ง จากค่าที่ได้ตั้งไว้." #: modules/mod_newsflash.xml msgid "The style to display the category" -msgstr "" +msgstr "รูปแบบในการแสดงหมวดของเนื้อหา" #: modules/mod_poll.php:85 msgid "Vote" @@ -4858,56 +4915,62 @@ "Component supports linking between Menu Items and Polls. This means that the " "module shows only those Polls, which are configured for a certain Menu Item." msgstr "" +"โมดูลแสดงการลงคะแนนจากคอมโพเน้นท์โพลล์. มันถูกใช้แสดง " +"จากโพลล์ที่ตั้งไว้. โมดูลนี้แตกต่างจากโมดูลอื่น ถึงแม้ว่า " +"จะมีการทำเมนูเชื่อมโยงไปยังคอมโพเน้นท์โพลล์แล้ว. หมายความว่า " +"โมดูลแสดงเฉพาะให้ลงคะแนนเสียง, ซึ่งสิ่งนี้สามารถตั้งค่าได้จากรายการเมนู." #: modules/mod_random_image.xml msgid "" "A URL to redirect to if image is clicked on, eg: http://www.mambo-foundation." "org" msgstr "" +"URL ที่จะถูกเปลี่ยนเมื่อมีการคลิกที่ภาพ, เช่น: http://www.mambo-foundation." +"org" #: modules/mod_random_image.xml msgid "Height (px)" -msgstr "" +msgstr "สูง (px)" #: modules/mod_random_image.xml msgid "Image Folder" -msgstr "" +msgstr "โฟลเดอร์รูปภาพ" #: modules/mod_random_image.xml msgid "Image Type" -msgstr "" +msgstr "ประเภทของรูปภาพ" #: modules/mod_random_image.xml msgid "Image height (forces all images to be displayed with the height)" -msgstr "" +msgstr "ความสูงของรูป (ส่งผลให้ทุกรูปภาพถูกแสดงด้วยความสูงนี้)" #: modules/mod_random_image.xml msgid "Image width (forces all images to be displayed with this width)" -msgstr "" +msgstr "ความกว้างของรูป (ส่งผลให้ทุกรูปภาพถูกแสดงด้วยความกว้างนี้)" #: modules/mod_random_image.xml msgid "Path to the image folder relative to the site url, eg: images/stories" -msgstr "" +msgstr "พาทของโฟลเดอร์รูปภาพ, เช่น: images/stories " #: modules/mod_random_image.xml msgid "Random Image" -msgstr "" +msgstr "ระบบสุ่มเลือกรูปภาพ" #: modules/mod_random_image.xml msgid "This module display a random image from your chosen directory" -msgstr "" +msgstr "โมดูลที่แสดงการสุ่มแสดงภาพจากไดเรกทอรี่ที่เลือกไว้" #: modules/mod_random_image.xml msgid "Type of image PNG/GIF/JPG etc. (default is JPG)" -msgstr "" +msgstr "ประเภทของรูปภาพ เช่น PNG/GIF/JPG . (ค่าปกติคือ JPG)" #: modules/mod_random_image.xml msgid "Width (px)" -msgstr "" +msgstr "กว้าง (px)" #: modules/mod_related_items.xml msgid "Related Items" -msgstr "" +msgstr "หัวข้อที่เกี่ยวข้อง" #: modules/mod_related_items.xml msgid "" @@ -4920,30 +4983,38 @@ "will list the 'Breeding Parrots' Item when viewing 'Hand Raising Black " "Cockatoos' and vice-versa." msgstr "" +"โมดูลที่ใช้แสดงรายการเนื้อหาอื่นๆ ที่ผ่านมา จาก" +"รายการที่เคยแสดงมาแล้ว. สิ่งเหล่านี้คืออาศัยคำค้นเมต้าดาต้า. คำค้น" +"ทั้งหมดของรายการเนื้อหาเก่าๆ ที่มีการค้นหาอีกครั้งจากคำค้นทั้งหมด " +"จากรายการที่ถูกเผยแพร่ทั้งหมด. เป็นต้นว่า, คุณอาจจะมีรายการบน 'การเพาะพันธ์ " +"นกแก้ว' และ คุณอาจจะมีอื่นๆ บน 'มือที่ยาวของนกแก้วสีดำ'. ถ้าคุณ " +"ใส่คำค้นว่า 'นกแก้ว' ในรายการ, ต่อมาโมดูลแสดงรายการที่ผ่านมา " +"จะแสดงรายการของ 'การเพาะพันธุ์นกแก้ว' รายการจะแสดงส่วนของ 'มือที่ยาวของนกแก้ว" +"สีดำ' และรายการรองอื่นๆ." #: modules/mod_rssfeed.xml msgid "Atom" -msgstr "" +msgstr "Atom" #: modules/mod_rssfeed.xml msgid "Atom Image" -msgstr "" +msgstr "รูป Atom" #: modules/mod_rssfeed.xml msgid "Choose the image to be used" -msgstr "" +msgstr "เลือกรูปภาพที่ต้องการใช้" #: modules/mod_rssfeed.xml msgid "Enter the text to be displayed along with the RSS links" -msgstr "" +msgstr "กรุณาใส่ข้อความที่ต้องการให้แสดงกับลิงก์ RSS" #: modules/mod_rssfeed.xml msgid "OPML" -msgstr "" +msgstr "OPML" #: modules/mod_rssfeed.xml msgid "OPML Image" -msgstr "" +msgstr "รูป OPML" #: modules/mod_rssfeed.xml msgid "RSS 0.91" @@ -4951,7 +5022,7 @@ #: modules/mod_rssfeed.xml msgid "RSS 0.91 Image" -msgstr "" +msgstr "รูป RSS 0.91" #: modules/mod_rssfeed.xml msgid "RSS 1.0" @@ -4959,7 +5030,7 @@ #: modules/mod_rssfeed.xml msgid "RSS 1.0 Image" -msgstr "" +msgstr "รูป RSS 1.0" #: modules/mod_rssfeed.xml msgid "RSS 2.0" @@ -4967,27 +5038,27 @@ #: modules/mod_rssfeed.xml msgid "RSS 2.0 Image" -msgstr "" +msgstr "รูป RSS 2.0" #: modules/mod_rssfeed.xml msgid "Show/Hide Atom 1.0 Link" -msgstr "" +msgstr "แสดง/ซ่อนลิงก์ Atom 1.0" #: modules/mod_rssfeed.xml msgid "Show/Hide OPML Link" -msgstr "" +msgstr "แสดง/ซ่อนลิงก์ OPML" #: modules/mod_rssfeed.xml msgid "Show/Hide RSS 0.91 Link" -msgstr "" +msgstr "แสดง/ซ่อนลิงก์ RSS 0.91" #: modules/mod_rssfeed.xml msgid "Show/Hide RSS 1.0 Link" -msgstr "" +msgstr "แสดง/ซ่อนลิงก์ RSS 1.0" #: modules/mod_rssfeed.xml msgid "Show/Hide RSS 2.0 Link" -msgstr "" +msgstr "แสดง/ซ่อนลิงก์ RSS 2.0" #: modules/mod_rssfeed.xml msgid "Syndicate" @@ -5005,6 +5076,11 @@ "In order to use the Newsfeed in another Mambo site or a Newsfeed reader, you " "need to cut and paste the URL." msgstr "" +"โมดูลกระจายข่าวใช้แสดงลิงก์ของข่าวล่าสุดอยู่ในเว็บของเราเพื่อนำไปใช้ที่เว็บต่างๆ " +"ที่ต้องการนำไปแสดง. เมื่อคุณคลิกบนไปคอน RSS, คุณจะพบกับ " +"การแสดงหน้าใหม่ที่แสดงข่าวล่าสุดในรูปแบบของ XML. " +"โดยคุณสามารถเลือกแสดงข่าวที่มาจากเว็บที่ใช้ Mambo หรือใช้โปรแกรมอ่าน Newsfeed, " +"โดยทำการตัดและวาง URL ที่ได้มานำไปใช้." #: modules/mod_search.php:17 msgid "Search" @@ -5020,51 +5096,55 @@ #: modules/mod_search.xml msgid "Box Width" -msgstr "" +msgstr "ความกว้าง" #: modules/mod_search.xml msgid "Button Position" -msgstr "" +msgstr "ตำแหน่งปุ่ม" #: modules/mod_search.xml msgid "Button Text" -msgstr "" +msgstr "ข้อความด้านล่าง" #: modules/mod_search.xml msgid "Display a Search Button" -msgstr "" +msgstr "แสดงปุ่มค้นหา" #: modules/mod_search.xml msgid "Position of the button relative to the search box" -msgstr "" +msgstr "ตำแหน่งของปุ่มจะถูกปรับเปลี่ยนตามเท็กซ์บล๊อกค้นหา" #: modules/mod_search.xml msgid "Search Button" -msgstr "" +msgstr "ปุ่มค้นหา" #: modules/mod_search.xml msgid "Search Module" -msgstr "" +msgstr "โมดูลค้นหา" #: modules/mod_search.xml msgid "Size of the search text box" -msgstr "" +msgstr "ขนาดของเท็กซ์บล๊อกค้นหา" #: modules/mod_search.xml msgid "" -"The text that appears in the search buttin, if left blank it will load " +"The text that appears in the search button, if left blank it will load " "_SEARCH_TITLE from your language file" msgstr "" +"ข้อความซึ่งปรากฏในปุ่มการค้นหา, ถ้าด้านซ้ายเว้นว่าง มันจะโหลด " +"_SEARCH_TITLE สตริงจากไฟล์ภาษาของคุณ" #: modules/mod_search.xml msgid "" "The text that appears in the search text box, if left blank it will load " "_SEARCH_BOX from your language file" msgstr "" +"ข้อความซึ่งปรากฏในกล่องข้อความการค้นหา, ถ้าด้านซ้ายเว้นว่าง มันจะโหลด " +"_SEARCH_BOX สตริงจากไฟล์ภาษาของคุณ" #: modules/mod_search.xml msgid "This module will display a search box" -msgstr "" +msgstr "นี่เป็นโมดูลที่จะแสดงกล่องการค้นหา" #: modules/mod_search.xml msgid "Top" @@ -5081,6 +5161,10 @@ "'Show Unauthorized Links' is set to 'NO', the list will be limited to the " "sections the user is allowed to see." msgstr "" +"โมดูล หมวดหมู่ แสดงรายการของหมวดหมู่ทั้งหมดที่ปรับแต่งบนฐานข้อมูล. " +"เป็นการอ้างอิงจากรายการของหมวดหมู่เท่านั้น. ถ้าการกำหนดค่าเป็น " +"'แสดงลิงก์อย่างไม่เป็นทางการ' โดยตั้งค่าเป็น 'ไม่', " +"รายการจะถูกจำกัดการที่ผู้ใช้จะสามารถดูได้." #: modules/mod_stats.php:27 msgid "Time" @@ -5108,35 +5192,35 @@ #: modules/mod_stats.xml msgid "Display hit counter" -msgstr "" +msgstr "แสดงตัวนับจำนวนผู้ชม" #: modules/mod_stats.xml msgid "Display server information" -msgstr "" +msgstr "แสดงข้อมูลเครื่องเซิร์ฟเวอร์" #: modules/mod_stats.xml msgid "Display site information" -msgstr "" +msgstr "แสดงข้อมูลเว็บไซต์" #: modules/mod_stats.xml msgid "Enter the amount of hits to increase counter by" -msgstr "" +msgstr "เพิ่มค่าตัวนับโดย" #: modules/mod_stats.xml msgid "Hit Counter" -msgstr "" +msgstr "ตัวนับจำนวนผู้ชม" #: modules/mod_stats.xml msgid "Increase counter" -msgstr "" +msgstr "เพิ่มค่าตัวนับ" #: modules/mod_stats.xml msgid "Server Info" -msgstr "" +msgstr "ข้อมูลเครื่องเซริฟเวอร์" #: modules/mod_stats.xml msgid "Site Info" -msgstr "" +msgstr "ข้อมูลเว็บไซต์" #: modules/mod_stats.xml msgid "Statistics" @@ -5148,6 +5232,9 @@ "statistics on the web site users, number of contents in your database, and " "number of web links you provide." msgstr "" +"โมดูล สถิติ แสดงข้อมูลเกี่ยวกับการติดตั้งลงเซิร์ฟเวอร์ และ " +"สถิติบนเว็บไซต์ที่มีผู้เข้าชม, จำนวนของบทความในฐานข้อมูล, และ " +"จำนวนของเว็บลิงก์บนเว็บคุณ." #: modules/mod_templatechooser.php:77 msgid "Select" @@ -5155,45 +5242,47 @@ #: modules/mod_templatechooser.xml msgid "Height" -msgstr "" +msgstr "สูง" #: modules/mod_templatechooser.xml msgid "Max. Name Length" -msgstr "" +msgstr "ความยาวของชื่อสูงสุด" #: modules/mod_templatechooser.xml msgid "Show Preview" -msgstr "" +msgstr "แสดงตัวอย่าง" #: modules/mod_templatechooser.xml msgid "Template Chooser" -msgstr "" +msgstr "ตัวเลือกเทมเพลท" #: modules/mod_templatechooser.xml msgid "Template preview is to be shown" -msgstr "" +msgstr "แสดงพรีวิวเทมเพลท" #: modules/mod_templatechooser.xml msgid "" "The Template Chooser module allows the user (visitor) to change the template " "on the fly from the front-end via a drop down selection list." msgstr "" +"โมดูล เลือกเทมเพลต ยินยอมให้ผู้ใช้ (ผู้เยี่ยมชม) สามารถเปลี่ยนเทมเพลต " +"ของด้านหน้าเว็บจาก เมนูแบบดร็อปดาวน์." #: modules/mod_templatechooser.xml msgid "This is the height of the preview image (default 90)" -msgstr "" +msgstr "ความสูงรูปพรีวิวของเทมเพลท (ค่าปกติ = 90)" #: modules/mod_templatechooser.xml msgid "This is the maximum length of the template name to display (default 20)" -msgstr "" +msgstr "ความยาวของชื่อเทมเพลทสูงสุดที่จะถูกแสดง (ค่าปกติ = 20)" #: modules/mod_templatechooser.xml msgid "This is the width of the preview image (default 140)" -msgstr "" +msgstr "ความกว้างรูปพรีวิวของเทมเพลท (ค่าปกติ =140)" #: modules/mod_templatechooser.xml msgid "Width" -msgstr "" +msgstr "กว้าง" #: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:28 msgid "We have %d guest online" @@ -5225,19 +5314,19 @@ #: modules/mod_whosonline.xml msgid "# of Guests/Members" -msgstr "" +msgstr "# ผู้ชม/สมาชิก" #: modules/mod_whosonline.xml msgid "Display" -msgstr "" +msgstr "แสดง" #: modules/mod_whosonline.xml msgid "Member Names" -msgstr "" +msgstr "ชื่อสมาชิก" #: modules/mod_whosonline.xml msgid "Select what shall be shown" -msgstr "" +msgstr "เลือกรายการที่ต้องการแสดง" #: modules/mod_whosonline.xml msgid "" @@ -5245,106 +5334,125 @@ "users and Registered users, (those that are logged in) that are currently " "accessing the web site." msgstr "" +"โมดูล ใครออนไลน์ แสดงจำนวนของผู้ที่ไม่ระบุชื่อ (ในที่นี้คือ, บุคคลทั่วไป) " +"สมาชิก และสมาชิกลงทะเบียน, (ต้องเข้าสู่ระบบ) เพื่อแสดง " +"การเข้าสู่เว็บไซต์." #: modules/mod_whosonline.xml msgid "Who's Online" -msgstr "" +msgstr "ใครออนไลน์" #: modules/mod_wrapper.xml msgid "This module shows an IFrame window to specified location" -msgstr "" +msgstr "นี่เป็นโมดูลที่ต้องการให้แสดงตำแหน่งหน้าต่าง IFrame" #: modules/mod_wrapper.xml msgid "Url" -msgstr "" +msgstr "Url" #: modules/mod_wrapper.xml msgid "Url to site/file you wish to display within the Iframe" -msgstr "" +msgstr "Url สำหรับ เว็บ/ไฟล์ ที่คุณต้องการแสดงภายในหน้าต่าง Iframe" #: modules/mod_wrapper.xml msgid "Wrapper Module" -msgstr "" +msgstr "โมดูลแร็บเปอร์" #: templates/waterandstone/templateDetails.xml msgid "" "The Water and Stone Grey Template optimized for 1024px width resolution for " "use with any type of website with easy customization" msgstr "" +"The Water and Stone Grey Template optimized for 1024px width resolution for " +"use with any type of website with easy customization" #: templates/waterandstone/templateDetails.xml msgid "waterandstone" -msgstr "" +msgstr "waterandstone" #: templates/waterandstone800/templateDetails.xml msgid "" "The Water and Stone Grey Template optimized for 800px width resolution for " "use with any type of website with easy customization" msgstr "" +"The Water and Stone Grey Template optimized for 800px width resolution for " +"use with any type of website with easy customization" #: templates/waterandstone800/templateDetails.xml msgid "waterandstone800" -msgstr "" +msgstr "waterandstone800" #: templates/waterandstone800_blue/templateDetails.xml msgid "" "The Water and Stone Blue Template optimized for 800px x 600px screen " "resolution for use with any type of website with easy customization" msgstr "" +"The Water and Stone Blue Template optimized for 800px x 600px screen " +"resolution for use with any type of website with easy customization" #: templates/waterandstone800_blue/templateDetails.xml msgid "waterandstone800_blue" -msgstr "" +msgstr "waterandstone800_blue" #: templates/waterandstone800_green/templateDetails.xml msgid "" "The Water and Stone Green Template optimized for 800px x 600px screen " "resolution for use with any type of website with easy customization" msgstr "" +"The Water and Stone Green Template optimized for 800px x 600px screen " +"resolution for use with any type of website with easy customization" #: templates/waterandstone800_green/templateDetails.xml msgid "waterandstone800_green" -msgstr "" +msgstr "waterandstone800_green" #: templates/waterandstone800_greenandblack/templateDetails.xml msgid "" "The Water and Stone Green and Black Template optimized for 800px x 600px " "screen resolution for use with any type of website with easy customization" msgstr "" +"The Water and Stone Green and Black Template optimized for 800px x 600px " +"screen resolution for use with any type of website with easy customization" #: templates/waterandstone800_greenandblack/templateDetails.xml msgid "waterandstone800_greenandblack" -msgstr "" +msgstr "waterandstone800_greenandblack" #: templates/waterandstone_blue/templateDetails.xml msgid "" "The Water and Stone Blue Template optimized for 1024px x 768px screen " "resolution for use with any type of website with easy customization" msgstr "" +"The Water and Stone Blue Template optimized for 1024px x 768px screen " +"resolution for use with any type of website with easy customization" #: templates/waterandstone_blue/templateDetails.xml msgid "waterandstone_blue" -msgstr "" +msgstr "waterandstone_blue" #: templates/waterandstone_green/templateDetails.xml msgid "" "The Water and Stone Green Template optimized for 1024px x 768px screen " "resolution for use with any type of website with easy customization" msgstr "" +"The Water and Stone Green Template optimized for 1024px x 768px screen " +"resolution for use with any type of website with easy customization" #: templates/waterandstone_green/templateDetails.xml msgid "waterandstone_green" -msgstr "" +msgstr "waterandstone_green" #: templates/waterandstone_greenandblack/templateDetails.xml msgid "" "The Water and Stone Green and Black Template optimized for 1024px x 768px " "screen resolution for use with any type of website with easy customization" msgstr "" +"The Water and Stone Green and Black Template optimized for 1024px x 768px " +"screen resolution for use with any type of website with easy customization" #: templates/waterandstone_greenandblack/templateDetails.xml msgid "waterandstone_greenandblack" -msgstr "" +msgstr "waterandstone_greenandblack" #: administrator/components/com_content/admin.content.html.php:35 #: administrator/components/com_content/admin.content.html.php:39 @@ -5685,11 +5793,11 @@ #: administrator/components/com_content/admin.content.php:477 msgid "Select Section" -msgstr "" +msgstr "เลือกหมวด" #: administrator/components/com_content/admin.content.php:479 msgid "Add Section(s) First" -msgstr "" +msgstr "เพิ่มหมวดหมู่(s) เป็นอันดับแรก" #: administrator/components/com_content/admin.content.php:488 #: administrator/components/com_content/admin.content.php:503 @@ -5699,7 +5807,7 @@ #: administrator/components/com_content/admin.content.php:498 msgid "Add Categories First" -msgstr "" +msgstr "เพิ่มประเภทเป็นอันดับแรก" #: administrator/components/com_content/admin.content.php:681 msgid "Successfully Saved changes to Item: " @@ -6098,60 +6206,60 @@ #: administrator/components/com_containers/admin.containers.html.php:45 msgid "Display number" -msgstr "" +msgstr "แสดงตัวเลข" #: administrator/components/com_containers/admin.containers.html.php:49 msgid "Show Descendants?" -msgstr "" +msgstr "แสดงนามสกุล?" #: administrator/components/com_containers/admin.containers.html.php:64 msgid "Parent container" -msgstr "" +msgstr "กลุ่มที่ใส่" #: administrator/components/com_containers/admin.containers.html.php:81 msgid "Mambo " -msgstr "" +msgstr "แมมโบ้ " #: administrator/components/com_containers/admin.containers.html.php:134 msgid "Top level container" -msgstr "" +msgstr "ที่ใส่ระดับบนสุด" #: administrator/components/com_containers/admin.containers.html.php:135 msgid "Immediate container" -msgstr "" +msgstr "ที่ใส่ใกล้ๆ" #: administrator/components/com_containers/admin.containers.html.php:188 #: administrator/components/com_containers/containers.xml msgid "Containers" -msgstr "" +msgstr "ที่ใส่" #: administrator/components/com_containers/admin.containers.html.php:248 msgid "Edit Container details" -msgstr "" +msgstr "แก้ไขรายละเอียดที่ใส่" #: administrator/components/com_containers/admin.containers.html.php:250 msgid "Container name" -msgstr "" +msgstr "ชื่อที่ใส่" #: administrator/components/com_containers/admin.containers.html.php:251 msgid "Up to 500 characters" -msgstr "" +msgstr "สูงถึง 500 ตัวอักษร" #: administrator/components/com_containers/admin.containers.html.php:252 msgid "Keywords" -msgstr "" +msgstr "คำค้น" #: administrator/components/com_containers/admin.containers.html.php:253 msgid "Window title" -msgstr "" +msgstr "หัวเรื่องวินโดวส์" #: administrator/components/com_containers/containers.xml msgid "Nested container system for Mambo" -msgstr "" +msgstr "ระบบที่ใส่กลุ่มสำหรับแมมโบ้" #: components/com_containers/containers.class.php:143 msgid "No parent" -msgstr "" +msgstr "ไม่ใช่กลุ่ม" #: administrator/components/com_contact/admin.contact.html.php:27 msgid "Contact Manager" @@ -6545,7 +6653,7 @@ #: components/com_contact/contact.php:382 msgid "Contact Us" -msgstr "" +msgstr "ติดต่อเรา" #: administrator/components/com_config/admin.config.html.php:102 msgid "Global Configuration" @@ -6588,6 +6696,14 @@ msgstr "ชื่อเว็บ:" #: administrator/components/com_config/admin.config.html.php:157 +msgid "Use Captcha Authentication:" +msgstr "ใช้การตรวจสอบด้วยแค็ปช่า:" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "Captcha images assist in the reduction of automated entries and spam. Requires the GD image library" +msgstr "รูปภาพ แค็ปช่า จะช่วยในการกรองข้อความที่ถูกส่งมาอย่างไม่ต้องการโดยอัติโนมัติ และสแปมด้วย. ต้องการสนันสนุนการทำงานจาก GD image library" + +#: administrator/components/com_config/admin.config.html.php:157 msgid "Show UnAuthorized Links:" msgstr "แสดงลิงก์ที่ไม่มีสิทธิ์:" @@ -6643,7 +6759,7 @@ #: administrator/components/com_config/admin.config.html.php:204 msgid "Favorites Site Icon:" -msgstr "" +msgstr "ไอคอนของเว็บไซต์:" #: administrator/components/com_config/admin.config.html.php:208 msgid "" @@ -6670,11 +6786,11 @@ #: administrator/components/com_config/admin.config.html.php:232 msgid "Debugging:" -msgstr "" +msgstr "ดีบัก:" #: administrator/components/com_config/admin.config.html.php:236 msgid "Use Gettext:" -msgstr "" +msgstr "ใช้ Gettext:" #: administrator/components/com_config/admin.config.html.php:240 msgid "Country Locale:" @@ -6787,7 +6903,7 @@ #: administrator/components/com_config/admin.config.html.php:362 msgid "Database" -msgstr "" +msgstr "ฐานข้อมูล" #: administrator/components/com_config/admin.config.html.php:366 msgid "Hostname:" @@ -6858,13 +6974,13 @@ #: administrator/components/com_config/admin.config.html.php:434 msgid "Register Globals Emulation:" -msgstr "การจำค่าการลงทะเบียน:" +msgstr "จำลองค่า Register Globals:" #: administrator/components/com_config/admin.config.html.php:438 msgid "" "Register globals emulation. Some components may stop working if this option " "is set to Off." -msgstr "การจำค่าการลงทะเบียน. คอมโพเน้นท์จำนวนหนึ่งอาจหยุดทำงานเมื่อตั้งค่าตัวเลือกนี้เป็น Off." +msgstr "จำลองค่า Register Globals (ตรวจสอบค่าในไฟล์ php.ini). บางคอมโพเน้นท์อาจหยุดทำงานเมื่อตั้งค่าตัวเลือกนี้เป็น Off." #: administrator/components/com_config/admin.config.html.php:444 msgid "Help Server:" @@ -7087,6 +7203,15 @@ msgid "Off" msgstr "ปิด" +#: administrator/components/com_config/admin.config.php:361 +#: administrator/components/com_config/admin.config.php:399 +msgid "Yes" +msgstr "ใช่" + +#: administrator/components/com_config/admin.config.php:362 +msgid "No" +msgstr "ไม่" + #: administrator/components/com_config/admin.config.php:366 msgid "PHP mail function" msgstr "ใช้การส่งเมลของ PHP" @@ -7294,6 +7419,14 @@ msgid "end page" msgstr "หน้าสุดท้าย" +#: administrator/includes/pageNavigation.php:154 +msgid "Move Up" +msgstr "ย้ายขึ้น" + +#: administrator/includes/pageNavigation.php:170 +msgid "Move Down" +msgstr "ย้ายลง" + #: includes/HTML_toolbar.php:37 msgid "Please make a selection from the list to" msgstr "โปรดเลือกประเภทเพื่อ" @@ -7358,28 +7491,28 @@ #: includes/cmtclasses.php:143 #, php-format msgid "Component %s error: attempt to use non-existent class %s in %s" -msgstr "" +msgstr "คอมโพเน้นท์ %s ผิดพลาด: พยายามเพื่อใช้ ไม่มี-ซึ่งมีอยู่ คลาส %s ใน %s" #: includes/cmtclasses.php:165 #, php-format msgid "Component %s error: attempt to use non-existent method %s in %s" -msgstr "" +msgstr "คอมโพเน้นท์ %s ผิดพลาด: พยายามเพื่อใช้ ไม่มี-ซึ่งมีอยู่ วิธี %s ใน %s" #: includes/cmtclasses.php:167 includes/cmtclasses.php:173 #: includes/cmtclasses.php:231 #, php-format msgid "Component %s error: attempt to use non-existent class %s" -msgstr "" +msgstr "คอมโพเน้นท์ %s ผิดพลาด: พยายามเพื่อใช้ ไม่มี-ซึ่งมีอยู่ คลาส %s" #: includes/cmtclasses.php:210 #, php-format msgid "MOS error in %s: method %s not found in class %s" -msgstr "" +msgstr "MOS ผิดพลาด ใน %s: วิธี %s ไม่ถูกค้นพบในคลาส %s" #: includes/cmtclasses.php:212 #, php-format msgid "MOS error in %s: class not found %s" -msgstr "" +msgstr "MOS ผิดพลาด ใน %s: คลาสไม่ค้นพบ %s" #: includes/cmtclasses.php:533 msgid "Your Module must contain a title." @@ -7387,7 +7520,7 @@ #: includes/core.classes.php:351 msgid "Impossible to determine the name of this server" -msgstr "" +msgstr "เป็นไปไม่ได้ที่จะตัดสินใจชื่อของเครื่องเซิร์ฟเวอร์นี้" #: includes/mamboHTML.php:103 msgid "January" @@ -7555,6 +7688,23 @@ "Please do not respond to this message as it is automatically generated and " "is for information purposes only." msgstr "" +"สวัสดี %s,\n" +"\n" +"\n" +"มีสมาชิกได้ส่ง %s:\n" +"[ %s ]\n" +"\n" +"โดย :\n" +"[ %s ]\n" +"\n" +"\n" +"เข้ามาในเว็บ %\n" +"\n" +"กรุณาเข้าไปยัง %s/administrator เพื่อตรวจสอบและอนุมัติ %s\n" +"\n" +"\n" +"ข้อความนี้ถูกส่งเข้ามาด้วยระบบอัตโนมัติ เพื่อแจ้งให้คุณทราบเท่านั้น " +"ไม่จำเป็นต้องตอบกลับ." #: includes/mambofunc.php:52 msgid "You need to login." @@ -7672,8 +7822,8 @@ msgstr "จะสร้างเมนูใหม่ในเมนูที่คุณเลือก" #: administrator/components/com_categories/admin.categories.html.php:467 -msgid "Select Menu Typ" -msgstr "" +msgid "Select Menu Type" +msgstr "เลือกชนิดเมนู" #: administrator/components/com_categories/admin.categories.html.php:516 msgid "Menu links available when saved" @@ -7775,17 +7925,17 @@ #: administrator/components/com_categories/admin.categories.php:329 #: administrator/components/com_categories/admin.categories.php:804 msgid "News Feed Category Table" -msgstr "" +msgstr "ตารางประเภท News Feed" #: administrator/components/com_categories/admin.categories.php:332 #: administrator/components/com_categories/admin.categories.php:809 msgid "Web Link Category Table" -msgstr "" +msgstr "ตารางประเภทเว็บลิงก์" #: administrator/components/com_categories/admin.categories.php:334 #: administrator/components/com_categories/admin.categories.php:784 msgid "Content Category Table" -msgstr "ตารางประเภท" +msgstr "ตารางประเภทเนื้อหา" #: administrator/components/com_categories/admin.categories.php:335 #: administrator/components/com_categories/admin.categories.php:789 @@ -7889,7 +8039,7 @@ #: administrator/components/com_banners/admin.banners.html.php:230 msgid "Show Banner :" -msgstr "" +msgstr "แสดงป้ายโฆษณา :" #: administrator/components/com_banners/admin.banners.html.php:238 msgid "Click URL:" @@ -7917,7 +8067,11 @@ #: administrator/components/com_banners/admin.banners.html.php:335 msgid "Client ID" -msgstr "" +msgstr "ID เจ้าของ" + +#: administrator/components/com_banners/admin.banners.html.php:337 +msgid "Contact" +msgstr "การติดต่อ" #: administrator/components/com_banners/admin.banners.html.php:341 msgid "No. of Active Banners" @@ -8171,7 +8325,7 @@ #: administrator/modules/mod_fullmenu.php:231 #: administrator/modules/mod_fullmenu.php:250 msgid "Review/Uninstall" -msgstr "" +msgstr "แสดง/ลบ" #: administrator/modules/mod_fullmenu.php:220 msgid "More Components" @@ -8235,19 +8389,19 @@ #: administrator/modules/mod_fullmenu.php:267 msgid "Install Any Plugin" -msgstr "" +msgstr "ติดตั้งปลั๊กอินอย่างใดๆ" #: administrator/modules/mod_fullmenu.php:267 msgid "Universal" -msgstr "" +msgstr "ทั่วไป" #: administrator/modules/mod_fullmenu.php:269 msgid "Install from The Source" -msgstr "" +msgstr "ติดตั้งจากต้นกำเนิด" #: administrator/modules/mod_fullmenu.php:269 msgid "The Source" -msgstr "" +msgstr "ต้นกำเนิด" #: administrator/modules/mod_fullmenu.php:277 msgid "Messaging Management" @@ -8304,11 +8458,11 @@ #: administrator/modules/mod_logged.xml msgid "Logged in Users" -msgstr "" +msgstr "ผู้ใช้งานที่ล็อกอินอยู่" #: administrator/modules/mod_logged.xml msgid "This module shows a list of the currently logged in users" -msgstr "" +msgstr "โมดูลนี้ใช้แสดงรายการผู้ใช้งานที่ล็อกอินอยู่" #: administrator/modules/mod_online.php:24 msgid "Users Online" @@ -8320,7 +8474,7 @@ #: administrator/modules/mod_popular.xml administrator/modules/mod_stats.xml msgid "Popular Items" -msgstr "" +msgstr "รายการที่ได้รับความนิยม" #: administrator/modules/mod_popular.xml msgid "" @@ -8328,6 +8482,9 @@ "current (some may have expired even though they are the most recent). Items " "that are displayed on the Front Page Component are not included in the list." msgstr "" +"นี่เป็นโมดูลแสดงรายการที่ได้รับความนิยมที่สุด ที่ถูกแสดง" +"อยู่ในปัจจุบัน (บางบทความอาจหมดอายุแม้จะเพิ่งเพิ่มเข้ามา). รายการ" +"ที่แสดงอยู่บนคอมโพเน้นท์ด้านหน้าเว็บ จะไม่รวมอยู่ในรายการ." #: administrator/modules/mod_quickicon.php:37 #: administrator/modules/mod_quickicon.php:146 @@ -8356,6 +8513,9 @@ "expired even though they are the most recent). Items that are displayed on " "the Front Page Component are not included in the list." msgstr "" +"นี่เป็นโมดูลที่แสดงสถิติของรายการ ที่ถูกแสดงอยู่ในปัจจุบัน (บางบทความ " +"อาจหมดอายุแม้จะเพิ่งเพิ่มเข้ามา). รายการที่แสดงอยู่บนคอมโพเน้นท์ด้านหน้าเว็บ " +"จะไม่รวมอยู่ในรายการ." #: administrator/popups/contentwindow.php:24 msgid "Content Preview" @@ -8390,13 +8550,13 @@ #: administrator/popups/uploadimage.php:58 #, php-format msgid "Upload of %s failed" -msgstr "" +msgstr "อัพโหลด %s ล้มเหลว" #: administrator/popups/uploadimage.php:54 #: administrator/popups/uploadimage.php:62 #, php-format msgid "Upload of %s to %s successful" -msgstr "" +msgstr "อัพโหลด จาก %s ไป %s สมบูรณ์" #: administrator/popups/uploadimage.php:86 msgid "File Upload :" @@ -8407,7 +8567,7 @@ #: administrator/templates/mambo_admin_blue/index.php:55 #: administrator/templates/mambo_admin_blue/index.php:93 msgid "Mambo Logo" -msgstr "Mambo Logo" +msgstr "สัญลักษณ์แมมโบ้" #: administrator/templates/mambo_admin/login.php:57 msgid "Welcome to Mambo!" @@ -8421,15 +8581,15 @@ #: administrator/templates/mambo_admin/templateDetails.xml msgid "Mambo Admin" -msgstr "" +msgstr "Mambo Admin" #: administrator/templates/mambo_admin_blue/templateDetails.xml msgid "Mambo Admin Blue" -msgstr "" +msgstr "Mambo Admin Blue" #: administrator/components/com_weblinks/admin.weblinks.html.php:27 msgid "Web Link Manager" -msgstr "" +msgstr "การจัดการเว็บลิงก์" #: administrator/components/com_weblinks/admin.weblinks.html.php:56 msgid "Approved" @@ -8455,7 +8615,7 @@ #: administrator/components/com_weblinks/admin.weblinks.html.php:188 msgid "Web Link:" -msgstr "" +msgstr "เว็บลิงก์:" #: administrator/components/com_weblinks/admin.weblinks.html.php:223 #: components/com_weblinks/weblinks.html.php:295 @@ -8512,7 +8672,7 @@ #: components/com_weblinks/weblinks.html.php:247 msgid "Web Link item must have a title" -msgstr "" +msgstr "รายการเว็บลิงก์ต้องมีหัวเรื่อง" #: components/com_weblinks/weblinks.html.php:262 msgid "Submit A Web Link" @@ -8649,7 +8809,7 @@ #: administrator/components/com_users/admin.users.html.php:312 msgid "See \"Components -> Contact -> Manage Contacts\" for details." -msgstr "" +msgstr "ดูที่ \"คอมโพเน้นท์ -> ติดต่อ -> จัดการติดต่อ\" สำหรับรายละเอียด." #: administrator/components/com_users/admin.users.html.php:389 msgid "Change Contact Details" @@ -8666,7 +8826,7 @@ #. get list of Log Status for dropdown filter #: administrator/components/com_users/admin.users.php:158 msgid "- Select Log Status - " -msgstr "" +msgstr "- เลือกล็อคสถานะ - " #: administrator/components/com_users/admin.users.php:160 msgid "Not Logged In" @@ -8848,6 +9008,83 @@ msgid "All items checked out have now been checked in" msgstr "ตรวจสอบ ว่า นำเข้าหมดแล้ว" +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:32 +msgid "Static Content Manager" +msgstr "เนื้อหาสเตติก" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:35 +msgid "Filter:" +msgstr "ค้นหา:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:61 +msgid "Title" +msgstr "ชื่อเรื่อง" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:64 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:96 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:99 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:518 +msgid "Published" +msgstr "เผยแพร่" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:67 +msgid "Order:" +msgstr "ลำดับ:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:70 +msgid "Save Order" +msgstr "บันทึกการจัดลำดับ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:73 +msgid "Access" +msgstr "การเข้าถึง" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:76 +msgid "ID" +msgstr "ID" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:79 +msgid "Links" +msgstr "ลิงก์" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:82 +msgid "Author" +msgstr "ผู้เขียน" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:85 +msgid "Date" +msgstr "วันที่" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:102 +msgid "Expired" +msgstr "หมดอายุ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:105 +msgid "Unpublished" +msgstr "ไม่เผยแพร่" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:110 +msgid "Always" +msgstr "เสมอ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:110 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:112 +msgid "Start:" +msgstr "เริ่มต้น" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:117 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:119 +msgid "Finish:" +msgstr "สิ้นสุด" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:117 +msgid "No Expiry" +msgstr "ไม่หมดอายุ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:147 +msgid "Edit User" +msgstr "แก้ไขผู้ใช้" + #: administrator/components/com_typedcontent/admin.typedcontent.html.php:175 msgid "Edit Static Content" msgstr "แก้ไขเนื้อหาสเตติก" @@ -8900,8 +9137,8 @@ msgstr "เส้นขอบ" #: administrator/components/com_typedcontent/admin.typedcontent.html.php:734 -msgid "This will create a \"Link - Static Content\" in the menu you select" -msgstr "" +msgid "This will create a "Link - Static Content" in the menu you select" +msgstr "สิ่งนี้จะสร้าง "การเชื่อมโยง - เนื้อหาสเตติก" ในเมนูที่ คุณเลือก" #: administrator/components/com_typedcontent/admin.typedcontent.php:157 msgid "Ordering asc" @@ -9134,7 +9371,7 @@ #: administrator/components/com_syndicate/syndicate.xml msgid "ATOM 1.0" -msgstr "" +msgstr "ATOM 1.0" #: administrator/components/com_syndicate/syndicate.xml msgid "Activate support for Firefox Live Bookmarks functionality" @@ -9484,6 +9721,8 @@ "Sorry, no corresponding user was found. Please make sure you entered a " "valid username and a valid email address. Both are required." msgstr "" +"ขออภัย, ไม่พบผู้ใช้นี้ในทะเบียน. กรุณาตรวจสอบให้แน่ใจ สิ่งที่คุณใส่ " +"ชื่อผู้ใช้สมบูรณ์ และตำแหน่งที่อยู่อีเมล์สมบูรณ์. เป็นสิ่งที่ต้องการ." #: components/com_registration/registration.php:76 #, php-format @@ -9644,7 +9883,7 @@ #: administrator/components/com_poll/admin.poll.html.php:39 msgid "Poll Question" -msgstr "" +msgstr "คำถามของโฟลล์" #: administrator/components/com_poll/admin.poll.html.php:45 msgid "Options" @@ -9672,7 +9911,7 @@ #: administrator/components/com_poll/admin.poll.html.php:148 msgid "Question:" -msgstr "" +msgstr "คำถาม:" #: administrator/components/com_poll/admin.poll.html.php:157 msgid "Show on menu items:" @@ -10082,7 +10321,7 @@ #: administrator/components/com_languages/views/templates/langform.tpl.php:223 msgid "plural forms" -msgstr "" +msgstr "รูปแบบพหูพจน์" #: administrator/components/com_menus/content_blog_category/content_blog_category.xml msgid "Dscription Image" diff -ruN 4.6rc2/language/locales.xml 4.6-complete/language/locales.xml --- 4.6rc2/language/locales.xml 2006-03-19 14:41:39.000000000 -0600 +++ 4.6-complete/language/locales.xml 2006-09-20 19:05:05.000000000 -0500 @@ -5,7 +5,6 @@ %B %d, %Y at %I:%M %p utf-8 - iso-8859-1 South Africa @@ -18,7 +17,6 @@ %d %B, %Y at %I:%M %p utf-8 - iso-8859-1 Albania @@ -31,8 +29,6 @@ %d %B %Y الساعة %H:%M utf-8 - windows-1256 - iso-8859-6 Algeria @@ -62,8 +58,6 @@ %Y-%m-%d, %H:%M:%S utf-8 - iso-8859-1 - iso-8859-15 Spain @@ -76,9 +70,6 @@ %e %B %Y в %H:%M utf-8 - koi8-r - windows-1251 - cp1251 Bulgaria @@ -91,8 +82,6 @@ %d-%m-%Y a les %H:%M:%S utf-8 - iso-8859-1 - iso-8859-15 Spain @@ -105,12 +94,6 @@ %Y 年 %m 月 %d 日 %H:%M utf-8 - gb2312 - gb18030 - gbk - big5-hkscs - big5 - euc-tw China @@ -125,8 +108,6 @@ %d. %B %Y. u %H:%M utf-8 - iso-8859-2 - windows-1250 Croatia @@ -139,8 +120,6 @@ %a %d. %b %Y, %H:%M utf-8 - iso-8859-2 - windows-1250 Czech Republic @@ -153,8 +132,6 @@ %d/%m %Y kl. %H:%M:%S utf-8 - iso-8859-1 - iso-8859-15 Denmark @@ -167,8 +144,6 @@ %d %B %Y om %H:%M utf-8 - iso-8859-1 - iso-8859-15 Belgium @@ -182,8 +157,6 @@ %B %d, %Y at %I:%M %p utf-8 - iso-8859-1 - iso-8859-15 Australia @@ -209,7 +182,6 @@ %d.%m.%Y kell %H:%M:%S utf-8 - iso-8859-1 Estonia @@ -222,8 +194,6 @@ %d.%m.%Y klo %H:%M utf-8 - iso-8859-1 - iso-8859-15 Finland @@ -236,8 +206,6 @@ %A %d %B %Y à %H:%M utf-8 - iso-8859-1 - iso-8859-15 Belgium @@ -254,8 +222,6 @@ %B %d, %Y at %I:%M %p utf-8 - iso-8859-1 - iso-8859-15 Spain @@ -268,7 +234,6 @@ %B %d, %Y at %I:%M %p utf-8 - georgian-ps Georgia @@ -281,8 +246,6 @@ %d. %B %Y um %H:%M utf-8 - iso-8859-1 - iso-8859-15 Austria @@ -299,7 +262,6 @@ %d %B %Y, στις %I:%M %p utf-8 - iso-8859-7 Greece @@ -312,8 +274,6 @@ %B %d, %Y at %I:%M %p utf-8 - iso-8859-8-i - iso-8859-8 Israel @@ -338,7 +298,6 @@ %Y. %B %d. %H:%M utf-8 - iso-8859-2 Hungary @@ -351,7 +310,6 @@ %d. %B %Y jam %H:%M utf-8 - iso-8859-1 Indonesia @@ -364,8 +322,6 @@ %d %B, %Y at %I:%M %p utf-8 - iso-8859-1 - iso-8859-15 Italy @@ -379,9 +335,6 @@ %Y 年 %B %d 日 %H:%M utf-8 - euc - sjis - euc-jp Japan @@ -394,7 +347,6 @@ %y-%m-%d %H:%M utf-8 - euc-kr Korea @@ -407,8 +359,6 @@ %d.%m.%Y %H:%M utf-8 - windows-1257 - iso-8859-13 Latvia @@ -421,8 +371,6 @@ %Y m. %B %d d. %H:%M utf-8 - windows-1257 - iso-8859-13 Lithuania @@ -435,7 +383,6 @@ %B %d, %Y at %I:%M %p utf-8 - iso-8859-1 Malaysia @@ -448,7 +395,6 @@ %d. %B, %Y klokka %H:%M %p utf-8 - iso-8859-1 Norway @@ -461,7 +407,6 @@ %d %B %Y ساعت %I:%M %p utf-8 - windows-1256 Iran @@ -474,7 +419,6 @@ %d %B %Y, %H:%M utf-8 - iso-8859-2 Poland @@ -487,8 +431,6 @@ %d-%B-%Y às %H:%M utf-8 - iso-8859-1 - iso-8859-15 Brazil @@ -502,8 +444,6 @@ %B %d, %Y at %I:%M %p utf-8 - iso-8859-1 - iso-8859-2 Romania @@ -516,11 +456,6 @@ %B %d %Y г., %H:%M utf-8 - cp-866 - koi8-r - windows-1251 - iso-8859-5 - koi8-u Russia @@ -534,7 +469,6 @@ %d. %B %Y. у %H:%M utf-8 - windows-1251 @@ -546,7 +480,6 @@ %d. %B %Y. u %H:%M utf-8 - windows-1250 @@ -558,8 +491,6 @@ %d.%B, %Y - %H:%M utf-8 - iso-8859-2 - windows-1250 Slovak @@ -572,8 +503,6 @@ %d %B %Y ob %I:%M %p utf-8 - iso-8859-2 - windows-1250 Slovenia @@ -586,8 +515,6 @@ %d-%m-%Y a las %H:%M:%S utf-8 - iso-8859-1 - iso-8859-15 Argentina @@ -619,8 +546,6 @@ %d %B %Y kl %H:%M utf-8 - iso-8859-1 - iso-8859-15 Finland @@ -634,7 +559,6 @@ %d %B %Y %Rน. utf-8 - tis-620 Thailand @@ -647,7 +571,6 @@ %B %d, %Y at %I:%M %p utf-8 - iso-8859-9 Turkey @@ -660,8 +583,6 @@ %B %d %Y р., %H:%M utf-8 - windows-1251 - koi8-u Ukraine diff -ruN 4.6rc2/language/untranslated/administrator.pot 4.6-complete/language/untranslated/administrator.pot --- 4.6rc2/language/untranslated/administrator.pot 2006-06-10 12:37:53.000000000 -0500 +++ 4.6-complete/language/untranslated/administrator.pot 2006-09-20 19:05:04.000000000 -0500 @@ -260,6 +260,14 @@ msgid "end page" msgstr "" +#: administrator/includes/pageNavigation.php:154 +msgid "Move Up" +msgstr "" + +#: administrator/includes/pageNavigation.php:170 +msgid "Move Down" +msgstr "" + #: administrator/modules/mod_fullmenu.php:66 msgid "Control Panel" msgstr "" diff -ruN 4.6rc2/language/untranslated/comment.pot 4.6-complete/language/untranslated/comment.pot --- 4.6rc2/language/untranslated/comment.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/language/untranslated/comment.pot 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,27 @@ +# Mambo Open Source. +# Copyright (C) 2005 - 2006 Mambo Foundation Inc. +# This file is distributed under the same license as the Mambo package. +# Translation Team , 2006# +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Mambo 4.6\n\n" +"Report-Msgid-Bugs-To: translation@mambo-foundation.org\n\n" +"POT-Creation-Date: 2006-07-07 08:38+0100\n\n" +"PO-Revision-Date: 2006-07-07 08:38+0100\n\n" +"Last-Translator: Translation \n\n" +"Language-Team: Translation \n\n" +"MIME-Version: 1.0\n\n" +"Content-Type: text/plain; charset=utf-8\n\n" +"Content-Transfer-Encoding: 8bit\n\n" +"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n\n" + +#: administrator/components/com_comment/comment.xml +msgid "Comment" +msgstr "" + +#: administrator/components/com_comment/comment.xml +msgid "Adds a commenting feature to articles within selected sections" +msgstr "" + diff -ruN 4.6rc2/language/untranslated/config.pot 4.6-complete/language/untranslated/config.pot --- 4.6rc2/language/untranslated/config.pot 2006-06-10 12:37:53.000000000 -0500 +++ 4.6-complete/language/untranslated/config.pot 2006-09-20 19:05:04.000000000 -0500 @@ -69,6 +69,14 @@ msgstr "" #: administrator/components/com_config/admin.config.html.php:157 +msgid "Use Captcha Authentication:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "Captcha images assist in the reduction of automated entries and spam. Requires the GD image library" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:157 msgid "Show UnAuthorized Links:" msgstr "" diff -ruN 4.6rc2/language/untranslated/menumanager.pot 4.6-complete/language/untranslated/menumanager.pot --- 4.6rc2/language/untranslated/menumanager.pot 2006-06-10 12:37:53.000000000 -0500 +++ 4.6-complete/language/untranslated/menumanager.pot 2006-09-20 19:05:05.000000000 -0500 @@ -70,6 +70,10 @@ msgid "Menu Name:" msgstr "" +#: administrator/components/com_menumanager/admin.menumanager.html.php:205 +msgid "Module Title:" +msgstr "" + #: administrator/components/com_menumanager/admin.menumanager.html.php:195 msgid "" "This is the identification name used by mambo to identify this menu within " @@ -88,9 +92,7 @@ msgstr "" #: administrator/components/com_menumanager/admin.menumanager.html.php:218 -msgid "" -"Parameters for the module created are to be edited through the \"Modules " -"Manager [site]\": Modules -> Site Modules" +msgid "Parameters for the module created are to be edited through the "Modules Manager [site]": Modules -> Site Modules" msgstr "" #: administrator/components/com_menumanager/admin.menumanager.html.php:266 diff -ruN 4.6rc2/language/untranslated/typedcontent.pot 4.6-complete/language/untranslated/typedcontent.pot --- 4.6rc2/language/untranslated/typedcontent.pot 2006-06-10 12:37:53.000000000 -0500 +++ 4.6-complete/language/untranslated/typedcontent.pot 2006-09-20 19:05:05.000000000 -0500 @@ -37,7 +37,7 @@ msgstr "" #: administrator/components/com_typedcontent/admin.typedcontent.html.php:67 -msgid "Order" +msgid "Order:" msgstr "" #: administrator/components/com_typedcontent/admin.typedcontent.html.php:70 @@ -200,6 +200,10 @@ msgid "Finish Publishing:" msgstr "" +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:520 +msgid "Content ID:" +msgstr "" + #: administrator/components/com_typedcontent/admin.typedcontent.html.php:518 msgid "Archived" msgstr "" @@ -323,7 +327,7 @@ msgstr "" #: administrator/components/com_typedcontent/admin.typedcontent.html.php:734 -msgid "This will create a \"Link - Static Content\" in the menu you select" +msgid "This will create a "Link - Static Content" in the menu you select" msgstr "" #: administrator/components/com_typedcontent/admin.typedcontent.html.php:740 diff -ruN 4.6rc2/mambots/content/geshi.xml 4.6-complete/mambots/content/geshi.xml --- 4.6rc2/mambots/content/geshi.xml 2006-02-24 14:55:29.000000000 -0600 +++ 4.6-complete/mambots/content/geshi.xml 2006-09-20 19:05:03.000000000 -0500 @@ -1,8 +1,8 @@ - + GeSHi - Mambo Project - August 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL qbnz.com/highlighter @@ -10,6 +10,15 @@ Displays formatted code in content items based on the GeSHi highlighting engine geshi.php + geshi.xml + geshi/geshi.php + geshi/geshi/css.php + geshi/geshi/html4strict.php + geshi/geshi/javascript.php + geshi/geshi/php.php + geshi/geshi/php-brief.php + geshi/geshi/sql.php + geshi/geshi/xml.php diff -ruN 4.6rc2/mambots/content/moscode.xml 4.6-complete/mambots/content/moscode.xml --- 4.6rc2/mambots/content/moscode.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/mambots/content/moscode.xml 2006-09-20 19:05:03.000000000 -0500 @@ -1,16 +1,17 @@ - + moscode - Mambo Project - August 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 Displays formatted code in content items moscode.php + moscode.xml - + \ No newline at end of file diff -ruN 4.6rc2/mambots/content/moscomment.php 4.6-complete/mambots/content/moscomment.php --- 4.6rc2/mambots/content/moscomment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/mambots/content/moscomment.php 2006-09-20 19:05:03.000000000 -0500 @@ -0,0 +1,117 @@ +registerFunction( 'onPrepareContent', 'botMosComment' ); + +function botMosComment( $published, &$row, &$params, $page=0 ) { + + global $database, $mainframe, $option, $task; + global $mosConfig_lang, $mosConfig_absolute_path, $mosConfig_live_site, $mosConfig_usecaptcha, $my, $Itemid; + + # Load configuration file + require($mosConfig_absolute_path."/administrator/components/com_comment/config.comment.php"); + + $seclistarray = explode (",", $allow_comments_in_sections); + if (in_array ($row->sectionid, $seclistarray)) { + + # count number of comments + $database->setQuery( "SELECT count(*) FROM #__comment WHERE articleid='$row->id' AND published='1'" ); + $total = $database->loadResult(); + + if ($option=='com_content' AND $task=='view' AND !$params->get( 'intro_only' )) { + + # Check if valid user + $is_user = (strtolower($my->usertype) <> ''); + + if ( $total >= 0 ) { + + $comments = "
      "; + $comments .= "
      - + id ? T_('Edit') : T_('New');?> @@ -199,12 +199,12 @@ - +
      - +
      - + @@ -212,7 +212,7 @@
      - + @@ -220,7 +220,7 @@
      - + @@ -228,7 +228,7 @@
      - + @@ -237,7 +237,7 @@
      - + @@ -245,7 +245,7 @@
      - + @@ -253,7 +253,7 @@
      - + @@ -265,7 +265,7 @@ diff -ruN 4.6rc2/administrator/components/com_weblinks/weblinks.xml 4.6-complete/administrator/components/com_weblinks/weblinks.xml --- 4.6rc2/administrator/components/com_weblinks/weblinks.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/administrator/components/com_weblinks/weblinks.xml 2006-09-20 19:05:04.000000000 -0500 @@ -1,14 +1,59 @@ - + Weblinks - Mambo Project - July 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 This component shows a listing of Weblinks + + Web Links + + Web Link Items + Web Link Categories + + + admin.weblinks.html.php + admin.weblinks.php + weblinks.xml + index.html + toolbar.weblinks.html.php + toolbar.weblinks.php + + + + weblinks.html.php + weblinks.php + weblinks.class.php + index.html + + + + CREATE TABLE `mos_weblinks` ( + `id` int(11) unsigned NOT NULL auto_increment, + `catid` int(11) NOT NULL default '0', + `sid` int(11) NOT NULL default '0', + `title` varchar(250) NOT NULL default '', + `url` varchar(250) NOT NULL default '', + `description` varchar(250) NOT NULL default '', + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `hits` int(11) NOT NULL default '0', + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `archived` tinyint(1) NOT NULL default '0', + `approved` tinyint(1) NOT NULL default '1', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `catid` (`catid`,`published`,`archived`) + ); + + + diff -ruN 4.6rc2/administrator/components/com_weblinks/weblinks_item.xml 4.6-complete/administrator/components/com_weblinks/weblinks_item.xml --- 4.6rc2/administrator/components/com_weblinks/weblinks_item.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/administrator/components/com_weblinks/weblinks_item.xml 1969-12-31 18:00:00.000000000 -0600 @@ -1,19 +0,0 @@ - - - Weblinks - Mambo Project - July 2004 - copyright (C) 2005 - 2006 Mambo Foundation Inc. - http://www.gnu.org/copyleft/gpl.html GNU/GPL - core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 - This component shows a listing of Weblinks - - - - - - - - diff -ruN 4.6rc2/administrator/includes/menubar.html.php 4.6-complete/administrator/includes/menubar.html.php --- 4.6rc2/administrator/includes/menubar.html.php 2006-06-07 03:15:51.000000000 -0500 +++ 4.6-complete/administrator/includes/menubar.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -49,7 +49,7 @@ ?> " onmouseout="MM_swapImgRestore();" onmouseover="MM_swapImage('','','',1);"> '; + echo '
      '; echo $alt; ?> @@ -330,8 +330,8 @@ } - - Preview +
      +
      @@ -482,7 +482,7 @@ ?> diff -ruN 4.6rc2/administrator/includes/pageNavigation.php 4.6-complete/administrator/includes/pageNavigation.php --- 4.6rc2/administrator/includes/pageNavigation.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/includes/pageNavigation.php 2006-09-20 19:05:04.000000000 -0500 @@ -25,8 +25,8 @@ function mosPageNav( $total, $limitstart, $limit ) { $this->total = intval( $total ); - $this->limitstart = max( $limitstart, 0 ); - $this->limit = max( $limit, 1 ); + $this->limitstart = max( intval($limitstart), 0 ); + $this->limit = max( intval($limit), 1 ); if ($this->limit > $this->total) { $this->limitstart = 0; } @@ -132,7 +132,7 @@ $html = '
      - +
      - <?php echo $alt;?>
      + <?php echo $alt;?>
      -
      +
      - ' . T_('Help'); ?> + ' . T_('Help'); ?> - - Save +
      +
      - - Save +
      +
      - +
      - +
      '; - $html .= ''; + $html .= ''; $html .= ''; $html .= ''; $html .= '
      '; $html .= $this->getPagesLinks(); $html .= '
      Display #'.T_('Display #').'' .$this->getLimitBox() . '' . $this->getPagesCounter() . '
      '; @@ -151,8 +151,9 @@ * @param string The alt text for the icon * @return string */ - function orderUpIcon( $i, $condition=true, $task='orderup', $alt='Move Up' ) { + function orderUpIcon( $i, $condition=true, $task='orderup' ) { if (($i > 0 || ($i+$this->limitstart > 0)) && $condition) { + $alt = T_('Move Up'); return ' '.$alt.' '; @@ -167,8 +168,9 @@ * @param string The alt text for the icon * @return string */ - function orderDownIcon( $i, $n, $condition=true, $task='orderdown', $alt='Move Down' ) { + function orderDownIcon( $i, $n, $condition=true, $task='orderdown' ) { if (($i < $n-1 || $i+$this->limitstart < $this->total-1) && $condition) { + $alt = T_('Move Down'); return ' '.$alt.' '; diff -ruN 4.6rc2/administrator/modules/mod_fullmenu.php 4.6-complete/administrator/modules/mod_fullmenu.php --- 4.6rc2/administrator/modules/mod_fullmenu.php 2006-02-28 22:33:11.000000000 -0600 +++ 4.6-complete/administrator/modules/mod_fullmenu.php 2006-09-20 19:05:04.000000000 -0500 @@ -265,9 +265,16 @@ ?> _cmSplit, [null,'',null,null,'', ['','','index2.php?option=com_installer&element=universal&client=admin',null,''], + =5) { ?> + ['','','index2.php?option=com_installer&task=addon&element=universal&client=admin',null,''], + + //Commenting out The Source option for now since it is not working... + /* ['','','index2.php?option=com_installer&task=thesource&element=universal&client=admin',null,''], + */ ], ['', '', 'index2.php?option=com_checkin', null,''], ['', '', 'index2.php?option=com_admin&task=sysinfo', null, ''], + =5) { ?> + ['', '', 'index2.php?option=com_admin&task=versioninfo', null, ''], + ['','','index2.php?option=com_content&task=clean_cache',null,''], diff -ruN 4.6rc2/administrator/modules/mod_quickicon.php 4.6-complete/administrator/modules/mod_quickicon.php --- 4.6rc2/administrator/modules/mod_quickicon.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/modules/mod_quickicon.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,165 +1,119 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - -
      - -
      -
      - - -
      - -
      -
      - - -
      - -
      -
      - - -
      - -
      -
      - - -
      - -
      -
      - - -
      - -
      -
      - - -
      - -
      -
      - -   -
      - - -
      - -
      -
      - acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_menumanager' ) ) { - ?> - - -
      - -
      - -
      - acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { - ?> - - -
      - -
      - -
      - acl_check( 'administration', 'config', 'users', $my->usertype ) ) { - ?> - - -
      - -
      - -
      - - -
      - -
      -
      - - -
      - -
      -
      - - -
      - -
      -
      - - -
      - -
      -
      - -   -
      \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + +
      +
      + + +
      +
      +
      +
       
      +
      +
      + + +
      +
      + + +
      +
      + +
      +
      + + +
      +
      + acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_menumanager' ) ) { + ?> + + +
      +
      +
      + acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + ?> + + +
      +
      +
      + acl_check( 'administration', 'config', 'users', $my->usertype ) ) { + ?> + + +
      +
      +
      + + +
      +
      + + +
      +
      + + +
      +
       
      diff -ruN 4.6rc2/administrator/popups/pollwindow.php 4.6-complete/administrator/popups/pollwindow.php --- 4.6rc2/administrator/popups/pollwindow.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/administrator/popups/pollwindow.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,57 +1,96 @@ -setQuery( "SELECT title FROM #__polls WHERE id='$pollid'" ); -$title = $database->loadResult(); - -$database->setQuery( "SELECT text FROM #__poll_data WHERE pollid='$pollid' order by id" ); -$options = $database->loadResultArray(); -?> - - - - <?php echo T_('Poll Preview') ?> - - - - -
      - - - - - "") - {?> - - - - - - - - - - - -
        
      -
      - - - +setQuery( "SELECT title FROM #__polls WHERE id='$pollid'" ); +$title = $database->loadResult(); + +$database->setQuery( "SELECT text FROM #__poll_data WHERE pollid='$pollid' order by id" ); +$options = $database->loadResultArray(); +?> + + + + <?php echo T_('Poll Preview') ?> + + + + +
      + + + + + "") + {?> + + + + + + + + + + + +
        
      +
      + + + + +$element) $result[$key] = mosGetParam ($arr[$name], $key, $def, $mask); + else { + $result = $arr[$name]; + if (!($mask&_MOS_NOTRIM)) $result = trim($result); + if (!is_numeric( $result)) { + if (!($mask&_MOS_ALLOWHTML)) $result = strip_tags($result); + if (!($mask&_MOS_ALLOWRAW)) { + if (is_numeric($def)) $result = intval($result); + } + } + } + return $result; + } else { + return $def; + } +} +?> diff -ruN 4.6rc2/administrator/templates/mambo_admin_blue/css/template_css.css 4.6-complete/administrator/templates/mambo_admin_blue/css/template_css.css --- 4.6rc2/administrator/templates/mambo_admin_blue/css/template_css.css 2006-02-27 22:48:46.000000000 -0600 +++ 4.6-complete/administrator/templates/mambo_admin_blue/css/template_css.css 2006-09-20 19:05:04.000000000 -0500 @@ -356,7 +356,7 @@ border: 1px solid #cccccc; width: 14%; text-align: center; - cursor: hand; + cursor: pointer; font-weight: bold; color: #FFFFFF; } @@ -366,7 +366,7 @@ border: 1px solid #cccccc; width: 14%; text-align: center; - cursor: hand; + cursor: pointer; font-weight: normal; } .tabpadding { diff -ruN 4.6rc2/administrator/templates/mambo_admin_blue/css/theme.css 4.6-complete/administrator/templates/mambo_admin_blue/css/theme.css --- 4.6rc2/administrator/templates/mambo_admin_blue/css/theme.css 2006-01-19 14:55:40.000000000 -0600 +++ 4.6-complete/administrator/templates/mambo_admin_blue/css/theme.css 2006-09-20 19:05:04.000000000 -0500 @@ -31,7 +31,9 @@ overflow: visible; border: 1px solid #8C867B; + /* comment in because it's not valid css filter:progid:DXImageTransform.Microsoft.Shadow(color=#BDC3BD, Direction=135, Strength=4); + */ } .ThemeOfficeSubMenuTable diff -ruN 4.6rc2/administrator/templates/mambo_admin_blue/index.php 4.6-complete/administrator/templates/mambo_admin_blue/index.php --- 4.6rc2/administrator/templates/mambo_admin_blue/index.php 2006-06-07 03:15:51.000000000 -0500 +++ 4.6-complete/administrator/templates/mambo_admin_blue/index.php 2006-09-20 19:05:04.000000000 -0500 @@ -64,7 +64,7 @@
      diff -ruN 4.6rc2/components/com_comment/comment.php 4.6-complete/components/com_comment/comment.php --- 4.6rc2/components/com_comment/comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/components/com_comment/comment.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,84 @@ +usertype) <> ''); +$captcha_success = 0; // captcha not required + +if ($mosConfig_usecaptcha == '1') { + # spam protection + session_name('mos_captcha'); + session_start(); + + if(isset($_SESSION['code']) && ($_SESSION['code'] != "") && ($_SESSION['code'] == $spamstop)) { + $captcha_success = 1; // success + } else { + $captcha_success = 2; // fail + } +} + + + +if ($captcha_success != '2') { + + # if registered users only + if (!$allow_anonymous_entries AND !$is_user) { + + $link = sefRelToAbs("index.php?option=content&task=view&id=$articleid"); + echo ""; + + } else { + + $comments = strip_tags($comments); + $comments = mysql_escape_string(strip_tags($comments)); + $startdate = date( "Y-m-d H:i:s" ); + $ip = getenv('REMOTE_ADDR'); + + $query = "INSERT INTO #__comment SET articleid='$articleid', ip='$ip', name='$mcname', comments='$comments', startdate='$startdate', published='$auto_publish_comments';"; + $database->setQuery($query); + $database->query(); + + + if ($notify_new_entries == "1") { + // messaging for new items + require_once($mosConfig_absolute_path."/includes/mambofunc.php"); + $message = "A new comment has been added\n\n".$comments; + + if ($auto_publish_comments == "0") { + $message = $message . "\n\nYou have chosen not to auto publish new comments. Therefore you need to log in and publish new posts to make them visible."; + } + + mosMail ( $mosConfig_mailfrom, $mosConfig_mailfrom, $mosConfig_mailfrom, "A new comment has been submitted", $message); + } + + $msg = 'Thanks. Your comment has been successfully saved. '; + if ($auto_publish_comments == "0") { + $msg = $msg. "The Administrator will review and publish your comment shortly."; + } + + mosRedirect( "index.php?option=com_content&task=view&id=".$articleid."&Itemid=".$mcitemid, $msg ); + + } + +} else { + echo ""; +} + + +?> \ No newline at end of file diff -ruN 4.6rc2/components/com_contact/contact.html.php 4.6-complete/components/com_contact/contact.html.php --- 4.6rc2/components/com_contact/contact.html.php 2006-04-18 11:54:46.000000000 -0500 +++ 4.6-complete/components/com_contact/contact.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -18,7 +18,7 @@ function displaylist( &$categories, &$rows, $catid, $currentcat=NULL, &$params, $tabclass ) { global $Itemid, $mosConfig_live_site, $hide_js; - + if ( $params->get( 'page_title' ) ) { ?>
      @@ -246,7 +246,7 @@ function viewcontact( &$contact, &$params, $count, &$list, &$menu_params ) { - + global $mosConfig_live_site; global $mainframe, $Itemid; $template = $mainframe->getTemplate(); @@ -301,7 +301,7 @@ - + image && $params->get( 'image' ) ) { ?>
      - <?php echo T_('Contact') ?> + <?php echo T_('Contact'); ?>
      - email_to && !$params->get( 'popup' ) && $params->get( 'email_form' ) ) { ?> @@ -673,7 +674,16 @@ + ?> + +

      + + + +

      diff -ruN 4.6rc2/components/com_contact/contact.php 4.6-complete/components/com_contact/contact.php --- 4.6rc2/components/com_contact/contact.php 2006-04-27 12:43:45.000000000 -0500 +++ 4.6-complete/components/com_contact/contact.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,384 +1,412 @@ -getPath( 'front_html' ) ); -require_once( $mainframe->getPath( 'class' ) ); - -class contactUserControllers { - var $manager = ''; - var $user = ''; - var $op = ''; - var $con_id = 0; - var $contact_id = 0; - var $catid = 0; - var $Itemid = 0; - - function contactUserControllers ($manager) { - $this->manager = $manager; - $this->user =& mamboCore::get('currentUser'); - $this->op = mosGetParam($_REQUEST, 'op', ''); - $this->con_id = mosGetParam( $_REQUEST ,'con_id', 0 ); - $this->contact_id = mosGetParam( $_REQUEST ,'contact_id', 0 ); - $this->catid = mosGetParam( $_REQUEST ,'catid', 0 ); - $this->Itemid = mamboCore::get('Itemid'); - } - - function sendmail () { - $contact = new mosContact(); - $contact->load($this->con_id); - - $default = mamboCore::get('mosConfig_sitename').' '.T_('Enquiry'); - $email = mosGetParam( $_POST, 'email', '' ); - $text = mosGetParam( $_POST, 'text', '' ); - $name = mosGetParam( $_POST, 'name', '' ); - $subject = mosGetParam( $_POST, 'subject', $default ); - $email_copy = mosGetParam( $_POST, 'email_copy', 0 ); - - if (!$email OR !$text OR !is_email($email) OR $this->has_emailheaders($text) OR $this->has_newlines($email) OR $this->has_newlines($name) OR $this->has_newlines($subject) OR !isset($_SERVER['HTTP_USER_AGENT']) OR $_SERVER['REQUEST_METHOD'] != 'POST') { - echo ""; - exit(0); - } - $prefix = sprintf( T_('This is an enquiry e-mail via %s from:'), mamboCore::get('mosConfig_live_site') ); - $text = $prefix ."\n". $name. ' <'. $email .'>' ."\n\n". $text; - - mosMail( $email, $name , $contact->email_to, mamboCore::get('mosConfig_fromname') .': '. $subject, $text ); - - if ( $email_copy ) { - $copy_text = sprintf( T_('The following is a copy of the message you sent to %s via %s '), $contact->name, mamboCore::get('mosConfig_sitename') ); - $copy_text = $copy_text ."\n\n". $text .''; - $copy_subject = sprintf(T_('Copy of: %s'),$subject); - mosMail( mamboCore::get('mosConfig_mailfrom'), mamboCore::get('mosConfig_fromname'), $email, $copy_subject, $copy_text ); - } - ?> - - user); - $count = count($categories); - if ($count == 0 OR ($count == 1 AND $categories[0]->numlinks == 1)) { - // No or one category that qualifies - $this->contact_id = $count == 1 ? $categories[0]->minimum : 0; - $controller = new contact_view_Controller ($this->manager); - $controller->view(); - return; - } - $rows = array(); - $currentcat =& new stdClass(); - // Parameters - $menuhandler = mosMenuHandler::getInstance(); - $menu =& $menuhandler->getMenuByID($this->Itemid); - $params =& $this->makeParams ($menu->params, $menu->name); - // page header - $currentcat->header = $params->get( 'header' ); - // Path to images - $path = mamboCore::get('mosConfig_live_site').'/images/stories/'; - $currentcat->descrip = ''; - $currentcat->img = ''; - if ( $this->catid ) { - $params->set( 'type', 'category' ); - // url links info for category - $rows = mosContact::getContacts($this->catid, $this->user); - // current category info - foreach ($categories as $category) { - if ($category->id == $this->catid) { - $currentcat =& $category; - // show description - $currentcat->descrip = $currentcat->description; - // page image - $currentcat->img = $path . $currentcat->image; - $currentcat->align = $currentcat->image_position; - // page header - if ( @$currentcat->name <> '' ) $currentcat->header .= ' - '.$currentcat->name; - break; - } - } - } - else { - $params->set( 'type', 'section' ); - // show description - if ( $params->get( 'description' ) ) $currentcat->descrip = $params->get( 'description_text' ); - // page image - if ( $params->get( 'image' ) <> -1 ) { - $currentcat->img = $path . $params->get( 'image' ); - $currentcat->align = $params->get( 'image_align' ); - } - } - // used to show table rows in alternating colours - $tabclass = array( 'sectiontableentry1', 'sectiontableentry2' ); - HTML_contact::displaylist( $categories, $rows, $this->catid, $currentcat, $params, $tabclass ); - if ($this->op == 'sendmail') $this->sendmail(); - } - - function &makeParams ($rawparams, $name) { - $params =& new mosParameters( $rawparams ); - $params->def( 'page_title', 1 ); - $params->def( 'header', $name ); - $params->def( 'pageclass_sfx', '' ); - $params->def( 'headings', 1 ); - $params->def( 'back_button', mamboCore::get('mosConfig_back_button') ); - $params->def( 'description_text', T_('The Contact list for this Website.') ); - $params->def( 'image', -1 ); - $params->def( 'image_align', 'right' ); - $params->def( 'other_cat_section', 1 ); - // Category List Display control - $params->def( 'other_cat', 1 ); - $params->def( 'cat_description', 1 ); - $params->def( 'cat_items', 1 ); - // Table Display control - $params->def( 'headings', 1 ); - $params->def( 'position', '1' ); - $params->def( 'email', '0' ); - $params->def( 'phone', '1' ); - $params->def( 'fax', '1' ); - $params->def( 'telephone', '1' ); - return $params; - } - -} - -class contact_view_Controller extends contactUserControllers { - - function view () { - $database = mamboDatabase::getInstance(); - $query = "SELECT a.*, a.id AS value, CONCAT_WS( ' - ', a.name, a.con_position ) AS text" - . "\n FROM #__contact_details AS a" - . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" - . "\n WHERE a.published = '1'" - . "\n AND cc.published = '1'" - . "\n AND a.access <=". $this->user->gid - . "\n AND cc.access <=". $this->user->gid - . "\n ORDER BY a.default_con DESC, a.ordering ASC" - ; - $database->setQuery( $query ); - $list = $database->loadObjectList(); - $count = count($list); - if ($count == 0) { - $params =& new mosParameters(); - $params->def( 'back_button', mamboCore::get( 'mosConfig_back_button' ) ); - HTML_contact::nocontact( $params ); - return; - } - if ( $this->contact_id == 0 ) $this->contact_id = $list[0]->id; - foreach ($list as $cont) { - if ($cont->id == $this->contact_id) { - $contact =& $cont; - break; - } - } - if (!isset($contact)) { - echo T_('You are not authorized to view this resource.'); - return; - } - // creates dropdown select list - $contact->select = mosHTML::selectList( $list, 'contact_id', 'class="inputbox" onchange="ViewCrossReference(this);"', 'value', 'text', $this->contact_id ); - // Adds parameter handling - $params =& $this->makeParams ( $contact->params ); - if ( $contact->email_to AND $params->get( 'email' )) { - // email cloacking - $contact->email = mosHTML::emailCloaking( $contact->email_to ); - } - // loads current template for the pop-up window - $pop = mosGetParam( $_REQUEST, 'pop', 0 ); - if ( $pop ) { - $params->set( 'popup', 1 ); - $params->set( 'back_button', 0 ); - } - if ( $params->get( 'email_description' ) ) $params->set( 'email_description', $params->get( 'email_description_text' ) ); - else $params->set( 'email_description', '' ); - - // needed to control the display of the Address marker - $temp = $params->get( 'street_address' ) - . $params->get( 'suburb' ) - . $params->get( 'state' ) - . $params->get( 'country' ) - . $params->get( 'postcode' ) - ; - $params->set( 'address_check', $temp ); - - // determines whether to use Text, Images or nothing to highlight the different info groups - $this->groupMarking($params); - // params from menu item - $menuhandler = mosMenuHandler::getInstance(); - $menu =& $menuhandler->getMenuByID($this->Itemid); - $menu_params =& new mosParameters( $menu->params ); - - $menu_params->def( 'page_title', 1 ); - $menu_params->def( 'header', $menu->name ); - $menu_params->def( 'pageclass_sfx', '' ); - - HTML_contact::viewcontact( $contact, $params, $count, $list, $menu_params ); - } - - function &makeParams ($rawparams) { - $params =& new mosParameters( $rawparams ); - $params->set( 'page_title', 0 ); - $params->def( 'pageclass_sfx', '' ); - $params->def( 'back_button', mamboCore::get( 'mosConfig_back_button' ) ); - $params->def( 'print', !mamboCore::get( 'mosConfig_hidePrint' ) ); - $params->def( 'name', '1' ); - $params->def( 'email', '0' ); - $params->def( 'street_address', '1' ); - $params->def( 'suburb', '1' ); - $params->def( 'state', '1' ); - $params->def( 'country', '1' ); - $params->def( 'postcode', '1' ); - $params->def( 'telephone', '1' ); - $params->def( 'fax', '1' ); - $params->def( 'misc', '1' ); - $params->def( 'image', '1' ); - $params->def( 'email_description', '1' ); - $params->def( 'email_description_text', T_('Send an Email to this Contact:') ); - $params->def( 'email_form', '1' ); - $params->def( 'email_copy', '1' ); - // global pront|pdf|email - $params->def( 'icons', mamboCore::get( 'mosConfig_icons' ) ); - // contact only icons - $params->def( 'contact_icons', 0 ); - $params->def( 'icon_address', '' ); - $params->def( 'icon_email', '' ); - $params->def( 'icon_telephone', '' ); - $params->def( 'icon_fax', '' ); - $params->def( 'icon_misc', '' ); - $params->def( 'drop_down', '0' ); - $params->def( 'vcard', '1' ); - return $params; - } - - function groupMarking ($params) { - switch ( $params->get( 'contact_icons' ) ) { - case 1: - // text - $params->set( 'marker_address', T_('Address: ') ); - $params->set( 'marker_email', T_('Email: ') ); - $params->set( 'marker_telephone', T_('Telephone: ') ); - $params->set( 'marker_fax', T_('Fax: ') ); - $params->set( 'marker_misc', T_('Information: ') ); - $params->set( 'column_width', '100px' ); - break; - case 2: - // none - $params->set( 'marker_address', '' ); - $params->set( 'marker_email', '' ); - $params->set( 'marker_telephone', '' ); - $params->set( 'marker_fax', '' ); - $params->set( 'marker_misc', '' ); - $params->set( 'column_width', '0px' ); - break; - default: - // icons - $mainframe = mosMainFrame::getInstance(); - $image1 = $mainframe->ImageCheck( 'con_address.png', '/images/M_images/', $params->get( 'icon_address' ) ); - $image2 = $mainframe->ImageCheck( 'emailButton.png', '/images/M_images/', $params->get( 'icon_email' ) ); - $image3 = $mainframe->ImageCheck( 'con_tel.png', '/images/M_images/', $params->get( 'icon_telephone' ) ); - $image4 = $mainframe->ImageCheck( 'con_fax.png', '/images/M_images/', $params->get( 'icon_fax' ) ); - $image5 = $mainframe->ImageCheck( 'con_info.png', '/images/M_images/', $params->get( 'icon_misc' ) ); - $params->set( 'marker_address', $image1 ); - $params->set( 'marker_email', $image2 ); - $params->set( 'marker_telephone', $image3 ); - $params->set( 'marker_fax', $image4 ); - $params->set( 'marker_misc', $image5 ); - $params->set( 'column_width', '40px' ); - break; - } - } - -} - -class contact_vcard_Controller extends contactUserControllers { - - function vcard () { - $contact = new mosContact(); - $contact->load($this->contact_id); - $params = new mosParameters($contact->params); - if (!$params->get('vcard')) return; - $name = explode(' ', $contact->name); - $firstname = $name[0]; - unset($name[0]); - $last = count($name); - if (isset($name[$last])) { - $surname = $name[$last]; - unset($name[$last]); - } - else $surname = ''; - $middlename = trim (implode(' ', $name)); - - $v = new MambovCard(); - $v->setPhoneNumber( $contact->telephone, 'PREF;WORK;VOICE' ); - $v->setPhoneNumber( $contact->fax, 'WORK;FAX' ); - $v->setName( $surname, $firstname, $middlename, '' ); - $v->setAddress( '', '', $contact->address, $contact->suburb, $contact->state, $contact->postcode, $contact->country, 'WORK;POSTAL' ); - $v->setEmail( $contact->email_to ); - $v->setNote( $contact->misc ); - $v->setURL( mamboCore::get('mosConfig_live_site'), 'WORK' ); - $v->setTitle( $contact->con_position ); - $v->setOrg( mamboCore::get('mosConfig_sitename') ); - - $filename = str_replace( ' ', '_', $contact->name ); - $v->setFilename( $filename ); - - $output = $v->getVCard( mamboCore::get('mosConfig_sitename') ); - $filename = $v->getFileName(); - - // header info for page - header( 'Content-Disposition: attachment; filename='. $filename ); - header( 'Content-Length: '. strlen( $output ) ); - header( 'Connection: close' ); - header( 'Content-Type: text/x-vCard; name='. $filename ); - - print $output; - mosRedirect('index.php'); - } - -} - -$alternatives = array (); -$admin =& new mosComponentUserManager ('contact', 'task', $alternatives, 'lister', T_('Contact Us'), $version); - -?> +getPath( 'front_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +class contactUserControllers { + var $manager = ''; + var $user = ''; + var $op = ''; + var $con_id = 0; + var $contact_id = 0; + var $catid = 0; + var $Itemid = 0; + + function contactUserControllers ($manager) { + $this->manager = $manager; + $this->user =& mamboCore::get('currentUser'); + $this->op = mosGetParam($_REQUEST, 'op', ''); + $this->con_id = mosGetParam( $_REQUEST ,'con_id', 0 ); + $this->contact_id = mosGetParam( $_REQUEST ,'contact_id', 0 ); + $this->catid = mosGetParam( $_REQUEST ,'catid', 0 ); + $this->Itemid = mamboCore::get('Itemid'); + } + + function sendmail () { + + global $mosConfig_usecaptcha; + + $captcha_success = 0; + if ($mosConfig_usecaptcha == '1') { + + session_name('mos_captcha'); + session_start(); + + $spamstop = mosGetParam( $_POST, 'spamstop', '' ); + + if(isset($_SESSION['code']) && ($_SESSION['code'] != "") && ($_SESSION['code'] == $spamstop)) { + $captcha_success = 1; // success + } else { + $captcha_success = 2; // fail + } + + } + + if ($captcha_success != '2') { + + $contact = new mosContact(); + $contact->load($this->con_id); + + $default = mamboCore::get('mosConfig_sitename').' '.T_('Enquiry'); + $email = mosGetParam( $_POST, 'email', '' ); + $text = mosGetParam( $_POST, 'text', '' ); + $name = mosGetParam( $_POST, 'name', '' ); + $subject = mosGetParam( $_POST, 'subject', $default ); + $email_copy = mosGetParam( $_POST, 'email_copy', 0 ); + + if (!$email OR !$text OR !$this->is_email($email) OR $this->has_emailheaders($text) OR $this->has_newlines($email) OR $this->has_newlines($name) OR $this->has_newlines($subject) OR !isset($_SERVER['HTTP_USER_AGENT']) OR $_SERVER['REQUEST_METHOD'] != 'POST') { + echo ""; + exit(0); + } + $prefix = sprintf( T_('This is an enquiry e-mail via %s from:'), mamboCore::get('mosConfig_live_site') ); + $text = $prefix ."\n". $name. ' <'. $email .'>' ."\n\n". $text; + + mosMail( $email, $name , $contact->email_to, mamboCore::get('mosConfig_fromname') .': '. $subject, $text ); + + if ( $email_copy ) { + $copy_text = sprintf( T_('The following is a copy of the message you sent to %s via %s '), $contact->name, mamboCore::get('mosConfig_sitename') ); + $copy_text = $copy_text ."\n\n". $text .''; + $copy_subject = sprintf(T_('Copy of: %s'),$subject); + mosMail( mamboCore::get('mosConfig_mailfrom'), mamboCore::get('mosConfig_fromname'), $email, $copy_subject, $copy_text ); + } + ?> + + alert('Incorrect Security Code'); window.history.go(-1);"; + } + } + + /** + * Check field contains an email address: + * Returns false if text is not an email address + */ + function is_email($email){ + return preg_match("/^[A-Z0-9._%-]+@[A-Z0-9.-]+.[A-Z]{2,4}$/i", $email ); + } + + /** + * Check single-line inputs: + * Returns true if text contains newline character + */ + function has_newlines($text) { + return preg_match("/(%0A|%0D|\n+|\r+)/i", $text); + } + + /** + * Check multi-line inputs: + * Returns true if text contains newline followed by + * email-header specific string + */ + function has_emailheaders($text) { + return preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i", $text); + } + +} + +class contact_lister_Controller extends contactUserControllers { + + function lister () { + $categories = &mosContact::getCategories($this->user); + $count = count($categories); + if ($count == 0 OR ($count == 1 AND $categories[0]->numlinks == 1)) { + // No or one category that qualifies + $this->contact_id = $count == 1 ? $categories[0]->minimum : 0; + $controller = new contact_view_Controller ($this->manager); + $controller->view(); + if ($this->op == 'sendmail') $this->sendmail(); + return; + } + $rows = array(); + $currentcat =& new stdClass(); + // Parameters + $menuhandler = mosMenuHandler::getInstance(); + $menu =& $menuhandler->getMenuByID($this->Itemid); + $params =& $this->makeParams ($menu->params, $menu->name); + // page header + $currentcat->header = $params->get( 'header' ); + // Path to images + $path = mamboCore::get('mosConfig_live_site').'/images/stories/'; + $currentcat->descrip = ''; + $currentcat->img = ''; + if ( $this->catid ) { + $params->set( 'type', 'category' ); + // url links info for category + $rows = mosContact::getContacts($this->catid, $this->user); + // current category info + foreach ($categories as $category) { + if ($category->id == $this->catid) { + $currentcat =& $category; + // show description + $currentcat->descrip = $currentcat->description; + // page image + $currentcat->img = $path . $currentcat->image; + $currentcat->align = $currentcat->image_position; + // page header + if ( @$currentcat->name <> '' ) $currentcat->header .= ' - '.$currentcat->name; + break; + } + } + } + else { + $params->set( 'type', 'section' ); + // show description + if ( $params->get( 'description' ) ) $currentcat->descrip = $params->get( 'description_text' ); + // page image + if ( $params->get( 'image' ) <> -1 ) { + $currentcat->img = $path . $params->get( 'image' ); + $currentcat->align = $params->get( 'image_align' ); + } + } + // used to show table rows in alternating colours + $tabclass = array( 'sectiontableentry1', 'sectiontableentry2' ); + HTML_contact::displaylist( $categories, $rows, $this->catid, $currentcat, $params, $tabclass ); + if ($this->op == 'sendmail') $this->sendmail(); + } + + function &makeParams ($rawparams, $name) { + $params =& new mosParameters( $rawparams ); + $params->def( 'page_title', 1 ); + $params->def( 'header', $name ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'headings', 1 ); + $params->def( 'back_button', mamboCore::get('mosConfig_back_button') ); + $params->def( 'description_text', T_('The Contact list for this Website.') ); + $params->def( 'image', -1 ); + $params->def( 'image_align', 'right' ); + $params->def( 'other_cat_section', 1 ); + // Category List Display control + $params->def( 'other_cat', 1 ); + $params->def( 'cat_description', 1 ); + $params->def( 'cat_items', 1 ); + // Table Display control + $params->def( 'headings', 1 ); + $params->def( 'position', '1' ); + $params->def( 'email', '0' ); + $params->def( 'phone', '1' ); + $params->def( 'fax', '1' ); + $params->def( 'telephone', '1' ); + return $params; + } + +} + +class contact_view_Controller extends contactUserControllers { + + function view () { + $database = mamboDatabase::getInstance(); + $query = "SELECT a.*, a.id AS value, CONCAT_WS( ' - ', a.name, a.con_position ) AS text" + . "\n FROM #__contact_details AS a" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n WHERE a.published = '1'" + . "\n AND cc.published = '1'" + . "\n AND a.access <=". $this->user->gid + . "\n AND cc.access <=". $this->user->gid + . "\n ORDER BY a.default_con DESC, a.ordering ASC" + ; + $database->setQuery( $query ); + $list = $database->loadObjectList(); + $count = count($list); + if ($count == 0) { + $params =& new mosParameters(); + $params->def( 'back_button', mamboCore::get( 'mosConfig_back_button' ) ); + HTML_contact::nocontact( $params ); + return; + } + if ( $this->contact_id == 0 ) $this->contact_id = $list[0]->id; + foreach ($list as $cont) { + if ($cont->id == $this->contact_id) { + $contact =& $cont; + break; + } + } + if (!isset($contact)) { + echo T_('You are not authorized to view this resource.'); + return; + } + // creates dropdown select list + $contact->select = mosHTML::selectList( $list, 'contact_id', 'class="inputbox" onchange="ViewCrossReference(this);"', 'value', 'text', $this->contact_id ); + // Adds parameter handling + $params =& $this->makeParams ( $contact->params ); + if ( $contact->email_to AND $params->get( 'email' )) { + // email cloacking + $contact->email = mosHTML::emailCloaking( $contact->email_to ); + } + // loads current template for the pop-up window + $pop = mosGetParam( $_REQUEST, 'pop', 0 ); + if ( $pop ) { + $params->set( 'popup', 1 ); + $params->set( 'back_button', 0 ); + } + if ( $params->get( 'email_description' ) ) $params->set( 'email_description', $params->get( 'email_description_text' ) ); + else $params->set( 'email_description', '' ); + + // needed to control the display of the Address marker + $temp = $params->get( 'street_address' ) + . $params->get( 'suburb' ) + . $params->get( 'state' ) + . $params->get( 'country' ) + . $params->get( 'postcode' ) + ; + $params->set( 'address_check', $temp ); + + // determines whether to use Text, Images or nothing to highlight the different info groups + $this->groupMarking($params); + // params from menu item + $menuhandler = mosMenuHandler::getInstance(); + $menu =& $menuhandler->getMenuByID($this->Itemid); + $menu_params =& new mosParameters( $menu->params ); + + $menu_params->def( 'page_title', 1 ); + $menu_params->def( 'header', $menu->name ); + $menu_params->def( 'pageclass_sfx', '' ); + + HTML_contact::viewcontact( $contact, $params, $count, $list, $menu_params ); + } + + function &makeParams ($rawparams) { + $params =& new mosParameters( $rawparams ); + $params->set( 'page_title', 0 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'back_button', mamboCore::get( 'mosConfig_back_button' ) ); + $params->def( 'print', !mamboCore::get( 'mosConfig_hidePrint' ) ); + $params->def( 'name', '1' ); + $params->def( 'email', '0' ); + $params->def( 'street_address', '1' ); + $params->def( 'suburb', '1' ); + $params->def( 'state', '1' ); + $params->def( 'country', '1' ); + $params->def( 'postcode', '1' ); + $params->def( 'telephone', '1' ); + $params->def( 'fax', '1' ); + $params->def( 'misc', '1' ); + $params->def( 'image', '1' ); + $params->def( 'email_description', '1' ); + $params->def( 'email_description_text', T_('Send an Email to this Contact:') ); + $params->def( 'email_form', '1' ); + $params->def( 'email_copy', '1' ); + // global pront|pdf|email + $params->def( 'icons', mamboCore::get( 'mosConfig_icons' ) ); + // contact only icons + $params->def( 'contact_icons', 0 ); + $params->def( 'icon_address', '' ); + $params->def( 'icon_email', '' ); + $params->def( 'icon_telephone', '' ); + $params->def( 'icon_fax', '' ); + $params->def( 'icon_misc', '' ); + $params->def( 'drop_down', '0' ); + $params->def( 'vcard', '1' ); + return $params; + } + + function groupMarking ($params) { + switch ( $params->get( 'contact_icons' ) ) { + case 1: + // text + $params->set( 'marker_address', T_('Address: ') ); + $params->set( 'marker_email', T_('Email: ') ); + $params->set( 'marker_telephone', T_('Telephone: ') ); + $params->set( 'marker_fax', T_('Fax: ') ); + $params->set( 'marker_misc', T_('Information: ') ); + $params->set( 'column_width', '100px' ); + break; + case 2: + // none + $params->set( 'marker_address', '' ); + $params->set( 'marker_email', '' ); + $params->set( 'marker_telephone', '' ); + $params->set( 'marker_fax', '' ); + $params->set( 'marker_misc', '' ); + $params->set( 'column_width', '0px' ); + break; + default: + // icons + $mainframe = mosMainFrame::getInstance(); + $image1 = $mainframe->ImageCheck( 'con_address.png', '/images/M_images/', $params->get( 'icon_address' ) ); + $image2 = $mainframe->ImageCheck( 'emailButton.png', '/images/M_images/', $params->get( 'icon_email' ) ); + $image3 = $mainframe->ImageCheck( 'con_tel.png', '/images/M_images/', $params->get( 'icon_telephone' ) ); + $image4 = $mainframe->ImageCheck( 'con_fax.png', '/images/M_images/', $params->get( 'icon_fax' ) ); + $image5 = $mainframe->ImageCheck( 'con_info.png', '/images/M_images/', $params->get( 'icon_misc' ) ); + $params->set( 'marker_address', $image1 ); + $params->set( 'marker_email', $image2 ); + $params->set( 'marker_telephone', $image3 ); + $params->set( 'marker_fax', $image4 ); + $params->set( 'marker_misc', $image5 ); + $params->set( 'column_width', '40px' ); + break; + } + } + +} + +class contact_vcard_Controller extends contactUserControllers { + + function vcard () { + $contact = new mosContact(); + $contact->load($this->contact_id); + $params = new mosParameters($contact->params); + if (!$params->get('vcard')) { + echo ""; + exit(0); + } + $name = explode(' ', $contact->name); + $firstname = $name[0]; + unset($name[0]); + $last = count($name); + if (isset($name[$last])) { + $surname = $name[$last]; + unset($name[$last]); + } + else $surname = ''; + $middlename = trim (implode(' ', $name)); + + $v = new MambovCard(); + $v->setPhoneNumber( $contact->telephone, 'PREF;WORK;VOICE' ); + $v->setPhoneNumber( $contact->fax, 'WORK;FAX' ); + $v->setName( $surname, $firstname, $middlename, '' ); + $v->setAddress( '', '', $contact->address, $contact->suburb, $contact->state, $contact->postcode, $contact->country, 'WORK;POSTAL' ); + $v->setEmail( $contact->email_to ); + $v->setNote( $contact->misc ); + $v->setURL( mamboCore::get('mosConfig_live_site'), 'WORK' ); + $v->setTitle( $contact->con_position ); + $v->setOrg( mamboCore::get('mosConfig_sitename') ); + + $filename = str_replace( ' ', '_', $contact->name ); + $v->setFilename( $filename ); + + $output = $v->getVCard( mamboCore::get('mosConfig_sitename') ); + $filename = $v->getFileName(); + + // header info for page + header( 'Content-Disposition: attachment; filename='. $filename ); + header( 'Content-Length: '. strlen( $output ) ); + header( 'Connection: close' ); + header( 'Content-Type: text/x-vCard; name='. $filename ); + + print $output; + //mosRedirect('index.php'); + } + +} + +$alternatives = array (); +$admin =& new mosComponentUserManager ('contact', 'task', $alternatives, 'lister', T_('Contact Us'), $version); + +?> diff -ruN 4.6rc2/components/com_content/content.html.php 4.6-complete/components/com_content/content.html.php --- 4.6rc2/components/com_content/content.html.php 2006-03-23 10:32:52.000000000 -0600 +++ 4.6-complete/components/com_content/content.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -8,7 +8,7 @@ * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure * that Mambo remained free Open Source software owned and managed by the community. * Mambo is Free Software -*/ +*/ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); @@ -48,13 +48,19 @@ @@ -1027,7 +1033,7 @@ @@ -1043,7 +1049,7 @@ @@ -1129,10 +1135,10 @@
      image ) { - $link = $mosConfig_live_site .'/images/stories/'. $title->image; - ?> - <?php echo $title->image;?> - get( 'description' ) || $params->get( 'description_image' ) ) { + if ( $params->get( 'description_image' ) ) { + if ( $title->image ) { + $link = $mosConfig_live_site .'/images/stories/'. $title->image; + ?> + <?php echo $title->image;?> + get( 'description' ) ) { + echo $title->description; + } } - echo $title->description; ?>
      introtext , 'introtext', '500', '200', '45', '5' ) ; + editorArea( 'editor1', $row->introtext , 'introtext', '500', '200', '65', '20' ) ; ?>
      fulltext , 'fulltext', '500', '400', '45', '10' ) ; + editorArea( 'editor2', $row->fulltext , 'fulltext', '500', '400', '65', '20' ) ; ?>
      - <?php echo T_('No Image') ?> + <?php echo T_('No Image'); ?> - <?php echo T_('No Image') ?> + <?php echo T_('No Image'); ?>
      @@ -1249,8 +1255,8 @@ */ function emailForm( $uid, $title, $template='' ) { global $mosConfig_sitename; - - $form_check = $_SESSION['_form_check_']['com_content'] = crypt(time()); + + $form_check = $_SESSION['_form_check_']['com_content'] = crypt(time()); ?> "; - exit; - } - - if ( $uid ) { - // existing record - if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) { - mosNotAuth(); - return; - } - } else { - // new record - if (!($access->canEdit || $access->canEditOwn)) { - mosNotAuth(); - return; - } - } - - if ( $uid ) { - $sectionid = $row->sectionid; - } - - $lists = array(); - - // get the type name - which is a special category - $query = "SELECT name FROM #__sections WHERE id='$sectionid'"; - $database->setQuery( $query ); - $section = $database->loadResult(); - - if ( $uid == 0 ) { - $row->catid = 0; - } - - if ( $uid ) { - $row->checkout( $my->id ); - if (trim( $row->publish_down ) == "0000-00-00 00:00:00") { - $row->publish_down = 'Never'; - } - if (trim( $row->images )) { - $row->images = explode( "\n", $row->images ); - } else { - $row->images = array(); - } - $query = "SELECT name from #__users" - . "\n WHERE id = ". $row->created_by - ; - $database->setQuery( $query ); - $row->creator = $database->loadResult(); - - $query = "SELECT name from #__users" - . "\n WHERE id = ". $row->modified_by - ; - $database->setQuery( $query ); - $row->modifier = $database->loadResult(); - - $query = "SELECT content_id from #__content_frontpage" - ."\n WHERE content_id = ". $row->id - ; - $database->setQuery( $query ); - $row->frontpage = $database->loadResult(); - } else { - $row->sectionid = $sectionid; - $row->version = 0; - $row->state = 0; - $row->ordering = 0; - $row->images = array(); - $row->publish_up = date( 'Y-m-d', time() ); - $row->publish_down = 'Never'; - $row->creator = 0; - $row->modifier = 0; - $row->frontpage = 0; - } - - // calls function to read image from directory - $pathA = $mosConfig_absolute_path .'/images/stories'; - $pathL = $mosConfig_live_site .'/images/stories'; - $images = array(); - $folders = array(); - $folders[] = mosHTML::makeOption( '/' ); - require_once($mosConfig_absolute_path.'/administrator/includes/mosAdminMenus.php'); - mosAdminMenus::ReadImages( $pathA, '/', $folders, $images ); - // list of folders in images/stories/ - $lists['folders'] = mosAdminMenus::GetImageFolders( $folders, $pathL ); - // list of images in specfic folder in images/stories/ - $lists['imagefiles'] = mosAdminMenus::GetImages( $images, $pathL ); - // list of saved images - $lists['imagelist'] = mosAdminMenus::GetSavedImages( $row, $pathL ); - - // make the select list for the states - $states[] = mosHTML::makeOption( 0, T_('Unpublished') ); - $states[] = mosHTML::makeOption( 1, T_('Published') ); - $lists['state'] = mosHTML::selectList( $states, 'state', 'class="inputbox" size="1"', 'value', 'text', intval( $row->state ) ); - - // build the html select list for ordering - $query = "SELECT ordering AS value, title AS text" - . "\n FROM #__content" - . "\n WHERE catid = '$row->catid'" - . "\n ORDER BY ordering" - ; - $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $uid, $query, 1 ); - // build list of categories - $lists['catid'] = mosAdminMenus::ComponentCategory( 'catid', $sectionid, intval( $row->catid ) ); - // build the select list for the image positions - $lists['_align'] = mosAdminMenus::Positions( '_align' ); - // build the html select list for the group access - $lists['access'] = mosAdminMenus::Access( $row ); - - HTML_content::editContent( $row, $section, $lists, $images, $access, $my->id, $sectionid, $task, $Itemid ); -} - - -/** -* Saves the content item an edit form submit -*/ -function saveContent( &$access ) { - global $database, $mainframe, $my; - global $mosConfig_absolute_path; - - $row = new mosContent( $database ); - if ( !$row->bind( $_POST ) ) { - echo "\n"; - exit(); - } - $isNew = $row->id < 1; - if ( $isNew ) { - // new record - if ( !( $access->canEdit || $access->canEditOwn ) ) { - mosNotAuth(); - return; - } - $row->created = date( 'Y-m-d H:i:s' ); - $row->created_by = $my->id; - } else { - // existing record - if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) { - mosNotAuth(); - return; - } - $row->modified = date( 'Y-m-d H:i:s' ); - $row->modified_by = $my->id; - } - if ( trim( $row->publish_down ) == 'Never' ) { - $row->publish_down = '0000-00-00 00:00:00'; - } - - if (!$row->check()) { - echo "\n"; - exit(); - } - $row->version++; - if (!$row->store()) { - echo "\n"; - exit(); - } - - // manage frontpage items - require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); - $fp = new mosFrontPage( $database ); - - if ( mosGetParam( $_REQUEST, 'frontpage', 0 ) ) { - - // toggles go to first place - if (!$fp->load( $row->id )) { - // new entry - $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$row->id','1')" ); - if (!$database->query()) { - echo "\n"; - exit(); - } - $fp->ordering = 1; - } - } else { - // no frontpage mask - if ( !$fp->delete( $row->id ) ) { - $msg .= $fp->stderr(); - } - $fp->ordering = 0; - } - $fp->updateOrder(); - - $row->checkin(); - $row->updateOrder( "catid='$row->catid'" ); - - // gets section name of item - $database->setQuery( "SELECT s.title" - . "\n FROM #__sections AS s" - . "\n WHERE s.scope = 'content'" - . "\n AND s.id = '". $row->sectionid ."'" - ); - // gets category name of item - $section = $database->loadResult(); - $database->setQuery( "SELECT c.title" - . "\n FROM #__categories AS c" - . "\n WHERE c.id = '". $row->catid ."'" - ); - $category = $database->loadResult(); - - if ( $isNew ) { - // messaging for new items - require_once( $mosConfig_absolute_path .'/components/com_messages/messages.class.php' ); - - $database->setQuery( "SELECT id FROM #__users WHERE sendEmail = '1'" ); - $users = $database->loadResultArray(); - foreach ($users as $user_id) { - $msg = new mosMessage( $database ); - $msg->send( $my->id, $user_id, T_("New Item"), sprintf( T_('A new content item has been submitted by [ %s ] titled [ %s ] from section [ %s ] and category [ %s ]'), $my->username, $row->title, $section, $category ) ); - } - } - - $Itemid = mosGetParam( $_POST, 'Returnid', '0' ); - $msg = $isNew ? T_('Thanks for your submission; it will be reviewed before being posted to the site.') : T_('Item saved successfully.'); - mosRedirect( 'index.php', $msg ); -} - - -/** -* Cancels an edit operation -* @param database A database connector object -*/ -function cancelContent( &$access ) { - global $database, $mainframe, $my; - - $row = new mosContent( $database ); - $row->bind( $_POST ); - - if ( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) { - $row->checkin(); - } - - $Itemid = mosGetParam( $_POST, 'Returnid', '0' ); - - mosRedirect( 'index.php' ); -} - -/** -* Shows the email form for a given content item. -*/ -function emailContentForm( $uid ) { - global $database, $mainframe, $my; - $row = new mosContent( $database ); - $row->load( $uid ); - - if ( $row->id === null || $row->access > $my->gid ) { - mosNotAuth(); - return; - } else { - $template=''; - $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id = '0' AND menuid = '0'" ); - $template = $database->loadResult(); - HTML_content::emailForm( $row->id, $row->title, $template ); - } - -} - - -/** -* Shows the email form for a given content item. -*/ -function emailContentSend( $uid ) { - global $database, $mainframe; - global $mosConfig_live_site, $mosConfig_sitename; - global $mosConfig_mailfrom, $mosConfig_fromname; - - $_Itemid = $mainframe->getItemid( $uid, 0, 0 ); - - $email = trim( mosGetParam( $_POST, 'email', '' ) ); - $yourname = trim( mosGetParam( $_POST, 'yourname', '' ) ); - $youremail = trim( mosGetParam( $_POST, 'youremail', '' ) ); - $subject_default = sprintf(T_('Item sent by %s'), $yourname); - $subject = trim( mosGetParam( $_POST, 'subject', $subject_default ) ); - - $form_check = mosGetParam( $_POST, 'form_check', '' ); - if (empty($_SESSION['_form_check_']['com_content']) || $form_check != $_SESSION['_form_check_']['com_content']) { - // the form hasn't been generated by the server on this session - exit; - } - if ( !$email || !$youremail || ( is_email( $email ) == false ) || ( is_email( $youremail ) == false ) ) { - echo ""; - exit(0); - } - - $template=''; - $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" ); - $template = $database->loadResult(); - - // link sent in email - $link = sefRelToAbs( $mosConfig_live_site .'/index.php?option=com_content&task=view&id='. $uid .'&Itemid='. $_Itemid ); - // message text - $msg = sprintf( T_(' The following page from the "%s" website has been sent to you by %s ( %s ). - -You can access it at the following url: -%s'), $mosConfig_sitename, $yourname, $youremail, $link ); - - // mail function - mosMail( $mosConfig_mailfrom, $mosConfig_fromname, $email, $subject, $msg ); - - HTML_content::emailSent( $email, $template ); -} - -function is_email( $email ){ - $rBool = false; - - if ( preg_match( "/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email ) ) { - $rBool = true; - } - return $rBool; -} - -function recordVote() { - global $database; - - $user_rating = mosGetParam( $_REQUEST, 'user_rating', 0 ); - $url = mosGetParam( $_REQUEST, 'url', '' ); - $cid = mosGetParam( $_REQUEST, 'cid', 0 ); - $cid = intval( $cid ); - $user_rating = intval( $user_rating ); - - if ( ( $user_rating >= 1 ) and ( $user_rating <= 5 ) ) { - $currip = getenv( 'REMOTE_ADDR' ); - - $query = "SELECT * FROM #__content_rating WHERE content_id = $cid"; - $database->setQuery( $query ); - $votesdb = NULL; - if ( !( $database->loadObject( $votesdb ) ) ) { - $query = "INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )" - . "\n VALUES ( '$cid', '$currip', '$user_rating', '1' )"; - $database->setQuery( $query ); - $database->query() or die( $database->stderr() );; - } else { - if ($currip <> ($votesdb->lastip)) { - $query = "UPDATE #__content_rating" - . "\n SET rating_count = rating_count + 1," - . "\n rating_sum = rating_sum + $user_rating," - . "\n lastip = '$currip'" - . "\n WHERE content_id = ". $cid - ; - $database->setQuery( $query ); - $database->query() or die( $database->stderr() ); - } else { - mosRedirect ( $url, T_('You already voted for this poll today!') ); - } - } - mosRedirect ( $url, T_('Thanks for your vote!') ); - } -} - - -function _orderby_pri( $orderby ) { - switch ( $orderby ) { - case 'alpha': - $orderby = 'cc.title, '; - break; - case 'ralpha': - $orderby = 'cc.title DESC, '; - break; - case 'order': - $orderby = 'cc.ordering, '; - break; - default: - $orderby = ''; - break; - } - - return $orderby; -} - - -function _orderby_sec( $orderby ) { - switch ( $orderby ) { - case 'date': - $orderby = 'a.created'; - break; - case 'rdate': - $orderby = 'a.created DESC'; - break; - case 'alpha': - $orderby = 'a.title'; - break; - case 'ralpha': - $orderby = 'a.title DESC'; - break; - case 'hits': - $orderby = 'a.hits DESC'; - break; - case 'rhits': - $orderby = 'a.hits ASC'; - break; - case 'order': - $orderby = 'a.ordering'; - break; - case 'author': - $orderby = 'a.created_by, u.name'; - break; - case 'rauthor': - $orderby = 'a.created_by DESC, u.name DESC'; - break; - case 'front': - $orderby = 'f.ordering'; - break; - default: - $orderby = 'a.ordering'; - break; - } - - return $orderby; -} - -/* -* @param int 0 = Archives, 1 = Section, 2 = Category -*/ -function _where( $type=1, &$access, &$noauth, $gid, $id, $now=NULL, $year=NULL, $month=NULL ) { - $where = array(); - - // normal - if ( $type > 0) { - $where[] = "a.state = '1'"; - if ( !$access->canEdit ) { - $where[] = "( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )"; - $where[] = "( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )"; - } - if ( $noauth ) { - $where[] = "a.access <= '". $gid ."'"; - } - if ( $id > 0 ) { - if ( $type == 1 ) { - $where[] = "a.sectionid IN ( ". $id ." ) "; - } else if ( $type == 2 ) { - $where[] = "a.catid IN ( ". $id ." ) "; - } - } - } - - // archive - if ( $type < 0 ) { - $where[] = "a.state='-1'"; - if ( $year ) { - $where[] = "YEAR( a.created ) = '". $year ."'"; - } - if ( $month ) { - $where[] = "MONTH( a.created ) = '". $month ."'"; - } - if ( $noauth ) { - $where[] = "a.access <= '". $gid ."'"; - } - if ( $id > 0 ) { - if ( $type == -1 ) { - $where[] = "a.sectionid = '". $id ."'"; - } else if ( $type == -2) { - $where[] = "a.catid = '". $id ."'"; - } - } - } - - return $where; -} - -function sectionURL ($sectionid) { - global $Itemid; - return "index.php?option=com_content&task=section&id=$sectionid&Itemid=$Itemid"; -} - -function categoryURL ($sectionid, $catid) { - global $Itemid; - return "index.php?option=com_content&task=category§ionid=$sectionid&id=$catid&Itemid=$Itemid"; -} - -?> +getPath( 'front_html', 'com_content' ) ); +require_once($mainframe->getPath('class')); + +$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) ); +$sectionid = intval( mosGetParam( $_REQUEST, 'sectionid', 0 ) ); +$pop = intval( mosGetParam( $_REQUEST, 'pop', 0 ) ); +$task = trim( mosGetParam( $_REQUEST, 'task', '' ) ); +$limit = intval( mosGetParam( $_REQUEST, 'limit', '' ) ); +$limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) ); + +$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 ); + +// Editor usertype check +$access = new stdClass(); +$access->canEdit = $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'all' ); +$access->canEditOwn = $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'own' ); +$access->canPublish = $acl->acl_check( 'action', 'publish', 'users', $my->usertype, 'content', 'all' ); + +// cache activation +$cache =& mosCache::getCache( 'com_content' ); + +// loads function for frontpage component +if ( $option == 'com_frontpage' ) { + //frontpage( $option, $gid, $pop, $now ); + $cache->call( 'frontpage', $gid, $access, $pop, $now ); + return; +} + +switch ( strtolower( $task ) ) { + case 'findkey': + findKeyItem( $gid, $access, $pop, $option, $now ); + break; + + case 'view': + showItem( $id, $gid, $access, $pop, $option, $now ); + break; + + case 'section': + $cache->call( 'showSection', $id, $gid, $access, $now ); + break; + + case 'category': + $cache->call( 'showCategory', $id, $gid, $access, $sectionid, $limit, $limitstart, $now ); + break; + + case 'blogsection': + $cache->call('showBlogSection', $id, $gid, $access, $pop, $now ); + break; + + case 'blogcategorymulti': + case 'blogcategory': + $cache->call( 'showBlogCategory', $id, $gid, $access, $pop, $now ); + break; + + case 'archivesection': + showArchiveSection( $id, $gid, $access, $pop, $option ); + break; + + case 'archivecategory': + showArchiveCategory( $id, $gid, $access, $pop, $option, $now ); + break; + + case 'edit': + editItem( $id, $gid, $access, 0, $task, $Itemid ); + break; + + case 'new': + editItem( 0, $gid, $access, $sectionid, $task, $Itemid ); + break; + + case 'save': + mosCache::cleanCache( 'com_content' ); + saveContent( $access ); + break; + + case 'cancel': + cancelContent( $access ); + break; + + case 'emailform': + emailContentForm( $id ); + break; + + case 'emailsend': + emailContentSend( $id ); + break; + + case 'vote': + recordVote ( $url , $user_rating , $cid , $database); + break; + + default: + $cache->call('showBlogSection', 0, $gid, $access, $pop, $now ); + break; +} + +/** + * Searches for an item by a key parameter + * @param int The user access level + * @param object Actions this user can perform + * @param int + * @param string The url option + * @param string A timestamp + */ +function findKeyItem( $gid, $access, $pop, $option, $now ) { + global $database; + $keyref = mosGetParam( $_REQUEST, 'keyref', '' ); + $keyref = $database->getEscaped( $keyref ); + + $query = 'SELECT id + FROM #__content + WHERE attribs LIKE \'%keyref=' . $keyref . '%\' + '; + $database->setQuery( $query ); + $id = $database->loadResult(); + if ($id > 0) { + showItem( $id, $gid, $access, $pop, $option, $now ); + } else { + echo 'Key not found '. $keyref; + } +} + +function frontpage( $gid, &$access, $pop, $now ) { + global $database, $mainframe, $my, $Itemid; + global $mosConfig_offset; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Parameters + $menu =& new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + $orderby_sec = $params->def( 'orderby_sec', '' ); + $orderby_pri = $params->def( 'orderby_pri', '' ); + + // Ordering control + $order_sec = _orderby_sec( $orderby_sec ); + $order_pri = _orderby_pri( $orderby_pri ); + + $now = date( "Y-m-d H:i:s", time()+$mosConfig_offset*60*60 ); + + // query records + $query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, cc.name AS category, g.name AS groups" + . "\n FROM #__content AS a" + . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = a.id" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = a.sectionid" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . "\n WHERE a.state = '1'" + . ( $noauth ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )" + . "\n ORDER BY ". $order_pri . $order_sec + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // Dynamic Page Title + $mainframe->SetPageTitle( $menu->name ); + + BlogOutput( $rows, $params, $gid, $access, $pop, $menu ); +} + + +function showSection( $id, $gid, &$access, $now ) { + global $database, $mainframe, $mosConfig_offset, $Itemid; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Paramters + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosEmpty(); + + } + $orderby = $params->get( 'orderby', '' ); + + $params->set( 'type', 'section' ); + + $params->def( 'page_title', 1 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'other_cat_section', 1 ); + $params->def( 'other_cat', 1 ); + $params->def( 'empty_cat', 0 ); + $params->def( 'cat_items', 1 ); + $params->def( 'cat_description', 1 ); + $params->def( 'description', 1 ); + $params->def( 'description-image', 1 ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + $params->def( 'pageclass_sfx', '' ); + + // Ordering control + $orderby = _orderby_sec( $orderby ); + + $section = new mosSection( $database ); + $section->load( $id ); + + if ( $access->canEdit ) { + $xwhere = ''; + $xwhere2 = "\n AND b.state >= '0'"; + } else { + $xwhere = "\n AND a.published = '1'"; + $xwhere2 = "\n AND b.state = '1'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )" + ; + } + + // show/hide empty categories + if ( $params->get( 'empty_cat' ) ) { + $empty = ''; + } else { + $empty = "\n HAVING COUNT( b.id ) > 0"; + } + + // Main Query + $query = ' + SELECT a.*, COUNT( b.id ) AS numitems + FROM #__categories AS a + LEFT JOIN #__content AS b ON b.catid = a.id '. $xwhere2 .' + WHERE a.section = \'' . $section->id .'\' '. $xwhere; + if ($noauth) { + $query .= ' + AND a.access <= '. $gid; + } + $query .= ' + GROUP BY a.id + ' . $empty . ' + ORDER BY ' . $orderby; + + $database->setQuery( $query ); + $other_categories = $database->loadObjectList(); + + // Dynamic Page Title + $mainframe->SetPageTitle( $menu->name ); + + HTML_content::showContentList( $section, NULL, $access, $id, NULL, $gid, $params, NULL, $other_categories, NULL ); +} + + +/** +* @param int The category id +* @param int The group id of the user +* @param int The access level of the user +* @param int The section id +* @param int The number of items to dislpay +* @param int The offset for pagination +*/ +function showCategory( $id, $gid, &$access, $sectionid, $limit, $limitstart, $now ) { + global $database, $mainframe, $Itemid, $mosConfig_offset, $mosConfig_list_limit; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + $selected = mosGetParam( $_POST, 'order', '' ); + + // Paramters + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + if ( $selected ) { + $orderby = $selected; + } else { + $orderby = $params->get( 'orderby', 'rdate' ); + $selected = $orderby; + } + + $params->set( 'type', 'category' ); + + $params->def( 'page_title', 1 ); + $params->def( 'title', 1 ); + $params->def( 'hits', $mainframe->getCfg( 'hits' ) ); + $params->def( 'author', !$mainframe->getCfg( 'hideAuthor' ) ); + $params->def( 'date', !$mainframe->getCfg( 'hideCreateDate' ) ); + $params->def( 'date_format', _DATE_FORMAT_LC ); + $params->def( 'navigation', 2 ); + $params->def( 'display', 1 ); + $params->def( 'display_num', $mosConfig_list_limit ); + $params->def( 'other_cat', 1 ); + $params->def( 'empty_cat', 0 ); + $params->def( 'cat_items', 1 ); + $params->def( 'cat_description', 0 ); + $params->def( 'description', 1 ); + $params->def( 'description-image', 1 ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'headings', 1 ); + $params->def( 'order_select', 1 ); + $params->def( 'filter', 1 ); + $params->def( 'filter_type', 'title' ); + + // Ordering control + $orderby = _orderby_sec( $orderby ); + + $category = new mosCategory( $database ); + $category->load( $id ); + + if ( $sectionid == 0 ) { + $sectionid = $category->section; + } + + $pathway =& mosPathway::getInstance(); + $pathway->addItem($category->title, categoryURL($sectionid, $id)); + + if ( $access->canEdit ) { + $xwhere = ''; + $xwhere2 = "\n AND b.state >= '0'"; + } else { + $xwhere = "\n AND c.published='1'"; + $xwhere2 = "\n AND b.state='1'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )" + ; + } + + $pagetitle = ''; + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $pagetitle = $menu->name; + } // if + + // show/hide empty categories + $empty = ''; + if ( !$params->get( 'empty_cat' ) ) + $empty = "\n HAVING COUNT( b.id ) > 0"; + + // get the list of other categories + $query = "SELECT c.*, COUNT( b.id ) AS numitems" + . "\n FROM #__categories AS c" + . "\n LEFT JOIN #__content AS b ON b.catid = c.id " + . $xwhere2 + . ( $noauth ? "\n AND b.access <= '". $gid ."'" : '' ) + . "\n WHERE c.section = '". $category->section. "'" + . $xwhere + . ( $noauth ? "\n AND c.access <= '". $gid ."'" : '' ) + . "\n GROUP BY c.id" + . $empty + . "\n ORDER BY c.ordering" + ; + $database->setQuery( $query ); + $other_categories = $database->loadObjectList(); + + // get the total number of published items in the category + // filter functionality + $_and = ''; + if ($filter = mosGetParam($_POST, 'filter', '')) { + $filter = strtolower( $filter ); + $filter = $database->getEscaped($filter); + if ( $params->get( 'filter' ) ) { + switch ( $params->get( 'filter_type' ) ) { + case 'title': + $_and = "\n AND LOWER( a.title ) LIKE '%". $filter ."%'"; + break; + case 'author': + $_and = "\n AND ( ( LOWER( u.name ) LIKE '%". $filter ."%' ) OR ( LOWER( a.created_by_alias ) LIKE '%". $filter ."%' ) )"; + break; + case 'hits': + $_and = "\n AND a.hits LIKE '%". $filter ."%'"; + break; + } + } + + } + + if ( $access->canEdit ) { + $xwhere = "\n AND a.state >= '0'"; + } else { + $xwhere = "\n AND a.state='1'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )" + ; + } + + $query = "SELECT COUNT(a.id) as numitems" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . "\n WHERE a.catid='". $category->id ."' ". $xwhere + . ( $noauth ? "\n AND a.access<='". $gid ."'" : '' ) + . "\n AND '". $category->access ."'<='". $gid ."'" + . $_and + . "\n ORDER BY ". $orderby ."" + ; + $database->setQuery( $query ); + $counter = $database->loadObjectList(); + $total = $counter[0]->numitems; + $limit = $limit ? $limit : $params->get( 'display_num' ) ; + if ( $total <= $limit ) $limitstart = 0; + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + // get the list of items for this category + $query = "SELECT a.id, a.title, a.hits, a.created_by, a.created_by_alias, a.created AS created, a.access, u.name AS author, a.state, g.name AS groups" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . "\n WHERE a.catid='". $category->id ."' ". $xwhere + . ( $noauth ? "\n AND a.access<='". $gid ."'" : '' ) + . "\n AND '". $category->access ."'<='". $gid ."'" + . $_and + . "\n ORDER BY ". $orderby ."" + . "\n LIMIT ". $limitstart .", ". $limit + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + $check = 0; + if ( $params->get( 'date' ) ) { + $order[] = mosHTML::makeOption( 'date', T_('Date Asc') ); + $order[] = mosHTML::makeOption( 'rdate', T_('Date Desc')); + $check .= 1; + } + if ( $params->get( 'title' ) ) { + $order[] = mosHTML::makeOption( 'alpha', T_('Title Asc') ); + $order[] = mosHTML::makeOption( 'ralpha', T_('Title Desc') ); + $check .= 1; + } + if ( $params->get( 'hits' ) ) { + $order[] = mosHTML::makeOption( 'hits', T_('Hits Asc') ); + $order[] = mosHTML::makeOption( 'rhits', T_('Hits Desc') ); + $check .= 1; + } + if ( $params->get( 'author' ) ) { + $order[] = mosHTML::makeOption( 'author', T_('Author Asc') ); + $order[] = mosHTML::makeOption( 'rauthor', T_('Author Desc') ); + $check .= 1; + } + $order[] = mosHTML::makeOption( 'order', T_('Ordering') ); + $lists['order'] = mosHTML::selectList( $order, 'order', 'class="inputbox" size="1" onchange="document.adminForm.submit();"', 'value', 'text', $selected ); + if ( $check < 1 ) { + $lists['order'] = ''; + $params->set( 'order_select', 0 ); + } + + $lists['task'] = 'category'; + $lists['filter'] = $filter; + + // Dynamic Page Title + $mainframe->SetPageTitle( $pagetitle ); + + HTML_content::showContentList( $category, $items, $access, $id, $sectionid, $gid, $params, $pageNav, $other_categories, $lists ); +} // showCategory + + +function showBlogSection( $id=0, $gid, &$access, $pop, $now=NULL ) { + global $database, $mainframe, $mosConfig_offset, $Itemid; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Parameters + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + // new blog multiple section handling + if ( !$id ) { + $id = $params->def( 'sectionid', 0 ); + } + + $where = _where( 1, $access, $noauth, $gid, $id, $now ); + + // Ordering control + $orderby_sec = $params->def( 'orderby_sec', 'rdate' ); + $orderby_pri = $params->def( 'orderby_pri', '' ); + $order_sec = _orderby_sec( $orderby_sec ); + $order_pri = _orderby_pri( $orderby_pri ); + + // Main data query + $query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, g.name AS groups" + . "\n FROM #__content AS a" + . "\n INNER JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . ( count( $where ) ? "\n WHERE ".implode( "\n AND ", $where ) : '' ) + . "\n AND s.access<=$gid" + . "\n ORDER BY ". $order_pri . $order_sec + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // Dynamic Page Title + if ($menu) { + $mainframe->setPageTitle( $menu->name ); + } + + BlogOutput( $rows, $params, $gid, $access, $pop, $menu ); +} + +function showBlogCategory( $id=0, $gid, &$access, $pop, $now ) { + global $database, $mainframe, $mosConfig_offset, $Itemid; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Paramters + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + // new blog multiple section handling + if ( !$id ) { + $id = $params->def( 'categoryid', 0 ); + } + + $where = _where( 2, $access, $noauth, $gid, $id, $now ); + + // Ordering control + $orderby_sec = $params->def( 'orderby_sec', 'rdate' ); + $orderby_pri = $params->def( 'orderby_pri', '' ); + $order_sec = _orderby_sec( $orderby_sec ); + $order_pri = _orderby_pri( $orderby_pri ); + + // Main data query + $query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, g.name AS groups, cc.name AS category" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . ( count( $where ) ? "\n WHERE ".implode( "\n AND ", $where ) : '' ) + . "\n AND s.access <= ". $gid + . "\n ORDER BY ". $order_pri . $order_sec; + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // Dynamic Page Title + $mainframe->SetPageTitle( $menu->name ); + + BlogOutput( $rows, $params, $gid, $access, $pop, $menu ); +} + +function showArchiveSection( $id=NULL, $gid, &$access, $pop, $option ) { + global $database, $mainframe, $mosConfig_offset; + global $Itemid; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Paramters + $year = mosGetParam( $_REQUEST, 'year', date( 'Y' ) ); + $month = mosGetParam( $_REQUEST, 'month', date( 'm' ) ); + + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + $params->set( 'intro_only', 1 ); + $params->set( 'year', $year ); + $params->set( 'month', $month ); + + // Ordering control + $orderby_sec = $params->def( 'orderby_sec', 'rdate' ); + $orderby_pri = $params->def( 'orderby_pri', '' ); + $order_sec = _orderby_sec( $orderby_sec ); + $order_pri = _orderby_pri( $orderby_pri ); + + // used in query + $where = _where( -1, $access, $noauth, $gid, $id, NULL, $year, $month ); + + // checks to see if 'All Sections' options used + if ( $id == 0 ) { + $check = ''; + } else { + $check = 'AND a.sectionid = '. $id ; + } + // query to determine if there are any archived entries for the section + $query = "SELECT a.id" + . "\n FROM #__content as a" + . "\n WHERE a.state = '-1'" + . $check + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + $archives = count( $items ); + + // Main Query + $query = "SELECT a.*, ROUND(v.rating_sum/v.rating_count) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, g.name AS groups" + . "\n FROM #__content AS a" + . "\n INNER JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . ( count( $where ) ? "\n WHERE ". implode( "\n AND ", $where ) : '') + . "\n AND s.access <= ". $gid + . "\n ORDER BY ". $order_pri . $order_sec + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // initiate form + echo '
      '; + + // Dynamic Page Title + $mainframe->SetPageTitle( $menu->name ); + + if ( !$archives ) { + // if no archives for category, hides search and outputs empty message + echo '
      '. T_('There are currently no Archived Entries for this Category') .'
      '; + } else { + BlogOutput( $rows, $params, $gid, $access, $pop, $menu, 1 ); + } + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
      '; +} + + +function showArchiveCategory( $id=0, $gid, &$access, $pop, $option, $now ) { + global $database, $mainframe, $mosConfig_offset; + global $Itemid; + + // Parameters + $noauth = !$mainframe->getCfg( 'shownoauth' ); + $year = mosGetParam( $_REQUEST, 'year', date( 'Y' ) ); + $month = mosGetParam( $_REQUEST, 'month', date( 'm' ) ); + $module = trim( mosGetParam( $_REQUEST, 'module', '' ) ); + + // used by archive module + if ( $module ) { + $check = ''; + } else { + $check = 'AND a.catid = '. $id; + } + + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + $params->set( 'year', $year ); + $params->set( 'month', $month ); + + // Ordering control + $orderby_sec = $params->def( 'orderby', 'rdate' ); + $order_sec = _orderby_sec( $orderby_sec ); + + // used in query + $where = _where( -2, $access, $noauth, $gid, $id, NULL, $year, $month ); + + // query to determine if there are any archived entries for the category + $query = "SELECT a.id" + . "\n FROM #__content as a" + . "\n WHERE a.state = '-1'" + . "\n ". $check + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + $archives = count( $items ); + + $query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, g.name AS groups" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . ( count( $where ) ? "\n WHERE ". implode( "\n AND ", $where ) : '' ) + . "\n AND s.access <= ". $gid + . "\n ORDER BY ". $order_sec + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // initiate form + echo '
      '; + + // Page Title + $mainframe->SetPageTitle( $menu->name ); + + if ( !$archives ) { + // if no archives for category, hides search and outputs empty message + echo '
      '. T_('There are currently no Archived Entries for this Category') .'
      '; + } else { + BlogOutput( $rows, $params, $gid, $access, $pop, $menu, 1 ); + } + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
      '; +} + + +function BlogOutput ( &$rows, &$params, $gid, &$access, $pop, &$menu, $archive=NULL ) { + global $mainframe, $Itemid, $task, $id, $option, $database, $mosConfig_live_site; + + // parameters + if ( $params->get( 'page_title', 1 ) && $menu) { + $header = $params->def( 'header', $menu->name ); + } else { + $header = ''; + } + $columns = $params->def( 'columns', 2 ); + if ( $columns == 0 ) { + $columns = 1; + } + $intro = $params->def( 'intro', 4 ); + $leading = $params->def( 'leading', 1 ); + $links = $params->def( 'link', 4 ); + $pagination = $params->def( 'pagination', 2 ); + $pagination_results = $params->def( 'pagination_results', 1 ); + $pagination_results = $params->def( 'pagination_results', 1 ); + $descrip = $params->def( 'description', 1 ); + $descrip_image = $params->def( 'description_image', 1 ); + // needed for back button for page + $back = $params->get( 'back_button', $mainframe->getCfg( 'back_button' ) ); + // needed to disable back button for item + $params->set( 'back_button', 0 ); + $params->def( 'pageclass_sfx', '' ); + $params->set( 'intro_only', 1 ); + + $total = count( $rows ); + + // pagination support + $limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) ); + $limit = $intro + $leading + $links; + if ( $total <= $limit ) { + $limitstart = 0; + } + $i = $limitstart; + + // needed to reduce queries used by getItemid + require_once(mamboCore::get('mosConfig_absolute_path').'/components/com_content/content.class.php'); + $handler =& new contentHandler(); + $ItemidCount['bs'] = $handler->getBlogSectionCount(); + $ItemidCount['bc'] = $handler->getBlogCategoryCount(); + $ItemidCount['gbs'] = $handler->getGlobalBlogSectionCount(); + + // used to display section/catagory description text and images + // currently not supported in Archives + if ( $menu && $menu->componentid && ( $descrip || $descrip_image ) ) { + switch ( $menu->type ) { + case 'content_blog_section': + $description = new mosSection( $database ); + $description->load( $menu->componentid ); + break; + + case 'content_blog_category': + $description = new mosCategory( $database ); + $description->load( $menu->componentid ); + break; + + default: + $menu->componentid = 0; + break; + } + } + + // Page Output + // page header + if ( $header ) { + echo '
      '. $header .'
      '; + } + + if ( $archive ) { + echo '
      '; + echo mosHTML::monthSelectList( 'month', 'size="1" class="inputbox"', $params->get( 'month' ) ); + echo mosHTML::integerSelectList( 2000, 2010, 1, 'year', 'size="1" class="inputbox"', $params->get( 'year' ), "%04d" ); + echo ''; + } + + // checks to see if there are there any items to display + if ( $total ) { + $col_with = 100 / $columns; // width of each column + $width = 'width="'. $col_with .'%"'; + + if ( $archive ) { + // Search Success message + $msg = sprintf( T_('Here are the Archived entries for %s %s'), $params->get( 'month' ), $params->get( 'year' ) ); + echo "

      ". $msg ."


      "; + } + echo ''; + + // Secrion/Category Description & Image + if ( $menu && $menu->componentid && ( $descrip || $descrip_image ) ) { + $link = $mosConfig_live_site .'/images/stories/'. $description->image; + echo ''; + echo ''; + echo ''; + } + + // Leading story output + if ( $leading ) { + echo ''; + echo ''; + echo ''; + } + + if ( $intro && ( $i < $total ) ) { + echo ''; + echo ''; + echo ''; + } + + // Links output + if ( $links && ( $i < $total ) ) { + echo ''; + echo ''; + echo ''; + } + + // Pagination output + if ( $pagination ) { + if ( ( $pagination == 2 ) && ( $total <= $limit ) ) { + // not visible when they is no 'other' pages to display + } else { + // get the total number of records + $limitstart = $limitstart ? $limitstart : 0; + require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + if ( $option == 'com_frontpage' ) { + $link = 'index.php?option=com_frontpage&Itemid='. $Itemid; + } else if ( $archive ) { + $year = $params->get( 'year' ); + $month = $params->get( 'month' ); + $link = 'index.php?option=com_content&task='. $task .'&id='. $id .'&Itemid='. $Itemid.'&year='. $year .'&month='. $month; + } else { + $link = 'index.php?option=com_content&task='. $task .'&id='. $id .'&Itemid='. $Itemid; + } + echo ''; + echo ''; + echo ''; + if ( $pagination_results ) { + echo ''; + echo ''; + echo ''; + } + } + } + + echo '
      '; + if ( $descrip_image && $description->image ) { + echo ''; + } + if ( $descrip && $description->description ) { + echo $description->description; + } + echo '

      '; + echo '
      '; + for ( $z = 0; $z < $leading; $z++ ) { + if ( $i >= $total ) { + // stops loop if total number of items is less than the number set to display as leading + break; + } + echo '
      '; + show( $rows[$i], $params, $gid, $access, $pop, $option, $ItemidCount ); + echo '
      '; + $i++; + } + echo '
      '; + echo ''; + // intro story output + for ( $z = 0; $z < $intro; $z++ ) { + if ( $i >= $total ) { + // stops loop if total number of items is less than the number set to display as intro + leading + break; + } + + if ( !( $z % $columns ) || $columns == 1 ) { + echo ''; + } + + echo ''; + echo ''; + break; + } + + echo ''; + + if ( !( ( $z + 1 ) % $columns ) || $columns == 1 ) { + echo ''; + } + + $i++; + } + + // this is required to output a final closing tag when the number of items does not fully + // fill the last row of output - a blank column is left + if ( $intro % $columns ) { + echo ''; + } + + echo '
      '; + + // outputs either intro or only a link + if ( $z < $intro ) { + show( $rows[$i], $params, $gid, $access, $pop, $option, $ItemidCount ); + } else { + echo '
      '; + echo '
      '; + echo '
      '; + HTML_content::showLinks( $rows, $links, $total, $i, 1, $ItemidCount ); + echo '
      '; + echo '
      '; + echo $pageNav->writePagesLinks( $link ); + echo '

      '; + echo '
      '; + echo $pageNav->writePagesCounter(); + echo '
      '; + + } else if ( $archive && !$total ) { + // Search Failure message for Archives + $msg = sprintf( T_('There are no Archived entries for %s %s'), $params->get( 'month' ), $params->get( 'year' ) ); + echo '

      '. $msg .'

      '; + } else { + // Generic blog empty display + echo T_('There are no items to display'); + } + + // Back Button + $params->set( 'back_button', $back ); + mosHTML::BackButton ( $params ); +} + + +function showItem( $uid, $gid, &$access, $pop, $option, $now ) { + global $database, $mainframe; + global $mosConfig_offset, $mosConfig_live_site, $mosConfig_MetaTitle, $mosConfig_MetaAuthor; + + if ( $access->canEdit ) { + $xwhere=''; + } else { + $xwhere = "AND (a.state = '1' OR a.state = '-1')" + . "\n AND (publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now')" + . "\n AND (publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now')" + ; + } + + $query = "SELECT a.*, ROUND(v.rating_sum/v.rating_count) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, s.name AS section, g.name AS groups" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . "\n WHERE a.id='". $uid ."' ". $xwhere + . "\n AND a.access <= ". $gid + ; + $database->setQuery( $query ); +// $row = NULL; + $row = new mosExtendedContent(); + + if ( $database->loadObject( $row ) ) { + $pathway =& mosPathway::getInstance(); + $pathway->addItem($row->category, categoryURL($row->sectionid, $row->catid)); + $pathway->addItem($row->title, ''); + $params =& new mosParameters( $row->attribs ); + $params->set( 'intro_only', 0 ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + if ( $row->sectionid == 0) { + $params->set( 'item_navigation', 0 ); + } else { + $params->set( 'item_navigation', $mainframe->getCfg( 'item_navigation' ) ); + } + // loads the links for Next & Previous Button + if ( $params->get( 'item_navigation' ) ) { + $query = "SELECT a.id" + . "\n FROM #__content AS a" + . "\n WHERE a.catid = ". $row->catid."" + . "\n AND a.state = $row->state AND ordering < $row->ordering" + . ($access->canEdit ? "" : "\n AND a.access <= '". $gid ."'" ) + . "\n ORDER BY a.ordering DESC" + . "\n LIMIT 1" + ; + $database->setQuery( $query ); + $row->prev = $database->loadResult(); + + $query = "SELECT a.id" + . "\n FROM #__content AS a" + . "\n WHERE a.catid = ". $row->catid."" + . "\n AND a.state = $row->state AND ordering > $row->ordering" + . ($access->canEdit ? "" : "\n AND a.access <= '". $gid ."'" ) + . "\n ORDER BY a.ordering" + . "\n LIMIT 1" + ; + $database->setQuery( $query ); + $row->next = $database->loadResult(); + } + // page title + $mainframe->setPageTitle( $row->title ); + if ($mosConfig_MetaTitle=='1') { + $mainframe->addMetaTag( 'title' , $row->title ); + } + if ($mosConfig_MetaAuthor=='1') { + $mainframe->addMetaTag( 'author' , $row->author ); + } + + show( $row, $params, $gid, $access, $pop, $option ); + } else { + mosNotAuth(); + return; + } +} + + +function show( $row, $params, $gid, &$access, $pop, $option, $ItemidCount=NULL ) { + global $database, $mainframe, $Itemid; + global $mosConfig_live_site, $mosConfig_absolute_path; + global $options, $cache; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + if ( $access->canEdit ) { + if ( $row->id === null || $row->access > $gid ) { + mosNotAuth(); + return; + } + } else { + if ( $row->id === null || $row->state == 0 ) { + mosNotAuth(); + return; + } + if ( $row->access > $gid ) { + if ( $noauth ) { + mosNotAuth(); + return; + } else { + if ( !( $params->get( 'intro_only' ) ) ) { + mosNotAuth(); + return; + } + } + } + } + + // GC Parameters + $params->def( 'link_titles', $mainframe->getCfg( 'link_titles' ) ); + $params->def( 'author', !$mainframe->getCfg( 'hideAuthor' ) ); + $params->def( 'createdate', !$mainframe->getCfg( 'hideCreateDate' ) ); + $params->def( 'modifydate', !$mainframe->getCfg( 'hideModifyDate' ) ); + $params->def( 'print', !$mainframe->getCfg( 'hidePrint' ) ); + $params->def( 'pdf', !$mainframe->getCfg( 'hidePdf' ) ); + $params->def( 'email', !$mainframe->getCfg( 'hideEmail' ) ); + $params->def( 'rating', $mainframe->getCfg( 'vote' ) ); + $params->def( 'icons', $mainframe->getCfg( 'icons' ) ); + $params->def( 'readmore', $mainframe->getCfg( 'readmore' ) ); + // Other Params + $params->def( 'image', 1 ); + $params->def( 'section', 0 ); + $params->def( 'section_link', 0 ); + $params->def( 'category', 0 ); + $params->def( 'category_link', 0 ); + $params->def( 'introtext', 1 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'item_title', 1 ); + $params->def( 'url', 1 ); + + // loads the link for Section name + if ( $params->get( 'section_link' ) ) { + $query = "SELECT a.id" + . "\n FROM #__menu AS a" + . "\n WHERE a.componentid = '". $row->sectionid."'" + . "\n AND a.type = 'content_section'" + . "\n AND a.published = 1" + ; + $database->setQuery( $query ); + $_Itemid = $database->loadResult(); + if (!intval($_Itemid)) + $_Itemid = intval($Itemid) ? intval($Itemid) : 1; + $link = sefRelToAbs( 'index.php?option=com_content&task=section&id='. $row->sectionid .'&Itemid='.$_Itemid ); + $row->section = ''. $row->section .''; + } + + // loads the link for Category name + if ( $params->get( 'category_link' ) ) { + $query = "SELECT a.id" + . "\n FROM #__menu AS a" + . "\n WHERE a.componentid = ". $row->catid."" + . "\n AND a.type = 'content_category'" + . "\n AND a.published = 1" + ; + $database->setQuery( $query ); + $_Itemid = $database->loadResult(); + if (!intval($_Itemid)) + $_Itemid = intval($Itemid) ? intval($Itemid) : 1; + $link = sefRelToAbs( 'index.php?option=com_content&task=section&id='. $row->sectionid .'&Itemid='.$_Itemid ); + $link = sefRelToAbs( 'index.php?option=com_content&task=category&sectionid='. $row->sectionid .'&id='. $row->catid .'&Itemid='.$_Itemid ); + $row->category = ''. $row->category .''; + } + + // loads current template for the pop-up window + $template = ''; + if ( $pop ) { + $params->set( 'popup', 1 ); + $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" ); + $template = $database->loadResult(); + } + + // show/hides the intro text + if ( $params->get( 'introtext' ) ) { + $row->text = $row->introtext. ( $params->get( 'intro_only' ) ? '' : chr(13) . chr(13) . $row->fulltext); + } else { + $row->text = $row->fulltext; + } + + // deal with the {mospagebreak} mambots + // only permitted in the full text area + $page = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) ); + + // record the hit + if ( !$params->get( 'intro_only' ) ) { + $obj = new mosContent( $database ); + $obj->hit( $row->id ); + } + + $cache->call( 'HTML_content::show', $row, $params, $access, $page, $option, $ItemidCount ); +} + + +function editItem( $uid, $gid, &$access, $sectionid=0, $task, $Itemid ){ + global $database, $mainframe, $my; + global $mosConfig_absolute_path, $mosConfig_live_site; + + $row = new mosContent( $database ); + // load the row from the db table + $row->load( $uid ); + + // fail if checked out not by 'me' + if ( $row->checked_out && $row->checked_out <> $my->id ) { + echo""; + exit; + } + + if ( $uid ) { + // existing record + if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) { + mosNotAuth(); + return; + } + } else { + // new record + if (!($access->canEdit || $access->canEditOwn)) { + mosNotAuth(); + return; + } + } + + if ( $uid ) { + $sectionid = $row->sectionid; + } + + $lists = array(); + + // get the type name - which is a special category + $query = "SELECT name FROM #__sections WHERE id='$sectionid'"; + $database->setQuery( $query ); + $section = $database->loadResult(); + + if ( $uid == 0 ) { + $row->catid = 0; + } + + if ( $uid ) { + $row->checkout( $my->id ); + if (trim( $row->publish_down ) == "0000-00-00 00:00:00") { + $row->publish_down = 'Never'; + } + if (trim( $row->images )) { + $row->images = explode( "\n", $row->images ); + } else { + $row->images = array(); + } + $query = "SELECT name from #__users" + . "\n WHERE id = ". $row->created_by + ; + $database->setQuery( $query ); + $row->creator = $database->loadResult(); + + $query = "SELECT name from #__users" + . "\n WHERE id = ". $row->modified_by + ; + $database->setQuery( $query ); + $row->modifier = $database->loadResult(); + + $query = "SELECT content_id from #__content_frontpage" + ."\n WHERE content_id = ". $row->id + ; + $database->setQuery( $query ); + $row->frontpage = $database->loadResult(); + } else { + $row->sectionid = $sectionid; + $row->version = 0; + $row->state = 0; + $row->ordering = 0; + $row->images = array(); + $row->publish_up = date( 'Y-m-d', time() ); + $row->publish_down = 'Never'; + $row->creator = 0; + $row->modifier = 0; + $row->frontpage = 0; + } + + // calls function to read image from directory + $pathA = $mosConfig_absolute_path .'/images/stories'; + $pathL = $mosConfig_live_site .'/images/stories'; + $images = array(); + $folders = array(); + $folders[] = mosHTML::makeOption( '/' ); + require_once($mosConfig_absolute_path.'/administrator/includes/mosAdminMenus.php'); + mosAdminMenus::ReadImages( $pathA, '/', $folders, $images ); + // list of folders in images/stories/ + $lists['folders'] = mosAdminMenus::GetImageFolders( $folders, $pathL ); + // list of images in specfic folder in images/stories/ + $lists['imagefiles'] = mosAdminMenus::GetImages( $images, $pathL ); + // list of saved images + $lists['imagelist'] = mosAdminMenus::GetSavedImages( $row, $pathL ); + + // make the select list for the states + $states[] = mosHTML::makeOption( 0, T_('Unpublished') ); + $states[] = mosHTML::makeOption( 1, T_('Published') ); + $lists['state'] = mosHTML::selectList( $states, 'state', 'class="inputbox" size="1"', 'value', 'text', intval( $row->state ) ); + + // build the html select list for ordering + $query = "SELECT ordering AS value, title AS text" + . "\n FROM #__content" + . "\n WHERE catid = '$row->catid'" + . "\n ORDER BY ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $uid, $query, 1 ); + // build list of categories + $lists['catid'] = mosAdminMenus::ComponentCategory( 'catid', $sectionid, intval( $row->catid ) ); + // build the select list for the image positions + $lists['_align'] = mosAdminMenus::Positions( '_align' ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + + HTML_content::editContent( $row, $section, $lists, $images, $access, $my->id, $sectionid, $task, $Itemid ); +} + + +/** +* Saves the content item an edit form submit +*/ +function saveContent( &$access ) { + global $database, $mainframe, $my; + global $mosConfig_absolute_path; + + $row = new mosContent( $database ); + if ( !$row->bind( $_POST ) ) { + echo "\n"; + exit(); + } + // sanitize + $row->id = intval($row->id); + $row->catid = intval($row->catid); + $row->sectionid = intval($row->sectionid); + $isNew = $row->id < 1; + if ( $isNew ) { + // new record + if ( !( $access->canEdit || $access->canEditOwn ) ) { + mosNotAuth(); + return; + } + $row->created = date( 'Y-m-d H:i:s' ); + $row->created_by = $my->id; + } else { + // existing record + if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) { + mosNotAuth(); + return; + } + $row->modified = date( 'Y-m-d H:i:s' ); + $row->modified_by = $my->id; + } + if ( trim( $row->publish_down ) == 'Never' ) { + $row->publish_down = '0000-00-00 00:00:00'; + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + $row->version++; + if (!$row->store()) { + echo "\n"; + exit(); + } + + // manage frontpage items + require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); + $fp = new mosFrontPage( $database ); + + if ( mosGetParam( $_REQUEST, 'frontpage', 0 ) ) { + + // toggles go to first place + if (!$fp->load( $row->id )) { + // new entry + $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$row->id','1')" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $fp->ordering = 1; + } + } else { + // no frontpage mask + if ( !$fp->delete( $row->id ) ) { + $msg .= $fp->stderr(); + } + $fp->ordering = 0; + } + $fp->updateOrder(); + + $row->checkin(); + $row->updateOrder( "catid='$row->catid'" ); + + // gets section name of item + $database->setQuery( "SELECT s.title" + . "\n FROM #__sections AS s" + . "\n WHERE s.scope = 'content'" + . "\n AND s.id = '". $row->sectionid ."'" + ); + // gets category name of item + $section = $database->loadResult(); + $database->setQuery( "SELECT c.title" + . "\n FROM #__categories AS c" + . "\n WHERE c.id = '". $row->catid ."'" + ); + $category = $database->loadResult(); + + if ( $isNew ) { + // messaging for new items + require_once( $mosConfig_absolute_path .'/components/com_messages/messages.class.php' ); + + $database->setQuery( "SELECT id FROM #__users WHERE sendEmail = '1'" ); + $users = $database->loadResultArray(); + foreach ($users as $user_id) { + $msg = new mosMessage( $database ); + $msg->send( $my->id, $user_id, T_("New Item"), sprintf( T_('A new content item has been submitted by [ %s ] titled [ %s ] from section [ %s ] and category [ %s ]'), $my->username, $row->title, $section, $category ) ); + } + } + + $Itemid = mosGetParam( $_POST, 'Returnid', '0' ); + $msg = $isNew ? T_('Thanks for your submission; it will be reviewed before being posted to the site.') : T_('Item saved successfully.'); + mosRedirect( 'index.php', $msg ); +} + + +/** +* Cancels an edit operation +* @param database A database connector object +*/ +function cancelContent( &$access ) { + global $database, $mainframe, $my; + + $row = new mosContent( $database ); + $row->bind( $_POST ); + + if ( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) { + $row->checkin(); + } + + $Itemid = mosGetParam( $_POST, 'Returnid', '0' ); + + mosRedirect( 'index.php' ); +} + +/** +* Shows the email form for a given content item. +*/ +function emailContentForm( $uid ) { + global $database, $mainframe, $my; + $row = new mosContent( $database ); + $row->load( $uid ); + + if ( $row->id === null || $row->access > $my->gid ) { + mosNotAuth(); + return; + } else { + $template=''; + $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id = '0' AND menuid = '0'" ); + $template = $database->loadResult(); + HTML_content::emailForm( $row->id, $row->title, $template ); + } + +} + + +/** +* Shows the email form for a given content item. +*/ +function emailContentSend( $uid ) { + global $database, $mainframe; + global $mosConfig_live_site, $mosConfig_sitename; + global $mosConfig_mailfrom, $mosConfig_fromname; + + $_Itemid = $mainframe->getItemid( $uid, 0, 0 ); + + $email = trim( mosGetParam( $_POST, 'email', '' ) ); + $yourname = trim( mosGetParam( $_POST, 'yourname', '' ) ); + $youremail = trim( mosGetParam( $_POST, 'youremail', '' ) ); + $subject_default = sprintf(T_('Item sent by %s'), $yourname); + $subject = trim( mosGetParam( $_POST, 'subject', $subject_default ) ); + + $form_check = mosGetParam( $_POST, 'form_check', '' ); + if (empty($_SESSION['_form_check_']['com_content']) || $form_check != $_SESSION['_form_check_']['com_content']) { + // the form hasn't been generated by the server on this session + exit; + } + if ( !$email || !$youremail || ( is_email( $email ) == false ) || ( is_email( $youremail ) == false ) ) { + echo ""; + exit(0); + } + + $template=''; + $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" ); + $template = $database->loadResult(); + + // link sent in email + $link = sefRelToAbs( $mosConfig_live_site .'/index.php?option=com_content&task=view&id='. $uid .'&Itemid='. $_Itemid ); + // message text + $msg = sprintf( T_(' The following page from the "%s" website has been sent to you by %s ( %s ). + +You can access it at the following url: +%s'), $mosConfig_sitename, $yourname, $youremail, $link ); + + // mail function + mosMail( $mosConfig_mailfrom, $mosConfig_fromname, $email, $subject, $msg ); + + HTML_content::emailSent( $email, $template ); +} + +function is_email( $email ){ + $rBool = false; + + if ( preg_match( "/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email ) ) { + $rBool = true; + } + return $rBool; +} + +function recordVote() { + global $database; + + $user_rating = mosGetParam( $_REQUEST, 'user_rating', 0 ); + $url = mosGetParam( $_REQUEST, 'url', '' ); + $cid = mosGetParam( $_REQUEST, 'cid', 0 ); + $cid = intval( $cid ); + $user_rating = intval( $user_rating ); + + if ( ( $user_rating >= 1 ) and ( $user_rating <= 5 ) ) { + $currip = getenv( 'REMOTE_ADDR' ); + + $query = "SELECT * FROM #__content_rating WHERE content_id = $cid"; + $database->setQuery( $query ); + $votesdb = NULL; + if ( !( $database->loadObject( $votesdb ) ) ) { + $query = "INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )" + . "\n VALUES ( '$cid', '$currip', '$user_rating', '1' )"; + $database->setQuery( $query ); + $database->query() or die( $database->stderr() );; + } else { + if ($currip <> ($votesdb->lastip)) { + $query = "UPDATE #__content_rating" + . "\n SET rating_count = rating_count + 1," + . "\n rating_sum = rating_sum + $user_rating," + . "\n lastip = '$currip'" + . "\n WHERE content_id = ". $cid + ; + $database->setQuery( $query ); + $database->query() or die( $database->stderr() ); + } else { + mosRedirect ( $url, T_('You already voted for this poll today!') ); + } + } + mosRedirect ( $url, T_('Thanks for your vote!') ); + } +} + + +function _orderby_pri( $orderby ) { + switch ( $orderby ) { + case 'alpha': + $orderby = 'cc.title, '; + break; + case 'ralpha': + $orderby = 'cc.title DESC, '; + break; + case 'order': + $orderby = 'cc.ordering, '; + break; + default: + $orderby = ''; + break; + } + + return $orderby; +} + + +function _orderby_sec( $orderby ) { + switch ( $orderby ) { + case 'date': + $orderby = 'a.created'; + break; + case 'rdate': + $orderby = 'a.created DESC'; + break; + case 'alpha': + $orderby = 'a.title'; + break; + case 'ralpha': + $orderby = 'a.title DESC'; + break; + case 'hits': + $orderby = 'a.hits DESC'; + break; + case 'rhits': + $orderby = 'a.hits ASC'; + break; + case 'order': + $orderby = 'a.ordering'; + break; + case 'author': + $orderby = 'a.created_by, u.name'; + break; + case 'rauthor': + $orderby = 'a.created_by DESC, u.name DESC'; + break; + case 'front': + $orderby = 'f.ordering'; + break; + default: + $orderby = 'a.ordering'; + break; + } + + return $orderby; +} + +/* +* @param int 0 = Archives, 1 = Section, 2 = Category +*/ +function _where( $type=1, &$access, &$noauth, $gid, $id, $now=NULL, $year=NULL, $month=NULL ) { + $where = array(); + + // normal + if ( $type > 0) { + $where[] = "a.state = '1'"; + if ( !$access->canEdit ) { + $where[] = "( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )"; + $where[] = "( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )"; + } + if ( $noauth ) { + $where[] = "a.access <= '". $gid ."'"; + } + if ( $id > 0 ) { + if ( $type == 1 ) { + $where[] = "a.sectionid IN ( ". $id ." ) "; + } else if ( $type == 2 ) { + $where[] = "a.catid IN ( ". $id ." ) "; + } + } + } + + // archive + if ( $type < 0 ) { + $where[] = "a.state='-1'"; + if ( $year ) { + $where[] = "YEAR( a.created ) = '". $year ."'"; + } + if ( $month ) { + $where[] = "MONTH( a.created ) = '". $month ."'"; + } + if ( $noauth ) { + $where[] = "a.access <= '". $gid ."'"; + } + if ( $id > 0 ) { + if ( $type == -1 ) { + $where[] = "a.sectionid = '". $id ."'"; + } else if ( $type == -2) { + $where[] = "a.catid = '". $id ."'"; + } + } + } + + return $where; +} + +function sectionURL ($sectionid) { + global $Itemid; + return "index.php?option=com_content&task=section&id=$sectionid&Itemid=$Itemid"; +} + +function categoryURL ($sectionid, $catid) { + global $Itemid; + return "index.php?option=com_content&task=category§ionid=$sectionid&id=$catid&Itemid=$Itemid"; +} + +?> diff -ruN 4.6rc2/components/com_registration/registration.html.php 4.6-complete/components/com_registration/registration.html.php --- 4.6rc2/components/com_registration/registration.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/components/com_registration/registration.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,130 +1,231 @@ - - -
      - -
      - - - - - - - - - - - - - - - - - -
      ') ?>
      -
      - - - -
      - -
      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      *
      *
      *
      *
      *
       
      -
      - - - - - - -
      - + + +
      + +
      + + + + + + + + + + + + + + + + + +
      '); ?>
      +
      + + + +
      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      *
      *
      *
      *
      *
      *
      Privacy Policy:'); ?> * + +
        +
       
      +
      + + + + + + +
      + + +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       
       
      + + + + + + + + + + +
       
       
      +
      + + + + + + +
      + diff -ruN 4.6rc2/components/com_registration/registration.php 4.6-complete/components/com_registration/registration.php --- 4.6rc2/components/com_registration/registration.php 2006-03-01 08:35:46.000000000 -0600 +++ 4.6-complete/components/com_registration/registration.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,297 +1,312 @@ -getPath( 'front_html' ) ); - -switch( $task ) { - case "lostPassword": - lostPassForm( $option ); - break; - - case "sendNewPass": - sendNewPass( $option ); - break; - - case "register": - registerForm( $option, $mosConfig_useractivation ); - break; - - case "saveRegistration": - saveRegistration( $option ); - break; - - case "activate": - activate( $option ); - break; -} - -function lostPassForm( $option ) { - global $mainframe; - $mainframe->SetPageTitle(T_('Lost your Password?')); - HTML_registration::lostPassForm($option); -} - -function sendNewPass( $option ) { - global $database, $Itemid; - global $mosConfig_live_site, $mosConfig_sitename; - - $_live_site = $mosConfig_live_site; - $_sitename = $mosConfig_sitename; - - // ensure no malicous sql gets past - $checkusername = trim( mosGetParam( $_POST, 'checkusername', '') ); - $checkusername = $database->getEscaped( $checkusername ); - $confirmEmail = trim( mosGetParam( $_POST, 'confirmEmail', '') ); - $confirmEmail = $database->getEscaped( $confirmEmail ); - - $database->setQuery( "SELECT id FROM #__users" - . "\nWHERE username='$checkusername' AND email='$confirmEmail'" - ); - - if (!($user_id = $database->loadResult()) || !$checkusername || !$confirmEmail) { - mosRedirect( "index.php?option=$option&task=lostPassword&mosmsg=".T_('Sorry, no corresponding user was found. Please make sure you entered a valid username and a valid email address. Both are required.') ); - } - - $database->setQuery( "SELECT name, email FROM #__users" - . "\n WHERE usertype='superadministrator'" ); - $rows = $database->loadObjectList(); - foreach ($rows AS $row) { - $adminName = $row->name; - $adminEmail = $row->email; - } - - $rawpass = mosMakePassword(); - $message = sprintf(T_("The user account %s has this email associated with it.\n -A web user from %s has just requested that a new password be sent.\n\n -Your New Password is: %s\n\n -If you didn't ask for this, don't worry. You are seeing this message, not them. -If this was an error just login with your new password and then change your password to what you would like it to be."), - $checkusername, $mosConfig_live_site, $rawpass); - #eval ("\$message = \"$message\";"); - $subject = sprintf(T_('%s :: New password for - %s'),$_sitename, $checkusername); - #eval ("\$subject = \"$subject\";"); - - mosMail($mosConfig_mailfrom, $mosConfig_fromname, $confirmEmail, $subject, $message); - - $newpass = md5( $rawpass ); - $sql = "UPDATE #__users SET password='$newpass' WHERE id='$user_id'"; - $database->setQuery( $sql ); - if (!$database->query()) { - die("SQL error" . $database->stderr(true)); - } - $loginfo = new mosLoginDetails($checkusername, $rawpass); - $mambothandler =& mosMambotHandler::getInstance(); - $mambothandler->loadBotGroup('authenticator'); - $mambothandler->trigger('userChange', array($loginfo)); - - mosRedirect( "index.php?Itemid=$Itemid&mosmsg=".T_('New User Password created and sent!') ); -} - -function registerForm( $option, $useractivation ) { - global $mainframe, $database, $my, $acl; - - if (!$mainframe->getCfg( 'allowUserRegistration' )) { - mosNotAuth(); - return; - } - - - $mainframe->SetPageTitle(T_('Registration')); - HTML_registration::registerForm($option, $useractivation); -} - -function saveRegistration( $option ) { - global $database, $my, $acl; - global $mosConfig_sitename, $mosConfig_live_site, $mosConfig_useractivation, $mosConfig_allowUserRegistration; - global $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_mailfrom, $mosConfig_fromname; - - if ($mosConfig_allowUserRegistration=='0') { - mosNotAuth(); - return; - } - - $row = new mosUser( $database ); - - if (!$row->bind( $_POST, 'usertype' )) { - echo "\n"; - exit(); - } - - mosMakeHtmlSafe($row); - - $row->id = 0; - $row->usertype = ''; - $row->gid = $acl->get_group_id( 'Registered', 'ARO' ); - - if ($mosConfig_useractivation == '1') { - $row->activation = md5( mosMakePassword() ); - $row->block = '1'; - } - - if (!$row->check()) { - echo "\n"; - exit(); - } - - $pwd = $row->password; - $row->password = md5( $row->password ); - $row->registerDate = date("Y-m-d H:i:s"); - - if (!$row->store()) { - echo "\n"; - exit(); - } - $row->checkin(); - - $name = $row->name; - $email = $row->email; - $username = $row->username; - - $subject = sprintf (T_('Account details for %s at %s'), $name, $mosConfig_sitename); - $subject = html_entity_decode($subject, ENT_QUOTES); - $mambothandler =& mosMambotHandler::getInstance(); - $mambothandler->loadBotGroup('authenticator'); - if ($mosConfig_useractivation=="1"){ - $message = sprintf (T_('Hello %s, - -Thank you for registering at %s. Your account has been created but, as a precaution, it must be activated by you before you can use it. -To activate the account click on the following link or copy and paste it in your browser: -%s - -After activation you may login to %s using the following username and password: - -Username - %s -Password - %s'), - $name, $mosConfig_sitename, $mosConfig_live_site."/index.php?option=com_registration&task=activate&activation=".$row->activation, $mosConfig_live_site, $username, $pwd); - $loginfo = new mosLoginDetails($username, $pwd); - $mambothandler->trigger('userRegister', array($loginfo)); - } - else { - $message = sprintf (T_("Hello %s, - -Thank you for registering at %s. - -You may now login to %s using the username and password you registered with."), - $name, $mosConfig_sitename, $mosConfig_live_site); - $loginfo = new mosLoginDetails($username, $pwd); - $mambothandler->trigger('userRegister', array($loginfo)); - $mambothandler->trigger('userActivate', array($loginfo)); - } - - $message = html_entity_decode($message, ENT_QUOTES); - // Send email to user - if ($mosConfig_mailfrom != "" && $mosConfig_fromname != "") { - $adminName2 = $mosConfig_fromname; - $adminEmail2 = $mosConfig_mailfrom; - } else { - $database->setQuery( "SELECT name, email FROM #__users" - ."\n WHERE usertype='superadministrator'" ); - $rows = $database->loadObjectList(); - $row2 = $rows[0]; - $adminName2 = $row2->name; - $adminEmail2 = $row2->email; - } - - mosMail($adminEmail2, $adminName2, $email, $subject, $message); - - // Send notification to all administrators - $subject2 = sprintf (T_('Account details for %s at %s'), $name, $mosConfig_sitename); - $message2 = sprintf (T_('Hello %s, - -A new user has registered at %s. -This email contains their details: - -Name - %s -e-mail - %s -Username - %s - -Please do not respond to this message as it is automatically generated and is for information purposes only'), - $adminName2, $mosConfig_sitename, $row->name, $email, $username); - $subject2 = html_entity_decode($subject2, ENT_QUOTES); - $message2 = html_entity_decode($message2, ENT_QUOTES); - - // get superadministrators id - $admins = $acl->get_group_objects( 25, 'ARO' ); - - foreach ( $admins['users'] AS $id ) { - $database->setQuery( "SELECT email, sendEmail FROM #__users" - ."\n WHERE id='$id'" ); - $rows = $database->loadObjectList(); - - $row = $rows[0]; - - if ($row->sendEmail) { - mosMail($adminEmail2, $adminName2, $row->email, $subject2, $message2); - } - } - - if ( $mosConfig_useractivation == "1" ){ - echo '
      '.T_('Registration Complete').'

      '; - echo T_('Your account has been created and an activation link has been sent to the e-mail address you entered. Note that you must activate the account by clicking on the activation link before you can login.'); - } else { - echo '
      '.T_('Registration Complete').'

      '; - echo T_('You may now login.'); - } - -} - -function activate( $option ) { - global $database; - global $mosConfig_useractivation, $mosConfig_allowUserRegistration; - - if ($mosConfig_allowUserRegistration == '0' || $mosConfig_useractivation == '0') { - mosNotAuth(); - return; - } - - $activation = mosGetParam( $_REQUEST, 'activation', '' ); - $activation = $database->getEscaped( $activation ); - - if (empty( $activation )) { - echo '
      '.T_('Invalid Activation Link!').'

      '; - echo T_('There is no such account in our database or the account has already been activated.'); - return; - } - - $database->setQuery( "SELECT username FROM #__users" - ."\n WHERE activation='$activation' AND block='1'" ); - $username = $database->loadResult(); - - if ($username) { - $database->setQuery( "UPDATE #__users SET block='0', activation='' WHERE activation='$activation' AND block='1'" ); - if (!$database->query()) { - echo "SQL error" . $database->stderr(true); - } - echo '
      '.T_('Activation Complete!').'

      '; - echo T_('Your account has been activated successfully. You can now login using the username and password you chose during registration.'); - $loginfo = new mosLoginDetails($username); - $mambothandler =& mosMambotHandler::getInstance(); - $mambothandler->loadBotGroup('authenticator'); - $mambothandler->trigger('userActivate', array($loginfo)); - } else { - echo '
      '.T_('Invalid Activation Link!').'

      '; - echo T_('There is no such account in our database or the account has already been activated.'); - } -} - -function is_email($email){ - $rBool=false; - - if(preg_match("/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email)){ - $rBool=true; - } - return $rBool; -} -?> +getPath( 'front_html' ) ); + +switch( $task ) { + case "lostPassword": + lostPassForm( $option ); + break; + + case "sendNewPass": + sendNewPass( $option ); + break; + + case "register": + case "reviseRegistration": + registerForm( $option, $mosConfig_useractivation ); + break; + + case "confirmRegistration": + confirmRegistration( $option ); + break; + + case "saveRegistration": + saveRegistration( $option ); + break; + + case "activate": + activate( $option ); + break; +} + +function lostPassForm( $option ) { + global $mainframe; + $mainframe->SetPageTitle(T_('Lost your Password?')); + HTML_registration::lostPassForm($option); +} + +function sendNewPass( $option ) { + global $database, $Itemid; + global $mosConfig_live_site, $mosConfig_sitename, $mosConfig_fromname; + + $_live_site = $mosConfig_live_site; + $_sitename = $mosConfig_sitename; + + // ensure no malicous sql gets past + $checkusername = trim( mosGetParam( $_POST, 'checkusername', '') ); + $checkusername = $database->getEscaped( $checkusername ); + $confirmEmail = trim( mosGetParam( $_POST, 'confirmEmail', '') ); + $confirmEmail = $database->getEscaped( $confirmEmail ); + + $database->setQuery( "SELECT id FROM #__users" + . "\nWHERE username='$checkusername' AND email='$confirmEmail'" + ); + + if (!($user_id = $database->loadResult()) || !$checkusername || !$confirmEmail) { + mosRedirect( "index.php?option=$option&task=lostPassword&mosmsg=".T_('Sorry, no corresponding user was found. Please make sure you entered a valid username and a valid email address. Both are required.') ); + } + + $database->setQuery( "SELECT name, email FROM #__users" + . "\n WHERE usertype='super administrator'" ); + $rows = $database->loadObjectList(); + foreach ($rows AS $row) { + $adminName = $row->name; + $adminEmail = $row->email; + } + + $rawpass = mosMakePassword(); + $message = sprintf(T_("The user account %s has this email associated with it.\n +A web user from %s has just requested that a new password be sent.\n\n +Your New Password is: %s\n\n +If you didn't ask for this, don't worry. You are seeing this message, not them. +If this was an error just login with your new password and then change your password to what you would like it to be."), + $checkusername, $mosConfig_live_site, $rawpass); + #eval ("\$message = \"$message\";"); + $subject = sprintf(T_('%s :: New password for - %s'),$_sitename, $checkusername); + #eval ("\$subject = \"$subject\";"); + + mosMail($mosConfig_mailfrom, $mosConfig_fromname, $confirmEmail, $subject, $message); + + $newpass = md5( $rawpass ); + $sql = "UPDATE #__users SET password='$newpass' WHERE id='$user_id'"; + $database->setQuery( $sql ); + if (!$database->query()) { + die("SQL error" . $database->stderr(true)); + } + $loginfo = new mosLoginDetails($checkusername, $rawpass); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + $mambothandler->trigger('userChange', array($loginfo)); + + mosRedirect( "index.php?Itemid=$Itemid&mosmsg=".T_('New User Password created and sent!') ); +} + +function registerForm( $option, $useractivation ) { + global $mainframe, $database, $my, $acl; + + if (!$mainframe->getCfg( 'allowUserRegistration' )) { + mosNotAuth(); + return; + } + + $mainframe->SetPageTitle(T_('Registration')); + HTML_registration::registerForm($option, $useractivation); +} + + +function confirmRegistration ($option) +{ +$name = trim( mosGetParam( $_REQUEST, 'name', "" ) ); +$username = trim( mosGetParam( $_REQUEST, 'username', "" ) ); +$password = trim( mosGetParam( $_REQUEST, 'password', "" ) ); +$email = trim( mosGetParam( $_REQUEST, 'email', "" ) ); +$useractivation = trim( mosGetParam( $_REQUEST, 'useractivation', "" ) ); + HTML_registration::confirmForm($option, $name, $username, $password, $email, $useractivation); +} + +function saveRegistration( $option ) { + global $database, $my, $acl; + global $mosConfig_sitename, $mosConfig_live_site, $mosConfig_useractivation, $mosConfig_allowUserRegistration; + global $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_mailfrom, $mosConfig_fromname; + + if ($mosConfig_allowUserRegistration=='0') { + mosNotAuth(); + return; + } + + $row = new mosUser( $database ); + + if (!$row->bind( $_POST, 'usertype' )) { + echo "\n"; + exit(); + } + + mosMakeHtmlSafe($row); + + $row->id = 0; + $row->usertype = ''; + $row->gid = $acl->get_group_id( 'Registered', 'ARO' ); + + if ($mosConfig_useractivation == '1') { + $row->activation = md5( mosMakePassword() ); + $row->block = '1'; + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + + $pwd = $row->password; + $row->password = md5( $row->password ); + $row->registerDate = date("Y-m-d H:i:s"); + + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + + $name = $row->name; + $email = $row->email; + $username = $row->username; + + $subject = sprintf (T_('Account details for %s at %s'), $name, $mosConfig_sitename); + $subject = html_entity_decode($subject, ENT_QUOTES); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + if ($mosConfig_useractivation=="1"){ + $message = sprintf (T_('Hello %s, + +Thank you for registering at %s. Your account has been created but, as a precaution, it must be activated by you before you can use it. +To activate the account click on the following link or copy and paste it in your browser: +%s + +After activation you may login to %s using the following username and password: + +Username - %s +Password - %s'), + $name, $mosConfig_sitename, $mosConfig_live_site."/index.php?option=com_registration&task=activate&activation=".$row->activation, $mosConfig_live_site, $username, $pwd); + $loginfo = new mosLoginDetails($username, $pwd); + $mambothandler->trigger('userRegister', array($loginfo)); + } + else { + $message = sprintf (T_("Hello %s, + +Thank you for registering at %s. + +You may now login to %s using the username and password you registered with."), + $name, $mosConfig_sitename, $mosConfig_live_site); + $loginfo = new mosLoginDetails($username, $pwd); + $mambothandler->trigger('userRegister', array($loginfo)); + $mambothandler->trigger('userActivate', array($loginfo)); + } + + $message = html_entity_decode($message, ENT_QUOTES); + // Send email to user + if ($mosConfig_mailfrom != "" && $mosConfig_fromname != "") { + $adminName2 = $mosConfig_fromname; + $adminEmail2 = $mosConfig_mailfrom; + } else { + $database->setQuery( "SELECT name, email FROM #__users" + ."\n WHERE usertype='super administrator'" ); + $rows = $database->loadObjectList(); + $row2 = $rows[0]; + $adminName2 = $row2->name; + $adminEmail2 = $row2->email; + } + + mosMail($adminEmail2, $adminName2, $email, $subject, $message); + + // Send notification to all administrators + $subject2 = sprintf (T_('Account details for %s at %s'), $name, $mosConfig_sitename); + $message2 = sprintf (T_('Hello %s, + +A new user has registered at %s. +This email contains their details: + +Name - %s +e-mail - %s +Username - %s + +Please do not respond to this message as it is automatically generated and is for information purposes only'), + $adminName2, $mosConfig_sitename, $row->name, $email, $username); + $subject2 = html_entity_decode($subject2, ENT_QUOTES); + $message2 = html_entity_decode($message2, ENT_QUOTES); + + // get superadministrators id + $admins = $acl->get_group_objects( 25, 'ARO' ); + + foreach ( $admins['users'] AS $id ) { + $database->setQuery( "SELECT email, sendEmail FROM #__users" + ."\n WHERE id='$id'" ); + $rows = $database->loadObjectList(); + + $row = $rows[0]; + + if ($row->sendEmail) { + mosMail($adminEmail2, $adminName2, $row->email, $subject2, $message2); + } + } + + if ( $mosConfig_useractivation == "1" ){ + echo '
      '.T_('Registration Complete').'

      '; + echo T_('Your account has been created and an activation link has been sent to the e-mail address you entered. Note that you must activate the account by clicking on the activation link before you can login.'); + } else { + echo '
      '.T_('Registration Complete').'

      '; + echo T_('You may now login.'); + } + +} + +function activate( $option ) { + global $database; + global $mosConfig_useractivation, $mosConfig_allowUserRegistration; + + if ($mosConfig_allowUserRegistration == '0' || $mosConfig_useractivation == '0') { + mosNotAuth(); + return; + } + + $activation = mosGetParam( $_REQUEST, 'activation', '' ); + $activation = $database->getEscaped( $activation ); + + if (empty( $activation )) { + echo '
      '.T_('Invalid Activation Link!').'

      '; + echo T_('There is no such account in our database or the account has already been activated.'); + return; + } + + $database->setQuery( "SELECT username FROM #__users" + ."\n WHERE activation='$activation' AND block='1'" ); + $username = $database->loadResult(); + + if ($username) { + $database->setQuery( "UPDATE #__users SET block='0', activation='' WHERE activation='$activation' AND block='1'" ); + if (!$database->query()) { + echo "SQL error" . $database->stderr(true); + } + echo '
      '.T_('Activation Complete!').'

      '; + echo T_('Your account has been activated successfully. You can now login using the username and password you chose during registration.'); + $loginfo = new mosLoginDetails($username); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + $mambothandler->trigger('userActivate', array($loginfo)); + } else { + echo '
      '.T_('Invalid Activation Link!').'

      '; + echo T_('There is no such account in our database or the account has already been activated.'); + } +} + +function is_email($email){ + $rBool=false; + + if(preg_match("/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email)){ + $rBool=true; + } + return $rBool; +} +?> diff -ruN 4.6rc2/components/com_search/search.html.php 4.6-complete/components/com_search/search.html.php --- 4.6rc2/components/com_search/search.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/components/com_search/search.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,173 +1,167 @@ -get( 'page_title' ) ) { - ?> -
      - get( 'header' ); ?> -
      - -
      - - - - - - - - - - - - -
      - : - - - - -
      - -
      :
      - - - -
      - - - - - - - - -
      - ' . stripslashes($searchword) . ''; ?> - - - - - -
      - -
      - -
      -
      - - created) { - $created = mosFormatDate ($row->created, '%d %B, %Y'); - } else { - $created = ''; - } - ?> - - - - - - - - - - - - - - - - - - - -
      - browsernav == 1) { - ?> - - - - title; - ?> - - - (section; ?>) - -
      - text;?> … -
      - -
      -   -
      -   -
      - $searchword"); - ?> - - - -
      - get( 'page_title' ) ) { + ?> +
      + get( 'header' ); ?> +
      + +
      + + + + + + + + + + +
      :  + +  
      + +
      :
      + + + +
      + + + + + + + + +
      + ' . stripslashes($searchword) . ''; ?> + + + + + +
      + +
      + +
      +
      + + created) { + $created = mosFormatDate ($row->created, '%d %B, %Y'); + } else { + $created = ''; + } + ?> + + + + + + + + + + + + + + + + + + + +
      + browsernav == 1) { + ?> + + + + title; + ?> + + + (section; ?>) + +
      + text;?> … +
      + +
        + +
        + +
      + $searchword"); + ?> + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/components/com_search/search.php 4.6-complete/components/com_search/search.php --- 4.6rc2/components/com_search/search.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/components/com_search/search.php 2006-09-20 19:05:04.000000000 -0500 @@ -59,10 +59,12 @@ $orders[] = mosHTML::makeOption( 'alpha', T_('Alphabetical') ); $orders[] = mosHTML::makeOption( 'category', T_('Section/Category') ); $ordering = mosGetParam( $_REQUEST, 'ordering', 'newest'); + if (!in_array($ordering, array('newest', 'oldest', 'popular', 'alpha', 'category'))) $ordering = 'newest'; $lists = array(); $lists['ordering'] = mosHTML::selectList( $orders, 'ordering', 'class="inputbox"', 'value', 'text', $ordering ); $searchphrase = mosGetParam( $_REQUEST, 'searchphrase', 'any' ); + if (!in_array($searchphrase, array('any', 'all', 'exact'))) $searchphrase = 'any'; $searchphrases = array(); $phrase = new stdClass(); @@ -102,7 +104,9 @@ mosLogSearch( $searchword ); $phrase = mosGetParam( $_REQUEST, 'searchphrase', '' ); + if (!in_array($phrase, array('any', 'all', 'exact'))) $phrase = 'any'; $ordering = mosGetParam( $_REQUEST, 'ordering', '' ); + if (!in_array($ordering, array('newest', 'oldest', 'popular', 'alpha', 'category'))) $ordering = 'newest'; $_MAMBOTS->loadBotGroup( 'search' ); $results = $_MAMBOTS->trigger( 'onSearch', array( $searchword, $phrase, $ordering ) ); diff -ruN 4.6rc2/components/com_weblinks/weblinks.class.php 4.6-complete/components/com_weblinks/weblinks.class.php --- 4.6rc2/components/com_weblinks/weblinks.class.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/components/com_weblinks/weblinks.class.php 2006-09-20 19:05:04.000000000 -0500 @@ -82,6 +82,8 @@ } /** check for existing name */ + $this->title = $this->_db->getEscaped($this->title); + $this->catid = $this->_db->getEscaped($this->catid); $this->_db->setQuery( "SELECT id FROM #__weblinks " . "\nWHERE title='$this->title' AND catid='$this->catid'" ); diff -ruN 4.6rc2/components/com_weblinks/weblinks.php 4.6-complete/components/com_weblinks/weblinks.php --- 4.6rc2/components/com_weblinks/weblinks.php 2006-06-20 00:17:39.000000000 -0500 +++ 4.6-complete/components/com_weblinks/weblinks.php 2006-09-20 19:05:04.000000000 -0500 @@ -266,7 +266,7 @@ /** Notify admin's */ $query = "SELECT email, name" . "\n FROM #__users" - . "\n WHERE usertype = 'superadministrator'" + . "\n WHERE usertype = 'super administrator'" . "\n AND sendemail = '1'" ; $database->setQuery( $query ); diff -ruN 4.6rc2/configuration.php 4.6-complete/configuration.php --- 4.6rc2/configuration.php 2006-08-16 16:44:10.000000000 -0500 +++ 4.6-complete/configuration.php 2006-09-20 19:25:10.000000000 -0500 @@ -41,6 +41,7 @@ $mosConfig_shownoauth = '1'; // Display links & categories users don't have access to $mosConfig_useractivation = '1'; // Send new registration passwords via e-mail $mosConfig_uniquemail = '1'; // Require unique email adress for each user +$mosConfig_usecaptcha = '0'; $mosConfig_offline_message = 'This site is down for maintenance.
      Please check back again soon.'; $mosConfig_lifetime = '900'; // Session time $mosConfig_MetaDesc = 'Mambo - the dynamic portal engine and content management system'; @@ -48,7 +49,7 @@ $mosConfig_MetaTitle = '1'; $mosConfig_MetaAuthor = '1'; $mosConfig_debug = '0'; -$mosConfig_lang = 'english'; // Site language +$mosConfig_lang = 'en'; // Site language $mosConfig_locale = 'en_GB'; $mosConfig_offset = '0'; // Local time offset $mosConfig_locale_debug = 0; @@ -71,7 +72,7 @@ $mosConfig_register_globals = 1; $mosConfig_error_message = 'This site is temporarily unavailable.
      Please contact your System Administrator.'; $mosConfig_link_titles = '0'; -$mosConfig_list_limit = '10'; +$mosConfig_list_limit = '50'; $mosConfig_caching = '0'; $mosConfig_cachepath = "$mosConfig_absolute_path/cache"; $mosConfig_cachetime = '900'; diff -ruN 4.6rc2/help/comment.edit.html 4.6-complete/help/comment.edit.html --- 4.6rc2/help/comment.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/help/comment.edit.html 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,52 @@ + + + +Comment - Edit + + + +Comment Manager : Edit a Comment Item + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you edit a Comment + Item for your site.

      +
      Usage:n/a
      Default + State: n/a
      Parameters: +
        +
      • Name: Enter or edit the name of the user here.
      • +
      • Content Item: This is the content item that this + comment relates to. If you wish to move this comment to another content + item you may select it from here.
      • +
      • Comments: Edit the comment here.
      • +
      • Published: Select Yes/No to publish this comment
      • +
      +
      Toolbar + Icons:
        +
      • Save: Saves and returns you to Comment Manager.
      • +
      • Cancel: Cancels without saving and returns you to + Comment Manager.
      • +
      +
      + + diff -ruN 4.6rc2/help/comment.manager.html 4.6-complete/help/comment.manager.html --- 4.6rc2/help/comment.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/help/comment.manager.html 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,64 @@ + + + +Comment - New + + + +Comment Manager + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page displays a list of + the Comment items on your site.

      + Display Columns +
        +
      • Author: Name of the person who wrote the comment. + This will be GUEST if the user is not logged in and anonymous comments + are enabled.
      • +
      • Comment: This shows the connent itself.
      • +
      • Date: This shows the date the comment was added.
      • +
      • Content Item: This is the content item the comment + relates to.
      • +
      • Published: This shows the current published state + of the comment.
      • +
      +
      Usage:n/a
      Default + State: n/a
      Parameters:n/a +

      +
      Toolbar + Icons:
        +
      • Publish: Click to publish any number of selected + items.
      • +
      • Unpublish: Click to unpublish any number of selected + items.
      • +
      • New: Click the 'New' icon to create a new + Comment. 
      • +
      • Edit: Select the feeds and click the 'Edit' icon + to edit the Comment.
      • +
      • Delete: Click the 'Delete' icon to delete + one or multiple Comment.
      • +
      +
      + + diff -ruN 4.6rc2/help/comment.new.html 4.6-complete/help/comment.new.html --- 4.6rc2/help/comment.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/help/comment.new.html 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,52 @@ + + + +Comment - New + + + +Comment Manager : New Item + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you create a + new Comment Item for your site.

      +
      Usage:n/a
      Default + State: n/a
      Parameters: +
        +
      • Name: Enter the name of the user here.
      • +
      • Content Item: Select the content item that this + comment relates to.
      • +
      • Comments: Enter the comments you wish to write + here.
      • +
      • Published: Select Yes/No to publish this comment
      • +
      +
      Toolbar + Icons:
        +
      • Save: Saves and returns you to Comment Manager.
      • +
      • Cancel: Cancels without saving and returns you to + Comment Manager.
      • +
      +
      + + diff -ruN 4.6rc2/help/comment.settings.html 4.6-complete/help/comment.settings.html --- 4.6rc2/help/comment.settings.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/help/comment.settings.html 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,79 @@ + + + +Comment - New + + + +Comment Manager : Settings + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you configure + the Comments settings for your site..

      +
      Usage:n/a
      Default + State: n/a
      Parameters:

      The Parameters for this screen include the + following 3 categories of options: General, Notification, + and Admin.

      + (1) General Tab +
        +
      • Sections Available: Select which section(s) should + use the comment system. Hold down [CTRL] to make multiple selections..
      • +
      • Autopublish Comments: Select Yes or No to automatically + publish new comments.
      • +
      • Anonymous Comments: Select Yes or No to allow anonymous + comments to be added to content. If no is selected users must log in + before being able to post comments..
      • +
      • Comments Per Page: Select the number of comments + you want to appear on each content page. Once the comments reach the + level you set the page and its comments will be automatically split + and a paging tab built..
      • +
      +
      + (2) Notification Tab +
        +
      • Notify Admin: You may select here whether to notify + the Administrator upon each new comment added.
      • +
      • Administrators Email: This is the email address + that a notification about new comments will be sent to. This is set + to be the same as the email address for the Administrator in the sites + Global configuration.
      • +
      +
      + (3) Admin:
      Here are various settings for what is displayed when + the user clicks to view a Comment item. +
        +
      • Comment Length: Allows you to set the length of + the comment shown in the admin screen before it is trimmed. The full + comment can be viewed by clicking on the comment link.
        +
      • +
      +
      Toolbar + Icons:
        +
      • Save: Saves and returns you to Comment Manager.
      • +
      • Cancel: Cancels without saving and returns you to + Comment Manager.
      • +
      +
      + + diff -ruN 4.6rc2/help/config.main.html 4.6-complete/help/config.main.html --- 4.6rc2/help/config.main.html 2006-05-31 11:49:28.000000000 -0500 +++ 4.6-complete/help/config.main.html 2006-09-20 19:05:04.000000000 -0500 @@ -20,75 +20,60 @@ it is a good idea to make configuration.php unwritable for security reasons.

      Site Tab

      -
        -
      • Site Offline - - Takes the front end of your website on or offline. Use - this option if you are updating the site and - do not wish to have your visitors view the site until - you are finished.
      • -
      • Offline - Message - When the Site Offline switch is in - the Yes position, this field sets the default message - that displays for - your site visitors.
      • -
      • System Error Message - - This message will display if the initial database connection - fails.  You can type anything you like in this - box.
      • -
      • Site Name - - Sets the name of the site. This will display in the - Title Bar of the visitors' browsers and will also show - in system-generated emails.
      • -
      • ShowUnauthorised Links - With - this option turned on, visitors will see all links, - including those to Content Items to which the visitor - may not have access, (that is, content given an Access - Level of 'Registered' or 'Special'). - With this option off, they will only see links to content - with an Access Level of 'Public'.
      • -
      • Allow User Registration - - This option allows you to set whether visitors can register - for a user account. If the "Yes" radio - button is chosen, the Login Form will include the prompt “No - account yet? Create one". If the "No" radio - button is chosen, they will not be presented with an option - to register.
      • -
      • Use New Account Activation - - If the "Yes" radio button is chosen, an activation - link will be sent to user's e-mail address. A new - user can not login until he has clicked on the activation - link.  If - the "No" radio button is chosen, Users will - be able to login right away without activation.
      • -
      • Email - New User Password - With this option set to 'Yes', - the new user will receive an email with a password generated - by Mambo. If it is set to 'No', new Users will select - their own password.
      • -
      • Require Unique Email - - Select whether you want to prevent registration with - duplicate e-mail addresses. In combination with user - activation this option prevents users from signing up - more than once using the same e-mail address.
      • -
      • Debug Site - This option - allows you to view the error messages that are created by - your site's php installation. It can be a handy - tool for debugging if you are having problems and for - reporting errors to your System Administrator or Web - host.
      • -
      • WYSIWYG Editor - Choose which of - the installed Text Editors you want to use to edit Content - Items.
      • -
      • List - Length - Choose a default length for lists - in the Admin system.
      • -
      • Favourites Site - Icon - This sets the icon that appears in some browsers - next to the name and/or address of your site.  By default - this is the Mambo flower.  If you want another icon - to show up, you must upload another icon to replace the Mambo - flower. 
      • -
      + +
        +
      • Site Offline - Takes the front end of your website + on or offline. Use this option if you are updating the site and do not + wish to have your visitors view the site until you are finished.
      • +
      • Offline Message - When the Site Offline switch is + in the Yes position, this field sets the default message that displays + for your site visitors.
      • +
      • System Error Message - This message will display + if the initial database connection fails.  You can type anything + you like in this box.
      • +
      • Site Name - Sets the name of the site. This will + display in the Title Bar of the visitors' browsers and will also show + in system-generated emails.
      • +
      • ShowUnauthorised Links - With this option turned + on, visitors will see all links, including those to Content Items + to which the visitor may not have access, (that is, content given an + Access Level of 'Registered' or 'Special'). With this + option off, they will only see links to content with an Access Level + of 'Public'.
      • +
      • Allow User Registration - This option allows you + to set whether visitors can register for a user account. If the "Yes" + radio button is chosen, the Login Form will include the prompt “No + account yet? Create one". If the "No" radio button is + chosen, they will not be presented with an option to register.
      • +
      • Use New Account Activation - If the "Yes" + radio button is chosen, an activation link will be sent to user's + e-mail address. A new user can not login until he has clicked on the + activation link.  If the "No" radio button is chosen, + Users will be able to login right away without activation.
      • +
      • Email New User Password - With this option set to + 'Yes', the new user will receive an email with a password generated + by Mambo. If it is set to 'No', new Users will select their + own password.
      • +
      • Require Unique Email - Select whether you want to + prevent registration with duplicate e-mail addresses. In combination + with user activation this option prevents users from signing up more + than once using the same e-mail address.
      • +
      • Use Captcha Authentication - Select whether users + are required to enter verification details from a security image before + submitting forms. This stops automatic form submissions such as spam.
      • +
      • Debug Site - This option allows you to view the error + messages that are created by your site's php installation. It can + be a handy tool for debugging if you are having problems and for reporting + errors to your System Administrator or Web host.
      • +
      • WYSIWYG Editor - Choose which of the installed Text + Editors you want to use to edit Content Items.
      • +
      • List Length - Choose a default length for lists in + the Admin system.
      • +
      • Favourites Site Icon - This sets the icon that appears + in some browsers next to the name and/or address of your site.  + By default this is the Mambo flower.  If you want another icon + to show up, you must upload another icon to replace the Mambo flower. 
      • +

      Locale Tab

      • Language:  Choose diff -ruN 4.6rc2/help/mambo.credits.html 4.6-complete/help/mambo.credits.html --- 4.6rc2/help/mambo.credits.html 2006-05-26 22:42:35.000000000 -0500 +++ 4.6-complete/help/mambo.credits.html 2006-09-20 19:05:04.000000000 -0500 @@ -1,291 +1,294 @@ - - - - - - -Credits - - - - - - - - - - - - -

        Credits & Contributions

        - -
          -

          The Mambo Steering Committee (the 'MSC')

          -
        • - Chad Cauld: Core Development Team Leader -
        • -
        • - Alain Schmalz: 3rd Party Development Team Leader -
        • -
        • - Ric Shreves: Advocacy & PR Team Leader -
        • -
        • - Carlos Souza: Translation Team Leader -
        • -
        • - David Geller: Moderation Team Leader -
        • -
        • - Richard Ong: Documentation Team Leader -
        • -
        • - James Puro: QA Team Leader -
        • -

          Core & Maintenance Development

          -
        • - Adi Setiawan -
        • -
        • - Akarawuth Tamrareang -
        • -
        • - Carlos Souza -
        • -
        • -Chad Auld -
        • -
        • -Chanh Ong -
        • -
        • -Giorgio Nordo -
        • -
        • -Nalisa Sitabut -
        • -
        • -Neil Thompson -
        • -
        • -Richard Peter Ong -
        • -
        • -Shaoying Su -
        • - -

          Past Contributions

          -
        • - Andrew Eddie, Rey Gigataras, Emir Sakic, Alex Kempkens, Andy Miller, Mitch Pirtle, Tim Broeker, Nick Designer, Brian Teeman, Andy Stewart, Peter Koch, Levis Bisson, Robert Castley, Phil Taylor, Ron Bakker, Steen Rabol, James Logan, Wee Keat, Ilias Antonopoulos, Martin Brampton, Dean Elzey, Despina Stamkou, John Kalantzis -
        • -
        - -

        Third Party Tools

        - - - - - - - - \ No newline at end of file + + + + + + +Credits + + + + + + + + + + + + +

        Credits & Contributions

        + +
          +

          The Mambo Steering Committee (the 'MSC')

          +
        • + Chad Auld: Core Development Team Leader +
        • +
        • + Alain Schmalz: 3rd Party Development Team Leader +
        • +
        • + Ric Shreves: Advocacy & PR Team Leader +
        • +
        • + Carlos Souza: Translation Team Leader +
        • +
        • + (Currently Open): Moderation Team Leader +
        • +
        • + Richard Ong: Documentation Team Leader +
        • +
        • + Chanh Ong: Project Management Team Leader +
        • +
        • + (Currently Open): QA Team Leader +
        • +

          Core & Maintenance Development

          +
        • + Adi Setiawan +
        • +
        • + Akarawuth Tamrareang +
        • +
        • + Carlos Souza +
        • +
        • +Chad Auld +
        • +
        • +Chanh Ong +
        • +
        • +Giorgio Nordo +
        • +
        • +Nalisa Sitabut +
        • +
        • +Neil Thompson +
        • +
        • +Richard Peter Ong +
        • +
        • +Shaoying Su +
        • + +

          Past Contributions

          +
        • + Andrew Eddie, Rey Gigataras, Emir Sakic, Alex Kempkens, Andy Miller, Mitch Pirtle, Tim Broeker, Nick Designer, Brian Teeman, Andy Stewart, Peter Koch, Levis Bisson, Robert Castley, Phil Taylor, Ron Bakker, Steen Rabol, James Logan, Wee Keat, Ilias Antonopoulos, Martin Brampton, Dean Elzey, Despina Stamkou, John Kalantzis +
        • +
        + +

        Third Party Tools

        + + + + + + + + diff -ruN 4.6rc2/help/mambo.support.html 4.6-complete/help/mambo.support.html --- 4.6rc2/help/mambo.support.html 2006-05-31 22:26:19.000000000 -0500 +++ 4.6-complete/help/mambo.support.html 2006-09-20 19:05:04.000000000 -0500 @@ -11,9 +11,9 @@

        Support

        Official Sites


        +
      • Mambo Forums - The Mambo support forum
      • +
      • Mambo Bug tracker - Log potential bugs here for tracking. For help please use the forums.
      • +
      • Mambo Official Docs Site - Manual, tutorials and reference material for Mambo

      Addons for Mambo

      • MamboXchange.com - The object of MamboXChange is to provide a free project management and download environment for Mambo related projects. It is one of largest central repositories on the web for everything that is to do with Mambo.



      diff -ruN 4.6rc2/help/mambo.whatsnew.html 4.6-complete/help/mambo.whatsnew.html --- 4.6rc2/help/mambo.whatsnew.html 2006-05-26 22:42:35.000000000 -0500 +++ 4.6-complete/help/mambo.whatsnew.html 2006-09-20 19:05:04.000000000 -0500 @@ -1,41 +1,64 @@ - - - - - - -What's New in Version 4.6 - - - - - - - - - - - -

      What's New in Version 4.6

      -Version 4.6 represents another milestone for the Mambo open source CMS project. In 4.6 much of the underlying code has been rewritten and optimized. Mambo now uses significantly fewer database calls during its normal operation. A large number of bugs have been corrected. A new feature rich default editor and user friendly database backup utility have been added. Plus more... - -

      Templates

      -New templates have been added to this release. Special thanks to Water & Stone for donating these! The new templates really show off what's possible with Mambo's flexible templating system. - -

      Help System Changes

      -New help screens have been added and the help system has been expanded to help decrease inaccuracies in the delivery of help content. New and updated screenshots have been added. A lot work has gone into the contextual help screens as well. - -

      Components

      -

      MOStlyCE

      -MOStlyCE is the new default editor for Mambo. MOStlyCE is based on the latest version of TinyMCE and the old mosCE project. MOStlyCE offers some great new enhancements like editor compression for faster load times and reduced traffic, a customizable interface, and ability to enable / disable plugins as needed. There are also a number of great new plugins like a spellchecker, layer support, etc. Enjoy! - -

      MOStlyDBAdmin

      -MOStlyDBAdmin is a new component based on the old dbadmin component. Some minor tweaks and security fixes have been applied. This component offers users an easy way to backup and restore Mambo's database. - -

      Bug Fixes

      -For details on other additions and bug fixes not listed here, please check the changelog.php file that is included with the distribution. - - - \ No newline at end of file + + + + + + +What's New in Version 4.6 + + + + + + + + + + + +

      What's New in Version 4.6

      +Version 4.6 represents another milestone for the Mambo open source CMS project. In 4.6 much of the underlying code has been rewritten and optimized. Mambo now uses significantly fewer database calls during its normal operation. A large number of bugs have been corrected. A new feature rich default editor and user friendly database backup utility have been added. Plus more... + +

      Templates

      +New templates have been added to this release. Special thanks to Water & Stone for donating these! The new templates really show off what's possible with Mambo's flexible templating system. + +

      Help System Changes

      +New help screens have been added and the help system has been expanded to help decrease inaccuracies in the delivery of help content. New and updated screenshots have been added. A lot work has gone into the contextual help screens as well. + +

      Components

      +

      MOStlyCE

      +MOStlyCE is the new default editor for Mambo. MOStlyCE is based on the latest version of TinyMCE and the old mosCE project. MOStlyCE offers some great new enhancements like editor compression for faster load times and reduced traffic, a customizable interface, and ability to enable / disable plugins as needed. There are also a number of great new plugins like a spellchecker, layer support, etc. Enjoy! + +

      MOStlyDBAdmin

      +MOStlyDBAdmin is a new component based on the old dbadmin component. Some minor tweaks and security fixes have been applied. This component offers users an easy way to backup and restore Mambo's database. + +

      Comments

      +v4.6 offers a new built-in comments component for handling end user comments. + +

      Installers

      +

      Universal Installer

      +The individual installers for templates, mambots, components, etc have been removed. Version 4.6 brings a new Universal Installer capable of installing any type of Mambo package (i.e.) Component, Module, Mambot, and/or Template. + +

      Add-On Installer

      +Another new installation method is the Add-On Installer. It requires PHP5 and will be displayed under the Installers menu if the system has the required PHP5 version. The Add-On installer displays a list of official Mambo add-on packages that can be installed with the click of a button. Any number and/or type of packages can be installed with 1 simple click. You'll recognize many of these as formerly built in Mambo core items. With Mambo Raw we have started to slim down the core and thus are offering pulled packages as fully installable add-ons. We like to call it Mambo Your Way. + +This is also the spot to find Peer Reviewed / Certified 3rd Party Add-Ons. Note though the process for certifying add-ons is still in the works so when 4.6 is released this list will be empty until we have had time to get this effort officially underway. + +

      Other New Features

      +

      Check For Updates

      +The Check For Updates feature requires PHP5 and will be displayed under the System menu if the system has the required PHP5 version. This new feature checks the Mambo Foundation server to see if you are running the latest version and/or patch of Mambo and will offer suggestions if not. It can also be used to display messages to Mambo admins and may come in handy as a tool to communicate things like security warnings. The functionality is not automatic at this time. It will not update Mambo automatically, this is still a manual process. It also does not check for updates without the user requesting it do so. + +

      Enhanced Language Manager

      +Version 4.6 brings an enhanced language manager that allows for simple translation of the Mambo core. + +

      Spam Protection

      +Optional CAPTCHA authentication has been added to the core. By requiring the user +pass a CAPTCHA test before submitting contact or comment contents automated spam +entries by bots should be elimitated. +

      Bug Fixes

      +For details on other additions and bug fixes not listed here, please check the changelog.php file that is included with the distribution. + + + diff -ruN 4.6rc2/includes/captcha.php 4.6-complete/includes/captcha.php --- 4.6rc2/includes/captcha.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/includes/captcha.php 2006-09-20 19:05:04.000000000 -0500 @@ -0,0 +1,180 @@ + Binary files 4.6rc2/includes/captchaFonts/font1.ttf and 4.6-complete/includes/captchaFonts/font1.ttf differ Binary files 4.6rc2/includes/captchaFonts/font2.ttf and 4.6-complete/includes/captchaFonts/font2.ttf differ Binary files 4.6rc2/includes/captchaFonts/font3.ttf and 4.6-complete/includes/captchaFonts/font3.ttf differ diff -ruN 4.6rc2/includes/core.classes.php 4.6-complete/includes/core.classes.php --- 4.6rc2/includes/core.classes.php 2006-07-03 17:43:23.000000000 -0500 +++ 4.6-complete/includes/core.classes.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,4 +1,4 @@ -subdirectory; - $this->mosConfig_live_site = $this->mosConfig_secure_site = $scheme.$afterscheme; + //$this->mosConfig_live_site = $this->mosConfig_secure_site = $scheme.$afterscheme; $this->mosConfig_unsecure_site = 'http'.$afterscheme; $this->mosConfig_absolute_path = $this->rootPath; preg_match_all('/\$this\-\>([A-Za-z_][A-Za-z0-9_]*)/', $code, $matches); @@ -431,14 +431,14 @@ if (!defined('_DATE_FORMAT_LC')) DEFINE('_DATE_FORMAT_LC', $dateformat); //Uses PHP's strftime Command Format if (!defined('_DATE_FORMAT_LC2')) DEFINE('_DATE_FORMAT_LC2', $dateformat); - + } /** * Enter description here... * */ - function handleGlobals () { + function handleGlobals () { $superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET); if (isset( $_SESSION )) array_unshift ( $superglobals , $_SESSION ); @@ -456,6 +456,7 @@ foreach ( $superglobals as $superglobal ) { foreach ( $superglobal as $key => $value) { unset( $GLOBALS[$key]); + unset( $GLOBALS[$key]); } } } @@ -817,7 +818,7 @@ else $img = '>'; } foreach ($this->_names as $i=>$name) { - if ($i === $last) $result .= "$name"; + if ($i === $last) $result .= "$name"; else { $sefurl = sefRelToAbs($this->_urls[$i]); $result .= "$name"; @@ -2030,6 +2031,8 @@ * @return boolean True is satisfactory */ function check() { + Global $mosConfig_absolute_path; + include $mosConfig_absolute_path . ('language/english.php'); $this->_error = ''; if ($this->name == '') $this->_error = _REGWARN_NAME; elseif ($this->username == '') $this->_error = _REGWARN_UNAME; @@ -2200,21 +2203,18 @@ } /** - * Singleton get instance - * @param object the mainframe instance (if called internally) - * Note that because of the need for creation parameters, this cannot - * be called successfully unless the mainframe object is already created + * @param object */ - function &getInstance () { - static $mainframe; - if (func_num_args()) { - $args = func_get_args(); - $mainframe = $args[0]; - } - if (isset($mainframe)) $result =& $mainframe; - else $result = null; - return $result; - } + function &getInstance () { + global $mainframe; + if (isset($mainframe)) { + return $mainframe; + } else { + $result = null; + return $result; + } + } + /** * @param string */ @@ -2336,9 +2336,13 @@ * @param string The default value for the variable if not found */ function getUserStateFromRequest( $var_name, $req_name, $var_default=null ) { - if (isset($_REQUEST[$req_name])) $this->setUserState($var_name, $_REQUEST[$req_name]); - elseif (isset($var_default) AND !isset($this->userstate[$var_name])) $this->setUserState($var_name, $var_default); - return $this->getUserState($var_name); + if (is_array($this->_userstate)) { + if (isset($_REQUEST[$req_name])) $this->setUserState($var_name, $_REQUEST[$req_name]); + else if (isset($var_default) AND !isset($this->_userstate[$var_name])) $this->setUserState($var_name, $var_default); + return $this->_userstate[$var_name]; + } else { + return null; + } } /** * Initialises the user session diff -ruN 4.6rc2/includes/database.php 4.6-complete/includes/database.php --- 4.6rc2/includes/database.php 2006-04-03 12:51:53.000000000 -0500 +++ 4.6-complete/includes/database.php 2006-09-20 19:05:04.000000000 -0500 @@ -789,7 +789,9 @@ */ function load( $oid=null ) { $k = $this->_tbl_key; - if ($oid !== null) $this->$k = $oid; + if ($oid !== null) { + $this->$k = $this->_db->getEscaped($oid); + } if ($this->$k === null) return false; $this->_db->setQuery("SELECT * FROM $this->_tbl WHERE $this->_tbl_key='".$this->$k."'" ); return $this->_db->loadObject($this); diff -ruN 4.6rc2/includes/frontend.html.php 4.6-complete/includes/frontend.html.php --- 4.6rc2/includes/frontend.html.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/includes/frontend.html.php 2006-09-20 19:05:04.000000000 -0500 @@ -1,250 +1,220 @@ -get( 'rssurl' ); - $rssitems = $params->get( 'rssitems', 5 ); - $rssdesc = $params->get( 'rssdesc', 1 ); - $rssimage = $params->get( 'rssimage', 1 ); - $rssitemdesc = $params->get( 'rssitemdesc', 1 ); - $moduleclass_sfx = $params->get( 'moduleclass_sfx' ); - $words = $params->def( 'word_count', 0 ); - - if ($style == -1 && !$rssurl) { - echo $module->content; - return; - } else { - ?> - - showtitle != 0 ) { - ?> - - - - content ) { - ?> - - - - image['title'])) $iTitle = $rss->image['title']; - if (isset($rss->image['url'])) $iUrl = $rss->image['url']; - // feed title - ?> - - - - - - - - - - - - - - - - -
      - title; ?> -
      - content; ?> -
      - - - channel['title']; ?> - - -
      - channel['description']; ?> -
      - <?php echo $iTitle; ?> -
      -
        - items as $item) { - if ($itemnumber > $rssitems) break; - $itemnumber++; - // item title - ?> -
      • - - - - - - $words ) { - $text = ''; - for( $i=0; $i < $words; $i++ ) { - $text .= ' '. $texts[$i]; - } - $text .= '...'; - } - } - ?> -
        - -
        - -
      • - -
      -
      - get( 'moduleclass_sfx' ); - // check for custom language file -/* - $path = $mosConfig_absolute_path . '/modules/' . $module->module . mamboCore::get('mosConfig_lang') . '.php'; - if (file_exists( $path )) { - include( $path ); - } else { - $path = $mosConfig_absolute_path .'/modules/'. $module->module .'.eng.php'; - if (file_exists( $path )) { - include( $path ); - } - } -*/ - $number = ''; - if ($count > 0) { - $number = '' . $count . ' '; - } - if ($style == -3) { - // allows for rounded corners - echo "\n
      "; - if ($module->showtitle != 0) { - echo "

      $module->title

      "; - } - echo "\n"; - - include( $mosConfig_absolute_path .'/modules/'. $module->module .'.php' ); - if (isset( $content)) { - echo $content; - } - - echo "\n"; - echo "\n
      \n"; - } else if ($style == -2) { - // x-mambo (divs and font headder tags) - ?> -
      - showtitle != 0) { - //echo $number; - ?> -

      - title; ?> -

      - module .'.php' ); - - if (isset( $content)) { - echo $content; - } - ?> -
      - module .'.php' ); - - if (isset( $content)) { - echo $content; - } - } else { - ?> - - showtitle != 0 ) { - ?> - - - - - - - -
      - - title; ?> -
      - module . '.php' ); - if (isset( $content)) { - echo $content; - } - ?> -
      - +get( 'rssurl' ); + $rssitems = $params->get( 'rssitems', 5 ); + $rssdesc = $params->get( 'rssdesc', 1 ); + $rssimage = $params->get( 'rssimage', 1 ); + $rssitemdesc = $params->get( 'rssitemdesc', 1 ); + $moduleclass_sfx = $params->get( 'moduleclass_sfx' ); + $words = $params->def( 'word_count', 0 ); + + if ($style == -1 && !$rssurl) { + echo $module->content; + return; + } else { + ?> + + showtitle != 0 ) { + ?> + + + + content ) { + ?> + + + + image['title'])) $iTitle = $rss->image['title']; + if (isset($rss->image['url'])) $iUrl = $rss->image['url']; + // feed title + ?> + + + + + + + + + + + + + + + + +
      + title; ?> +
      + content; ?> +
      + + + channel['title']; ?> + + +
      + channel['description']; ?> +
      + <?php echo $iTitle; ?> +
      +
        + items as $item) { + if ($itemnumber > $rssitems) break; + $itemnumber++; + // item title + ?> +
      • + + + + + + $words ) { + $text = ''; + for( $i=0; $i < $words; $i++ ) { + $text .= ' '. $texts[$i]; + } + $text .= '...'; + } + } + ?> +
        + +
        + +
      • + +
      +
      + get( 'moduleclass_sfx' ); + $number = ''; + if ($count > 0) $number = '' . $count . ' '; + + if ($style == -3) { + // allows for rounded corners + echo "\n
      "; + if ($module->showtitle != 0) echo "

      $module->title

      \n"; + include( $mosConfig_absolute_path .'/modules/'. $module->module .'.php' ); + if (isset( $content)) echo $content; + echo "\n\n
      \n"; + + } else if ($style == -2) { + // headder and content encapsulated with div tag + ?> +
      + showtitle != 0) { + ?> +

      title; ?>

      + module .'.php' ); + if (isset( $content)) echo $content; + ?> +
      + module .'.php' ); + if (isset( $content)) echo $content; + + } else { + ?> + + showtitle != 0 ) { + ?> + + + + + + + +
      + title; ?> +
      + module . '.php' ); + if (isset( $content)) echo $content; + ?> +
      + \ No newline at end of file diff -ruN 4.6rc2/includes/frontend.php 4.6-complete/includes/frontend.php --- 4.6rc2/includes/frontend.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/includes/frontend.php 2006-09-20 19:05:04.000000000 -0500 @@ -17,7 +17,14 @@ $handler =& mosComponentHandler::getInstance(); $handler->mosMainBody(); } - +/** +* Utility functions and classes +*/ +function mosLoadComponent( $name ) { + // set up some global variables for use by the frontend component + global $mainframe, $database; + include( $mainframe->getCfg( 'absolute_path' )."/components/com_$name/$name.php" ); +} /** * @param string THe template position */ diff -ruN 4.6rc2/includes/js/JSCookMenu.js 4.6-complete/includes/js/JSCookMenu.js --- 4.6rc2/includes/js/JSCookMenu.js 2005-12-12 21:45:47.000000000 -0600 +++ 4.6-complete/includes/js/JSCookMenu.js 2006-09-20 19:05:04.000000000 -0500 @@ -1,898 +1,1656 @@ -/* - JSCookMenu v1.25. (c) Copyright 2002 by Heng Yuan - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - ITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -// Globals -var _cmIDCount = 0; -var _cmIDName = 'cmSubMenuID'; // for creating submenu id - -var _cmTimeOut = null; // how long the menu would stay -var _cmCurrentItem = null; // the current menu item being selected; - -var _cmNoAction = new Object (); // indicate that the item cannot be hovered. -var _cmSplit = new Object (); // indicate that the item is a menu split - -var _cmItemList = new Array (); // a simple list of items - -// default node properties -var _cmNodeProperties = -{ - // main menu display attributes - // - // Note. When the menu bar is horizontal, - // mainFolderLeft and mainFolderRight are - // put in . When the menu - // bar is vertical, they would be put in - // a separate TD cell. - - // HTML code to the left of the folder item - mainFolderLeft: '', - // HTML code to the right of the folder item - mainFolderRight: '', - // HTML code to the left of the regular item - mainItemLeft: '', - // HTML code to the right of the regular item - mainItemRight: '', - - // sub menu display attributes - - // HTML code to the left of the folder item - folderLeft: '', - // HTML code to the right of the folder item - folderRight: '', - // HTML code to the left of the regular item - itemLeft: '', - // HTML code to the right of the regular item - itemRight: '', - // cell spacing for main menu - mainSpacing: 0, - // cell spacing for sub menus - subSpacing: 0, - // auto dispear time for submenus in milli-seconds - delay: 500 -}; - -////////////////////////////////////////////////////////////////////// -// -// Drawing Functions and Utility Functions -// -////////////////////////////////////////////////////////////////////// - -// -// produce a new unique id -// -function cmNewID () -{ - return _cmIDName + (++_cmIDCount); -} - -// -// return the property string for the menu item -// -function cmActionItem (item, prefix, isMain, idSub, orient, nodeProperties) -{ - // var index = _cmItemList.push (item) - 1; - _cmItemList[_cmItemList.length] = item; - var index = _cmItemList.length - 1; - idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); - orient = '\'' + orient + '\''; - prefix = '\'' + prefix + '\''; - return ' onmouseover="cmItemMouseOver (this,' + prefix + ',' + isMain + ',' + idSub + ',' + orient + ',' + index + ')" onmouseout="cmItemMouseOut (this,' + nodeProperties.delay + ')" onmousedown="cmItemMouseDown (this,' + index + ')" onmouseup="cmItemMouseUp (this,' + index + ')"'; -} - -function cmNoActionItem (item, prefix) -{ - return item[1]; -} - -function cmSplitItem (prefix, isMain, vertical) -{ - var classStr = 'cm' + prefix; - if (isMain) - { - classStr += 'Main'; - if (vertical) - classStr += 'HSplit'; - else - classStr += 'VSplit'; - } - else - classStr += 'HSplit'; - var item = eval (classStr); - return cmNoActionItem (item, prefix); -} - -// -// draw the sub menu recursively -// -function cmDrawSubMenu (subMenu, prefix, id, orient, nodeProperties) -{ - var str = '
      '; - var strSub = ''; - - var item; - var idSub; - var hasChild; - - var i; - - var classStr; - - for (i = 5; i < subMenu.length; ++i) - { - item = subMenu[i]; - if (!item) - continue; - - hasChild = (item.length > 5); - idSub = hasChild ? cmNewID () : null; - - str += ''; - - if (item == _cmSplit) - { - str += cmSplitItem (prefix, 0, true); - str += ''; - continue; - } - - if (item[0] == _cmNoAction) - { - str += cmNoActionItem (item, prefix); - str += ''; - continue; - } - - classStr = prefix + 'Menu'; - classStr += hasChild ? 'Folder' : 'Item'; - - str += ''; - } - - str += '
      '; - - if (item[0] != null && item[0] != _cmNoAction) - str += item[0]; - else - str += hasChild ? nodeProperties.folderLeft : nodeProperties.itemLeft; - - str += '' + item[1]; - - str += ''; - - if (hasChild) - { - str += nodeProperties.folderRight; - strSub += cmDrawSubMenu (item, prefix, idSub, orient, nodeProperties); - } - else - str += nodeProperties.itemRight; - str += '
      ' + strSub; - return str; -} - -// -// The function that builds the menu inside the specified element id. -// -// @param id id of the element -// orient orientation of the menu in [hv][ab][lr] format -// menu the menu object to be drawn -// nodeProperties properties for each menu node -// -function cmDraw (id, menu, orient, nodeProperties, prefix) -{ - var obj = cmGetObject (id); - - if (!nodeProperties) - nodeProperties = _cmNodeProperties; - if (!prefix) - prefix = ''; - - var str = ''; - var strSub = ''; - - if (!orient) - orient = 'hbr'; - - var orientStr = String (orient); - var orientSub; - var vertical; - - // draw the main menu items - if (orientStr.charAt (0) == 'h') - { - // horizontal menu - orientSub = 'v' + orientStr.substr (1, 2); - str += ''; - vertical = false; - } - else - { - // vertical menu - orientSub = 'v' + orientStr.substr (1, 2); - vertical = true; - } - - var i; - var item; - var idSub; - var hasChild; - - var classStr; - - for (i = 0; i < menu.length; ++i) - { - item = menu[i]; - - if (!item) - continue; - - str += vertical ? ' 5); - idSub = hasChild ? cmNewID () : null; - - str += cmActionItem (item, prefix, 1, idSub, orient, nodeProperties) + '>'; - - if (item == _cmSplit) - { - str += cmSplitItem (prefix, 1, vertical); - str += vertical? '' : ''; - continue; - } - - if (item[0] == _cmNoAction) - { - str += cmNoActionItem (item, prefix); - str += vertical? '' : ''; - continue; - } - - classStr = prefix + 'Main' + (hasChild ? 'Folder' : 'Item'); - - str += vertical ? ''; - - str += (item[0] == null) ? (hasChild ? nodeProperties.mainFolderLeft : nodeProperties.mainItemLeft) - : item[0]; - str += vertical ? '' : ''; - - str += vertical ? ''; - str += item[1]; - - str += vertical ? '' : ''; - - str += vertical ? ''; - - str += hasChild ? nodeProperties.mainFolderRight : nodeProperties.mainItemRight; - - str += vertical ? '' : ''; - - str += vertical ? '' : ''; - - if (hasChild) - strSub += cmDrawSubMenu (item, prefix, idSub, orientSub, nodeProperties); - } - if (!vertical) - str += ''; - str += '
      ' + strSub; - obj.innerHTML = str; - //document.write ("" + str + ""); -} - -////////////////////////////////////////////////////////////////////// -// -// Mouse Event Handling Functions -// -////////////////////////////////////////////////////////////////////// - -// -// action should be taken for mouse moving in to the menu item -// -function cmItemMouseOver (obj, prefix, isMain, idSub, orient, index) -{ - clearTimeout (_cmTimeOut); - - if (!obj.cmPrefix) - { - obj.cmPrefix = prefix; - obj.cmIsMain = isMain; - } - - var thisMenu = cmGetThisMenu (obj, prefix); - - // insert obj into cmItems if cmItems doesn't have obj - if (!thisMenu.cmItems) - thisMenu.cmItems = new Array (); - var i; - for (i = 0; i < thisMenu.cmItems.length; ++i) - { - if (thisMenu.cmItems[i] == obj) - break; - } - if (i == thisMenu.cmItems.length) - { - //thisMenu.cmItems.push (obj); - thisMenu.cmItems[i] = obj; - } - - // hide the previous submenu that is not this branch - if (_cmCurrentItem) - { - // occationally, we get this case when user - // move the mouse slowly to the border - if (_cmCurrentItem == thisMenu) - return; - - var thatPrefix = _cmCurrentItem.cmPrefix; - var thatMenu = cmGetThisMenu (_cmCurrentItem, thatPrefix); - if (thatMenu != thisMenu.cmParentMenu) - - { - if (_cmCurrentItem.cmIsMain) - _cmCurrentItem.className = thatPrefix + 'MainItem'; - else - _cmCurrentItem.className = thatPrefix + 'MenuItem'; - if (thatMenu.id != idSub) - cmHideMenu (thatMenu, thisMenu, thatPrefix); - } - } - - // okay, set the current menu to this obj - _cmCurrentItem = obj; - - // just in case, reset all items in this menu to MenuItem - cmResetMenu (thisMenu, prefix); - - var item = _cmItemList[index]; - var isDefaultItem = cmIsDefaultItem (item); - - if (isDefaultItem) - { - if (isMain) - obj.className = prefix + 'MainItemHover'; - else - obj.className = prefix + 'MenuItemHover'; - } - - if (idSub) - { - var subMenu = cmGetObject (idSub); - cmShowSubMenu (obj, prefix, subMenu, orient); - } - - var descript = ''; - if (item.length > 4) - descript = (item[4] != null) ? item[4] : (item[2] ? item[2] : descript); - else if (item.length > 2) - descript = (item[2] ? item[2] : descript); - - window.defaultStatus = descript; -} - -// -// action should be taken for mouse moving out of the menu item -// -function cmItemMouseOut (obj, delayTime) -{ - if (!delayTime) - delayTime = _cmNodeProperties.delay; - _cmTimeOut = window.setTimeout ('cmHideMenuTime ()', delayTime); - window.defaultStatus = ''; -} - -// -// action should be taken for mouse button down at a menu item -// -function cmItemMouseDown (obj, index) -{ - if (cmIsDefaultItem (_cmItemList[index])) - { - if (obj.cmIsMain) - obj.className = obj.cmPrefix + 'MainItemActive'; - else - obj.className = obj.cmPrefix + 'MenuItemActive'; - } -} - -// -// action should be taken for mouse button up at a menu item -// -function cmItemMouseUp (obj, index) -{ - var item = _cmItemList[index]; - - var link = null, target = '_self'; - - if (item.length > 2) - link = item[2]; - if (item.length > 3 && item[3]) - target = item[3]; - - if (link != null) - { - window.open (link, target); - } - - var prefix = obj.cmPrefix; - var thisMenu = cmGetThisMenu (obj, prefix); - - var hasChild = (item.length > 5); - if (!hasChild) - { - if (cmIsDefaultItem (item)) - { - if (obj.cmIsMain) - obj.className = prefix + 'MainItem'; - else - obj.className = prefix + 'MenuItem'; - } - cmHideMenu (thisMenu, null, prefix); - } - else - { - if (cmIsDefaultItem (item)) - { - if (obj.cmIsMain) - obj.className = prefix + 'MainItemHover'; - else - obj.className = prefix + 'MenuItemHover'; - } - } -} - -////////////////////////////////////////////////////////////////////// -// -// Mouse Event Support Utility Functions -// -////////////////////////////////////////////////////////////////////// - -// -// move submenu to the appropriate location -// -// @param obj the menu item that opens up the subMenu -// subMenu the sub menu to be shown -// orient the orientation of the subMenu -// -function cmMoveSubMenu (obj, subMenu, orient) -{ - var mode = String (orient); - var p = subMenu.offsetParent; - if (mode.charAt (0) == 'h') - { - if (mode.charAt (1) == 'b') - subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj)) + 'px'; - else - subMenu.style.top = (cmGetYAt (obj, p) - cmGetHeight (subMenu)) + 'px'; - if (mode.charAt (2) == 'r') - subMenu.style.left = (cmGetXAt (obj, p)) + 'px'; - else - subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) - cmGetWidth (subMenu)) + 'px'; - } - else - { - if (mode.charAt (2) == 'r') - subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj)) + 'px'; - else - subMenu.style.left = (cmGetXAt (obj, p) - cmGetWidth (subMenu)) + 'px'; - if (mode.charAt (1) == 'b') - subMenu.style.top = (cmGetYAt (obj, p)) + 'px'; - else - subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) - cmGetHeight (subMenu)) + 'px'; - } -} - -// -// show the subMenu w/ specified orientation -// also move it to the correct coordinates -// -// @param obj the menu item that opens up the subMenu -// subMenu the sub menu to be shown -// orient the orientation of the subMenu -// -function cmShowSubMenu (obj, prefix, subMenu, orient) -{ - if (!subMenu.cmParentMenu) - { - // establish the tree w/ back edge - var thisMenu = cmGetThisMenu (obj, prefix); - subMenu.cmParentMenu = thisMenu; - if (!thisMenu.cmSubMenu) - thisMenu.cmSubMenu = new Array (); - //thisMenu.cmSubMenu.push (subMenu); - thisMenu.cmSubMenu[thisMenu.cmSubMenu.length] = subMenu; - } - - // position the sub menu - cmMoveSubMenu (obj, subMenu, orient); - subMenu.style.visibility = 'visible'; - - // - // On IE, controls such as SELECT, OBJECT, IFRAME (before 5.5) - // are window based controls. So, if the sub menu and these - // controls overlap, sub menu would be hidden behind them. Thus - // one needs to turn the visibility of these controls off when the - // sub menu is showing, and turn their visibility back on - // when the sub menu is hiding. - // - if (document.all) // it is IE - { - /* part of Felix Zaslavskiy's fix on hiding controls - not really sure if this part is necessary, but shouldn't - hurt. */ - if (!subMenu.cmOverlap) - subMenu.cmOverlap = new Array (); -/*@cc_on @*/ -/*@if (@_jscript_version >= 5.5) -@else @*/ - cmHideControl ("IFRAME", subMenu); -/*@end @*/ - cmHideControl ("SELECT", subMenu); - cmHideControl ("OBJECT", subMenu); - } -} - -// -// reset all the menu items to class MenuItem in thisMenu -// -function cmResetMenu (thisMenu, prefix) -{ - if (thisMenu.cmItems) - { - var i; - var str; - var items = thisMenu.cmItems; - for (i = 0; i < items.length; ++i) - { - if (items[i].cmIsMain) - str = prefix + 'MainItem'; - else - str = prefix + 'MenuItem'; - if (items[i].className != str) - items[i].className = str; - } - } -} - -// -// called by the timer to hide the menu -// -function cmHideMenuTime () -{ - if (_cmCurrentItem) - { - var prefix = _cmCurrentItem.cmPrefix; - cmHideMenu (cmGetThisMenu (_cmCurrentItem, prefix), null, prefix); - } -} - -// -// hide thisMenu, children of thisMenu, as well as the ancestor -// of thisMenu until currentMenu is encountered. currentMenu -// will not be hidden -// -function cmHideMenu (thisMenu, currentMenu, prefix) -{ - var str = prefix + 'SubMenu'; - - // hide the down stream menus - if (thisMenu.cmSubMenu) - { - var i; - for (i = 0; i < thisMenu.cmSubMenu.length; ++i) - { - cmHideSubMenu (thisMenu.cmSubMenu[i], prefix); - } - } - - // hide the upstream menus - while (thisMenu && thisMenu != currentMenu) - { - cmResetMenu (thisMenu, prefix); - if (thisMenu.className == str) - { - thisMenu.style.visibility = 'hidden'; - cmShowControl (thisMenu); - } - else - break; - thisMenu = cmGetThisMenu (thisMenu.cmParentMenu, prefix); - } -} - -// -// hide thisMenu as well as its sub menus if thisMenu is not -// already hidden -// -function cmHideSubMenu (thisMenu, prefix) -{ - if (thisMenu.style.visibility == 'hidden') - return; - if (thisMenu.cmSubMenu) - { - var i; - for (i = 0; i < thisMenu.cmSubMenu.length; ++i) - { - cmHideSubMenu (thisMenu.cmSubMenu[i], prefix); - } - } - cmResetMenu (thisMenu, prefix); - thisMenu.style.visibility = 'hidden'; - cmShowControl (thisMenu); -} - -// -// hide a control such as IFRAME -// -function cmHideControl (tagName, subMenu) -{ - var x = cmGetX (subMenu); - var y = cmGetY (subMenu); - var w = subMenu.offsetWidth; - var h = subMenu.offsetHeight; - - var i; - for (i = 0; i < document.all.tags(tagName).length; ++i) - { - var obj = document.all.tags(tagName)[i]; - if (!obj || !obj.offsetParent) - continue; - - // check if the object and the subMenu overlap - - var ox = cmGetX (obj); - var oy = cmGetY (obj); - var ow = obj.offsetWidth; - var oh = obj.offsetHeight; - - if (ox > (x + w) || (ox + ow) < x) - continue; - if (oy > (y + h) || (oy + oh) < y) - continue; - - // if object is already made hidden by a different - // submenu then we dont want to put it on overlap list of - // of a submenu a second time. - // - bug fixed by Felix Zaslavskiy - if(obj.style.visibility == "hidden") - continue; - - //subMenu.cmOverlap.push (obj); - subMenu.cmOverlap[subMenu.cmOverlap.length] = obj; - obj.style.visibility = "hidden"; - } -} - -// -// show the control hidden by the subMenu -// -function cmShowControl (subMenu) -{ - if (subMenu.cmOverlap) - { - var i; - for (i = 0; i < subMenu.cmOverlap.length; ++i) - subMenu.cmOverlap[i].style.visibility = ""; - } - subMenu.cmOverlap = null; -} - -// -// returns the main menu or the submenu table where this obj (menu item) -// is in -// -function cmGetThisMenu (obj, prefix) -{ - var str1 = prefix + 'SubMenu'; - var str2 = prefix + 'Menu'; - while (obj) - { - if (obj.className == str1 || obj.className == str2) - return obj; - obj = obj.parentNode; - } - return null; -} - -// -// return true if this item is handled using default handlers -// -function cmIsDefaultItem (item) -{ - if (item == _cmSplit || item[0] == _cmNoAction) - return false; - return true; -} - -// -// returns the object baring the id -// -function cmGetObject (id) -{ - if (document.all) - return document.all[id]; - return document.getElementById (id); -} - -// -// functions that obtain the width of an HTML element. -// -function cmGetWidth (obj) -{ - var width = obj.offsetWidth; - if (width > 0 || !cmIsTRNode (obj)) - return width; - if (!obj.firstChild) - return 0; - // use TABLE's length can cause an extra pixel gap - //return obj.parentNode.parentNode.offsetWidth; - - // use the left and right child instead - return obj.lastChild.offsetLeft - obj.firstChild.offsetLeft + cmGetWidth (obj.lastChild); -} - -// -// functions that obtain the height of an HTML element. -// -function cmGetHeight (obj) -{ - var height = obj.offsetHeight; - if (height > 0 || !cmIsTRNode (obj)) - return height; - if (!obj.firstChild) - return 0; - // use the first child's height - return obj.firstChild.offsetHeight; -} - -// -// functions that obtain the coordinates of an HTML element -// -function cmGetX (obj) -{ - var x = 0; - - do - { - x += obj.offsetLeft; - obj = obj.offsetParent; - } - while (obj); - return x; -} - -function cmGetXAt (obj, elm) -{ - var x = 0; - - while (obj && obj != elm) - { - x += obj.offsetLeft; - obj = obj.offsetParent; - } - if (obj == elm) - return x; - return cmGetX (elm) - x; -} - -function cmGetY (obj) -{ - var y = 0; - do - { - y += obj.offsetTop; - obj = obj.offsetParent; - } - while (obj); - return y; -} - -function cmIsTRNode (obj) -{ - var tagName = obj.tagName; - return tagName == "TR" || tagName == "tr" || tagName == "Tr" || tagName == "tR"; -} - -// -// get the Y position of the object. In case of TR element though, -// we attempt to adjust the value. -// -function cmGetYAt (obj, elm) -{ - var y = 0; - - if (!obj.offsetHeight && cmIsTRNode (obj)) - { - var firstTR = obj.parentNode.firstChild; - obj = obj.firstChild; - y -= firstTR.firstChild.offsetTop; - } - - while (obj && obj != elm) - { - y += obj.offsetTop; - obj = obj.offsetParent; - } - - if (obj == elm) - return y; - return cmGetY (elm) - y; -} - -// -// debug function, ignore :) -// -function cmGetProperties (obj) -{ - if (obj == undefined) - return 'undefined'; - if (obj == null) - return 'null'; - - var msg = obj + ':\n'; - var i; - for (i in obj) - msg += i + ' = ' + obj[i] + '; '; - return msg; -} - -/* JSCookMenu v1.25 1. fix Safari positioning issue. The problem is that all TR elements are located - at the top left corner. Thus, need to obtain the "virtual" - position of these element could be at. -*/ -/* JSCookMenu v1.24 1. fix window based control hiding bug - thanks to Felix Zaslavskiy for the fix. -*/ -/* JSCookMenu v1.23 1. correct a position bug when the container is positioned. - thanks to Andre for narrowing down - the problem. -*/ -/* JSCookMenu v1.22 1. change Array.push (obj) call to Array[length] = obj. - Suggestion from Dick van der Kaaden to - make the script compatible with IE 5.0 - 2. Changed theme files a little to add z-index: 100 for sub - menus. This change is necessary for Netscape to avoid - a display problem. - 3. some changes to the DOM structure to make this menu working - on Netscape 6.0 (tested). The main reason is that NN6 does - not do absolute positioning with tables. Therefore an extra - div layer must be put around the table. -*/ -/* JSCookMenu v1.21 1. fixed a bug that didn't add 'px' as part of coordinates. - JSCookMenu should be XHTML validator friendly now. - 2. removed unnecessary display attribute and corresponding - theme entry to fix a problem that Netscape sometimes - render Office theme incorrectly -*/ -/* JSCookMenu v1.2. 1. fix the problem of showing status in Netscape - 2. changed the handler parameters a bit to allow - string literals to be passed to javascript based - links - 3. having null in target field would cause the link - to be opened in the current window, but this behavior - could change in the future releases -*/ -/* JSCookMenu v1.1. added ability to hide controls in IE to show submenus properly */ -/* JSCookMenu v1.01. cmDraw generates XHTML code */ -/* JSCookMenu v1.0. (c) Copyright 2002 by Heng Yuan */ +/* + JSCookMenu v2.0.1 (c) Copyright 2002-2006 by Heng Yuan + + http://jscook.sourceforge.net/JSCookMenu/ + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + ITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +// default node properties +var _cmNodeProperties = +{ + // theme prefix + prefix: '', + + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: '', + // HTML code to the right of the folder item + mainFolderRight: '', + // HTML code to the left of the regular item + mainItemLeft: '', + // HTML code to the right of the regular item + mainItemRight: '', + + // sub menu display attributes + + // HTML code to the left of the folder item + folderLeft: '', + // HTML code to the right of the folder item + folderRight: '', + // HTML code to the left of the regular item + itemLeft: '', + // HTML code to the right of the regular item + itemRight: '', + // cell spacing for main menu + mainSpacing: 0, + // cell spacing for sub menus + subSpacing: 0, + + // optional settings + // If not set, use the default + + // auto disappear time for submenus in milli-seconds + delay: 500, + + // 1st layer sub menu starting index + zIndexStart: 1000, + // z-index incremental step for subsequent layers + zIndexInc: 5, + + // sub menu header appears before the sub menu table + subMenuHeader: null, + // sub menu header appears after the sub menu table + subMenuFooter: null, + + // submenu location adjustments + // + // offsetHMainAdjust for adjusting the first submenu + // of a 'hbr' menu. + // offsetVMainAdjust for adjusting the first submenu + // of a 'vbr' menu. + // offsetSubAdjust for subsequent level of submenus + // + offsetHMainAdjust: [0, 0], + offsetVMainAdjust: [0, 0], + offsetSubAdjust: [0, 0], + + // act on click to open sub menu + // not yet implemented + // 0 : use default behavior + // 1 : hover open in all cases + // 2 : click on main, hover on sub + // 3 : click open in all cases (illegal as of 1.5) + clickOpen: 1, + + // special effects on open/closing a sub menu + effect: null +}; + +// Globals +var _cmIDCount = 0; +var _cmIDName = 'cmSubMenuID'; // for creating submenu id + +var _cmTimeOut = null; // how long the menu would stay +var _cmCurrentItem = null; // the current menu item being selected; + +var _cmNoAction = new Object (); // indicate that the item cannot be hovered. +var _cmNoClick = new Object (); // similar to _cmNoAction but does not respond to mouseup/mousedown events +var _cmSplit = new Object (); // indicate that the item is a menu split + +var _cmMenuList = new Array (); // a list of the current menus +var _cmItemList = new Array (); // a simple list of items + +var _cmFrameList = new Array (); // a pool of reusable iframes +var _cmFrameListSize = 0; // keep track of the actual size +var _cmFrameMasking = true; // use the frame masking + +// disable iframe masking for IE7 +/*@cc_on + @if (@_jscript_version >= 5.6) + if (_cmFrameMasking) + { + var v = navigator.appVersion; + var i = v.indexOf ("MSIE "); + if (i >= 0) + { + if (parseInt (navigator.appVersion.substring (i + 5)) >= 7) + _cmFrameMasking = false; + } + } + @end +@*/ + +var _cmClicked = false; // for onClick + +// flag for turning on off hiding objects +// +// 0: automatic +// 1: hiding +// 2: no hiding +var _cmHideObjects = 0; + +// Utility function to do a shallow copy a node property +function cmClone (nodeProperties) +{ + var returnVal = new Object (); + for (v in nodeProperties) + returnVal[v] = nodeProperties[v]; + return returnVal; +} + +// +// store the new menu information into a structure to retrieve it later +// +function cmAllocMenu (div, menu, orient, nodeProperties, prefix) +{ + var info = new Object (); + info.div = div; + info.menu = menu; + info.orient = orient; + info.nodeProperties = nodeProperties; + info.prefix = prefix; + var menuID = _cmMenuList.length; + _cmMenuList[menuID] = info; + return menuID; +} + +// +// request a frame +// +function cmAllocFrame () +{ + if (_cmFrameListSize > 0) + return _cmFrameList[--_cmFrameListSize]; + var frameObj = document.createElement ('iframe'); + frameObj.frameBorder = '0'; + frameObj.style.display = 'none'; + document.body.appendChild (frameObj); + frameObj.style.filter = 'alpha(opacity=0)'; + frameObj.style.zIndex = 99; + frameObj.style.position = 'absolute'; + frameObj.style.border = '0'; + frameObj.scrolling = 'no'; + return frameObj; +} + +// +// make a frame resuable later +// +function cmFreeFrame (frameObj) +{ + _cmFrameList[_cmFrameListSize++] = frameObj; +} + +////////////////////////////////////////////////////////////////////// +// +// Drawing Functions and Utility Functions +// +////////////////////////////////////////////////////////////////////// + +// +// produce a new unique id +// +function cmNewID () +{ + return _cmIDName + (++_cmIDCount); +} + +// +// return the property string for the menu item +// +function cmActionItem (item, isMain, idSub, menuInfo, menuID) +{ + _cmItemList[_cmItemList.length] = item; + var index = _cmItemList.length - 1; + idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); + + var clickOpen = menuInfo.nodeProperties.clickOpen; + var onClick = (clickOpen == 3) || (clickOpen == 2 && isMain); + + var param = 'this,' + isMain + ',' + idSub + ',' + menuID + ',' + index; + + var returnStr; + if (onClick) + returnStr = ' onmouseover="cmItemMouseOver(' + param + ',false)" onmousedown="cmItemMouseDownOpenSub (' + param + ')"'; + else + returnStr = ' onmouseover="cmItemMouseOverOpenSub (' + param + ')" onmousedown="cmItemMouseDown (' + param + ')"'; + return returnStr + ' onmouseout="cmItemMouseOut (' + param + ')" onmouseup="cmItemMouseUp (' + param + ')"'; +} + +// +// this one is used by _cmNoClick to only take care of onmouseover and onmouseout +// events which are associated with menu but not actions associated with menu clicking/closing +// +function cmNoClickItem (item, isMain, idSub, menuInfo, menuID) +{ + // var index = _cmItemList.push (item) - 1; + _cmItemList[_cmItemList.length] = item; + var index = _cmItemList.length - 1; + idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); + + var param = 'this,' + isMain + ',' + idSub + ',' + menuID + ',' + index; + + return ' onmouseover="cmItemMouseOver (' + param + ')" onmouseout="cmItemMouseOut (' + param + ')"'; +} + +function cmNoActionItem (item, prefix) +{ + return item[1]; +} + +function cmSplitItem (prefix, isMain, vertical) +{ + var classStr = 'cm' + prefix; + if (isMain) + { + classStr += 'Main'; + if (vertical) + classStr += 'HSplit'; + else + classStr += 'VSplit'; + } + else + classStr += 'HSplit'; + return eval (classStr); +} + +// +// draw the sub menu recursively +// +function cmDrawSubMenu (subMenu, prefix, id, orient, nodeProperties, zIndexStart, menuInfo, menuID) +{ + var str = '
      '; + if (nodeProperties.subMenuHeader) + str += nodeProperties.subMenuHeader; + + str += ''; + + var strSub = ''; + + var item; + var idSub; + var hasChild; + + var i; + + var classStr; + + for (i = 5; i < subMenu.length; ++i) + { + item = subMenu[i]; + if (!item) + continue; + + if (item == _cmSplit) + item = cmSplitItem (prefix, 0, true); + item.parentItem = subMenu; + item.subMenuID = id; + + hasChild = (item.length > 5); + idSub = hasChild ? cmNewID () : null; + + str += ''; + + if (item[0] != null) + str += item[0]; + else + str += hasChild ? nodeProperties.folderLeft : nodeProperties.itemLeft; + + str += ''; + } + + str += '
      ' + item[1]; + + str += ''; + + if (hasChild) + { + str += nodeProperties.folderRight; + strSub += cmDrawSubMenu (item, prefix, idSub, orient, nodeProperties, zIndexStart + nodeProperties.zIndexInc, menuInfo, menuID); + } + else + str += nodeProperties.itemRight; + str += '
      '; + + if (nodeProperties.subMenuFooter) + str += nodeProperties.subMenuFooter; + str += '
      ' + strSub; + return str; +} + +// +// The function that builds the menu inside the specified element id. +// +// id id of the element +// orient orientation of the menu in [hv][ub][lr] format +// menu the menu object to be drawn +// nodeProperties properties for the theme +// prefix prefix of the theme +// +function cmDraw (id, menu, orient, nodeProperties, prefix) +{ + var obj = cmGetObject (id); + + if (!prefix) + prefix = nodeProperties.prefix; + if (!prefix) + prefix = ''; + if (!nodeProperties) + nodeProperties = _cmNodeProperties; + + var menuID = cmAllocMenu (obj, menu, orient, nodeProperties, prefix); + var menuInfo = _cmMenuList[menuID]; + + // setup potentially missing properties + if (!nodeProperties.delay) + nodeProperties.delay = _cmNodeProperties.delay; + if (!nodeProperties.clickOpen) + nodeProperties.clickOpen = _cmNodeProperties.clickOpen; + if (!nodeProperties.zIndexStart) + nodeProperties.zIndexStart = _cmNodeProperties.zIndexStart; + if (!nodeProperties.zIndexInc) + nodeProperties.zIndexInc = _cmNodeProperties.zIndexInc; + if (!nodeProperties.offsetHMainAdjust) + nodeProperties.offsetHMainAdjust = _cmNodeProperties.offsetHMainAdjust; + if (!nodeProperties.offsetVMainAdjust) + nodeProperties.offsetVMainAdjust = _cmNodeProperties.offsetVMainAdjust; + if (!nodeProperties.offsetSubAdjust) + nodeProperties.offsetSubAdjust = _cmNodeProperties.offsetSubAdjust; + // save user setting on frame masking + nodeProperties.cmFrameMasking = _cmFrameMasking; + + var str = ''; + var strSub = ''; + + if (!orient) + orient = 'hbr'; + + var orientStr = String (orient); + var orientSub; + var vertical; + + // draw the main menu items + if (orientStr.charAt (0) == 'h') + { + // horizontal menu + orientSub = 'v' + orientStr.substr (1, 2); + str += ''; + vertical = false; + } + else + { + // vertical menu + orientSub = 'v' + orientStr.substr (1, 2); + vertical = true; + } + + var i; + var item; + var idSub; + var hasChild; + + var classStr; + + for (i = 0; i < menu.length; ++i) + { + item = menu[i]; + + if (!item) + continue; + + item.menu = menu; + item.subMenuID = id; + + str += vertical ? ' 5); + idSub = hasChild ? cmNewID () : null; + + str += cmActionItem (item, 1, idSub, menuInfo, menuID) + '>'; + + if (item == _cmSplit) + item = cmSplitItem (prefix, 1, vertical); + + if (item[0] == _cmNoAction || item[0] == _cmNoClick) + { + str += cmNoActionItem (item, prefix); + str += vertical? '' : ''; + continue; + } + + classStr = prefix + 'Main' + (hasChild ? 'Folder' : 'Item'); + + str += vertical ? ''; + + str += (item[0] == null) ? (hasChild ? nodeProperties.mainFolderLeft : nodeProperties.mainItemLeft) + : item[0]; + str += vertical ? '' : ''; + + str += vertical ? ''; + str += item[1]; + + str += vertical ? '' : ''; + + str += vertical ? ''; + + str += hasChild ? nodeProperties.mainFolderRight : nodeProperties.mainItemRight; + + str += vertical ? '' : ''; + + str += vertical ? '' : ''; + + if (hasChild) + strSub += cmDrawSubMenu (item, prefix, idSub, orientSub, nodeProperties, nodeProperties.zIndexStart, menuInfo, menuID); + } + if (!vertical) + str += ''; + str += '
      ' + strSub; + obj.innerHTML = str; +} + +// +// The function builds the menu inside the specified element id. +// +// This function is similar to cmDraw except that menu is taken from HTML node +// rather a javascript tree. This feature allows links to be scanned by search +// bots. +// +// This function basically converts HTML node to a javascript tree, and then calls +// cmDraw to draw the actual menu, replacing the hidden menu tree. +// +// Format: +// +// +function cmDrawFromText (id, orient, nodeProperties, prefix) +{ + var domMenu = cmGetObject (id); + var menu = null; + for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (!currentDomItem.tagName) + continue; + var tag = currentDomItem.tagName.toLowerCase (); + if (tag != 'ul' && tag != 'ol') + continue; + menu = cmDrawFromTextSubMenu (currentDomItem); + break; + } + if (menu) + cmDraw (id, menu, orient, nodeProperties, prefix); +} + +// +// a recursive function that build menu tree structure +// +function cmDrawFromTextSubMenu (domMenu) +{ + var items = new Array (); + for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (!currentDomItem.tagName || currentDomItem.tagName.toLowerCase () != 'li') + continue; + if (currentDomItem.firstChild == null) + { + items[items.length] = _cmSplit; + continue; + } + var item = new Array (); + var currentItem = currentDomItem.firstChild; + var hasAction = false; + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span or div tag + if (!currentItem.tagName) + continue; + if (currentItem.className == 'cmNoClick') + { + item[0] = _cmNoClick; + item[1] = getActionHTML (currentItem); + hasAction = true; + break; + } + if (currentItem.className == 'cmNoAction') + { + item[0] = _cmNoAction; + item[1] = getActionHTML (currentItem); + hasAction = true; + break; + } + var tag = currentItem.tagName.toLowerCase (); + if (tag != 'span') + continue; + if (!currentItem.firstChild) + item[0] = null; + else + item[0] = currentItem.innerHTML; + currentItem = currentItem.nextSibling; + break; + } + if (hasAction) + { + items[items.length] = item; + continue; + } + if (!currentItem) + continue; + for (; currentItem; currentItem = currentItem.nextSibling) + { + if (!currentItem.tagName) + continue; + var tag = currentItem.tagName.toLowerCase (); + if (tag == 'a') + { + item[1] = currentItem.innerHTML; + item[2] = currentItem.href; + item[3] = currentItem.target; + item[4] = currentItem.title; + if (item[4] == '') + item[4] = null; + } + else if (tag == 'span' || tag == 'div') + { + item[1] = currentItem.innerHTML; + item[2] = null; + item[3] = null; + item[4] = null; + } + break; + } + + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span tag + if (!currentItem.tagName) + continue; + var tag = currentItem.tagName.toLowerCase (); + if (tag != 'ul' && tag != 'ol') + continue; + var subMenuItems = cmDrawFromTextSubMenu (currentItem); + for (i = 0; i < subMenuItems.length; ++i) + item[i + 5] = subMenuItems[i]; + break; + } + items[items.length] = item; + } + return items; +} + +// +// obtain the actual action item's action, which is inside a +// table. The first row should be it +// +function getActionHTML (htmlNode) +{ + var returnVal = '
      "; + $comments .= ""; + + $database->setQuery( "SELECT id as mcid, name as mcname, startdate as mcdate, comments as mccomment FROM #__comment WHERE articleid='$row->id' AND published='1'" ); + $mcrows = $database->loadObjectList(); + + + for ($i=0, $n=count( $mcrows ); $i < $n; $i++) { + $mcrow = &$mcrows[$i]; + $mcrow->mcname = stripslashes($mcrow->mcname); + $message = stripslashes(preg_replace("/(\015\012)|(\015)|(\012)/"," 
      ", $mcrow->mccomment)); + + $comments .= "
      ".T_('User Comments')."
      "; + $comments .= "
      "; + $comments .= "".T_('Comment by')." ".$mcrow->mcname." ".T_('on')." ".$mcrow->mcdate ."
      "; + $comments .= $message; + + // comments per page + if(($i+1)%$comments_per_page == 0 && ($i+1) < $n) { + $comments .= "

      "; + $comments .= "{mospagebreak}"; + $comments .= ""; + $comments .= ""; + }else { + $comments .= ""; + } + + } + + $comments .= "
      ".T_('Comments')."
      "; + } + + + # show comments form depending on config permissions + if (!$allow_anonymous_entries AND !$is_user) { + $comment_form = "Please login or register to add comments

      "; + } else { + // replace previously written comment if it exists in case user + // has simply mistyped or misread captcha code + if (isset($_GET['comments'])) $curr_com = $_GET['comments']; + else $curr_com = ''; + $comment_form = '
      '; + $comment_form .= ""; + $comment_form .= ""; + $comment_form .= ""; + $comment_form .= ""; + if ($my->username) { + $comment_form .= ""; + } else { + $comment_form .= ""; + } + $comment_form .= ""; + + if ($mosConfig_usecaptcha == '1') { + $comment_form .= "
      Security Check. Please enter this code. "; + $comment_form .= ""; + } + + $comment_form .= "

      "; + } + + # show comments then comments form + if (in_array ($row->sectionid, $seclistarray)) { + $row->text = $row->text.$comments.$comment_form; + } + + # If we are not on the content page itself + } elseif (in_array ($row->sectionid, $seclistarray)) { + $replacementlink = ""; + $row->text = $row->text.$replacementlink.T_('Write Comment')." (".$total.T_(' comments').")"; + } + + } + + return true; +} + +?> diff -ruN 4.6rc2/mambots/content/moscomment.xml 4.6-complete/mambots/content/moscomment.xml --- 4.6rc2/mambots/content/moscomment.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/mambots/content/moscomment.xml 2006-09-20 19:05:03.000000000 -0500 @@ -0,0 +1,17 @@ + + + MOS Comment + Mambo Foundation + June 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + Adds a commenting feature to articles within selected sections + + moscomment.php + moscomment.xml + + + diff -ruN 4.6rc2/mambots/content/mosloadposition.php 4.6-complete/mambots/content/mosloadposition.php --- 4.6rc2/mambots/content/mosloadposition.php 2006-02-16 15:43:38.000000000 -0600 +++ 4.6-complete/mambots/content/mosloadposition.php 2006-09-20 19:05:03.000000000 -0500 @@ -33,8 +33,16 @@ // mambot only processes if there are any instances of the mambot in the text if ( $count ) { - - $style = $params->def( 'style', -2 ); + + // load mambot params info + $query = "SELECT id FROM #__mambots WHERE element = 'mosloadposition' AND folder = 'content'"; + $database->setQuery( $query ); + $id = $database->loadResult(); + $mambot = new mosMambot( $database ); + $mambot->load( $id ); + $params =& new mosParameters( $mambot->params ); + + $style = $params->def( 'style', -2 ); processPositions( $localtext, $matches, $count, $regex, $style ); } diff -ruN 4.6rc2/mambots/content/mosvote.xml 4.6-complete/mambots/content/mosvote.xml --- 4.6rc2/mambots/content/mosvote.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/mambots/content/mosvote.xml 2006-09-20 19:05:03.000000000 -0500 @@ -1,13 +1,13 @@ - - mosvote - Mambo Project - August 2004 + + MOS Rating + Mambo Foundation + Sept 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 Add the Voting functionality to Items mosvote.php diff -ruN 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php --- 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php 2006-06-22 23:17:06.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php 2006-09-20 19:05:03.000000000 -0500 @@ -37,5 +37,5 @@ $editor_layout_row4 = 'help,separator,fullscreen,preview,separator,print,separator,emotions,flash,separator,link,unlink, anchor,separator,image,separator,ltr,rtl,separator, code,search,replace,spellchecker,separator,insertlayer,moveforward,movebackward,absolute'; -$editor_tmpl_dir = '/files'; -?> \ No newline at end of file +$editor_tmpl_dir = 'files'; +?> diff -ruN 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog --- 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog 2006-05-13 20:23:34.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog 2006-09-20 19:05:03.000000000 -0500 @@ -1,3 +1,9 @@ +Version 1.0.2 (2006-08-02) + Added new spellchecker_report_mispellings option, contributed by Jeremy B. + Fixed various regexp bugs and issues. Some where contributed by Jeremy B. + Fixed the Google speller class so it uses curl, patch contributed by Yuriy Kramar. + Fixed encoding issues with language specific characters, patch contributed by codepit. + Fixed bug where the spellchecker wasn't working in MSIE if the editor was placed in a P tag. Version 1.0.1 (2006-05-05) Since sourceforge has a serious bug when it comes to replacing files with the same name this release was necessary. Goggle spellchecker class was added. diff -ruN 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php --- 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php 2006-05-13 20:23:34.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php 2006-09-20 19:05:03.000000000 -0500 @@ -1,12 +1,10 @@ _getMatches($wordstr); for ($i=0; $iunhtmlentities(mb_substr($wordstr, $matches[$i][1], $matches[$i][2], "UTF-8")); return $words; } + function unhtmlentities($string) { + $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string); + $string = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $string); + + $trans_tbl = get_html_translation_table(HTML_ENTITIES); + $trans_tbl = array_flip($trans_tbl); + + return strtr($string, $trans_tbl); + } + // Returns array with suggestions or false if failed. function getSuggestion($word) { $sug = array(); @@ -34,37 +42,63 @@ $matches = $this->_getMatches($word); if (count($matches) > 0) - $sug = explode("\t", $matches[0][4]); + $sug = explode("\t", utf8_encode($this->unhtmlentities($matches[0][4]))); return $sug; } - function _getMatches($word_list) { - $xml = ""; + function _xmlChars($string) { + $trans = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES); + + foreach ($trans as $k => $v) + $trans[$k] = "&#".ord($k).";"; - // Setup HTTP Client - $client = new HttpClient('www.google.com'); - $client->setUserAgent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR'); - $client->setHandleRedirects(false); - $client->setDebug(false); + return strtr($string, $trans); + } + + function _getMatches($word_list) { + $server = "www.google.com"; + $port = 443; + $path = "/tbproxy/spell?lang=" . $this->lang . "&hl=en"; + $host = "www.google.com"; + $url = "https://" . $server; // Setup XML request - $xml .= ''; - $xml .= ''; - $xml .= '' . htmlentities($word_list) . ''; - - // Execute HTTP Post to Google - if (!$client->post('/tbproxy/spell?lang=' . $this->lang, $xml)) { - $this->errorMsg[] = 'An error occurred: ' . $client->getError(); - return array(); - } + $xml = '' . $word_list . ''; + + $header = "POST ".$path." HTTP/1.0 \r\n"; + $header .= "MIME-Version: 1.0 \r\n"; + $header .= "Content-type: application/PTI26 \r\n"; + $header .= "Content-length: ".strlen($xml)." \r\n"; + $header .= "Content-transfer-encoding: text \r\n"; + $header .= "Request-number: 1 \r\n"; + $header .= "Document-type: Request \r\n"; + $header .= "Interface-Version: Test 1.4 \r\n"; + $header .= "Connection: close \r\n\r\n"; + $header .= $xml; + //$this->_debugData($xml); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL,$url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + $xml = curl_exec($ch); + curl_close($ch); + + //$this->_debugData($xml); // Grab and parse content - $xml = $client->getContent(); preg_match_all('/([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER); return $matches; } + + function _debugData($data) { + $fh = @fopen("debug.log", 'a+'); + @fwrite($fh, $data); + @fclose($fh); + } } // Setup classname, should be the same as the name of the spellchecker class diff -ruN 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php --- 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php 2006-05-13 20:23:34.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php 2006-09-20 19:05:03.000000000 -0500 @@ -6,6 +6,7 @@ * */ + class TinyPspellShell { var $lang; var $mode; @@ -27,7 +28,11 @@ $this->errorMsg = array(); $this->tmpfile = tempnam($config['tinypspellshell.tmp'], "tinyspell"); - $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang; + + if(preg_match("#win#i",php_uname())) + $this->cmd = $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang." --encoding=utf-8 -H < $this->tmpfile 2>&1"; + else + $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --encoding=utf-8 -H --lang=". $this->lang; } // Returns array with bad words or false if failed. @@ -36,7 +41,6 @@ fwrite($fh, "!\n"); foreach($wordArray as $key => $value) fwrite($fh, "^" . $value . "\n"); - fclose($fh); } else { $this->errorMsg[] = "PSpell not found."; @@ -44,6 +48,8 @@ } $data = shell_exec($this->cmd); + @unlink($this->tmpfile); + $returnData = array(); $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); @@ -65,6 +71,11 @@ // Returns array with suggestions or false if failed. function getSuggestion($word) { + if (function_exists("mb_convert_encoding")) + $word = mb_convert_encoding($word, "ISO-8859-1", mb_detect_encoding($word, "UTF-8")); + else + $word = utf8_encode($word); + if ($fh = fopen($this->tmpfile, "w")) { fwrite($fh, "!\n"); fwrite($fh, "^$word\n"); @@ -73,6 +84,9 @@ die("Error opening tmp file."); $data = shell_exec($this->cmd); + + @unlink($this->tmpfile); + $returnData = array(); $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); @@ -92,6 +106,13 @@ } return $returnData; } + + function _debugData($data) { + $fh = @fopen("debug.log", 'a+'); + @fwrite($fh, $data); + @fclose($fh); + } + } // Setup classname, should be the same as the name of the spellchecker class diff -ruN 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js --- 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js 2006-05-13 20:23:34.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js 2006-09-20 19:05:03.000000000 -0500 @@ -1,2 +1 @@ -tinyMCE.importPluginLanguagePack('spellchecker','en,sv,nn,nb');var TinyMCE_SpellCheckerPlugin={_contextMenu:new TinyMCE_Menu(),_menu:new TinyMCE_Menu(),_counter:0,getInfo:function(){return{longname:'Spellchecker',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_spellchecker.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},handleEvent:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var inst=tinyMCE.selectedInstance,args='';var self=TinyMCE_SpellCheckerPlugin;var cm=self._contextMenu;var p,p2,x,y,sx,sy,h,elm;if((e.type=="click"||e.type=="contextmenu")&&elm){do{if(tinyMCE.getAttrib(elm,'class')=="mceItemHiddenSpellWord"){inst.spellCheckerElm=elm;args+='id='+inst.editorId+"|"+(++self._counter);args+='&cmd=suggest&check='+escape(elm.innerHTML);args+='&lang='+escape(inst.spellCheckerLang);elm=inst.spellCheckerElm;p=tinyMCE.getAbsPosition(inst.iframeElement);p2=tinyMCE.getAbsPosition(elm);h=parseInt(elm.offsetHeight);sx=inst.getBody().scrollLeft;sy=inst.getBody().scrollTop;x=p.absLeft+p2.absLeft-sx;y=p.absTop+p2.absTop-sy+h;cm.clear();cm.addTitle(tinyMCE.getLang('lang_spellchecker_wait','',true));cm.show();cm.moveTo(x,y);inst.selection.selectNode(elm,false,false);self._sendAjax(self.baseURL+"/tinyspell.php",self._ajaxResponse,'post',args);tinyMCE.cancelEvent(e);return false;}}while((elm=elm.parentNode));}return true;},initInstance:function(inst){var self=TinyMCE_SpellCheckerPlugin,m=self._menu,cm=self._contextMenu,e;tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/spellchecker/css/content.css");if(!tinyMCE.hasMenu('spellcheckercontextmenu')){tinyMCE.importCSS(document,tinyMCE.baseURL+"/plugins/spellchecker/css/spellchecker.css");cm.init({drop_menu:false});tinyMCE.addMenu('spellcheckercontextmenu',cm);}if(!tinyMCE.hasMenu('spellcheckermenu')){m.init({});tinyMCE.addMenu('spellcheckermenu',m);}inst.spellCheckerLang='en';self._buildSettingsMenu(inst,null);e=self._getBlockBoxLayer(inst).create('div','mceBlockBox',document.getElementById(inst.editorId+'_parent'));self._getMsgBoxLayer(inst).create('div','mceMsgBox',document.getElementById(inst.editorId+'_parent'));},_getMsgBoxLayer:function(inst){if(!inst.spellCheckerMsgBoxL)inst.spellCheckerMsgBoxL=new TinyMCE_Layer(inst.editorId+'_spellcheckerMsgBox',false);return inst.spellCheckerMsgBoxL;},_getBlockBoxLayer:function(inst){if(!inst.spellCheckerBoxL)inst.spellCheckerBoxL=new TinyMCE_Layer(inst.editorId+'_spellcheckerBlockBox',false);return inst.spellCheckerBoxL;},_buildSettingsMenu:function(inst,lang){var i,ar=tinyMCE.getParam('spellchecker_languages','+English=en').split(','),p;var self=TinyMCE_SpellCheckerPlugin,m=self._menu,c;m.clear();m.addTitle(tinyMCE.getLang('lang_spellchecker_langs','',true));for(i=0;i';h+='';h+='';h+='';}else{if(tinyMCE.isMSIE&&!tinyMCE.isOpera)h+='';else h+='';h+='';h+='';h+='';h+='';}return h;},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'');},_toggleMenu:function(editor_id,id){var self=TinyMCE_SpellCheckerPlugin;var e=document.getElementById(editor_id+'_spellchecker');var inst=tinyMCE.getInstanceById(editor_id);if(self._menu.isVisible()){tinyMCE.hideMenus();return;}tinyMCE.lastMenuBtnClass=e.className.replace(/\s.*$/,'');tinyMCE.switchClass(editor_id+'_spellchecker','mceMenuButtonFocus');self._menu.moveRelativeTo(e,'bl');self._menu.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?0:1,-1);if(tinyMCE.isOpera)self._menu.moveBy(0,-2);self._onMenuEvent(inst,self._menu,'show');self._menu.show();tinyMCE.lastSelectedMenuBtn=editor_id+'_spellchecker';},_onMenuEvent:function(inst,m,n){TinyMCE_SpellCheckerPlugin._buildSettingsMenu(inst,inst.spellCheckerLang);},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),self=TinyMCE_SpellCheckerPlugin,args='',co,bb,mb,nl,i,e;switch(command){case"mceSpellCheck":if(!inst.spellcheckerOn){inst.spellCheckerBookmark=inst.selection.getBookmark();args+='id='+inst.editorId+"|"+(++self._counter);args+='&cmd=spell&check='+escape(self._getWordList(inst.getBody())).replace(/%20/g,'+');args+='&lang='+escape(inst.spellCheckerLang);co=document.getElementById(inst.editorId+'_parent').firstChild;bb=self._getBlockBoxLayer(inst);bb.moveRelativeTo(co,'tl');bb.resizeTo(co.offsetWidth,co.offsetHeight);bb.show();mb=self._getMsgBoxLayer(inst);e=mb.getElement();e.innerHTML=''+tinyMCE.getLang('lang_spellchecker_swait','',true)+'';mb.show();mb.moveRelativeTo(co,'cc');if(tinyMCE.isMSIE&&!tinyMCE.isOpera){nl=co.getElementsByTagName('select');for(i=0;i?@[\]^_{|}\u201d\u201c');for(i=0;i=0;i--){c=tinyMCE.getAttrib(nl[i],'class');if((c=='mceItemHiddenSpellWord'||c=='mceItemHidden')&&(word==null||nl[i].innerHTML==word))self._removeWord(nl[i]);}if(b)inst.selection.moveToBookmark(b);},_checkDone:function(inst){var i,w=0,nl=inst.getDoc().getElementsByTagName("span") -var self=TinyMCE_SpellCheckerPlugin;for(i=nl.length-1;i>=0;i--){c=tinyMCE.getAttrib(nl[i],'class');if(c=='mceItemHiddenSpellWord')w++;}if(w==0){self._removeWords(inst.getDoc());inst.spellcheckerOn=false;tinyMCE.switchClass(inst.editorId+'_spellchecker','mceMenuButton');}},_removeWord:function(e){tinyMCE.setOuterHTML(e,e.innerHTML);},_markWords:function(doc,n,wl){var i,nv,nn,nl=tinyMCE.getNodeTree(n,new Array(),3);var r1,r2,r3,r4,r5,w='';var re=TinyMCE_SpellCheckerPlugin._getWordSeparators();for(i=0;i$1$2');nv=nv.replace(r3,'$1$2');nn=doc.createElement('span');nn.className="mceItemHidden";nn.innerHTML=nv;nl[i].parentNode.replaceChild(nn,nl[i]);}}},_buildMenu:function(sg,max){var i,self=TinyMCE_SpellCheckerPlugin,cm=self._contextMenu;cm.clear();if(sg!=null){cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug','',true));for(i=0;i';h+='';h+='';h+='';}else{if(tinyMCE.isMSIE&&!tinyMCE.isOpera)h+='';else h+='';h+='';h+='';h+='';h+='';}return h;},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'');},_toggleMenu:function(editor_id,id){var self=TinyMCE_SpellCheckerPlugin;var e=document.getElementById(editor_id+'_spellchecker');var inst=tinyMCE.getInstanceById(editor_id);if(self._menu.isVisible()){tinyMCE.hideMenus();return;}tinyMCE.lastMenuBtnClass=e.className.replace(/\s.*$/,'');tinyMCE.switchClass(editor_id+'_spellchecker','mceMenuButtonFocus');self._menu.moveRelativeTo(e,'bl');self._menu.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?0:1,-1);if(tinyMCE.isOpera)self._menu.moveBy(0,-2);self._onMenuEvent(inst,self._menu,'show');self._menu.show();tinyMCE.lastSelectedMenuBtn=editor_id+'_spellchecker';},_onMenuEvent:function(inst,m,n){TinyMCE_SpellCheckerPlugin._buildSettingsMenu(inst,inst.spellCheckerLang);},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),self=TinyMCE_SpellCheckerPlugin,args='',co,bb,mb,nl,i,e;switch(command){case"mceSpellCheck":if(!inst.spellcheckerOn){inst.spellCheckerBookmark=inst.selection.getBookmark();args+='id='+inst.editorId+"|"+(++self._counter);args+='&cmd=spell&check='+encodeURIComponent(self._getWordList(inst.getBody())).replace(/\'/g,'%27');args+='&lang='+escape(inst.spellCheckerLang);co=document.getElementById(inst.editorId+'_parent').firstChild;bb=self._getBlockBoxLayer(inst);bb.moveRelativeTo(co,'tl');bb.resizeTo(co.offsetWidth,co.offsetHeight);bb.show();mb=self._getMsgBoxLayer(inst);e=mb.getElement();e.innerHTML=''+tinyMCE.getLang('lang_spellchecker_swait','',true)+'';mb.show();mb.moveRelativeTo(co,'cc');if(tinyMCE.isMSIE&&!tinyMCE.isOpera){nl=co.getElementsByTagName('select');for(i=0;i?@[\]^_{|}\u201d\u201c');for(i=0;i0)wl[wl.length]=nl[i];}return wl.join(' ');},_removeWords:function(doc,word){var i,c,nl=doc.getElementsByTagName("span");var self=TinyMCE_SpellCheckerPlugin;var inst=tinyMCE.selectedInstance,b=inst?inst.selection.getBookmark():null;word=typeof(word)=='undefined'?null:word;for(i=nl.length-1;i>=0;i--){c=tinyMCE.getAttrib(nl[i],'class');if((c=='mceItemHiddenSpellWord'||c=='mceItemHidden')&&(word==null||nl[i].innerHTML==word))self._removeWord(nl[i]);}if(b)inst.selection.moveToBookmark(b);},_checkDone:function(inst){var self=TinyMCE_SpellCheckerPlugin;var w=self._countWords(inst);if(w==0){self._removeWords(inst.getDoc());inst.spellcheckerOn=false;tinyMCE.switchClass(inst.editorId+'_spellchecker','mceMenuButton');}},_countWords:function(inst){var i,w=0,nl=inst.getDoc().getElementsByTagName("span"),c;var self=TinyMCE_SpellCheckerPlugin;for(i=nl.length-1;i>=0;i--){c=tinyMCE.getAttrib(nl[i],'class');if(c=='mceItemHiddenSpellWord')w++;}return w;},_removeWord:function(e){if(e!=null)tinyMCE.setOuterHTML(e,e.innerHTML);},_markWords:function(doc,n,wl){var i,nv,nn,nl=tinyMCE.getNodeTree(n,new Array(),3);var r1,r2,r3,r4,r5,w='';var re=TinyMCE_SpellCheckerPlugin._getWordSeparators();for(i=0;i0)w+=wl[i]+((i==wl.length-1)?'':'|');}for(i=0;i$1$2');nv=nv.replace(r3,'$1$2');nn=doc.createElement('span');nn.className="mceItemHidden";nn.innerHTML=nv;nl[i].parentNode.replaceChild(nn,nl[i]);}}},_buildMenu:function(sg,max){var i,self=TinyMCE_SpellCheckerPlugin,cm=self._contextMenu;cm.clear();if(sg!=null){cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug','',true));for(i=0;i 0) wl[wl.length] = nl[i]; } @@ -460,7 +464,18 @@ }, _checkDone : function(inst) { - var i, w = 0, nl = inst.getDoc().getElementsByTagName("span") + var self = TinyMCE_SpellCheckerPlugin; + var w = self._countWords(inst); + + if (w == 0) { + self._removeWords(inst.getDoc()); + inst.spellcheckerOn = false; + tinyMCE.switchClass(inst.editorId + '_spellchecker', 'mceMenuButton'); + } + }, + + _countWords : function(inst) { + var i, w = 0, nl = inst.getDoc().getElementsByTagName("span"), c; var self = TinyMCE_SpellCheckerPlugin; for (i=nl.length-1; i>=0; i--) { @@ -470,15 +485,12 @@ w++; } - if (w == 0) { - self._removeWords(inst.getDoc()); - inst.spellcheckerOn = false; - tinyMCE.switchClass(inst.editorId + '_spellchecker', 'mceMenuButton'); - } + return w; }, _removeWord : function(e) { - tinyMCE.setOuterHTML(e, e.innerHTML); + if (e != null) + tinyMCE.setOuterHTML(e, e.innerHTML); }, _markWords : function(doc, n, wl) { @@ -486,17 +498,19 @@ var r1, r2, r3, r4, r5, w = ''; var re = TinyMCE_SpellCheckerPlugin._getWordSeparators(); - for (i=0; i 0) + w += wl[i] + ((i == wl.length-1) ? '' : '|'); + } for (i=0; i$1$2'); @@ -524,11 +538,12 @@ cm.addItem(sg[i], 'tinyMCE.execCommand("mceSpellCheckReplace",false,"' + sg[i] + '");'); cm.addSeparator(); - cm.addItem(tinyMCE.getLang('lang_spellchecker_ignore_word', '', true), 'tinyMCE.execCommand(\'mceSpellCheckIgnore\');'); - cm.addItem(tinyMCE.getLang('lang_spellchecker_ignore_words', '', true), 'tinyMCE.execCommand(\'mceSpellCheckIgnoreAll\');'); } else cm.addTitle(tinyMCE.getLang('lang_spellchecker_no_sug', '', true)); + cm.addItem(tinyMCE.getLang('lang_spellchecker_ignore_word', '', true), 'tinyMCE.execCommand(\'mceSpellCheckIgnore\');'); + cm.addItem(tinyMCE.getLang('lang_spellchecker_ignore_words', '', true), 'tinyMCE.execCommand(\'mceSpellCheckIgnoreAll\');'); + cm.update(); }, diff -ruN 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js --- 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js 2006-05-13 20:23:34.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js 2006-09-20 19:05:03.000000000 -0500 @@ -10,5 +10,6 @@ swait : 'Spellchecking, please wait...', sug : 'Suggestions', no_sug : 'No suggestions', - no_mpell : 'No misspellings found.' + no_mpell : 'No misspellings found.', + mpell_found : 'Found {$words} misspellings.' }); diff -ruN 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php --- 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php 2006-05-13 20:23:34.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php 2006-09-20 19:05:03.000000000 -0500 @@ -8,6 +8,9 @@ * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. */ + // Ignore the Notice errors for now. + error_reporting(E_ALL ^ E_NOTICE); + require_once("config.php"); $id = sanitize($_POST['id'], "loose"); @@ -30,14 +33,14 @@ // Get input parameters. - $check = $_POST['check']; - $cmd = sanitize($_POST['cmd']); - $lang = sanitize($_POST['lang'], "strict"); - $mode = sanitize($_POST['mode'], "strict"); - $spelling = sanitize($_POST['spelling'], "strict"); - $jargon = sanitize($_POST['jargon'], "strict"); - $encoding = sanitize($_POST['encoding'], "strict"); - $sg = sanitize($_POST['sg'], "bool"); + $check = urldecode($_REQUEST['check']); + $cmd = sanitize($_REQUEST['cmd']); + $lang = sanitize($_REQUEST['lang'], "strict"); + $mode = sanitize($_REQUEST['mode'], "strict"); + $spelling = sanitize($_REQUEST['spelling'], "strict"); + $jargon = sanitize($_REQUEST['jargon'], "strict"); + $encoding = sanitize($_REQUEST['encoding'], "strict"); + $sg = sanitize($_REQUEST['sg'], "bool"); $words = array(); $validRequest = true; @@ -90,9 +93,11 @@ $words = preg_split("/ |\n/", $check, -1, PREG_SPLIT_NO_EMPTY); $result = $tinyspell->checkWords($words); break; + case "suggest": $result = $tinyspell->getSuggestion($check); break; + default: // Just use this for now. $tinyspell->errorMsg[] = "No command."; @@ -109,19 +114,22 @@ switch($outputType) { case "xml": header('Content-type: text/xml; charset=utf-8'); - echo ''; - echo "\n"; + $body = ''; + $body .= "\n"; + if (count($result) == 0) - echo ''; + $body .= ''; else - echo ''. utf8_encode(implode(" ", $result)) .''; + $body .= ''. urlencode(implode(" ", $result)) .''; + echo $body; break; case "xmlerror"; header('Content-type: text/xml; charset=utf-8'); - echo ''; - echo "\n"; - echo 'errorMsg) .'" />'; + $body = ''; + $body .= "\n"; + $body .= 'errorMsg) .'" />'; + echo $body; break; case "html": var_dump($result); @@ -130,4 +138,5 @@ echo "Error"; break; } -?> + +?> diff -ruN 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css --- 4.6rc2/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 2006-05-13 20:23:34.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 2006-09-20 19:05:03.000000000 -0500 @@ -176,7 +176,9 @@ } * html a.mceButtonDisabled img { + /* not valid css, comment in filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); + */ border: 0 !important; } diff -ruN 4.6rc2/mambots/editors/mostlyce.xml 4.6-complete/mambots/editors/mostlyce.xml --- 4.6rc2/mambots/editors/mostlyce.xml 2006-06-20 01:01:27.000000000 -0500 +++ 4.6-complete/mambots/editors/mostlyce.xml 2006-09-20 19:05:03.000000000 -0500 @@ -2,8 +2,8 @@ MOStlyCE -1.7 -May 2006 +1.9 +Sept 2006 Chad Auld cauld@mambo-foundation.org http://opensourcepenguin.net @@ -12,670 +12,673 @@ MOStlyContent Editor - a wysiwyg editor for Mambo, based on Moxiecode's TinyMCE! and mosCE.

      Features:

      All the features of TinyMCE by Moxiecode and mosCE 1.0.3 Final. Now with a recent version of TinyMCE, Advanced and Simple themes, editor compression, dynamic plugin loading, plus more.

      History: Ryan Demmer has moved on and is no longer developing the mosCE editor. Since futher development is not planned for mosCE I decided to create MOStlyCE based on mosCE and continue development.

      ]]>
      - - mostlyce.php - mostlyce.xml - mostlyce/index.html - mostlyce/lgpl.txt - mostlyce/docs/index.html - mostlyce/docs/css/index.html - mostlyce/docs/css/screen.css - mostlyce/docs/images/index.html - mostlyce/docs/images/moxiecode.gif - mostlyce/docs/reference_javascript_functions.html - mostlyce/docs/plugin_zoom.html - mostlyce/docs/plugin_searchreplace.html - mostlyce/docs/plugin_save.html - mostlyce/docs/plugin_print.html - mostlyce/docs/plugin_preview.html - mostlyce/docs/plugin_noneditable.html - mostlyce/docs/plugin_insertdatetime.html - mostlyce/docs/plugin_inlinepopups.html - mostlyce/docs/plugin_iespell.html - mostlyce/docs/plugin_fullscreen.html - mostlyce/docs/plugin_fullpage.html - mostlyce/docs/plugin_flash.html - mostlyce/docs/plugin_emotions.html - mostlyce/docs/plugin_directionality.html - mostlyce/docs/plugin_contextmenu.html - mostlyce/docs/plugin_autosave.html - mostlyce/docs/plugin_advhr.html - mostlyce/docs/option_width.html - mostlyce/docs/option_visual_table_class.html - mostlyce/docs/option_visual.html - mostlyce/docs/option_verify_html.html - mostlyce/docs/option_verify_css_classes.html - mostlyce/docs/option_urlconverter_callback.html - mostlyce/docs/option_trim_span_elements.html - mostlyce/docs/option_theme.html - mostlyce/docs/option_theme_advanced_toolbar_location.html - mostlyce/docs/option_theme_advanced_toolbar_align.html - mostlyce/docs/option_theme_advanced_styles.html - mostlyce/docs/option_theme_advanced_statusbar_location.html - mostlyce/docs/option_theme_advanced_source_editor_width.html - mostlyce/docs/option_theme_advanced_source_editor_height.html - mostlyce/docs/option_theme_advanced_resizing_use_cookie.html - mostlyce/docs/option_theme_advanced_resizing.html - mostlyce/docs/option_theme_advanced_resize_horizontal.html - mostlyce/docs/option_theme_advanced_path_location.html - mostlyce/docs/option_theme_advanced_path.html - mostlyce/docs/option_theme_advanced_link_targets.html - mostlyce/docs/option_theme_advanced_layout_manager.html - mostlyce/docs/option_theme_advanced_fonts.html - mostlyce/docs/option_theme_advanced_disable.html - mostlyce/docs/option_theme_advanced_custom_layout.html - mostlyce/docs/option_theme_advanced_containers.html - mostlyce/docs/option_theme_advanced_containers_default_class.html - mostlyce/docs/option_theme_advanced_containers_default_align.html - mostlyce/docs/option_theme_advanced_container.html - mostlyce/docs/option_theme_advanced_container_class.html - mostlyce/docs/option_theme_advanced_container_align.html - mostlyce/docs/option_theme_advanced_buttons_n.html - mostlyce/docs/option_theme_advanced_buttons_n_add.html - mostlyce/docs/option_theme_advanced_buttons_n_add_before.html - mostlyce/docs/option_textarea_trigger.html - mostlyce/docs/option_table_inline_editing.html - mostlyce/docs/option_submit_patch.html - mostlyce/docs/option_setupcontent_callback.html - mostlyce/docs/option_save_callback.html - mostlyce/docs/option_remove_script_host.html - mostlyce/docs/option_remove_linebreaks.html - mostlyce/docs/option_relative_urls.html - mostlyce/docs/option_preformatted.html - mostlyce/docs/option_popups_css.html - mostlyce/docs/option_plugins.html - mostlyce/docs/option_onpageload.html - mostlyce/docs/option_oninit.html - mostlyce/docs/option_onchange_callback.html - mostlyce/docs/option_object_resizing.html - mostlyce/docs/option_nowrap.html - mostlyce/docs/option_mode.html - mostlyce/docs/option_merge_styles_invalid_parents.html - mostlyce/docs/option_invalid_elements.html - mostlyce/docs/option_insertlink_callback.html - mostlyce/docs/option_insertimage_callback.html - mostlyce/docs/option_inline_styles.html - mostlyce/docs/option_init_instance_callback.html - mostlyce/docs/option_height.html - mostlyce/docs/option_force_p_newlines.html - mostlyce/docs/option_force_hex_style_colors.html - mostlyce/docs/option_force_br_newlines.html - mostlyce/docs/option_font_size_style_values.html - mostlyce/docs/option_font_size_classes.html - mostlyce/docs/option_focus_alert.html - mostlyce/docs/option_fix_content_duplication.html - mostlyce/docs/option_file_browser_callback.html - mostlyce/docs/option_external_link_list_url.html - mostlyce/docs/option_external_image_list_url.html - mostlyce/docs/option_extended_valid_elements.html - mostlyce/docs/option_execcommand_callback.html - mostlyce/docs/option_event_elements.html - mostlyce/docs/option_entity_encoding.html - mostlyce/docs/option_entities.html - mostlyce/docs/option_encoding.html - mostlyce/docs/option_elements.html - mostlyce/docs/option_editor_selector.html - mostlyce/docs/option_editor_deselector.html - mostlyce/docs/option_editor_css.html - mostlyce/docs/option_document_base_url.html - mostlyce/docs/option_doctype.html - mostlyce/docs/option_directionality.html - mostlyce/docs/option_dialog_type.html - mostlyce/docs/option_debug.html - mostlyce/docs/option_custom_undo_redo_restore_selection.html - mostlyce/docs/option_custom_undo_redo_levels.html - mostlyce/docs/option_custom_undo_redo_keyboard_shortcuts.html - mostlyce/docs/option_custom_undo_redo.html - mostlyce/docs/option_custom_shortcuts.html - mostlyce/docs/option_convert_urls.html - mostlyce/docs/option_convert_newlines_to_brs.html - mostlyce/docs/option_convert_fonts_to_spans.html - mostlyce/docs/option_cleanup_on_startup.html - mostlyce/docs/option_cleanup.html - mostlyce/docs/option_cleanup_callback.html - mostlyce/docs/option_button_tile_map.html - mostlyce/docs/option_browsers.html - mostlyce/docs/option_auto_resize.html - mostlyce/docs/option_auto_reset_designmode.html - mostlyce/docs/option_auto_focus.html - mostlyce/docs/option_ask.html - mostlyce/docs/option_apply_source_formatting.html - mostlyce/docs/option_add_unload_trigger.html - mostlyce/docs/option_add_form_submit_trigger.html - mostlyce/docs/option_accessibility_warnings.html - mostlyce/docs/option_accessibility_focus.html - mostlyce/docs/license.html - mostlyce/docs/installing.html - mostlyce/docs/installation_example_03.html - mostlyce/docs/installation_example_02.html - mostlyce/docs/installation_example_01.html - mostlyce/docs/installation_example_00.html - mostlyce/docs/faq.html - mostlyce/docs/customization_themes.html - mostlyce/docs/customization_plugins.html - mostlyce/docs/compatiblity_chart.html - mostlyce/docs/about.html - mostlyce/docs/plugin_paste.html - mostlyce/docs/plugin_advlink.html - mostlyce/docs/plugin_advimage.html - mostlyce/docs/option_valid_elements.html - mostlyce/docs/option_content_css.html - mostlyce/docs/plugin_table.html - mostlyce/docs/option_fix_list_elements.html - mostlyce/docs/option_fix_table_elements.html - mostlyce/docs/option_handle_event_callback.html - mostlyce/docs/plugin_spellchecker.html - mostlyce/docs/option_theme_advanced_blockformats.html - mostlyce/docs/option_theme_advanced_source_editor_wrap.html - mostlyce/docs/option_strict_loading_mode.html - mostlyce/docs/reference_plugins.html - mostlyce/docs/reference_buttons.html - mostlyce/docs/plugin_style.html - mostlyce/docs/plugin_layer.html - mostlyce/docs/option_language.html - mostlyce/docs/option_docs_language.html - mostlyce/docs/customization_language_packs.html - mostlyce/docs/reference_configuration.html - mostlyce/docs/option_hidden_tab_class.html - mostlyce/docs/option_display_tab_class.html - mostlyce/docs/credits.html - mostlyce/jscripts/index.html - mostlyce/jscripts/tiny_mce/auth_plugin.php - mostlyce/jscripts/tiny_mce/blank.htm - mostlyce/jscripts/tiny_mce/index.html - mostlyce/jscripts/tiny_mce/license.txt - mostlyce/jscripts/tiny_mce/mostlyce_config.php - mostlyce/jscripts/tiny_mce/mostlyce_functions.js - mostlyce/jscripts/tiny_mce/tiny_mce.js - mostlyce/jscripts/tiny_mce/tiny_mce_gzip.php - mostlyce/jscripts/tiny_mce/tiny_mce_popup.js - mostlyce/jscripts/tiny_mce/tiny_mce_src.js - mostlyce/jscripts/tiny_mce/utils/editable_selects.js - mostlyce/jscripts/tiny_mce/utils/form_utils.js - mostlyce/jscripts/tiny_mce/utils/index.html - mostlyce/jscripts/tiny_mce/utils/mclayer.js - mostlyce/jscripts/tiny_mce/utils/mctabs.js - mostlyce/jscripts/tiny_mce/utils/validate.js - mostlyce/jscripts/tiny_mce/info/editor_info_english.txt - mostlyce/jscripts/tiny_mce/info/index.html - mostlyce/jscripts/tiny_mce/langs/en.js - mostlyce/jscripts/tiny_mce/langs/readme.txt - mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/advhr/index.html - mostlyce/jscripts/tiny_mce/plugins/advhr/readme.txt - mostlyce/jscripts/tiny_mce/plugins/advhr/rule.htm - mostlyce/jscripts/tiny_mce/plugins/advhr/css/advhr.css - mostlyce/jscripts/tiny_mce/plugins/advhr/css/index.html - mostlyce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif - mostlyce/jscripts/tiny_mce/plugins/advhr/images/index.html - mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js - mostlyce/jscripts/tiny_mce/plugins/advhr/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/advhr/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/advimage/image.htm - mostlyce/jscripts/tiny_mce/plugins/advimage/index.html - mostlyce/jscripts/tiny_mce/plugins/advimage/readme.txt - mostlyce/jscripts/tiny_mce/plugins/advimage/css/advimage.css - mostlyce/jscripts/tiny_mce/plugins/advimage/css/index.html - mostlyce/jscripts/tiny_mce/plugins/advimage/images/index.html - mostlyce/jscripts/tiny_mce/plugins/advimage/images/sample.gif - mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js - mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/advimage/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/advimage/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/advlink/index.html - mostlyce/jscripts/tiny_mce/plugins/advlink/link.htm - mostlyce/jscripts/tiny_mce/plugins/advlink/readme.txt - mostlyce/jscripts/tiny_mce/plugins/advlink/css/advlink.css - mostlyce/jscripts/tiny_mce/plugins/advlink/css/index.html - mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js - mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/advlink/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/advlink/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/autosave/index.html - mostlyce/jscripts/tiny_mce/plugins/autosave/readme.txt - mostlyce/jscripts/tiny_mce/plugins/autosave/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/autosave/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/cleanup/index.html - mostlyce/jscripts/tiny_mce/plugins/cleanup/readme.txt - mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/contextmenu/index.html - mostlyce/jscripts/tiny_mce/plugins/contextmenu/readme.txt - mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css - mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/index.html - mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/index.html - mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif - mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/directionality/index.html - mostlyce/jscripts/tiny_mce/plugins/directionality/readme.txt - mostlyce/jscripts/tiny_mce/plugins/directionality/images/index.html - mostlyce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif - mostlyce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif - mostlyce/jscripts/tiny_mce/plugins/directionality/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/directionality/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/emotions/emotions.htm - mostlyce/jscripts/tiny_mce/plugins/emotions/index.html - mostlyce/jscripts/tiny_mce/plugins/emotions/readme.txt - mostlyce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/index.html - mostlyce/jscripts/tiny_mce/plugins/emotions/images/readme.txt - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif - mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js - mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/emotions/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/emotions/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/flash/flash.htm - mostlyce/jscripts/tiny_mce/plugins/flash/index.html - mostlyce/jscripts/tiny_mce/plugins/flash/readme.txt - mostlyce/jscripts/tiny_mce/plugins/flash/css/content.css - mostlyce/jscripts/tiny_mce/plugins/flash/css/flash.css - mostlyce/jscripts/tiny_mce/plugins/flash/css/index.html - mostlyce/jscripts/tiny_mce/plugins/flash/images/flash.gif - mostlyce/jscripts/tiny_mce/plugins/flash/images/index.html - mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js - mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/flash/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/flash/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/fullpage/blank.htm - mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm - mostlyce/jscripts/tiny_mce/plugins/fullpage/index.html - mostlyce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css - mostlyce/jscripts/tiny_mce/plugins/fullpage/css/index.html - mostlyce/jscripts/tiny_mce/plugins/fullpage/images/add.gif - mostlyce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif - mostlyce/jscripts/tiny_mce/plugins/fullpage/images/index.html - mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif - mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif - mostlyce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif - mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js - mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/fullpage/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/fullpage/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm - mostlyce/jscripts/tiny_mce/plugins/fullscreen/index.html - mostlyce/jscripts/tiny_mce/plugins/fullscreen/readme.txt - mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif - mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/index.html - mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm - mostlyce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php - mostlyce/jscripts/tiny_mce/plugins/htmltemplate/index.html - mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/htmltemplate.gif - mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/index.html - mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/iespell/index.html - mostlyce/jscripts/tiny_mce/plugins/iespell/readme.txt - mostlyce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif - mostlyce/jscripts/tiny_mce/plugins/iespell/images/index.html - mostlyce/jscripts/tiny_mce/plugins/iespell/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/iespell/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/index.html - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/readme.txt - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/index.html - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/index.html - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/spacer.gif - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_close.gif - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/index.html - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/index.html - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/layer/index.html - mostlyce/jscripts/tiny_mce/plugins/layer/readme.txt - mostlyce/jscripts/tiny_mce/plugins/layer/images/absolute.gif - mostlyce/jscripts/tiny_mce/plugins/layer/images/backward.gif - mostlyce/jscripts/tiny_mce/plugins/layer/images/forward.gif - mostlyce/jscripts/tiny_mce/plugins/layer/images/index.html - mostlyce/jscripts/tiny_mce/plugins/layer/images/insert_layer.gif - mostlyce/jscripts/tiny_mce/plugins/layer/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/layer/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/mambo/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/mambo/index.html - mostlyce/jscripts/tiny_mce/plugins/mambo/mospagebreak.htm - mostlyce/jscripts/tiny_mce/plugins/mambo/images/index.html - mostlyce/jscripts/tiny_mce/plugins/mambo/images/mosimage.gif - mostlyce/jscripts/tiny_mce/plugins/mambo/images/mospagebreak.gif - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/de.js - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fi.js - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fr.js - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/nl.js - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pl.js - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pt_br.js - mostlyce/jscripts/tiny_mce/plugins/mambo/langs/th.js - mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/noneditable/index.html - mostlyce/jscripts/tiny_mce/plugins/noneditable/readme.txt - mostlyce/jscripts/tiny_mce/plugins/noneditable/css/index.html - mostlyce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css - mostlyce/jscripts/tiny_mce/plugins/paste/blank.htm - mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/paste/index.html - mostlyce/jscripts/tiny_mce/plugins/paste/pastetext.htm - mostlyce/jscripts/tiny_mce/plugins/paste/pasteword.htm - mostlyce/jscripts/tiny_mce/plugins/paste/readme.txt - mostlyce/jscripts/tiny_mce/plugins/paste/css/blank.css - mostlyce/jscripts/tiny_mce/plugins/paste/css/index.html - mostlyce/jscripts/tiny_mce/plugins/paste/css/pasteword.css - mostlyce/jscripts/tiny_mce/plugins/paste/images/index.html - mostlyce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif - mostlyce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif - mostlyce/jscripts/tiny_mce/plugins/paste/images/selectall.gif - mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js - mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js - mostlyce/jscripts/tiny_mce/plugins/paste/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/paste/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/preview/example.html - mostlyce/jscripts/tiny_mce/plugins/preview/index.html - mostlyce/jscripts/tiny_mce/plugins/preview/readme.txt - mostlyce/jscripts/tiny_mce/plugins/preview/images/index.html - mostlyce/jscripts/tiny_mce/plugins/preview/images/preview.gif - mostlyce/jscripts/tiny_mce/plugins/preview/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/preview/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/print/index.html - mostlyce/jscripts/tiny_mce/plugins/print/readme.txt - mostlyce/jscripts/tiny_mce/plugins/print/images/index.html - mostlyce/jscripts/tiny_mce/plugins/print/images/print.gif - mostlyce/jscripts/tiny_mce/plugins/print/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/print/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/save/index.html - mostlyce/jscripts/tiny_mce/plugins/save/readme.txt - mostlyce/jscripts/tiny_mce/plugins/save/images/index.html - mostlyce/jscripts/tiny_mce/plugins/save/images/save.gif - mostlyce/jscripts/tiny_mce/plugins/save/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/save/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/searchreplace/index.html - mostlyce/jscripts/tiny_mce/plugins/searchreplace/readme.txt - mostlyce/jscripts/tiny_mce/plugins/searchreplace/replace.htm - mostlyce/jscripts/tiny_mce/plugins/searchreplace/search.htm - mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/index.html - mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif - mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif - mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js - mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js - mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php - mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/spellchecker/index.html - mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php - mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/HttpClient.class.php - mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/index.html - mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php - mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php - mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php - mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/content.css - mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/index.html - mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/spellchecker.css - mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/index.html - mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/spellchecker.gif - mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/wline.gif - mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/style/index.html - mostlyce/jscripts/tiny_mce/plugins/style/props.htm - mostlyce/jscripts/tiny_mce/plugins/style/readme.txt - mostlyce/jscripts/tiny_mce/plugins/style/css/index.html - mostlyce/jscripts/tiny_mce/plugins/style/css/props.css - mostlyce/jscripts/tiny_mce/plugins/style/images/apply_button_bg.gif - mostlyce/jscripts/tiny_mce/plugins/style/images/index.html - mostlyce/jscripts/tiny_mce/plugins/style/images/style_info.gif - mostlyce/jscripts/tiny_mce/plugins/style/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/style/jscripts/props.js - mostlyce/jscripts/tiny_mce/plugins/style/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/style/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/table/cell.htm - mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/table/index.html - mostlyce/jscripts/tiny_mce/plugins/table/merge_cells.htm - mostlyce/jscripts/tiny_mce/plugins/table/readme.txt - mostlyce/jscripts/tiny_mce/plugins/table/row.htm - mostlyce/jscripts/tiny_mce/plugins/table/table.htm - mostlyce/jscripts/tiny_mce/plugins/table/css/cell.css - mostlyce/jscripts/tiny_mce/plugins/table/css/index.html - mostlyce/jscripts/tiny_mce/plugins/table/css/row.css - mostlyce/jscripts/tiny_mce/plugins/table/css/table.css - mostlyce/jscripts/tiny_mce/plugins/table/images/buttons.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/index.html - mostlyce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif - mostlyce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif - mostlyce/jscripts/tiny_mce/plugins/table/jscripts/cell.js - mostlyce/jscripts/tiny_mce/plugins/table/jscripts/index.html - mostlyce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js - mostlyce/jscripts/tiny_mce/plugins/table/jscripts/row.js - mostlyce/jscripts/tiny_mce/plugins/table/jscripts/table.js - mostlyce/jscripts/tiny_mce/plugins/table/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/table/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/_template/index.html - mostlyce/jscripts/tiny_mce/plugins/_template/popup.htm - mostlyce/jscripts/tiny_mce/plugins/_template/readme.txt - mostlyce/jscripts/tiny_mce/plugins/_template/images/index.html - mostlyce/jscripts/tiny_mce/plugins/_template/images/template.gif - mostlyce/jscripts/tiny_mce/plugins/_template/langs/en.js - mostlyce/jscripts/tiny_mce/plugins/_template/langs/index.html - mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js - mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js - mostlyce/jscripts/tiny_mce/plugins/zoom/index.html - mostlyce/jscripts/tiny_mce/plugins/zoom/readme.txt - mostlyce/jscripts/tiny_mce/themes/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/about.htm - mostlyce/jscripts/tiny_mce/themes/advanced/anchor.htm - mostlyce/jscripts/tiny_mce/themes/advanced/charmap.htm - mostlyce/jscripts/tiny_mce/themes/advanced/color_picker.htm - mostlyce/jscripts/tiny_mce/themes/advanced/editor_template.js - mostlyce/jscripts/tiny_mce/themes/advanced/editor_template_src.js - mostlyce/jscripts/tiny_mce/themes/advanced/image.htm - mostlyce/jscripts/tiny_mce/themes/advanced/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/link.htm - mostlyce/jscripts/tiny_mce/themes/advanced/source_editor.htm - mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_content.css - mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css - mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css - mostlyce/jscripts/tiny_mce/themes/advanced/css/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/docs/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/style.css - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif - mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/bold.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/browse.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/bullist.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/buttons.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/charmap.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/close.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/code.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/color.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/copy.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/cut.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/help.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/hr.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/image.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/indent.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/italic.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/link.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/numlist.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/opacity.png - mostlyce/jscripts/tiny_mce/themes/advanced/images/outdent.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/paste.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/redo.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/separator.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/spacer.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/sub.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/sup.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/underline.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/undo.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/unlink.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif - mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif - mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/about.js - mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js - mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js - mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js - mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/image.js - mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/index.html - mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/link.js - mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/source_editor.js - mostlyce/jscripts/tiny_mce/themes/advanced/langs/en.js - mostlyce/jscripts/tiny_mce/themes/advanced/langs/index.html - mostlyce/jscripts/tiny_mce/themes/simple/editor_template.js - mostlyce/jscripts/tiny_mce/themes/simple/editor_template_src.js - mostlyce/jscripts/tiny_mce/themes/simple/index.html - mostlyce/jscripts/tiny_mce/themes/simple/css/editor_content.css - mostlyce/jscripts/tiny_mce/themes/simple/css/editor_popup.css - mostlyce/jscripts/tiny_mce/themes/simple/css/editor_ui.css - mostlyce/jscripts/tiny_mce/themes/simple/css/index.html - mostlyce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/bold.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/bullist.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/buttons.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/cleanup.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/index.html - mostlyce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/italic.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/numlist.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/redo.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/separator.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/spacer.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/underline.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif - mostlyce/jscripts/tiny_mce/themes/simple/images/undo.gif - -
      + +mostlyce.php +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/index.html +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/index.html +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/preview/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/preview/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/preview/images/index.html +mostlyce/jscripts/tiny_mce/plugins/preview/images/preview.gif +mostlyce/jscripts/tiny_mce/plugins/preview/example.html +mostlyce/jscripts/tiny_mce/plugins/preview/readme.txt +mostlyce/jscripts/tiny_mce/plugins/preview/index.html +mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/directionality/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/directionality/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif +mostlyce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif +mostlyce/jscripts/tiny_mce/plugins/directionality/images/index.html +mostlyce/jscripts/tiny_mce/plugins/directionality/readme.txt +mostlyce/jscripts/tiny_mce/plugins/directionality/index.html +mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/noneditable/css/index.html +mostlyce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css +mostlyce/jscripts/tiny_mce/plugins/noneditable/readme.txt +mostlyce/jscripts/tiny_mce/plugins/noneditable/index.html +mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/zoom/readme.txt +mostlyce/jscripts/tiny_mce/plugins/zoom/index.html +mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/index.html +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/index.html +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/spacer.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_close.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/readme.txt +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/index.html +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/cleanup/readme.txt +mostlyce/jscripts/tiny_mce/plugins/cleanup/index.html +mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/autosave/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/autosave/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/autosave/readme.txt +mostlyce/jscripts/tiny_mce/plugins/autosave/index.html +mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/cell.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/table.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/row.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/table/css/row.css +mostlyce/jscripts/tiny_mce/plugins/table/css/table.css +mostlyce/jscripts/tiny_mce/plugins/table/css/cell.css +mostlyce/jscripts/tiny_mce/plugins/table/css/index.html +mostlyce/jscripts/tiny_mce/plugins/table/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/table/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/index.html +mostlyce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/buttons.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete.gif +mostlyce/jscripts/tiny_mce/plugins/table/table.htm +mostlyce/jscripts/tiny_mce/plugins/table/row.htm +mostlyce/jscripts/tiny_mce/plugins/table/readme.txt +mostlyce/jscripts/tiny_mce/plugins/table/merge_cells.htm +mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/table/cell.htm +mostlyce/jscripts/tiny_mce/plugins/table/index.html +mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js +mostlyce/jscripts/tiny_mce/plugins/advlink/css/index.html +mostlyce/jscripts/tiny_mce/plugins/advlink/css/advlink.css +mostlyce/jscripts/tiny_mce/plugins/advlink/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/advlink/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/advlink/readme.txt +mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/advlink/link.htm +mostlyce/jscripts/tiny_mce/plugins/advlink/index.html +mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fi.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/th.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pl.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/nl.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/de.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fr.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pt_br.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/mambo/images/index.html +mostlyce/jscripts/tiny_mce/plugins/mambo/images/mosimage.gif +mostlyce/jscripts/tiny_mce/plugins/mambo/images/mospagebreak.gif +mostlyce/jscripts/tiny_mce/plugins/mambo/index.html +mostlyce/jscripts/tiny_mce/plugins/mambo/mospagebreak.htm +mostlyce/jscripts/tiny_mce/plugins/mambo/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/print/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/print/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/print/images/index.html +mostlyce/jscripts/tiny_mce/plugins/print/images/print.gif +mostlyce/jscripts/tiny_mce/plugins/print/readme.txt +mostlyce/jscripts/tiny_mce/plugins/print/index.html +mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/iespell/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/iespell/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/iespell/images/index.html +mostlyce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif +mostlyce/jscripts/tiny_mce/plugins/iespell/readme.txt +mostlyce/jscripts/tiny_mce/plugins/iespell/index.html +mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js +mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/css/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/css/flash.css +mostlyce/jscripts/tiny_mce/plugins/flash/css/content.css +mostlyce/jscripts/tiny_mce/plugins/flash/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/flash/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/images/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/images/flash.gif +mostlyce/jscripts/tiny_mce/plugins/flash/readme.txt +mostlyce/jscripts/tiny_mce/plugins/flash/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/flash/flash.htm +mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js +mostlyce/jscripts/tiny_mce/plugins/emotions/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/emotions/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/readme.txt +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/index.html +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/readme.txt +mostlyce/jscripts/tiny_mce/plugins/emotions/index.html +mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/emotions/emotions.htm +mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/save/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/save/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/save/images/save.gif +mostlyce/jscripts/tiny_mce/plugins/save/images/index.html +mostlyce/jscripts/tiny_mce/plugins/save/readme.txt +mostlyce/jscripts/tiny_mce/plugins/save/index.html +mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js +mostlyce/jscripts/tiny_mce/plugins/fullpage/css/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +mostlyce/jscripts/tiny_mce/plugins/fullpage/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/fullpage/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/add.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/blank.htm +mostlyce/jscripts/tiny_mce/plugins/fullpage/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/index.html +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/htmltemplate.gif +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/index.html +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/style/jscripts/props.js +mostlyce/jscripts/tiny_mce/plugins/style/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/style/css/props.css +mostlyce/jscripts/tiny_mce/plugins/style/css/index.html +mostlyce/jscripts/tiny_mce/plugins/style/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/style/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/style/images/index.html +mostlyce/jscripts/tiny_mce/plugins/style/images/style_info.gif +mostlyce/jscripts/tiny_mce/plugins/style/images/apply_button_bg.gif +mostlyce/jscripts/tiny_mce/plugins/style/readme.txt +mostlyce/jscripts/tiny_mce/plugins/style/props.htm +mostlyce/jscripts/tiny_mce/plugins/style/index.html +mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/index.html +mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif +mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif +mostlyce/jscripts/tiny_mce/plugins/searchreplace/search.htm +mostlyce/jscripts/tiny_mce/plugins/searchreplace/readme.txt +mostlyce/jscripts/tiny_mce/plugins/searchreplace/index.html +mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/replace.htm +mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/index.html +mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif +mostlyce/jscripts/tiny_mce/plugins/fullscreen/readme.txt +mostlyce/jscripts/tiny_mce/plugins/fullscreen/index.html +mostlyce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +mostlyce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js +mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/css/advhr.css +mostlyce/jscripts/tiny_mce/plugins/advhr/css/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/advhr/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/images/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif +mostlyce/jscripts/tiny_mce/plugins/advhr/rule.htm +mostlyce/jscripts/tiny_mce/plugins/advhr/readme.txt +mostlyce/jscripts/tiny_mce/plugins/advhr/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog +mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/content.css +mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/spellchecker.css +mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/spellchecker.gif +mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/wline.gif +mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php~ +mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/index.html +mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif +mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/index.html +mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css +mostlyce/jscripts/tiny_mce/plugins/contextmenu/readme.txt +mostlyce/jscripts/tiny_mce/plugins/contextmenu/index.html +mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/_template/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/_template/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/_template/images/index.html +mostlyce/jscripts/tiny_mce/plugins/_template/images/template.gif +mostlyce/jscripts/tiny_mce/plugins/_template/readme.txt +mostlyce/jscripts/tiny_mce/plugins/_template/popup.htm +mostlyce/jscripts/tiny_mce/plugins/_template/index.html +mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/layer/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/layer/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/layer/images/index.html +mostlyce/jscripts/tiny_mce/plugins/layer/images/forward.gif +mostlyce/jscripts/tiny_mce/plugins/layer/images/backward.gif +mostlyce/jscripts/tiny_mce/plugins/layer/images/absolute.gif +mostlyce/jscripts/tiny_mce/plugins/layer/images/insert_layer.gif +mostlyce/jscripts/tiny_mce/plugins/layer/readme.txt +mostlyce/jscripts/tiny_mce/plugins/layer/index.html +mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js +mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js +mostlyce/jscripts/tiny_mce/plugins/paste/css/blank.css +mostlyce/jscripts/tiny_mce/plugins/paste/css/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/css/pasteword.css +mostlyce/jscripts/tiny_mce/plugins/paste/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/paste/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/images/selectall.gif +mostlyce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif +mostlyce/jscripts/tiny_mce/plugins/paste/images/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif +mostlyce/jscripts/tiny_mce/plugins/paste/blank.htm +mostlyce/jscripts/tiny_mce/plugins/paste/readme.txt +mostlyce/jscripts/tiny_mce/plugins/paste/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/pastetext.htm +mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/paste/pasteword.htm +mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js +mostlyce/jscripts/tiny_mce/plugins/advimage/css/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/css/advimage.css +mostlyce/jscripts/tiny_mce/plugins/advimage/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/advimage/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/images/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/images/sample.gif +mostlyce/jscripts/tiny_mce/plugins/advimage/readme.txt +mostlyce/jscripts/tiny_mce/plugins/advimage/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/image.htm +mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/readme.txt +mostlyce/jscripts/tiny_mce/plugins/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/css/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css +mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css +mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_content.css +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/style.css +mostlyce/jscripts/tiny_mce/themes/advanced/docs/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/image.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/link.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/about.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/source_editor.js +mostlyce/jscripts/tiny_mce/themes/advanced/langs/en.js +mostlyce/jscripts/tiny_mce/themes/advanced/langs/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/code.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/sup.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/images/close.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/unlink.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/buttons.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/link.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/cut.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/sub.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/redo.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/help.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/outdent.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/indent.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/color.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/spacer.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/copy.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/hr.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/undo.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/browse.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/separator.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/numlist.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/opacity.png +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/image.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bullist.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/paste.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/charmap.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif +mostlyce/jscripts/tiny_mce/themes/advanced/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +mostlyce/jscripts/tiny_mce/themes/advanced/image.htm +mostlyce/jscripts/tiny_mce/themes/advanced/charmap.htm +mostlyce/jscripts/tiny_mce/themes/advanced/anchor.htm +mostlyce/jscripts/tiny_mce/themes/advanced/about.htm +mostlyce/jscripts/tiny_mce/themes/advanced/color_picker.htm +mostlyce/jscripts/tiny_mce/themes/advanced/source_editor.htm +mostlyce/jscripts/tiny_mce/themes/advanced/editor_template.js +mostlyce/jscripts/tiny_mce/themes/advanced/link.htm +mostlyce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/index.html +mostlyce/jscripts/tiny_mce/themes/simple/images/undo.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/italic.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/separator.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/buttons.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/numlist.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/redo.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/cleanup.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/underline.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bold.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bullist.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/spacer.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif +mostlyce/jscripts/tiny_mce/themes/simple/css/index.html +mostlyce/jscripts/tiny_mce/themes/simple/css/editor_ui.css +mostlyce/jscripts/tiny_mce/themes/simple/css/editor_popup.css +mostlyce/jscripts/tiny_mce/themes/simple/css/editor_content.css +mostlyce/jscripts/tiny_mce/themes/simple/editor_template.js +mostlyce/jscripts/tiny_mce/themes/simple/index.html +mostlyce/jscripts/tiny_mce/themes/simple/editor_template_src.js +mostlyce/jscripts/tiny_mce/themes/index.html +mostlyce/jscripts/tiny_mce/info/index.html +mostlyce/jscripts/tiny_mce/info/editor_info_english.txt +mostlyce/jscripts/tiny_mce/utils/index.html +mostlyce/jscripts/tiny_mce/utils/editable_selects.js +mostlyce/jscripts/tiny_mce/utils/mclayer.js +mostlyce/jscripts/tiny_mce/utils/validate.js +mostlyce/jscripts/tiny_mce/utils/mctabs.js +mostlyce/jscripts/tiny_mce/utils/form_utils.js +mostlyce/jscripts/tiny_mce/langs/en.js +mostlyce/jscripts/tiny_mce/langs/readme.txt +mostlyce/jscripts/tiny_mce/blank.htm +mostlyce/jscripts/tiny_mce/mostlyce_config.php +mostlyce/jscripts/tiny_mce/index.html +mostlyce/jscripts/tiny_mce/tiny_mce_popup.js +mostlyce/jscripts/tiny_mce/auth_plugin.php +mostlyce/jscripts/tiny_mce/mostlyce_functions.js +mostlyce/jscripts/tiny_mce/license.txt +mostlyce/jscripts/tiny_mce/tiny_mce_src.js +mostlyce/jscripts/tiny_mce/tiny_mce_gzip.php +mostlyce/jscripts/tiny_mce/tiny_mce.js +mostlyce/jscripts/index.html +mostlyce/docs/images/index.html +mostlyce/docs/images/moxiecode.gif +mostlyce/docs/css/index.html +mostlyce/docs/css/screen.css +mostlyce/docs/option_directionality.html +mostlyce/docs/option_theme_advanced_custom_layout.html +mostlyce/docs/plugin_table.html +mostlyce/docs/plugin_autosave.html +mostlyce/docs/option_theme_advanced_source_editor_width.html +mostlyce/docs/option_elements.html +mostlyce/docs/option_theme_advanced_disable.html +mostlyce/docs/option_handle_event_callback.html +mostlyce/docs/customization_language_packs.html +mostlyce/docs/option_save_callback.html +mostlyce/docs/option_theme_advanced_resizing.html +mostlyce/docs/option_convert_fonts_to_spans.html +mostlyce/docs/option_theme_advanced_buttons_n_add.html +mostlyce/docs/plugin_advimage.html +mostlyce/docs/option_editor_selector.html +mostlyce/docs/option_convert_urls.html +mostlyce/docs/installation_example_01.html +mostlyce/docs/option_custom_undo_redo_levels.html +mostlyce/docs/plugin_iespell.html +mostlyce/docs/option_invalid_elements.html +mostlyce/docs/option_add_unload_trigger.html +mostlyce/docs/option_external_link_list_url.html +mostlyce/docs/option_theme_advanced_buttons_n_add_before.html +mostlyce/docs/plugin_inlinepopups.html +mostlyce/docs/option_onpageload.html +mostlyce/docs/option_strict_loading_mode.html +mostlyce/docs/option_theme_advanced_statusbar_location.html +mostlyce/docs/option_ask.html +mostlyce/docs/option_language.html +mostlyce/docs/plugin_contextmenu.html +mostlyce/docs/option_visual_table_class.html +mostlyce/docs/option_font_size_style_values.html +mostlyce/docs/option_editor_css.html +mostlyce/docs/reference_configuration.html +mostlyce/docs/option_convert_newlines_to_brs.html +mostlyce/docs/plugin_searchreplace.html +mostlyce/docs/option_inline_styles.html +mostlyce/docs/option_object_resizing.html +mostlyce/docs/option_theme_advanced_container_class.html +mostlyce/docs/option_theme_advanced_source_editor_height.html +mostlyce/docs/plugin_directionality.html +mostlyce/docs/option_theme_advanced_containers_default_class.html +mostlyce/docs/index.html +mostlyce/docs/option_auto_reset_designmode.html +mostlyce/docs/option_theme_advanced_toolbar_location.html +mostlyce/docs/installing.html +mostlyce/docs/plugin_fullpage.html +mostlyce/docs/option_insertlink_callback.html +mostlyce/docs/option_onchange_callback.html +mostlyce/docs/option_force_hex_style_colors.html +mostlyce/docs/option_docs_language.html +mostlyce/docs/compatiblity_chart.html +mostlyce/docs/option_theme_advanced_container.html +mostlyce/docs/plugin_fullscreen.html +mostlyce/docs/option_trim_span_elements.html +mostlyce/docs/option_accessibility_focus.html +mostlyce/docs/option_force_br_newlines.html +mostlyce/docs/reference_javascript_functions.html +mostlyce/docs/option_theme_advanced_blockformats.html +mostlyce/docs/customization_plugins.html +mostlyce/docs/option_add_form_submit_trigger.html +mostlyce/docs/option_relative_urls.html +mostlyce/docs/option_fix_content_duplication.html +mostlyce/docs/option_theme_advanced_toolbar_align.html +mostlyce/docs/option_custom_undo_redo.html +mostlyce/docs/option_font_size_classes.html +mostlyce/docs/option_cleanup_callback.html +mostlyce/docs/option_textarea_trigger.html +mostlyce/docs/option_file_browser_callback.html +mostlyce/docs/plugin_print.html +mostlyce/docs/option_fix_table_elements.html +mostlyce/docs/option_verify_css_classes.html +mostlyce/docs/option_custom_shortcuts.html +mostlyce/docs/option_table_inline_editing.html +mostlyce/docs/installation_example_02.html +mostlyce/docs/option_button_tile_map.html +mostlyce/docs/plugin_flash.html +mostlyce/docs/option_entity_encoding.html +mostlyce/docs/option_content_css.html +mostlyce/docs/option_theme_advanced_resize_horizontal.html +mostlyce/docs/option_theme_advanced_buttons_n.html +mostlyce/docs/option_remove_script_host.html +mostlyce/docs/plugin_noneditable.html +mostlyce/docs/option_focus_alert.html +mostlyce/docs/option_urlconverter_callback.html +mostlyce/docs/option_theme_advanced_link_targets.html +mostlyce/docs/option_visual.html +mostlyce/docs/plugin_paste.html +mostlyce/docs/option_theme.html +mostlyce/docs/option_theme_advanced_fonts.html +mostlyce/docs/plugin_spellchecker.html +mostlyce/docs/option_document_base_url.html +mostlyce/docs/option_insertimage_callback.html +mostlyce/docs/option_custom_undo_redo_restore_selection.html +mostlyce/docs/option_entities.html +mostlyce/docs/plugin_emotions.html +mostlyce/docs/plugin_advlink.html +mostlyce/docs/option_extended_valid_elements.html +mostlyce/docs/option_height.html +mostlyce/docs/plugin_insertdatetime.html +mostlyce/docs/option_hidden_tab_class.html +mostlyce/docs/option_init_instance_callback.html +mostlyce/docs/option_plugins.html +mostlyce/docs/credits.html +mostlyce/docs/option_dialog_type.html +mostlyce/docs/option_execcommand_callback.html +mostlyce/docs/option_editor_deselector.html +mostlyce/docs/option_apply_source_formatting.html +mostlyce/docs/option_popups_css.html +mostlyce/docs/option_preformatted.html +mostlyce/docs/option_theme_advanced_containers_default_align.html +mostlyce/docs/option_valid_elements.html +mostlyce/docs/plugin_advhr.html +mostlyce/docs/option_theme_advanced_styles.html +mostlyce/docs/option_cleanup.html +mostlyce/docs/customization_themes.html +mostlyce/docs/installation_example_00.html +mostlyce/docs/option_force_p_newlines.html +mostlyce/docs/option_display_tab_class.html +mostlyce/docs/option_fix_list_elements.html +mostlyce/docs/option_theme_advanced_containers.html +mostlyce/docs/option_theme_advanced_container_align.html +mostlyce/docs/option_theme_advanced_resizing_use_cookie.html +mostlyce/docs/plugin_preview.html +mostlyce/docs/option_doctype.html +mostlyce/docs/option_browsers.html +mostlyce/docs/reference_buttons.html +mostlyce/docs/option_oninit.html +mostlyce/docs/option_remove_linebreaks.html +mostlyce/docs/option_external_image_list_url.html +mostlyce/docs/option_auto_resize.html +mostlyce/docs/option_verify_html.html +mostlyce/docs/plugin_style.html +mostlyce/docs/installation_example_03.html +mostlyce/docs/faq.html +mostlyce/docs/license.html +mostlyce/docs/about.html +mostlyce/docs/option_mode.html +mostlyce/docs/option_theme_advanced_layout_manager.html +mostlyce/docs/option_event_elements.html +mostlyce/docs/option_setupcontent_callback.html +mostlyce/docs/option_auto_focus.html +mostlyce/docs/option_custom_undo_redo_keyboard_shortcuts.html +mostlyce/docs/option_theme_advanced_source_editor_wrap.html +mostlyce/docs/option_width.html +mostlyce/docs/option_submit_patch.html +mostlyce/docs/option_merge_styles_invalid_parents.html +mostlyce/docs/option_cleanup_on_startup.html +mostlyce/docs/option_theme_advanced_path.html +mostlyce/docs/option_nowrap.html +mostlyce/docs/option_accessibility_warnings.html +mostlyce/docs/option_theme_advanced_path_location.html +mostlyce/docs/plugin_zoom.html +mostlyce/docs/plugin_layer.html +mostlyce/docs/option_encoding.html +mostlyce/docs/reference_plugins.html +mostlyce/docs/plugin_save.html +mostlyce/docs/option_debug.html +mostlyce/lgpl.txt +mostlyce/index.html +mostlyce.xml + +
      diff -ruN 4.6rc2/mambots/editors/tinymce/docs/about.html 4.6-complete/mambots/editors/tinymce/docs/about.html --- 4.6rc2/mambots/editors/tinymce/docs/about.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/about.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,41 +0,0 @@ - - - -About - - - - -
      -

      About

      -
      - -
      -

      General information

      -
      -

      TinyMCE is a powerful WYSIWYG editor control for web browsers such as MSIE or Mozilla that enables the user to edit HTML contents in a more user friendly way. The editor control is very flexible and it's built for integration purposes for example usage within systems like Intranets, CMS, LMS and so forth.

      -

      - TinyMCE is developed by Moxiecode Systems AB and is currently released under the "LGPL" license, read the license agreement for details. -

      -

      Features

      -

      -

        -
      • Easy to integrate, takes only a couple lines of code.
      • -
      • Theme and template support.
      • -
      • Easy to extend with custom code. (Plugins and callbacks)
      • -
      • Customizable HTML output. Block elements and force attributes.
      • -
      • International language support (Language packs).
      • -
      • Multiple browser support, currently Mozilla (PC, Mac and Linux), MSIE (PC) and FireFox (PC, Mac and Linux) and some limited Safari support.
      • -
      -

      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/compatiblity_chart.html 4.6-complete/mambots/editors/tinymce/docs/compatiblity_chart.html --- 4.6rc2/mambots/editors/tinymce/docs/compatiblity_chart.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/compatiblity_chart.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,84 +0,0 @@ - - - -Compatiblity Chart - - - - -
      -

      Compatiblity Chart

      -
      - -
      -

      Browser support

      -
      -

      TinyMCE uses advanced JavaScript and tries to be as smart as possible when it comes to different browsers, the main focus is on Microsoft Internet Explorer and Mozilla/Firefox. The table was reset to only show the browsers we ourselves can test on. It works with many older versions of Mozilla and Firefox. Just cause a browser is not listed on this page doesn't mean it does not work, try out the examples on our website.

      - -

      Since MacOS X 10.4 is more or less Linux we are not testing much on Linux any more, use the Sourceforge bug report system to submit bugs on the very latest browsers only.

      -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
       Windows XPMacOS X 10.4
      MSIE 6OK 
      MSIE 5.5 SP2OK 
      MSIE 5.0OK 
      Mozilla 1.7.xOKOK
      Firefox 1.0.xOKOK
      Firefox 1.5b2OKOK
      Safari 2.0 (412) OK(1)
      Opera 9 Preview 1OK(1)OK(1)
      -

      -

      -

        -
      • (1) - Partialy working
      • -
      • (2) - Buggy browser version
      • -
      -

      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/credits.html 4.6-complete/mambots/editors/tinymce/docs/credits.html --- 4.6rc2/mambots/editors/tinymce/docs/credits.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/credits.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,82 +0,0 @@ - - - -Credits - - - - -
      -

      Credits

      -
      - -
      -

      Contributors

      -
      -

      These are the people, companies or organizations that have contributed in some way to the TinyMCE project. If you feel we are missing someone please inform us right away and we will correct this in future versions of TinyMCE.

      -

      - Please note that some of these have contributed with complete language packs and some have updated parts of language packs or similar. -

      -
      -
      -
      -

      -

        -
      • Code / Solutions / Features
      • -
          -
        • donadoni
        • -
        • Michael Keck
        • -
        • Victor Nilsson
        • -
        • Jrgen Baute
        • -
        • "Neirda"
        • -
        • "speednet"
        • -
        • Virtuelcom
        • -
        • "SlyD"
        • -
        • Ernst de Moor
        • -
        • "jamesw"
        • -
        • Vincent FIACK
        • -
        • Aptest
        • -
        -
      • Language packs
      • -
          -
        • Marcin Szymon Sznyra
        • -
        • "revyag"
        • -
        • Jim Kou
        • -
        • "Krokogras"
        • -
        • Hani Suleiman
        • -
        • Jan Moelgaard
        • -
        • Christopher Mller
        • -
        • Virtuelcom
        • -
        • Pavel Novk
        • -
        • Simon Rupf
        • -
        • "Fabrix Xm"
        • -
        • Mats Lfstrm, York Consulting AB
        • -
        • Morteza Zafari
        • -
        • Laurent Dran
        • -
        • Tobias Heer
        • -
        • "Innozent"
        • -
        • "cube316"
        • -
        • Jos Pedro Pereira
        • -
        • "Martin"
        • -
        • Sten Aksel Heien
        • -
        • Setzer Gabbiani
        • -
        • Jacaranda Bill
        • -
        • Pat Boens
        • -
        • Roman Filippov
        • -
        • Arnoud van Delden
        • -
        -
      -

      -

      There are also a few corporations that have contributed in various ways to have features developed by payed support. -

      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/css/screen.css 4.6-complete/mambots/editors/tinymce/docs/css/screen.css --- 4.6rc2/mambots/editors/tinymce/docs/css/screen.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/css/screen.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,168 +0,0 @@ -body { - background-color: #FFFFFF; - font-family: Verdana, Arial, helvetica, sans-serif; - font-size: 12px; -} - -.header { - border: #E0E0E0 solid 1px; -} - -.footer { - border: #E0E0E0 solid 1px; - height: 20px; -} - -h1 { - font-size: 18px; - font-weight: bold; - padding: 0; - margin: 4px; -} - -h2 { - font-size: 14px; - font-weight: bold; - padding: 0; - margin: 0; - margin-top: 4px; - margin-bottom: 4px; -} - -h3 { - font-size: 11px; - font-weight: bold; - padding: 0; - margin: 0; - margin-bottom: 3px; -} - -.section { - margin-left: 15px; -} - -.column { - margin-right: 20px; - float: left -} - -.separator { - border-bottom: 1px solid #E6EBF1; - margin-top: 10px; - margin-bottom: 10px; -} - -p { -} - -.helpindex { - margin-left: 20px; - padding-left: 0; -} - - -.optionlist { - margin: 0; - padding: 0; - margin-bottom: 10px; -} - -.optionlist li { - padding: 0; - margin: 0; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 10px; - list-style-type: none; -} - -.helpindex li { - margin-top: 3px; -} - -.content { - margin: 10px; -} - -.example { - background-color: #E6EBF1; - margin-left: 10px; -} - -code, pre { - margin: 0; - padding: 0; - background-color: #E6EBF1; -} - -.copyright { - margin: 3px; - float: left; -} - -.helpindexlink { - margin: 3px; - float: right; -} - -a:visited { - color: #666666; - text-decoration: underline; -} - -a:active { - color: #666666; - text-decoration: underline; -} - -a:hover { - color: #666666; - text-decoration: underline; -} - -a { - color: #666666; - text-decoration: underline; -} - -.list_subtitle { - padding-top: 5px; -} - -.note { - margin-top: 5px; - margin-left: 10px; - font-size: 10px; -} - -.marked { - color: red; - font-weight: bold; -} - -thead { - background-color: #E6EBF1; -} - -.btable { -} - -.btable th { - border: 1px solid gray; - vertical-align: top; -} - -.btable td { - border: 1px solid gray; - vertical-align: top; -} - -.plist { - list-style-type: none; - margin: 0; - padding: 0; -} - -.plist li { - padding-bottom: 3px; -} \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/docs/customization_language_packs.html 4.6-complete/mambots/editors/tinymce/docs/customization_language_packs.html --- 4.6rc2/mambots/editors/tinymce/docs/customization_language_packs.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/customization_language_packs.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,57 +0,0 @@ - - - -Customization - Creating a language pack - - - - -
      -

      Customization - Creating a language pack

      -
      - -
      -

      Making language packs

      -

      Language packs are simply JavaScript name/value arrays placed in the ".js" files in the "lang" directory. Remember to allways use the "lang_" prefix for these value names so that they don't override other variables in the templates. The example below shows how the cut, copy and paste texts are lang packed. Notice there are three kinds of language packs the first one is the general one shared by all themes these are located in the "jscripts/tiny_mce/langs" directory the secound ones are theme specific language packs these are contained in "jscripts/tiny_mce/themes/<some theme>/langs" and the last one is plugin specific language packs located in each plugin. -

      -

      -

      -
      -tinyMCE.addToLang('',{
      -cut_desc : 'Cut (Ctrl+X)',
      -copy_desc : 'Copy (Ctrl+C)',
      -paste_desc : 'Paste (Ctrl+P)'
      -);
      -
      -
      -

      -

      - Remember the last translation line should not have a , character at the end. The first parameter to the addToLang is the prefix to add before each variable, this was added to reduce the overall size of the language packs to reduce the overall download time. -

      -

      Files to edit

      -

      - When translating TinyMCE, these are the files that currently needs to be translated: -

      -

      - /tinymce/jscripts/tiny_mce/langs/en.js
      - /tinymce/jscripts/tiny_mce/plugins/<plugin>/langs/en.js
      - /tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js
      -

      -

      - Notice some language variables may include a name/url of a gif image or simmilar, for example the button for bold has a "F" character in the Swedish language pack. There are also relative window sizes located in the language packs, for example is the link dialog needs to be bigger inorder to fit a specific translation you can alter the width of the window by modifying these variables. -

      -

      Contributing your language pack

      -

      - Go to the sourceforge patch page and upload a zip containing all the language files in the correct directory structure.

      - Please translate all the plugins, even if you aren't using them.
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/customization_plugins.html 4.6-complete/mambots/editors/tinymce/docs/customization_plugins.html --- 4.6rc2/mambots/editors/tinymce/docs/customization_plugins.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/customization_plugins.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,227 +0,0 @@ - - - -Customization - Creating a plugin - - - - -
      -

      Customization - Creating a plugin

      -
      - -
      - -

      Creating your own plugins

      -

      -Creating you own plugins for the TinyMCE application is fairly easy if you know the basics of HTML, CSS and Javascript. The most easy way is to copy the "_template" directory or one of the other core plugins and work from there. The "_template" directory is a tutorial plugin that shows how to create a plugin. After you copy the template you need to change the red sections marked below to the name of your plugin this is needed so that plugins don't overlap in other words it gives the plugin a unique name. -

      -

      If you want you may add plugin specific options/settings but remember to namespace them in the following format "<your plugin>_<option>" for example "yourplugin_someoption".

      -

      Specific callback functions that you don't need or doesn't do anything can be removed.

      - -
      -

      Plugin directory structure

      -

      - - - - - - - - - - - - -
      File/Directory - Description -
      cssPlugin specific CSS files
      docsPlugin specific documentation
      imagesPlugin specific images
      jscriptsPlugin specific jscripts for HTML dialogs
      langsPlugin specific language files
      editor_plugin.jsEditor plugin file (compressed).
      editor_plugin_src.jsEditor plugin file (source).
      somedialog.htmPlugin specific dialog HTML file.
      -

      -
      -

      Plugin example source

      -

      -The example below shows a simple empty plugin and all possible callbacks. -

      -

      -

      -
      -var TinyMCE_SomeNamePlugin = {
      -	/**
      -	 * Returns information about the plugin as a name/value array.
      -	 * The current keys are longname, author, authorurl, infourl and version.
      -	 *
      -	 * @returns Name/value array containing information about the plugin.
      -	 * @type Array 
      -	 */
      -	getInfo : function() {
      -		return {
      -			longname : 'Your plugin',
      -			author : 'Your name',
      -			authorurl : 'http://www.yoursite.com',
      -			infourl : 'http://www.yoursite.com/docs/template.html',
      -			version : "1.0"
      -		};
      -	},
      -
      -	/**
      -	 * Gets executed when a TinyMCE editor instance is initialized.
      -	 *
      -	 * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. 
      -	 */
      -	initInstance : function(inst) {
      -		// You can take out plugin specific parameters
      -		alert("Initialization parameter:" + tinyMCE.getParam("somename_someparam", false));
      -
      -		// Register custom keyboard shortcut
      -		inst.addShortcut('ctrl', 't', 'lang_somename_desc', 'mceSomeCommand');
      -	},
      -
      -	/**
      -	 * Returns the HTML code for a specific control or empty string if this plugin doesn't have that control.
      -	 * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface.
      -	 * The variable {$editor_id} will be replaced with the current editor instance id and {$pluginurl} will be replaced
      -	 * with the URL of the plugin. Language variables such as {$lang_somekey} will also be replaced with contents from
      -	 * the language packs.
      -	 *
      -	 * @param {string} cn Editor control/button name to get HTML for.
      -	 * @return HTML code for a specific control or empty string.
      -	 * @type string
      -	 */
      -	getControlHTML : function(cn) {
      -		switch (cn) {
      -			case "SomeControl":
      -				return tinyMCE.getButtonHTML(cn, 'lang_someplugin_button_desc', '{$pluginurl}/images/someimage.gif', 'mceSomeCommand');
      -		}
      -
      -		return "";
      -	},
      -
      -	getControlHTML : function(cn) {
      -		switch (cn) {
      -			case "advhr":
      -				return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
      -		}
      -
      -		return "";
      -	},
      -
      -
      -	/**
      -	 * Executes a specific command, this function handles plugin commands.
      -	 *
      -	 * @param {string} editor_id TinyMCE editor instance id that issued the command.
      -	 * @param {HTMLElement} element Body or root element for the editor instance.
      -	 * @param {string} command Command name to be executed.
      -	 * @param {string} user_interface True/false if a user interface should be presented.
      -	 * @param {mixed} value Custom value argument, can be anything.
      -	 * @return true/false if the command was executed by this plugin or not.
      -	 * @type
      -	 */
      -	execCommand : function(editor_id, element, command, user_interface, value) {
      -		// Handle commands
      -		switch (command) {
      -			// Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
      -			case "mceSomeCommand":
      -				// Do your custom command logic here.
      -
      -				return true;
      -		}
      -
      -		// Pass to next handler in chain
      -		return false;
      -	},
      -
      -	/**
      -	 * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable
      -	 * button controls depending on where the user are and what they have selected. This method gets executed
      -	 * alot and should be as performance tuned as possible.
      -	 *
      -	 * @param {string} editor_id TinyMCE editor instance id that was changed.
      -	 * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree.
      -	 * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled.
      -	 * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled.
      -	 * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables.
      -	 * @param {boolean} any_selection Is there any selection at all or is there only a cursor.
      -	 */
      -	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
      -	},
      -
      -	/**
      -	 * Gets called when a TinyMCE editor instance gets filled with content on startup.
      -	 *
      -	 * @param {string} editor_id TinyMCE editor instance id that was filled with content.
      -	 * @param {HTMLElement} body HTML body element of editor instance.
      -	 * @param {HTMLDocument} doc HTML document instance.
      -	 */
      -	setupContent : function(editor_id, body, doc) {
      -	},
      -
      -	/**
      -	 * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is
      -	 * added.
      -	 *
      -	 * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified.
      -	 */
      -	onChange : function(inst) {
      -	},
      -
      -	/**
      -	 * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE
      -	 * doesn't listen on all types of events so custom event handling may be required for
      -	 * some purposes.
      -	 *
      -	 * @param {Event} e HTML editor event reference.
      -	 * @return true - pass to next handler in chain, false - stop chain execution
      -	 * @type boolean
      -	 */
      -	handleEvent : function(e) {
      -		return true;
      -	},
      -
      -	/**
      -	 * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance.
      -	 * The type parameter contains what type of event that was performed and what format the content is in.
      -	 * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom.
      -	 *
      -	 * @param {string} type Cleanup event type.
      -	 * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element.
      -	 * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup.
      -	 * @return New content or the input content depending on action.
      -	 * @type string
      -	 */
      -	cleanup : function(type, content, inst) {
      -		return content;
      -	},
      -
      -	// Private plugin internal methods
      -
      -	/**
      -	 * This is just a internal plugin method, prefix all internal methods with a _ character.
      -	 * The prefix is needed so they doesn't collide with future TinyMCE callback functions.
      -	 *
      -	 * @param {string} a Some arg1.
      -	 * @param {string} b Some arg2.
      -	 * @return Some return.
      -	 * @type string
      -	 */
      -	_someInternalFunction : function(a, b) {
      -		return 1;
      -	}
      -};
      -
      -// Adds the plugin class to the list of available TinyMCE plugins
      -tinyMCE.addPlugin("someplugin", TinyMCE_SomePluginPlugin);
      -
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/customization_themes.html 4.6-complete/mambots/editors/tinymce/docs/customization_themes.html --- 4.6rc2/mambots/editors/tinymce/docs/customization_themes.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/customization_themes.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,262 +0,0 @@ - - - -Customization - Creating a theme - - - - -
      -

      Customization - Creating a theme

      -
      - -
      -

      Creating your own Themes

      -

      -Creating you own themes for the TinyMCE application is fairly easy if you know the basics of HTML, CSS and Javascript. The most easy way is to copy the "simple" or the "advanced" template and rename it as your own name to for example "mytheme". After you copy the template you need to change the red sections marked below to "mytheme" this is needed so that themes don't overlap in other words it gives the theme a unique name. Then just alter the HTML code as you see fit but notice some elements needs to be there so check the docs below on each function also remember that your custom themes needs to be located in tiny_mce's "themes" directory. If you want you may add theme specific options/settings but remember to namespace them in the following format "theme_<your theme>_<option>". -

      -
      -

      Theme directory structure

      -

      - - - - - - - - - - - - -
      File/Directory - Description -
      cssTheme specific CSS files
      docsTheme specific documentation
      imagesTheme specific images
      jscriptsTheme specific jscripts for HTML dialogs
      langsTheme specific language files
      editor_template.jsEditor theme template file (compressed).
      editor_template_src.jsEditor theme template file (source).
      somedialog.htmTheme specific dialog HTML file.
      -

      -
      -

      Theme example source

      -

      -The example below shows a simple empty theme and all possible callbacks. -

      -

      -

      -
      -var TinyMCE_SomeNameTheme = {
      -	/**
      -	 * Returns information about the theme as a name/value array.
      -	 * The current keys are longname, author, authorurl, infourl and version.
      -	 *
      -	 * @returns Name/value array containing information about the theme.
      -	 * @type Array 
      -	 */
      -	getInfo : function() {
      -		return {
      -			longname : 'Your Theme',
      -			author : 'Your name',
      -			authorurl : 'http://www.yoursite.com',
      -			infourl : 'http://www.yoursite.com/docs/template.html',
      -			version : "1.0"
      -		};
      -	},
      -
      -	/**
      -	 * Gets executed when a TinyMCE editor instance is initialized.
      -	 *
      -	 * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. 
      -	 */
      -	initInstance : function(inst) {
      -		// You can take out theme specific parameters
      -		alert("Initialization parameter:" + tinyMCE.getParam("somename_someparam", false));
      -
      -		// Register custom keyboard shortcut
      -		inst.addShortcut('ctrl', 't', 'lang_somename_desc', 'mceSomeCommand');
      -	},
      -
      -	/**
      -	 * Returns the HTML code for a specific control or empty string if this theme doesn't have that control.
      -	 * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface.
      -	 * The variable {$editor_id} will be replaced with the current editor instance id and {$themeurl} will be replaced
      -	 * with the URL of the theme. Language variables such as {$lang_somekey} will also be replaced with contents from
      -	 * the language packs.
      -	 *
      -	 * @param {string} cn Editor control/button name to get HTML for.
      -	 * @return HTML code for a specific control or empty string.
      -	 * @type string
      -	 */
      -	getControlHTML : function(cn) {
      -		switch (cn) {
      -			case "SomeControl":
      -				return tinyMCE.getButtonHTML(cn, 'lang_sometheme_button_desc', '{$themeurl}/images/someimage.gif', 'mceSomeCommand');
      -		}
      -
      -		return "";
      -	},
      -
      -	/**
      -	 * Returns the HTML code that should be inserted for a specific editor instance.
      -	 * This function should return a name/value array with three items html, delta_width, delta_height.
      -	 * The html item should contain the HTML code to insert as a editor instance.
      -	 * The variable {$editor_id} will be replaced with the current editor instance id and {$themeurl} will be replaced
      -	 * with the URL of the theme. Language variables such as {$lang_somekey} will also be replaced with contents from
      -	 * the language packs. Any element with the id {$editor_id} will be replaced with the editor iframe element.
      -	 * The {$width} and {$height} variables will be replaced with the editors outside dimension values.
      -	 * The delta_width/height is the relative width/height in pixels to add or remove from the iframe dimensions.
      -	 *
      -	 * @param {Array} settings Name/Value array instance settings.
      -	 * @param {string} editor_id TinMYCE editor control instance id.
      -	 * @return Name/Value array of editor template data.
      -	 * @type Array
      -	 */
      -	getEditorTemplate : function(settings, editor_id) {
      -		var html = "";
      -
      -		// Build toolbar and editor instance
      -		html += "..";
      -
      -		return {
      -			html : html,
      -			delta_width : 0,
      -			delta_height : 0
      -		};
      -	},
      -
      -	/**
      -	 * Executes a specific command, this function handles theme commands.
      -	 *
      -	 * @param {string} editor_id TinyMCE editor instance id that issued the command.
      -	 * @param {HTMLElement} element Body or root element for the editor instance.
      -	 * @param {string} command Command name to be executed.
      -	 * @param {string} user_interface True/false if a user interface should be presented.
      -	 * @param {mixed} value Custom value argument, can be anything.
      -	 * @return true/false if the command was executed by this theme or not.
      -	 * @type
      -	 */
      -	execCommand : function(editor_id, element, command, user_interface, value) {
      -		// Handle commands
      -		switch (command) {
      -			// Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
      -			case "mceSomeCommand":
      -				// Do your custom command logic here.
      -
      -				return true;
      -		}
      -
      -		// Pass to next handler in chain
      -		return false;
      -	},
      -
      -	/**
      -	 * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable
      -	 * button controls depending on where the user are and what they have selected. This method gets executed
      -	 * alot and should be as performance tuned as possible.
      -	 *
      -	 * @param {string} editor_id TinyMCE editor instance id that was changed.
      -	 * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree.
      -	 * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled.
      -	 * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled.
      -	 * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables.
      -	 * @param {boolean} any_selection Is there any selection at all or is there only a cursor.
      -	 */
      -	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
      -	},
      -
      -	/**
      -	 * Gets called when a TinyMCE editor instance gets filled with content on startup.
      -	 *
      -	 * @param {string} editor_id TinyMCE editor instance id that was filled with content.
      -	 * @param {HTMLElement} body HTML body element of editor instance.
      -	 * @param {HTMLDocument} doc HTML document instance.
      -	 */
      -	setupContent : function(editor_id, body, doc) {
      -	},
      -
      -	/**
      -	 * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is
      -	 * added.
      -	 *
      -	 * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified.
      -	 */
      -	onChange : function(inst) {
      -	},
      -
      -	/**
      -	 * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE
      -	 * doesn't listen on all types of events so custom event handling may be required for
      -	 * some purposes.
      -	 *
      -	 * @param {Event} e HTML editor event reference.
      -	 * @return true - pass to next handler in chain, false - stop chain execution
      -	 * @type boolean
      -	 */
      -	handleEvent : function(e) {
      -		return true;
      -	},
      -
      -	/**
      -	 * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance.
      -	 * The type parameter contains what type of event that was performed and what format the content is in.
      -	 * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom.
      -	 *
      -	 * @param {string} type Cleanup event type.
      -	 * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element.
      -	 * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup.
      -	 * @return New content or the input content depending on action.
      -	 * @type string
      -	 */
      -	cleanup : function(type, content, inst) {
      -		return content;
      -	},
      -
      -	// Private theme internal methods
      -
      -	/**
      -	 * This is just a internal theme method, prefix all internal methods with a _ character.
      -	 * The prefix is needed so they doesn't collide with future TinyMCE callback functions.
      -	 *
      -	 * @param {string} a Some arg1.
      -	 * @param {string} b Some arg2.
      -	 * @return Some return.
      -	 * @type string
      -	 */
      -	_someInternalFunction : function(a, b) {
      -		return 1;
      -	}
      -};
      -
      -// Adds the theme class to the list of available TinyMCE themes
      -tinyMCE.addTheme("sometheme", TinyMCE_SomeThemeTheme);
      -
      -
      -

      -
      - -

      Creating popup HTML files

      -

      -When creating a popup you need to include the "tiny_mce_popup.js" this enables you to retrive the tinyMCE global instance in all popup windows. All variables and language definitions gets replaced in the page when it loads. So language variables such as {$lang_something} can be places in the HTML code, if you need to get a language string in JavaScript simply use the tinyMCE.getLang function. -

      -

      Example of simple popup file:

      -
      -
      -<html>
      -<head>
      -<title>{$lang_theme_sample_title}</title>
      -<script language="javascript" src="../../tiny_mce_popup.js"></script>
      -<script language="javascript">
      -     // getWindowArg returns any arguments passed to the window
      -     alert(tinyMCE.getWindowArg('some_arg'));
      -</script>
      -<body>
      -     <strong>{$lang_theme_sample_desc}</strong>
      -</body>
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/faq.html 4.6-complete/mambots/editors/tinymce/docs/faq.html --- 4.6rc2/mambots/editors/tinymce/docs/faq.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/faq.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,220 +0,0 @@ - - - -Frequently Asked Questions - - - - -
      -

      Frequently Asked Questions

      -
      - -
      -

      Here are some common answers to common questions. If you need more help you can always visit the TinyMCE Forum on the TinyMCE web site.

      -

      -

      -

      - -
      - - -

      TinyMCE is broken, what should I do?

      -
      -

      There are a few things you should check before posting questions about your problem at the forum or sourceforge.

      -

      -

        -
      • Does TinyMCE work on the TinyMCE website. Then you know that TinyMCE works with your browser.
      • -
      • Try to disable any other JavaScripts on the page, some scripts interfere with internal functions that TinyMCE uses. Those scripts are probably poorly written.
      • -
      • Check that you havn't missed removing the last , character in your initialization code and that all the other rows have a trailing , character.
      • -
      • Verify that the path/URL to TinyMCE is correct, you can use the excellent tool Fiddler for this and other HTTP debugging.
      • -
      • Do not cross domain load TinyMCE or any other script unless you really really must, since this will invoke various browser security features. In other words, try placing everything on the same server.
      • -
      • Don't place textareas within paragraph elements since this is not valid HTML and it will break MSIE and TinyMCE.
      • -
      -

      -
      - -
      - - -

      Why is my paths incorrect, I want absolute/relative URLs?

      -
      -

      - These are the diffrent configuration scenarios for URLs within TinyMCE: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      OutputConfigDescription
      http://www.site.com/path1/path2/file.htm will be converted to path2/file.htm -relative_urls : true,
      -document_base_url : "http://www.site.com/path1/"
      -
      This will convert all URLs within the same domain to relative URLs.
      The URLs will be relative from the document_base_url.
      path2/file.htm will be converted to /path1/path2/file.htm -relative_urls : false,
      -remove_script_host : true,
      -document_base_url : "http://www.site.com/path1/"
      -
      This will convert all relative URLs to absolute URLs.
      The URLs will be absolute based on the document_base_url.
      path2/file.htm will be converted to http://www.site.com/path1/path2/file.htm -relative_urls : false,
      -remove_script_host : false,
      -document_base_url : "http://www.site.com/path1/"
      -
      This will convert all relative URLs to absolute URLs.
      The URLs will be absolute based on the document_base_url.
      path2/file.htm or http://www.site.com/path1/path2/file.htm will not be converted at all. -convert_urls : false
      -
      This option will preserve the URLs as they are in a separate attribute while editing, since browsers tend to auto convert URLs.
      -

      -
      - -
      - - -

      Why does TinyMCE strip aways attributes or tags from my source?

      -
      -

      You need to check out the "valid_elements" and "extended_valid_elements" option in the configuration. By default, TinyMCE only allows certain tags and attributes. TinyMCE also tries to follow the XHTML specification as much as possible (and so should you), this can cause some unexpected source changes, there are however configuration options to battle this issue, study the configuration options in details.

      -
      - -
      - - -

      How do I change the default font size/face color of the editor?

      -
      -

      - We recommend that you have a look at the content_css option, this enables you to switch the CSS file TinyMCE uses for it's editing area with a file with your CSS rules for font size and so forth. -

      -
      - -
      - - -

      How do I remove/add buttons/controls to TinyMCE?

      -
      -

      - There are quite a few options for this but a reference of all available buttons/control names can be found in the button/control reference. -

      -
      - -
      - - -

      Why does my HTML output include lots of \" like <a href=\"mylink.htm\">link</a>?

      -
      -

      This is probably because you are using PHP and it has a feature that's called magic quotes that is enabled by default. You can read more about this at the PHP website or use the stripslashes function.

      -
      - -
      - - -

      TinyMCE takes ages to load, is there a way to make it load quicker?

      -
      -

      - If you use PHP on your server you can use tiny_mce_gzip.php instead of tiny_mce.js in page script call. This PHP file bundles all .js files together into two HTTP requests instead of one for each plugin, language file and theme and it also GZip compresses these files. -

      -
      - -
      - - -

      TinyMCE stops working when placed in tabs or hidden divs?

      -
      -

      Since Gecko based browsers Mozilla/Firefox has a bug where it looses designMode on iframes that are hidden a special option is needed that re-enables the design mode when reappearing after being hidden. Enable this option to resolve the issue: "auto_reset_designmode".

      -
      - -
      - - -

      Can I use TinyMCE in my commercial application?

      -
      -

      Yes you can, the LGPL license is a Free Software License. You can read the whole license here or visit Free Software Foundation web site here

      -
      - -
      - - -

      Are there any restrictions to using TinyMCE in my commercial application?

      -
      -

      - Yes, all copyright notices must be intact. Moxiecode Systems are still the copyright holders of the source code, so you can not use the code for other applications. Any modifications or add-ons you make to the source has to be contributes back to the TinyMCE community. -

      -

      - If you start to make a lot of revenue from using TinyMCE, please remember the time and dedication that has been put into this by other developers, respect this and give credit to those who deserve it. -

      -
      - -
      - - -

      I don't like LGPL, is there a commercial license available for me?

      -
      -

      - Yes, we can draw up a license for you that enables you to remove copyright restrictions or anything else you would like to have in this license agreement. Contact us through email, sales (at) moxiecode (dot) com. -

      -
      - -
      - - -

      Do you provide support?

      -
      -

      - We do not provide any non-commercial support outside the forum on the TinyMCE web site. If you require commercial support, contact us by email, sales (at) moxiecode (dot) com. -

      -
      - -
      - - -

      Who made this software?

      -
      -

      - The author of TinyMCE is Moxiecode Systems, parts of code has also been contributed by others, here are the credits list. -

      -
      -
      - - - - - Binary files 4.6rc2/mambots/editors/tinymce/docs/images/moxiecode.gif and 4.6-complete/mambots/editors/tinymce/docs/images/moxiecode.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/docs/index.html 4.6-complete/mambots/editors/tinymce/docs/index.html --- 4.6rc2/mambots/editors/tinymce/docs/index.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/index.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,44 +0,0 @@ - - - -TinyMCE Documentation - Index - - - - -
      -

      TinyMCE Documentation

      -
      - - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/installation_example_00.html 4.6-complete/mambots/editors/tinymce/docs/installation_example_00.html --- 4.6rc2/mambots/editors/tinymce/docs/installation_example_00.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/installation_example_00.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,35 +0,0 @@ - - - -Installation Example 00 - - - - - - -
      -

      Installation example 00

      -
      - -
      -

      Example

      -
      - -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/installation_example_01.html 4.6-complete/mambots/editors/tinymce/docs/installation_example_01.html --- 4.6rc2/mambots/editors/tinymce/docs/installation_example_01.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/installation_example_01.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,36 +0,0 @@ - - - -Installation Example 01 - - - - - - -
      -

      Installation example 01

      -
      - -
      -

      Example

      -

      Open this page with "View source" or similar to see how the configuration is made.

      -
      - -
      -
      - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/installation_example_02.html 4.6-complete/mambots/editors/tinymce/docs/installation_example_02.html --- 4.6rc2/mambots/editors/tinymce/docs/installation_example_02.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/installation_example_02.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,52 +0,0 @@ - - - -Installation Example 02 - - - - - - -
      -

      Installation example 02

      -
      - -
      -

      Example

      -

      Open this page with "View source" or similar to see how the configuration is made.

      -
      - -
      -
      - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/installation_example_03.html 4.6-complete/mambots/editors/tinymce/docs/installation_example_03.html --- 4.6rc2/mambots/editors/tinymce/docs/installation_example_03.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/installation_example_03.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,43 +0,0 @@ - - - -Installation Example 02 - - - - - - -
      -

      Installation example 02

      -
      - -
      -

      Example

      -

      Open this page with "View source" or similar to see how the configuration is made.

      -
      - -
      -
      - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/installing.html 4.6-complete/mambots/editors/tinymce/docs/installing.html --- 4.6rc2/mambots/editors/tinymce/docs/installing.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/installing.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,121 +0,0 @@ - - - -Installation instructions - - - - -
      -

      Installation instructions

      -
      - -
      -

      Installing TinyMCE is very simple, follow the instructions here. We give a few examples of to integrate TinyMCE, also look at the extensive options for configuration.

      - -
      - -

      Requirements

      -
      -

      TinyMCE has no direct requirements except for browser compatibility and of course JavaScript needs to be turned on. There is NO backend code distributed with TinyMCE. -

      -
      - -
      - -

      Downloading

      -
      -

      For download instructions check our web site.

      -
      - -
      - -

      Extracting the archives

      -
      -

      On windows you could use WinZip or something similar. And on other operating systems such as Linux you simply extract the archive with the tar command. You can find a example on how to extract the archived file on Linux below.

      -

      - You should extract TinyMCE in your wwwroot or site domain root folder -

      -

      Extract example using a shell:

      -
      -
      -$ cd wwwroot
      -$ gzip -d tinymce_1_44.tar.gz
      -$ tar xvf tinymce_1_44.tar
      -
      -
      -

      -

      A folder structure looking like this is created:

      -
      -
      -/tinymce/
      -/tinymce/docs/
      -/tinymce/docs/zh_cn/
      -/tinymce/examples/
      -/tinymce/examples/zh_cn/
      -/tinymce/jscripts/
      -/tinymce/jscripts/tiny_mce/
      -/tinymce/jscripts/tiny_mce/langs/
      -/tinymce/jscripts/tiny_mce/plugins/
      -/tinymce/jscripts/tiny_mce/plugins/<plugin folders>
      -/tinymce/jscripts/tiny_mce/themes/
      -/tinymce/jscripts/tiny_mce/themes/advanced/
      -/tinymce/jscripts/tiny_mce/themes/default/
      -/tinymce/jscripts/tiny_mce/themes/simple/
      -
      -
      -

      -
      - -
      - -

      Making changes on your web site

      -
      -

      Once you have extracted the archive you will need to edit the pages to include the configuration and javascript for TinyMCE. Please note that you should probably only include the TinyMCE javascript on the pages that need it, not all the pages of the web site. Remember to change the URL to the .js below to match your installation path.

      -

      -

      The most basic page integration (converts all textarea elements into editors):

      -
      -
      -<html>
      -<head>
      -<title>TinyMCE Test</title>
      -<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
      -<script language="javascript" type="text/javascript">
      -tinyMCE.init({
      -	mode : "textareas"
      -});
      -</script>
      -</head>
      -<body>
      -<form method="post">
      -	<textarea name="content" cols="50" rows="15">This is some content that will be editable with TinyMCE.</textarea>
      -</form>
      -</body>
      -</html>
      -
      -
      -

      -

      - Here are a few different example of how you could integrate TinyMCE. -

      -

      -

      -

      -

      - If you have any problems, you should check the forum on the TinyMCE web site.

      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/license.html 4.6-complete/mambots/editors/tinymce/docs/license.html --- 4.6rc2/mambots/editors/tinymce/docs/license.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/license.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,465 +0,0 @@ - - - -TinyMCE License (LGPL) - - - - -
      -

      TinyMCE License (LGPL)

      -
      - -
      -

      -Visit the FAQ for general answers surrounding TinyMCE. Or visit http://www.fsf.org for more information about Open-Source licenses. -

      -
      -		  GNU LIBRARY GENERAL PUBLIC LICENSE
      -		       Version 2, June 1991
      -
      - Copyright (C) 1991 Free Software Foundation, Inc.
      - 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
      - Everyone is permitted to copy and distribute verbatim copies
      - of this license document, but changing it is not allowed.
      -
      -[This is the first released version of the library GPL.  It is
      - numbered 2 because it goes with version 2 of the ordinary GPL.]
      -
      -			    Preamble
      -
      -  The licenses for most software are designed to take away your
      -freedom to share and change it.  By contrast, the GNU General Public
      -Licenses are intended to guarantee your freedom to share and change
      -free software--to make sure the software is free for all its users.
      -
      -  This license, the Library General Public License, applies to some
      -specially designated Free Software Foundation software, and to any
      -other libraries whose authors decide to use it.  You can use it for
      -your libraries, too.
      -
      -  When we speak of free software, we are referring to freedom, not
      -price.  Our General Public Licenses are designed to make sure that you
      -have the freedom to distribute copies of free software (and charge for
      -this service if you wish), that you receive source code or can get it
      -if you want it, that you can change the software or use pieces of it
      -in new free programs; and that you know you can do these things.
      -
      -  To protect your rights, we need to make restrictions that forbid
      -anyone to deny you these rights or to ask you to surrender the rights.
      -These restrictions translate to certain responsibilities for you if
      -you distribute copies of the library, or if you modify it.
      -
      -  For example, if you distribute copies of the library, whether gratis
      -or for a fee, you must give the recipients all the rights that we gave
      -you.  You must make sure that they, too, receive or can get the source
      -code.  If you link a program with the library, you must provide
      -complete object files to the recipients so that they can relink them
      -with the library, after making changes to the library and recompiling
      -it.  And you must show them these terms so they know their rights.
      -
      -  Our method of protecting your rights has two steps: (1) copyright
      -the library, and (2) offer you this license which gives you legal
      -permission to copy, distribute and/or modify the library.
      -
      -  Also, for each distributor's protection, we want to make certain
      -that everyone understands that there is no warranty for this free
      -library.  If the library is modified by someone else and passed on, we
      -want its recipients to know that what they have is not the original
      -version, so that any problems introduced by others will not reflect on
      -the original authors' reputations.
      -.
      -  Finally, any free program is threatened constantly by software
      -patents.  We wish to avoid the danger that companies distributing free
      -software will individually obtain patent licenses, thus in effect
      -transforming the program into proprietary software.  To prevent this,
      -we have made it clear that any patent must be licensed for everyone's
      -free use or not licensed at all.
      -
      -  Most GNU software, including some libraries, is covered by the ordinary
      -GNU General Public License, which was designed for utility programs.  This
      -license, the GNU Library General Public License, applies to certain
      -designated libraries.  This license is quite different from the ordinary
      -one; be sure to read it in full, and don't assume that anything in it is
      -the same as in the ordinary license.
      -
      -  The reason we have a separate public license for some libraries is that
      -they blur the distinction we usually make between modifying or adding to a
      -program and simply using it.  Linking a program with a library, without
      -changing the library, is in some sense simply using the library, and is
      -analogous to running a utility program or application program.  However, in
      -a textual and legal sense, the linked executable is a combined work, a
      -derivative of the original library, and the ordinary General Public License
      -treats it as such.
      -
      -  Because of this blurred distinction, using the ordinary General
      -Public License for libraries did not effectively promote software
      -sharing, because most developers did not use the libraries.  We
      -concluded that weaker conditions might promote sharing better.
      -
      -  However, unrestricted linking of non-free programs would deprive the
      -users of those programs of all benefit from the free status of the
      -libraries themselves.  This Library General Public License is intended to
      -permit developers of non-free programs to use free libraries, while
      -preserving your freedom as a user of such programs to change the free
      -libraries that are incorporated in them.  (We have not seen how to achieve
      -this as regards changes in header files, but we have achieved it as regards
      -changes in the actual functions of the Library.)  The hope is that this
      -will lead to faster development of free libraries.
      -
      -  The precise terms and conditions for copying, distribution and
      -modification follow.  Pay close attention to the difference between a
      -"work based on the library" and a "work that uses the library".  The
      -former contains code derived from the library, while the latter only
      -works together with the library.
      -
      -  Note that it is possible for a library to be covered by the ordinary
      -General Public License rather than by this special one.
      -.
      -		  GNU LIBRARY GENERAL PUBLIC LICENSE
      -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
      -
      -  0. This License Agreement applies to any software library which
      -contains a notice placed by the copyright holder or other authorized
      -party saying it may be distributed under the terms of this Library
      -General Public License (also called "this License").  Each licensee is
      -addressed as "you".
      -
      -  A "library" means a collection of software functions and/or data
      -prepared so as to be conveniently linked with application programs
      -(which use some of those functions and data) to form executables.
      -
      -  The "Library", below, refers to any such software library or work
      -which has been distributed under these terms.  A "work based on the
      -Library" means either the Library or any derivative work under
      -copyright law: that is to say, a work containing the Library or a
      -portion of it, either verbatim or with modifications and/or translated
      -straightforwardly into another language.  (Hereinafter, translation is
      -included without limitation in the term "modification".)
      -
      -  "Source code" for a work means the preferred form of the work for
      -making modifications to it.  For a library, complete source code means
      -all the source code for all modules it contains, plus any associated
      -interface definition files, plus the scripts used to control compilation
      -and installation of the library.
      -
      -  Activities other than copying, distribution and modification are not
      -covered by this License; they are outside its scope.  The act of
      -running a program using the Library is not restricted, and output from
      -such a program is covered only if its contents constitute a work based
      -on the Library (independent of the use of the Library in a tool for
      -writing it).  Whether that is true depends on what the Library does
      -and what the program that uses the Library does.
      -  
      -  1. You may copy and distribute verbatim copies of the Library's
      -complete source code as you receive it, in any medium, provided that
      -you conspicuously and appropriately publish on each copy an
      -appropriate copyright notice and disclaimer of warranty; keep intact
      -all the notices that refer to this License and to the absence of any
      -warranty; and distribute a copy of this License along with the
      -Library.
      -
      -  You may charge a fee for the physical act of transferring a copy,
      -and you may at your option offer warranty protection in exchange for a
      -fee.
      -.
      -  2. You may modify your copy or copies of the Library or any portion
      -of it, thus forming a work based on the Library, and copy and
      -distribute such modifications or work under the terms of Section 1
      -above, provided that you also meet all of these conditions:
      -
      -    a) The modified work must itself be a software library.
      -
      -    b) You must cause the files modified to carry prominent notices
      -    stating that you changed the files and the date of any change.
      -
      -    c) You must cause the whole of the work to be licensed at no
      -    charge to all third parties under the terms of this License.
      -
      -    d) If a facility in the modified Library refers to a function or a
      -    table of data to be supplied by an application program that uses
      -    the facility, other than as an argument passed when the facility
      -    is invoked, then you must make a good faith effort to ensure that,
      -    in the event an application does not supply such function or
      -    table, the facility still operates, and performs whatever part of
      -    its purpose remains meaningful.
      -
      -    (For example, a function in a library to compute square roots has
      -    a purpose that is entirely well-defined independent of the
      -    application.  Therefore, Subsection 2d requires that any
      -    application-supplied function or table used by this function must
      -    be optional: if the application does not supply it, the square
      -    root function must still compute square roots.)
      -
      -These requirements apply to the modified work as a whole.  If
      -identifiable sections of that work are not derived from the Library,
      -and can be reasonably considered independent and separate works in
      -themselves, then this License, and its terms, do not apply to those
      -sections when you distribute them as separate works.  But when you
      -distribute the same sections as part of a whole which is a work based
      -on the Library, the distribution of the whole must be on the terms of
      -this License, whose permissions for other licensees extend to the
      -entire whole, and thus to each and every part regardless of who wrote
      -it.
      -
      -Thus, it is not the intent of this section to claim rights or contest
      -your rights to work written entirely by you; rather, the intent is to
      -exercise the right to control the distribution of derivative or
      -collective works based on the Library.
      -
      -In addition, mere aggregation of another work not based on the Library
      -with the Library (or with a work based on the Library) on a volume of
      -a storage or distribution medium does not bring the other work under
      -the scope of this License.
      -
      -  3. You may opt to apply the terms of the ordinary GNU General Public
      -License instead of this License to a given copy of the Library.  To do
      -this, you must alter all the notices that refer to this License, so
      -that they refer to the ordinary GNU General Public License, version 2,
      -instead of to this License.  (If a newer version than version 2 of the
      -ordinary GNU General Public License has appeared, then you can specify
      -that version instead if you wish.)  Do not make any other change in
      -these notices.
      -.
      -  Once this change is made in a given copy, it is irreversible for
      -that copy, so the ordinary GNU General Public License applies to all
      -subsequent copies and derivative works made from that copy.
      -
      -  This option is useful when you wish to copy part of the code of
      -the Library into a program that is not a library.
      -
      -  4. You may copy and distribute the Library (or a portion or
      -derivative of it, under Section 2) in object code or executable form
      -under the terms of Sections 1 and 2 above provided that you accompany
      -it with the complete corresponding machine-readable source code, which
      -must be distributed under the terms of Sections 1 and 2 above on a
      -medium customarily used for software interchange.
      -
      -  If distribution of object code is made by offering access to copy
      -from a designated place, then offering equivalent access to copy the
      -source code from the same place satisfies the requirement to
      -distribute the source code, even though third parties are not
      -compelled to copy the source along with the object code.
      -
      -  5. A program that contains no derivative of any portion of the
      -Library, but is designed to work with the Library by being compiled or
      -linked with it, is called a "work that uses the Library".  Such a
      -work, in isolation, is not a derivative work of the Library, and
      -therefore falls outside the scope of this License.
      -
      -  However, linking a "work that uses the Library" with the Library
      -creates an executable that is a derivative of the Library (because it
      -contains portions of the Library), rather than a "work that uses the
      -library".  The executable is therefore covered by this License.
      -Section 6 states terms for distribution of such executables.
      -
      -  When a "work that uses the Library" uses material from a header file
      -that is part of the Library, the object code for the work may be a
      -derivative work of the Library even though the source code is not.
      -Whether this is true is especially significant if the work can be
      -linked without the Library, or if the work is itself a library.  The
      -threshold for this to be true is not precisely defined by law.
      -
      -  If such an object file uses only numerical parameters, data
      -structure layouts and accessors, and small macros and small inline
      -functions (ten lines or less in length), then the use of the object
      -file is unrestricted, regardless of whether it is legally a derivative
      -work.  (Executables containing this object code plus portions of the
      -Library will still fall under Section 6.)
      -
      -  Otherwise, if the work is a derivative of the Library, you may
      -distribute the object code for the work under the terms of Section 6.
      -Any executables containing that work also fall under Section 6,
      -whether or not they are linked directly with the Library itself.
      -.
      -  6. As an exception to the Sections above, you may also compile or
      -link a "work that uses the Library" with the Library to produce a
      -work containing portions of the Library, and distribute that work
      -under terms of your choice, provided that the terms permit
      -modification of the work for the customer's own use and reverse
      -engineering for debugging such modifications.
      -
      -  You must give prominent notice with each copy of the work that the
      -Library is used in it and that the Library and its use are covered by
      -this License.  You must supply a copy of this License.  If the work
      -during execution displays copyright notices, you must include the
      -copyright notice for the Library among them, as well as a reference
      -directing the user to the copy of this License.  Also, you must do one
      -of these things:
      -
      -    a) Accompany the work with the complete corresponding
      -    machine-readable source code for the Library including whatever
      -    changes were used in the work (which must be distributed under
      -    Sections 1 and 2 above); and, if the work is an executable linked
      -    with the Library, with the complete machine-readable "work that
      -    uses the Library", as object code and/or source code, so that the
      -    user can modify the Library and then relink to produce a modified
      -    executable containing the modified Library.  (It is understood
      -    that the user who changes the contents of definitions files in the
      -    Library will not necessarily be able to recompile the application
      -    to use the modified definitions.)
      -
      -    b) Accompany the work with a written offer, valid for at
      -    least three years, to give the same user the materials
      -    specified in Subsection 6a, above, for a charge no more
      -    than the cost of performing this distribution.
      -
      -    c) If distribution of the work is made by offering access to copy
      -    from a designated place, offer equivalent access to copy the above
      -    specified materials from the same place.
      -
      -    d) Verify that the user has already received a copy of these
      -    materials or that you have already sent this user a copy.
      -
      -  For an executable, the required form of the "work that uses the
      -Library" must include any data and utility programs needed for
      -reproducing the executable from it.  However, as a special exception,
      -the source code distributed need not include anything that is normally
      -distributed (in either source or binary form) with the major
      -components (compiler, kernel, and so on) of the operating system on
      -which the executable runs, unless that component itself accompanies
      -the executable.
      -
      -  It may happen that this requirement contradicts the license
      -restrictions of other proprietary libraries that do not normally
      -accompany the operating system.  Such a contradiction means you cannot
      -use both them and the Library together in an executable that you
      -distribute.
      -.
      -  7. You may place library facilities that are a work based on the
      -Library side-by-side in a single library together with other library
      -facilities not covered by this License, and distribute such a combined
      -library, provided that the separate distribution of the work based on
      -the Library and of the other library facilities is otherwise
      -permitted, and provided that you do these two things:
      -
      -    a) Accompany the combined library with a copy of the same work
      -    based on the Library, uncombined with any other library
      -    facilities.  This must be distributed under the terms of the
      -    Sections above.
      -
      -    b) Give prominent notice with the combined library of the fact
      -    that part of it is a work based on the Library, and explaining
      -    where to find the accompanying uncombined form of the same work.
      -
      -  8. You may not copy, modify, sublicense, link with, or distribute
      -the Library except as expressly provided under this License.  Any
      -attempt otherwise to copy, modify, sublicense, link with, or
      -distribute the Library is void, and will automatically terminate your
      -rights under this License.  However, parties who have received copies,
      -or rights, from you under this License will not have their licenses
      -terminated so long as such parties remain in full compliance.
      -
      -  9. You are not required to accept this License, since you have not
      -signed it.  However, nothing else grants you permission to modify or
      -distribute the Library or its derivative works.  These actions are
      -prohibited by law if you do not accept this License.  Therefore, by
      -modifying or distributing the Library (or any work based on the
      -Library), you indicate your acceptance of this License to do so, and
      -all its terms and conditions for copying, distributing or modifying
      -the Library or works based on it.
      -
      -  10. Each time you redistribute the Library (or any work based on the
      -Library), the recipient automatically receives a license from the
      -original licensor to copy, distribute, link with or modify the Library
      -subject to these terms and conditions.  You may not impose any further
      -restrictions on the recipients' exercise of the rights granted herein.
      -You are not responsible for enforcing compliance by third parties to
      -this License.
      -.
      -  11. If, as a consequence of a court judgment or allegation of patent
      -infringement or for any other reason (not limited to patent issues),
      -conditions are imposed on you (whether by court order, agreement or
      -otherwise) that contradict the conditions of this License, they do not
      -excuse you from the conditions of this License.  If you cannot
      -distribute so as to satisfy simultaneously your obligations under this
      -License and any other pertinent obligations, then as a consequence you
      -may not distribute the Library at all.  For example, if a patent
      -license would not permit royalty-free redistribution of the Library by
      -all those who receive copies directly or indirectly through you, then
      -the only way you could satisfy both it and this License would be to
      -refrain entirely from distribution of the Library.
      -
      -If any portion of this section is held invalid or unenforceable under any
      -particular circumstance, the balance of the section is intended to apply,
      -and the section as a whole is intended to apply in other circumstances.
      -
      -It is not the purpose of this section to induce you to infringe any
      -patents or other property right claims or to contest validity of any
      -such claims; this section has the sole purpose of protecting the
      -integrity of the free software distribution system which is
      -implemented by public license practices.  Many people have made
      -generous contributions to the wide range of software distributed
      -through that system in reliance on consistent application of that
      -system; it is up to the author/donor to decide if he or she is willing
      -to distribute software through any other system and a licensee cannot
      -impose that choice.
      -
      -This section is intended to make thoroughly clear what is believed to
      -be a consequence of the rest of this License.
      -
      -  12. If the distribution and/or use of the Library is restricted in
      -certain countries either by patents or by copyrighted interfaces, the
      -original copyright holder who places the Library under this License may add
      -an explicit geographical distribution limitation excluding those countries,
      -so that distribution is permitted only in or among countries not thus
      -excluded.  In such case, this License incorporates the limitation as if
      -written in the body of this License.
      -
      -  13. The Free Software Foundation may publish revised and/or new
      -versions of the Library General Public License from time to time.
      -Such new versions will be similar in spirit to the present version,
      -but may differ in detail to address new problems or concerns.
      -
      -Each version is given a distinguishing version number.  If the Library
      -specifies a version number of this License which applies to it and
      -"any later version", you have the option of following the terms and
      -conditions either of that version or of any later version published by
      -the Free Software Foundation.  If the Library does not specify a
      -license version number, you may choose any version ever published by
      -the Free Software Foundation.
      -.
      -  14. If you wish to incorporate parts of the Library into other free
      -programs whose distribution conditions are incompatible with these,
      -write to the author to ask for permission.  For software which is
      -copyrighted by the Free Software Foundation, write to the Free
      -Software Foundation; we sometimes make exceptions for this.  Our
      -decision will be guided by the two goals of preserving the free status
      -of all derivatives of our free software and of promoting the sharing
      -and reuse of software generally.
      -
      -			    NO WARRANTY
      -
      -  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
      -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
      -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
      -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
      -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
      -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
      -PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
      -LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
      -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
      -
      -  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
      -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
      -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
      -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
      -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
      -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
      -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
      -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
      -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
      -DAMAGES.
      -
      -		     END OF TERMS AND CONDITIONS
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_accessibility_focus.html 4.6-complete/mambots/editors/tinymce/docs/option_accessibility_focus.html --- 4.6rc2/mambots/editors/tinymce/docs/option_accessibility_focus.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_accessibility_focus.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: accessibility_focus - - - - -
      -

      Option: accessibility_focus

      -
      - -
      -

      - If this option is set to true some accessibility focus will available to all buttons, you will be able to tab through them all. If you set this option to false, focus will be placed inside the text area when you tab through the interface. -

      - -
      - -

      Example of usage of the accessibility_focus option:

      -
      -
      -tinyMCE.init({
      -	...
      -	accessibility_focus : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_accessibility_warnings.html 4.6-complete/mambots/editors/tinymce/docs/option_accessibility_warnings.html --- 4.6rc2/mambots/editors/tinymce/docs/option_accessibility_warnings.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_accessibility_warnings.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: accessibility_warnings - - - - -
      -

      Option: accessibility_warnings

      -
      - -
      -

      - If this option is set to true some accessibility warnings will be presented to the user if they miss specifying that information. This option is set to true default, since we should all try to make this world a better place for disabled people. But if you are annoyed with the warnings, set this option to false. -

      - -
      - -

      Example of usage of the accessibility_warnings option:

      -
      -
      -tinyMCE.init({
      -	...
      -	accessibility_warnings : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_add_form_submit_trigger.html 4.6-complete/mambots/editors/tinymce/docs/option_add_form_submit_trigger.html --- 4.6rc2/mambots/editors/tinymce/docs/option_add_form_submit_trigger.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_add_form_submit_trigger.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: add_form_submit_trigger - - - - -
      -

      Option: add_form_submit_trigger

      -
      - -
      -

      - This option enables you to turn on/off the onsubmit event listener. This feature adds a onsubmit event listener on all forms on the page, if a form is submitted a tinyMCE.triggerSave() JavaScript calls gets executed, this function moves HTML content from the editor iframe and to the hidden form element. This option is set to true by default. -

      - -
      - -

      Example of usage of the add_form_submit_trigger option:

      -
      -
      -tinyMCE.init({
      -	...
      -	add_form_submit_trigger : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_add_unload_trigger.html 4.6-complete/mambots/editors/tinymce/docs/option_add_unload_trigger.html --- 4.6rc2/mambots/editors/tinymce/docs/option_add_unload_trigger.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_add_unload_trigger.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: add_unload_trigger - - - - -
      -

      Option: add_unload_trigger

      -
      - -
      -

      - If you set this option to true, page contents will be stored away is the page is unloaded for example is the user navigates away from the page and then navigated back to it by pressing the back button. This option is set to true by default. -

      - -
      - -

      Example of usage of the add_unload_trigger option:

      -
      -
      -tinyMCE.init({
      -	...
      -	add_unload_trigger : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_apply_source_formatting.html 4.6-complete/mambots/editors/tinymce/docs/option_apply_source_formatting.html --- 4.6rc2/mambots/editors/tinymce/docs/option_apply_source_formatting.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_apply_source_formatting.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: apply_source_formatting - - - - -
      -

      Option: apply_source_formatting

      -
      - -
      -

      - This option enables you to tell TinyMCE to apply some source formatting to the output HTML code. This function is disabled by default. -

      - -
      - -

      Example of usage of the apply_source_formatting option:

      -
      -
      -tinyMCE.init({
      -	...
      -	apply_source_formatting : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_ask.html 4.6-complete/mambots/editors/tinymce/docs/option_ask.html --- 4.6rc2/mambots/editors/tinymce/docs/option_ask.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_ask.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: ask - - - - -
      -

      Option: ask

      -
      - -
      -

      - This option enables you to add a confirmation dialog when focusing textareas. This dialog asks if the focused textarea should be converted into a editor instance or not. It will only ask once since it would get annoying otherwice. The default value of this option is "false". -

      - -
      - -

      Example of usage of the ask option:

      -
      -
      -tinyMCE.init({
      -	...
      -	ask : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_auto_focus.html 4.6-complete/mambots/editors/tinymce/docs/option_auto_focus.html --- 4.6rc2/mambots/editors/tinymce/docs/option_auto_focus.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_auto_focus.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: auto_focus - - - - -
      -

      Option: auto_focus

      -
      - -
      -

      - This option enables you to auto focus a editor instance. The value of this option should be a editor instance id. Editor instance ids are specified as "mce_editor_<index>" where index is a value starting from 0. So if there are 3 editor instances on a page these would have the following ids mce_editor_0, mce_editor_1 and mce_editor_2. -

      - -
      - -

      Example of usage of the auto_focus option:

      -
      -
      -tinyMCE.init({
      -	...
      -	auto_focus : "mce_editor_2"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_auto_reset_designmode.html 4.6-complete/mambots/editors/tinymce/docs/option_auto_reset_designmode.html --- 4.6rc2/mambots/editors/tinymce/docs/option_auto_reset_designmode.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_auto_reset_designmode.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: auto_reset_designmode - - - - -
      -

      Option: auto_reset_designmode

      -
      - -
      -

      - This option is very useful if TinyMCE is used in a DHTML tab system or other divs that are hidden and displayed by some JavaScript. Since Mozilla has a bug when using display:none, the designMode state gets lost. To prevent this from happening you should enable this option. The default value of this option is "true". -

      - -
      - -

      Example of usage of the auto_reset_designmode option:

      -
      -
      -tinyMCE.init({
      -	...
      -	auto_reset_designmode : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_auto_resize.html 4.6-complete/mambots/editors/tinymce/docs/option_auto_resize.html --- 4.6rc2/mambots/editors/tinymce/docs/option_auto_resize.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_auto_resize.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: auto_resize - - - - -
      -

      Option: auto_resize

      -
      - -
      -

      - This option enables you to get the TinyMCE editor area to resize to the bounderies of the contents. This option is very experimental and is set to false by default. -

      - -
      - -

      Example of usage of the auto_resize option:

      -
      -
      -tinyMCE.init({
      -	...
      -	auto_resize : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_browsers.html 4.6-complete/mambots/editors/tinymce/docs/option_browsers.html --- 4.6rc2/mambots/editors/tinymce/docs/option_browsers.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_browsers.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: browsers - - - - -
      -

      Option: browsers

      -
      - -
      -

      - This option should contain a comma separated list of supported browsers. This enables you to for example disable the editor while running on Safari. The default value of this option is: msie,gecko,safari,opera and since the support for Safari is very limited a warning message will appear until a better version is released. The possible values of this option is msie, gecko and safari. -

      - -
      - -

      Example of usage of the browsers option:

      -
      -
      -tinyMCE.init({
      -	...
      -	browsers : "msie,gecko,opera"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_button_tile_map.html 4.6-complete/mambots/editors/tinymce/docs/option_button_tile_map.html --- 4.6rc2/mambots/editors/tinymce/docs/option_button_tile_map.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_button_tile_map.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: button_tile_map - - - - -
      -

      Option: button_tile_map

      -
      - -
      -

      - If this option is set to true TinyMCE will use tiled images instead of individual images for most of the editor controls. This produces faster loading time since only one GIF image needs to be loaded instead of a GIF for each individual button. This option is set to false by default since it doesn't work with some DOCTYPE declarations. -

      - -
      - -

      Example of usage of the button_tile_map option:

      -
      -
      -tinyMCE.init({
      -	...
      -	button_tile_map : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_cleanup.html 4.6-complete/mambots/editors/tinymce/docs/option_cleanup.html --- 4.6rc2/mambots/editors/tinymce/docs/option_cleanup.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_cleanup.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: cleanup - - - - -
      -

      Option: cleanup

      -
      - -
      -

      - This option enables you to turn on/off the built in cleanup functionality. TinyMCE is equipped with powerful cleanup functionality that enables you to specify what elements and attributes are allowed and how HTML contents should be generated. This option is set to true by default, but if you want to disable it you may set it to false. Notice: It's not recommended to disable this feature. -

      - -
      - -

      Example of usage of the cleanup option:

      -
      -
      -tinyMCE.init({
      -	...
      -	cleanup : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_cleanup_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_cleanup_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_cleanup_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_cleanup_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,72 +0,0 @@ - - - -Option: cleanup_callback - - - - -
      -

      Option: cleanup_callback

      -
      - -
      -

      - This option enables you to add custom cleanup logic to TinyMCE. This function is called when the cleanup process is executed this process occures when the editor saves/submits content, user hits the cleanup button and when the HTML editor dialog is presented. The format of this function is: customCleanup(type, value). Where type can be "get_from_editor" when the contents is extracted from TinyMCE for example when the user submits the form. The "insert_to_editor" type value gets passed when new contents is inserted into the editor on initialization or when the HTML editor dialog commits new content. The "get_from_editor_dom" value is executed when cleanup process has a valid DOM tree and is extracted from the editor. The "insert_to_editor_dom" gets passed when the editor has a valid DOM tree and contents has been inserted into the editor. The example below illustrated all these types. -

      - -
      - -

      Example of usage of the cleanup_callback option:

      -
      -
      -function myCustomCleanup(type, value) {
      -	switch (type) {
      -		case "get_from_editor":
      -			alert("Value HTML string: " + value);
      -
      -			// Do custom cleanup code here
      -
      -			break;
      -
      -		case "insert_to_editor":
      -			alert("Value HTML string: " + value);
      -
      -			// Do custom cleanup code here
      -
      -			break;
      -
      -		case "get_from_editor_dom":
      -			alert("Value DOM Element " + value);
      -
      -			// Do custom cleanup code here
      -
      -			break;
      -
      -		case "insert_to_editor_dom":
      -			alert("Value DOM Element: " + value);
      -
      -			// Do custom cleanup code here
      -
      -			break;
      -	}
      -
      -	return value;
      -}
      -
      -tinyMCE.init({
      -	...
      -	cleanup_callback : "myCustomCleanup"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_cleanup_on_startup.html 4.6-complete/mambots/editors/tinymce/docs/option_cleanup_on_startup.html --- 4.6rc2/mambots/editors/tinymce/docs/option_cleanup_on_startup.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_cleanup_on_startup.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: cleanup_on_startup - - - - -
      -

      Option: cleanup_on_startup

      -
      - -
      -

      - If you set this option to true, TinyMCE will perform a HTML cleanup call when the editor loads. This option is set to false by default. -

      - -
      - -

      Example of usage of the cleanup_on_startup option:

      -
      -
      -tinyMCE.init({
      -	...
      -	cleanup_on_startup : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_content_css.html 4.6-complete/mambots/editors/tinymce/docs/option_content_css.html --- 4.6rc2/mambots/editors/tinymce/docs/option_content_css.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_content_css.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: content_css - - - - -
      -

      Option: content_css

      -
      - -
      -

      - This option enables you to specify a custom CSS file that extends the theme content CSS. This CSS file is the one used within the editor (the editable area). The default location of this CSS file is within the current theme. This option can also be a comma separated list of URLs. -

      - -
      - -

      Example of usage of the content_css option:

      -
      -
      -tinyMCE.init({
      -	...
      -	content_css : "/mycontent.css"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_convert_fonts_to_spans.html 4.6-complete/mambots/editors/tinymce/docs/option_convert_fonts_to_spans.html --- 4.6rc2/mambots/editors/tinymce/docs/option_convert_fonts_to_spans.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_convert_fonts_to_spans.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: convert_fonts_to_spans - - - - -
      -

      Option: convert_fonts_to_spans

      -
      - -
      -

      If you set this option to true, all TinyMCE will convert all font elements to span elements and generate span elements instead of font elements. This option should be used inorder to get more W3C compatible code, since font elements are deprecated. How sizes gets converted can be controlled by the font_size_classes and font_size_style_values options.

      -

      - More information about this subject can be found in this article: What's wrong with FONT FACE -

      -
      - -

      Example of usage of the convert_fonts_to_spans option:

      -
      -
      -tinyMCE.init({
      -	...
      -	convert_fonts_to_spans : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_convert_newlines_to_brs.html 4.6-complete/mambots/editors/tinymce/docs/option_convert_newlines_to_brs.html --- 4.6rc2/mambots/editors/tinymce/docs/option_convert_newlines_to_brs.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_convert_newlines_to_brs.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: convert_newlines_to_brs - - - - -
      -

      Option: convert_newlines_to_brs

      -
      - -
      -

      - If you set this option to true newline characters codes gets converted in to br elements. This option is set to false by default. -

      - -
      - -

      Example of usage of the convert_newlines_to_brs option:

      -
      -
      -tinyMCE.init({
      -	...
      -	convert_newlines_to_brs : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_convert_urls.html 4.6-complete/mambots/editors/tinymce/docs/option_convert_urls.html --- 4.6rc2/mambots/editors/tinymce/docs/option_convert_urls.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_convert_urls.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,36 +0,0 @@ - - - -Option: convert_urls - - - - -
      -

      Option: convert_urls

      -
      - -
      -

      This option enables you to control if TinyMCE is to be clever and restore urls to their original values. URLs are auto converted/messed up by default since the built in browser logic works this way, there is no way to get the real URL unless you store it away. If you set this option to false it will try to keep these URLs intact. This option is set to true by default that means URLs will be forced absolute or relative depending on the state of relative_urls.

      - -
      - -

      Example of usage of the convert_urls option:

      -
      -
      -tinyMCE.init({
      -	...
      -	convert_urls : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_custom_shortcuts.html 4.6-complete/mambots/editors/tinymce/docs/option_custom_shortcuts.html --- 4.6rc2/mambots/editors/tinymce/docs/option_custom_shortcuts.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_custom_shortcuts.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,39 +0,0 @@ - - - -Option: custom_shortcuts - - - - -
      -

      Option: custom_shortcuts

      -
      - -
      -

      - This option enables you to disable/enable the custom keyboard shortcuts plugins and themes may register. The value of this - option is set to true by default. -

      - -
      - -

      Example of usage of the custom_shortcuts option:

      -
      -
      -tinyMCE.init({
      -	...
      -	custom_shortcuts : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_custom_undo_redo.html 4.6-complete/mambots/editors/tinymce/docs/option_custom_undo_redo.html --- 4.6rc2/mambots/editors/tinymce/docs/option_custom_undo_redo.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_custom_undo_redo.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: custom_undo_redo - - - - -
      -

      Option: custom_undo_redo

      -
      - -
      -

      - This option is a true/false option that enables you to disable/enable the custom undo/redo logic within TinyMCE. This option is enabled by default, if you disable it some operations may not be undoable. -

      - -
      - -

      Example of usage of the custom_undo_redo option:

      -
      -
      -tinyMCE.init({
      -	...
      -	custom_undo_redo : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_custom_undo_redo_keyboard_shortcuts.html 4.6-complete/mambots/editors/tinymce/docs/option_custom_undo_redo_keyboard_shortcuts.html --- 4.6rc2/mambots/editors/tinymce/docs/option_custom_undo_redo_keyboard_shortcuts.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_custom_undo_redo_keyboard_shortcuts.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: custom_undo_redo_keyboard_shortcuts - - - - -
      -

      Option: custom_undo_redo_keyboard_shortcuts

      -
      - -
      -

      - This option enables you to disable/enable the usage of keyboard shortcuts for undo/redo. This feature is enabled by default. Keyboard shortcurs are Ctrl+Z for undo, Ctrl+Y for redo. -

      - -
      - -

      Example of usage of the custom_undo_redo_keyboard_shortcuts option:

      -
      -
      -tinyMCE.init({
      -	...
      -	custom_undo_redo_keyboard_shortcuts : "false"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_custom_undo_redo_levels.html 4.6-complete/mambots/editors/tinymce/docs/option_custom_undo_redo_levels.html --- 4.6rc2/mambots/editors/tinymce/docs/option_custom_undo_redo_levels.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_custom_undo_redo_levels.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: custom_undo_redo_levels - - - - -
      -

      Option: custom_undo_redo_levels

      -
      - -
      -

      - This option should contain the number of undo levels to keep in memory. This is set to -1 by default and such a value tells TinyMCE to use a unlimited number of undo levels. But this steals lots of memory so for low end systems a value of 10 may be better. -

      - -
      - -

      Example of usage of the custom_undo_redo_levels option:

      -
      -
      -tinyMCE.init({
      -	...
      -	custom_undo_redo_levels : 10
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_custom_undo_redo_restore_selection.html 4.6-complete/mambots/editors/tinymce/docs/option_custom_undo_redo_restore_selection.html --- 4.6rc2/mambots/editors/tinymce/docs/option_custom_undo_redo_restore_selection.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_custom_undo_redo_restore_selection.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: custom_undo_redo_restore_selection - - - - -
      -

      Option: custom_undo_redo_restore_selection

      -
      - -
      -

      - This option gives you the possibility to turn on/off the restoration of the cursor/selection when a undo/redo event occurs. This option is enabled by default. -

      - -
      - -

      Example of usage of the custom_undo_redo_restore_selection option:

      -
      -
      -tinyMCE.init({
      -	...
      -	custom_undo_redo_restore_selection : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_debug.html 4.6-complete/mambots/editors/tinymce/docs/option_debug.html --- 4.6rc2/mambots/editors/tinymce/docs/option_debug.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_debug.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: debug - - - - -
      -

      Option: debug

      -
      - -
      -

      - If the value of this option is set to "true" some debugging information will appear such as a list of what CSS files are used. The default value of this option is false. -

      - -
      - -

      Example of usage of the debug option:

      -
      -
      -tinyMCE.init({
      -	...
      -	debug : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_dialog_type.html 4.6-complete/mambots/editors/tinymce/docs/option_dialog_type.html --- 4.6rc2/mambots/editors/tinymce/docs/option_dialog_type.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_dialog_type.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: dialog_type - - - - -
      -

      Option: dialog_type

      -
      - -
      -

      - This option enables you to specify how dialogs/popups should be opened, possible values are "window" and "modal", where the window option opens a normal window and the dialog option opens a modal dialog. This option is set to "window" by default. -

      - -
      - -

      Example of usage of the dialog_type option:

      -
      -
      -tinyMCE.init({
      -	...
      -	dialog_type : "modal"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_directionality.html 4.6-complete/mambots/editors/tinymce/docs/option_directionality.html --- 4.6rc2/mambots/editors/tinymce/docs/option_directionality.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_directionality.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: directionality - - - - -
      -

      Option: directionality

      -
      - -
      -

      - This option specifies the default writing direction, some languages writes from right to left instead of left to right. The default value of this option is ":ltr" but if you want to use from right to left mode specify "rtl" instead. -

      - -
      - -

      Example of usage of the directionality option:

      -
      -
      -tinyMCE.init({
      -	...
      -	directionality : "rtl"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_docs_language.html 4.6-complete/mambots/editors/tinymce/docs/option_docs_language.html --- 4.6rc2/mambots/editors/tinymce/docs/option_docs_language.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_docs_language.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: docs_language - - - - -
      -

      Option: docs_language

      -
      - -
      -

      - This option should contain a language code of the editor documentation to use with TinyMCE. These codes are in ISO-639-2 format to see if your language is available check the contents of "tinymce/jscripts/tiny_mce/theme/<theme used>/docs". The default value of this option is the value specified in the "language" option or "en" for English. -

      - -
      - -

      Example of usage of the docs_language option:

      -
      -
      -tinyMCE.init({
      -	...
      -	docs_language : "sv"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_doctype.html 4.6-complete/mambots/editors/tinymce/docs/option_doctype.html --- 4.6rc2/mambots/editors/tinymce/docs/option_doctype.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_doctype.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,35 +0,0 @@ - - - -Option: doctype - - - - -
      -

      Option: doctype

      -
      - -
      -

      This option enables you to specify the doctype that is used while editing content within TinyMCE, this defaults to .

      -
      - -

      Example of usage of the doctype option:

      -
      -
      -tinyMCE.init({
      -	...
      -	doctype : "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_document_base_url.html 4.6-complete/mambots/editors/tinymce/docs/option_document_base_url.html --- 4.6rc2/mambots/editors/tinymce/docs/option_document_base_url.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_document_base_url.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,36 +0,0 @@ - - - -Option: document_base_url - - - - -
      -

      Option: document_base_url

      -
      - -
      -

      This option enables you to specify the URL from where all URLs will be relative to this option is only used when the relative_urls option is set to true. The value of this option is set to the current document by default.

      - -
      - -

      Example of usage of the document_base_url option:

      -
      -
      -tinyMCE.init({
      -	...
      -	document_base_url : "/somedir/somfile.html"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_editor_css.html 4.6-complete/mambots/editors/tinymce/docs/option_editor_css.html --- 4.6rc2/mambots/editors/tinymce/docs/option_editor_css.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_editor_css.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: editor_css - - - - -
      -

      Option: editor_css

      -
      - -
      -

      - This option enables you to specify the CSS to be used for the editor toolbars/user interface of TinyMCE this option is set to a CSS file found in the currently used theme by default. This CSS contains layout information about panels and buttons used by TinyMCE. -

      - -
      - -

      Example of usage of the editor_css option:

      -
      -
      -tinyMCE.init({
      -	...
      -	editor_css : "/myeditor.css"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_editor_deselector.html 4.6-complete/mambots/editors/tinymce/docs/option_editor_deselector.html --- 4.6rc2/mambots/editors/tinymce/docs/option_editor_deselector.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_editor_deselector.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,49 +0,0 @@ - - - -Option: editor_deselector - - - - -
      -

      Option: editor_deselector

      -
      - -
      -

      - This option enables you to specify a CSS class name that will be deselect textareas from being converted into editor instances. If this option isn't set to a value this option will not have any effect and the mode option will choose textareas instead. The default value of this option is "mceNoEditor" so if mceNoEditor is added to the class attribute of a textarea it will be excluded for convertion. -

      - -
      - -

      Example of usage of the editor_deselector option:

      -
      -
      -tinyMCE.init({
      -	...
      -	editor_deselector : "mceNoEditor"
      -});
      -
      -
      - -
      - -

      Example of usage in the HTML:

      -
      -
      -<textarea id="myarea1" class="mceNoEditor">This will be a NOT be a editor.</textarea>
      -
      -<textarea id="myarea2">This will be a editor.</textarea>
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_editor_selector.html 4.6-complete/mambots/editors/tinymce/docs/option_editor_selector.html --- 4.6rc2/mambots/editors/tinymce/docs/option_editor_selector.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_editor_selector.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,49 +0,0 @@ - - - -Option: editor_selector - - - - -
      -

      Option: editor_selector

      -
      - -
      -

      - This option enables you to specify a CSS class name that will be required on the text areas that is to be converted. This enables you to select specific text areas for convertion by adding this CSS class name to the class attribute of the text area. If this option isn't set to a value this option will not have any effect and the mode option will choose textareas instead. If you want all editors to be converted and just specific editors to be excluded check the editor_deselector option. -

      - -
      - -

      Example of usage of the editor_selector option:

      -
      -
      -tinyMCE.init({
      -	...
      -	editor_selector : "mceEditor"
      -});
      -
      -
      - -
      - -

      Example of usage in the HTML:

      -
      -
      -<textarea id="myarea1" class="mceEditor">This will be a editor.</textarea>
      -
      -<textarea id="myarea2">This will NOT be a editor.</textarea>
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_elements.html 4.6-complete/mambots/editors/tinymce/docs/option_elements.html --- 4.6rc2/mambots/editors/tinymce/docs/option_elements.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_elements.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: elements - - - - -
      -

      Option: elements

      -
      - -
      -

      - This option should contain a comma separated list of element id's to convert into editor instances. This option is only used if mode is set to "exact". -

      - -
      - -

      Example of usage of the elements option:

      -
      -
      -tinyMCE.init({
      -	...
      -	elements : "elm1,elm2"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_encoding.html 4.6-complete/mambots/editors/tinymce/docs/option_encoding.html --- 4.6rc2/mambots/editors/tinymce/docs/option_encoding.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_encoding.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: encoding - - - - -
      -

      Option: encoding

      -
      - -
      -

      - This option enables you to get XML escaped contents out of TinyMCE. Posted content will be converted to a XML string escaping characters such as < > " & to &lt; &gt; &quot; &amp;. This option is set nothing by default and is there for disabled. -

      - -
      - -

      Example of usage of the encoding option:

      -
      -
      -tinyMCE.init({
      -	...
      -	encoding : "xml"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_entities.html 4.6-complete/mambots/editors/tinymce/docs/option_entities.html --- 4.6rc2/mambots/editors/tinymce/docs/option_entities.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_entities.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: entities - - - - -
      -

      Option: entities

      -
      - -
      -

      - This option contains a comma separated list of entity names that is used instead of characters. Odd items are the character code and even items are the name of the character code. The default value of this option is placed in the example below. -

      - -
      - -

      Example of usage of the entities option / default value:

      -
      -
      -tinyMCE.init({
      -	...
      -	entities : "160,nbsp,38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,reg,8482,trade,8240,permil,181,micro,183,middot,8226,bull,8230,hellip,8242,prime,8243,Prime,167,sect,182,para,223,szlig,8249,lsaquo,8250,rsaquo,171,laquo,187,raquo,8216,lsquo,8217,rsquo,8220,ldquo,8221,rdquo,8218,sbquo,8222,bdquo,60,lt,62,gt,8804,le,8805,ge,8211,ndash,8212,mdash,175,macr,8254,oline,164,curren,166,brvbar,168,uml,161,iexcl,191,iquest,710,circ,732,tilde,176,deg,8722,minus,177,plusmn,247,divide,8260,frasl,215,times,185,sup1,178,sup2,179,sup3,188,frac14,189,frac12,190,frac34,402,fnof,8747,int,8721,sum,8734,infin,8730,radic,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8712,isin,8713,notin,8715,ni,8719,prod,8743,and,8744,or,172,not,8745,cap,8746,cup,8706,part,8704,forall,8707,exist,8709,empty,8711,nabla,8727,lowast,8733,prop,8736,ang,180,acute,184,cedil,170,ordf,186,ordm,8224,dagger,8225,Dagger,192,Agrave,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,202,Ecirc,203,Euml,204,Igrave,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,212,Ocirc,213,Otilde,214,Ouml,216,Oslash,338,OElig,217,Ugrave,219,Ucirc,220,Uuml,376,Yuml,222,THORN,224,agrave,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,234,ecirc,235,euml,236,igrave,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,244,ocirc,245,otilde,246,ouml,248,oslash,339,oelig,249,ugrave,251,ucirc,252,uuml,254,thorn,255,yuml,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,8501,alefsym,982,piv,8476,real,977,thetasym,978,upsih,8472,weierp,8465,image,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8756,there4,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,173,shy,233,eacute,237,iacute,243,oacute,250,uacute,193,Aacute,225,aacute,201,Eacute,205,Iacute,211,Oacute,218,Uacute,221,Yacute,253,yacute"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_entity_encoding.html 4.6-complete/mambots/editors/tinymce/docs/option_entity_encoding.html --- 4.6rc2/mambots/editors/tinymce/docs/option_entity_encoding.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_entity_encoding.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: entity_encoding - - - - -
      -

      Option: entity_encoding

      -
      - -
      -

      - This option controls how entities/characters gets processed by TinyMCE. The value can be set to numeric, named or raw. Where numeric is numeric representation such as "&#160;" named is entity names such as "&nbsp;" and raw is " ". The default value of this option is named, if named is used the entities option will be used to convert the codes into names. -

      - -
      - -

      Example of usage of the entity_encoding option:

      -
      -
      -tinyMCE.init({
      -	...
      -	entity_encoding : "raw"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_event_elements.html 4.6-complete/mambots/editors/tinymce/docs/option_event_elements.html --- 4.6rc2/mambots/editors/tinymce/docs/option_event_elements.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_event_elements.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: event_elements - - - - -
      -

      Option: event_elements

      -
      - -
      -

      - This option should contain a comma separated list of elements thay may have event attributes such as onclick and simmilar. This option is needed since some browsers execute these events while editing content. This option is set to "a,img" default. -

      - -
      - -

      Example of usage of the event_elements option:

      -
      -
      -tinyMCE.init({
      -	...
      -	event_elements : "a,img,span"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_execcommand_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_execcommand_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_execcommand_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_execcommand_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,69 +0,0 @@ - - - -Option: execcommand_callback - - - - -
      -

      Option: execcommand_callback

      -
      - -
      -

      - This option allows you to add a custom callback function for execCommand handling. This enables you to override internal - command functions in TinyMCE. The example below shows how the mceLink and mceImage are overriden. -

      - -
      - -

      Example of usage of the execcommand_callback option:

      -
      -
      -function myCustomExecCommandHandler(editor_id, elm, command, user_interface, value) {
      -	var linkElm, imageElm, inst;
      -
      -	switch (command) {
      -		case "mceLink":
      -			inst = tinyMCE.getInstanceById(editor_id);
      -			linkElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "a");
      -
      -			if (linkElm)
      -				alert("Link dialog has been overriden. Found link href: " + tinyMCE.getAttrib(linkElm, "href"));
      -			else
      -				alert("Link dialog has been overriden.");
      -
      -			return true;
      -
      -		case "mceImage":
      -			inst = tinyMCE.getInstanceById(editor_id);
      -			imageElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "img");
      -
      -			if (imageElm)
      -				alert("Image dialog has been overriden. Found image src: " + tinyMCE.getAttrib(imageElm, "src"));
      -			else
      -				alert("Image dialog has been overriden.");
      -
      -			return true;
      -	}
      -
      -	return false; // Pass to next handler in chain
      -}
      -
      -tinyMCE.init({
      -	...
      -	execcommand_callback : "myCustomExecCommandHandler"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_extended_valid_elements.html 4.6-complete/mambots/editors/tinymce/docs/option_extended_valid_elements.html --- 4.6rc2/mambots/editors/tinymce/docs/option_extended_valid_elements.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_extended_valid_elements.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: extended_valid_elements - - - - -
      -

      Option: extended_valid_elements

      -
      - -
      -

      - This option is very similar to valid_elements the only diffrance between this option and valid_elements is that this one gets added to the existing rule set. This can be very useful if the existing rule set is fine but you want to add some specific elements that also should be valid. -

      - -
      - -

      Example of usage of the extended_valid_elements option:

      -
      -
      -tinyMCE.init({
      -	...
      -	extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_external_image_list_url.html 4.6-complete/mambots/editors/tinymce/docs/option_external_image_list_url.html --- 4.6rc2/mambots/editors/tinymce/docs/option_external_image_list_url.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_external_image_list_url.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,51 +0,0 @@ - - - -Option: external_image_list_url - - - - -
      -

      Option: external_image_list_url

      -
      - -
      -

      - This option enables you to have a external list of images this list of images can be generated by a server side page and then inserted into the image dialog windows of TinyMCE. The images can be to internal site images or external URLs. -

      - -
      - -

      Example of usage of the external_image_list_url option:

      -
      -
      -tinyMCE.init({
      -	...
      -	external_image_list_url : "myexternallist.js"
      -});
      -
      -
      - -
      - -

      Example of a external link list file: (myexternallist.js)

      -
      -
      -var tinyMCEImageList = new Array(
      -	// Name, URL
      -	["Logo 1", "logo.jpg"],
      -	["Logo 2 Over", "logo_over.jpg"]
      -);
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_external_link_list_url.html 4.6-complete/mambots/editors/tinymce/docs/option_external_link_list_url.html --- 4.6rc2/mambots/editors/tinymce/docs/option_external_link_list_url.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_external_link_list_url.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,52 +0,0 @@ - - - -Option: external_link_list_url - - - - -
      -

      Option: external_link_list_url

      -
      - -
      -

      - This option enables you to have a external list of links this list of links can be generated by a server side page and then inserted into the link dialog windows of TinyMCE. The links can be to internal site documents or external URLs. -

      - -
      - -

      Example of usage of the external_link_list_url option:

      -
      -
      -tinyMCE.init({
      -	...
      -	external_link_list_url : "myexternallist.js"
      -});
      -
      -
      - -
      - -

      Example of a external link list file: (myexternallist.js)

      -
      -
      -var tinyMCELinkList = new Array(
      -	// Name, URL
      -	["Moxiecode", "http://www.moxiecode.com"],
      -	["Freshmeat", "http://www.freshmeat.com"],
      -	["Sourceforge", "http://www.sourceforge.com"]
      -);
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_file_browser_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_file_browser_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_file_browser_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_file_browser_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,43 +0,0 @@ - - - -Option: file_browser_callback - - - - -
      -

      Option: file_browser_callback

      -
      - -
      -

      - This option enables you to add your own file browser/image browser to TinyMCE. This function is executed each time a user clicks on the "browse" buttons in various dialogs. The format of this callback function is: fileBrowser(field_name, url, type, win) where field_name is the id/name of the form element that the browser should insert it's URL into. The url parameter contains the URL value that is currently inside the field. The type parameter contains what type of browser to present this value can be file, image or flash depending on what dialog is calling the function. The win parameter contains a reference to the dialog/window that executes the function. -

      - -
      - -

      Example of usage of the file_browser_callback option:

      -
      -
      -function myCustomFileBrowser(field_name, url, type, win) {
      -	// Do custom browser logic
      -	win.document.forms[0].elements[field_name].value = 'my browser value';
      -}
      -
      -tinyMCE.init({
      -	...
      -	file_browser_callback : "myCustomFileBrowser"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_fix_content_duplication.html 4.6-complete/mambots/editors/tinymce/docs/option_fix_content_duplication.html --- 4.6rc2/mambots/editors/tinymce/docs/option_fix_content_duplication.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_fix_content_duplication.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: fix_content_duplication - - - - -
      -

      Option: fix_content_duplication

      -
      - -
      -

      - This option is available since MSIE has a serious bug where the DOM tree sometimes can include the same node twice. This produces duplication of content when the cleanup process runs. This option is enabled by default and removes any duplicated nodes. -

      - -
      - -

      Example of usage of the fix_content_duplication option:

      -
      -
      -tinyMCE.init({
      -	...
      -	fix_content_duplication : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_fix_list_elements.html 4.6-complete/mambots/editors/tinymce/docs/option_fix_list_elements.html --- 4.6rc2/mambots/editors/tinymce/docs/option_fix_list_elements.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_fix_list_elements.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,62 +0,0 @@ - - - -Option: fix_list_elements - - - - -
      -

      Option: fix_list_elements

      -
      - -
      -

      - This option enables you to specify that list elements UL/OL is to be converted to valid XHTML. This option is disabled by default.

      -

      -
      -This invalid list:
      -<ol>
      -	<li>a</li>
      -	<ol>
      -		<li>b</li>
      -		<li>c</li>
      -	</ol>
      -	<li>e</li>
      -</ol>
      -
      -Gets converted into this valid list:
      -<ol>
      -	<li>a
      -		<ol>
      -			<li>b</li>
      -			<li>c</li>
      -		</ol>
      -	</li>
      -	<li>e</li>
      -</ol>
      -
      -
      -

      - -
      - -

      Example of usage of the fix_list_elements option:

      -
      -
      -tinyMCE.init({
      -	...
      -	fix_list_elements : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_fix_table_elements.html 4.6-complete/mambots/editors/tinymce/docs/option_fix_table_elements.html --- 4.6rc2/mambots/editors/tinymce/docs/option_fix_table_elements.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_fix_table_elements.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,63 +0,0 @@ - - - -Option: fix_table_elements - - - - -
      -

      Option: fix_table_elements

      -
      - -
      -

      - This option enables you to specify that list table elements should be moved outside paragraphs or other block elements. If you enable this option block elements will be split into two chunks when a table is found within it, see the example below for details. This option is disabled by default.

      -

      -
      -This invalid table:
      -<p>
      -a
      -<table>
      -	<tr><td>b</td></tr>
      -	<tr><td>c</td></tr>
      -</table>
      -d
      -</p>
      -
      -Gets converted into this valid XHTML:
      -<p>
      -a
      -</p>
      -<table>
      -	<tr><td>b</td></tr>
      -	<tr><td>c</td></tr>
      -</table>
      -<p>
      -d
      -</p>
      -
      -
      -

      - -
      - -

      Example of usage of the fix_table_elements option:

      -
      -
      -tinyMCE.init({
      -	...
      -	fix_table_elements : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_focus_alert.html 4.6-complete/mambots/editors/tinymce/docs/option_focus_alert.html --- 4.6rc2/mambots/editors/tinymce/docs/option_focus_alert.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_focus_alert.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: focus_alert - - - - -
      -

      Option: focus_alert

      -
      - -
      -

      - This option enables you to specify if a "Editor is not focused" alert message should appear if the user calls tinyMCE.execCommand and havn't selected a editor instance before. This message will normaly not appear unless some integration has been made. Using tinyMCE.execInstanceCommand prevents this from happening since it auto focuses the editor specified. The default value of this option is "true". -

      - -
      - -

      Example of usage of the focus_alert option:

      -
      -
      -tinyMCE.init({
      -	...
      -	focus_alert : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_font_size_classes.html 4.6-complete/mambots/editors/tinymce/docs/option_font_size_classes.html --- 4.6rc2/mambots/editors/tinymce/docs/option_font_size_classes.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_font_size_classes.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,35 +0,0 @@ - - - -Option: font_size_classes - - - - -
      -

      Option: font_size_classes

      -
      - -
      -

      Comma separated list of class names that is to be used when the user selects font sizes, this option is only used when the convert_fonts_to_spans option is enabled. This list of classes should be 7 items. This option is not used by default, but can be useful if you want to have custom classes for each font size for browser compatiblity.

      -
      - -

      Example of usage of the font_size_classes option:

      -
      -
      -tinyMCE.init({
      -	...
      -	font_size_classes : "fontSize1,fontSize2,fontSize3,fontSize4,fontSize5,fontSize6,fontSize7"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_font_size_style_values.html 4.6-complete/mambots/editors/tinymce/docs/option_font_size_style_values.html --- 4.6rc2/mambots/editors/tinymce/docs/option_font_size_style_values.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_font_size_style_values.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,35 +0,0 @@ - - - -Option: font_size_style_values - - - - -
      -

      Option: font_size_style_values

      -
      - -
      -

      Comma separated list of style values that is to be used when the user selects font sizes, this option is only used when the convert_fonts_to_spans option is enabled. This list of style values should be 7 items. This option is not used by default, but can be useful if you want to have custom CSS values for each font size for browser compatiblity. Defaults to: xx-small,x-small,small,medium,large,x-large,xx-large.

      -
      - -

      Example of usage of the font_size_style_values option:

      -
      -
      -tinyMCE.init({
      -	...
      -	font_size_style_values : "xx-small,x-small,small,medium,large,x-large,xx-large"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_force_br_newlines.html 4.6-complete/mambots/editors/tinymce/docs/option_force_br_newlines.html --- 4.6rc2/mambots/editors/tinymce/docs/option_force_br_newlines.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_force_br_newlines.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: force_br_newlines - - - - -
      -

      Option: force_br_newlines

      -
      - -
      -

      - If you set this option to true, TinyMCE will force BR elements on newlines instead of inserting paragraphs. This option is set to false by default since paragraphs is a much better concept. You can style P elements to be one row by adding p { margin: 0; padding: 0; } to your CSS, P tags where invented for a reason and should be used. BR elements should only be used when you really have to (mostly never). -

      - -
      - -

      Example of usage of the force_br_newlines option:

      -
      -
      -tinyMCE.init({
      -	...
      -	force_br_newlines : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_force_hex_style_colors.html 4.6-complete/mambots/editors/tinymce/docs/option_force_hex_style_colors.html --- 4.6rc2/mambots/editors/tinymce/docs/option_force_hex_style_colors.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_force_hex_style_colors.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,35 +0,0 @@ - - - -Option: force_hex_style_colors - - - - -
      -

      Option: force_hex_style_colors

      -
      - -
      -

      This option enables you to control TinyMCE to force the color format to use hexa decimal instead of rgb strings. It converts for example "color: rgb(255, 255, 0)" to "#FFFF00". This option is set to true by default since otherwice MSIE and Firefox would differ in this behavior.

      -
      - -

      Example of usage of the force_hex_style_colors option:

      -
      -
      -tinyMCE.init({
      -	...
      -	force_hex_style_colors : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_force_p_newlines.html 4.6-complete/mambots/editors/tinymce/docs/option_force_p_newlines.html --- 4.6rc2/mambots/editors/tinymce/docs/option_force_p_newlines.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_force_p_newlines.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: force_p_newlines - - - - -
      -

      Option: force_p_newlines

      -
      - -
      -

      - This option enables you to disable/enable the creation of paragraphs on return/enter in Mozilla/Firefox. The default value of this option is true. -

      - -
      - -

      Example of usage of the force_p_newlines option:

      -
      -
      -tinyMCE.init({
      -	...
      -	force_p_newlines : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_handle_event_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_handle_event_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_handle_event_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_handle_event_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,46 +0,0 @@ - - - -Option: handle_event_callback - - - - -
      -

      Option: handle_event_callback

      -
      - -
      -

      - This option should contain a function name to be executed each time TinyMCE intercepts and handles a event such as keydown, mousedown and so forth. The format of this function is: handleEvent(event), where inst is the editor instance object reference. If the handle event function returns false it will terminate the internal event handling. -

      - -
      - -

      Example of usage of the handle_event_callback option:

      -
      -
      -// Remember to enable the possibility to switch status messages in the browser before trying the example below
      -
      -function myHandleEvent(e) {
      -	window.status = "event:" + e.type;
      -
      -	return true; // Continue handling
      -}
      -
      -tinyMCE.init({
      -	...
      -	handle_event_callback : "myHandleEvent"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_height.html 4.6-complete/mambots/editors/tinymce/docs/option_height.html --- 4.6rc2/mambots/editors/tinymce/docs/option_height.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_height.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: height - - - - -
      -

      Option: height

      -
      - -
      -

      - This option gives you the ability to specify the height of the editor in pixels or percent. This height can be very userful to specify if the editor is used in hidden tabs or if the editor area should be bigger than the replaced element. The default value of this option is set to the height of the HTML element TinyMCE replaces for example the pixel height of a textarea. -

      - -
      - -

      Example of usage of the height option:

      -
      -
      -tinyMCE.init({
      -	...
      -	height : "480"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_init_instance_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_init_instance_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_init_instance_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_init_instance_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,42 +0,0 @@ - - - -Option: init_instance_callback - - - - -
      -

      Option: init_instance_callback

      -
      - -
      -

      - This option should contain a function name to be executed each time a editor instance is initialized. The format of this function is: initInstance(inst) where inst is the editor instance object reference. -

      - -
      - -

      Example of usage of the init_instance_callback option:

      -
      -
      -function myCustomInitInstance(inst) {
      -	alert("Editor: " + inst.editorId + " is now initialized.");
      -}
      -
      -tinyMCE.init({
      -	...
      -	init_instance_callback : "myCustomInitInstance"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_inline_styles.html 4.6-complete/mambots/editors/tinymce/docs/option_inline_styles.html --- 4.6rc2/mambots/editors/tinymce/docs/option_inline_styles.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_inline_styles.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: inline_styles - - - - -
      -

      Option: inline_styles

      -
      - -
      -

      - If you enable the inline styles feature by setting this option to true. Most of the attributes gets converted into CSS style attributes instead. This will make the editor output more XHTML strict compatible. -

      - -
      - -

      Example of usage of the inline_styles option:

      -
      -
      -tinyMCE.init({
      -	...
      -	inline_styles : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_insertimage_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_insertimage_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_insertimage_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_insertimage_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,60 +0,0 @@ - - - -Option: insertimage_callback - - - - -
      -

      (deprecated) Option: insertimage_callback

      -
      - -
      -

      - This callback was removed in 2.0.3, use execcommand_callback instead this also enables you to override other things than the image and link dialogs. -

      -

      - This option enables you to override the built in functionality for inserting images. This option should contain a function name to be executed when a new image is inserted into TinyMCE. The format of this callback function is: insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action). Where most of these options are self explained the action can be "update" or "insert" depending on what operation type. This function should return an array with the same values as the incomming parameters, the example below describes how this is done. This option is set to a internal TinyMCE function by default. -

      - -
      - -

      Example of usage of the insertimage_callback option:

      -
      -
      -function myCustomInsertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action) {
      -	var result = new Array();
      -
      -	// Do some custom logic
      -	result['src'] = "logo.jpg";
      -	result['alt'] = "test description";
      -	result['border'] = "2";
      -	result['hspace'] = "5";
      -	result['vspace'] = "5";
      -	result['width'] = width;
      -	result['height'] = height;
      -	result['align'] = "right";
      -	result['title'] = "Some title";
      -	result['onmouseover'] = "";
      -	result['onmouseout'] = "";
      -
      -	return data;
      -}
      -
      -tinyMCE.init({
      -	...
      -	insertimage_callback : "myCustomInsertImage"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_insertlink_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_insertlink_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_insertlink_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_insertlink_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,53 +0,0 @@ - - - -Option: insertlink_callback - - - - -
      -

      (deprecated) Option: insertlink_callback

      -
      - -
      -

      - This callback was removed in 2.0.3, use execcommand_callback instead this also enables you to override other things than the image and link dialogs. -

      -

      - This option enables you to override the built in functionality for inserting links. This option should contain a function name to be executed when a new link is inserted into TinyMCE. The format of this callback function is: insertLink(href, target, title, onclick, action). Where most of these options are self explained the action can be "update" or "insert" depending on what operation type. This function should return an array with the same values as the incomming parameters, the example below describes how this is done. This option is set to a internal TinyMCE function by default. -

      - -
      - -

      Example of usage of the insertlink_callback option:

      -
      -
      -function myCustomInsertLink(href, target, title, onclick, action) {
      -	var result = new Array();
      -
      -	// Do some custom logic
      -	result['href'] = "some_page.htm";
      -	result['target'] = "_self";
      -	result['title'] = "Some link title";
      -	result['onclick'] = "";
      -
      -	return data;
      -}
      -
      -tinyMCE.init({
      -	...
      -	insertlink_callback : "myCustomInsertLink"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_invalid_elements.html 4.6-complete/mambots/editors/tinymce/docs/option_invalid_elements.html --- 4.6rc2/mambots/editors/tinymce/docs/option_invalid_elements.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_invalid_elements.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: invalid_elements - - - - -
      -

      Option: invalid_elements

      -
      - -
      -

      - This option should contain a comma separated list of element names to exclude from the content. Elements in this list will removed when TinyMCE executes a cleanup. -

      - -
      - -

      Example of usage of the invalid_elements option:

      -
      -
      -tinyMCE.init({
      -	...
      -	invalid_elements : "strong,em"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_language.html 4.6-complete/mambots/editors/tinymce/docs/option_language.html --- 4.6rc2/mambots/editors/tinymce/docs/option_language.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_language.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,42 +0,0 @@ - - - -Option: language - - - - -
      -

      Option: language

      -
      - -
      -

      - This option should contain a language code of the language pack to use with TinyMCE. These codes are in ISO-639-2 format to see if your language is available check the contents of "tinymce/jscripts/tiny_mce/langs". The default value of this option is "en" for English. -

      - -

      - If TinyMCE doesn't have a language pack for your language you could always write your own and contribute this back to this project by uploading it as a Patch at SourceForge. A description on how to create language packs can be found in Language packs section. -

      - -
      - -

      Example of usage of the language option:

      -
      -
      -tinyMCE.init({
      -	...
      -	language : "en"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_merge_styles_invalid_parents.html 4.6-complete/mambots/editors/tinymce/docs/option_merge_styles_invalid_parents.html --- 4.6rc2/mambots/editors/tinymce/docs/option_merge_styles_invalid_parents.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_merge_styles_invalid_parents.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,37 +0,0 @@ - - - -Option: merge_styles_invalid_parents - - - - -
      -

      Option: merge_styles_invalid_parents

      -
      - -
      -

      This option enables you to specify a regexp with elements you want to exclude from parent mergeing. By default style information are attached to the parent element of a selection if all childrent/the whole element contents is selected. For example if you select a whole strong element and select a font size, the font-size style will be applied to the strong element and not with a wrapping style element. But sometimes you want to force a span element, this is where this option comes in to place. This option is set to nothing by default and applies to the font size/face/color and class drop drown lists.

      - -
      - -

      Example of usage of the merge_styles_invalid_parents option:

      -
      -
      -tinyMCE.init({
      -	...
      -	// Excludes table cells and strong elements from any parent merge operation
      -	merge_styles_invalid_parents : "^TD|STRONG$"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_mode.html 4.6-complete/mambots/editors/tinymce/docs/option_mode.html --- 4.6rc2/mambots/editors/tinymce/docs/option_mode.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_mode.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,54 +0,0 @@ - - - -Option: mode - - - - -
      -

      Option: mode

      -
      - -
      -

      - This option specifies how elements is to be converted into TinyMCE WYSIWYG editor instances. This option can be set to any of the values below. -

      - -

      -

      textareas

      - Converts all textarea elements to editors when the page loads. -

      - -

      -

      specific_textareas

      - Converts all textarea elements with the a textarea_trigger attribute set to "true". -

      - -

      -

      exact

      - exact - Converts only explicit elements, these are listed in the elements option. These elements can be any kind for example textareas or divs. -

      - -
      - -

      Example of usage of the mode option:

      -
      -
      -tinyMCE.init({
      -	...
      -	mode : "exact",
      -	elements : "elm1,elm2"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_nowrap.html 4.6-complete/mambots/editors/tinymce/docs/option_nowrap.html --- 4.6rc2/mambots/editors/tinymce/docs/option_nowrap.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_nowrap.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: nowrap - - - - -
      -

      Option: nowrap

      -
      - -
      -

      - This nowrap option enables you to control how whitespace is to be wordwrapped within the editor. This option is set to false by default, but if you enable it by setting it to true editor contents will never wrap. -

      - -
      - -

      Example of usage of the nowrap option:

      -
      -
      -tinyMCE.init({
      -	...
      -	nowrap : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_object_resizing.html 4.6-complete/mambots/editors/tinymce/docs/option_object_resizing.html --- 4.6rc2/mambots/editors/tinymce/docs/option_object_resizing.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_object_resizing.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: object_resizing - - - - -
      -

      Option: object_resizing

      -
      - -
      -

      - This true/false option gives you the ability to turn on/off the inline resizing controls of tables and images in Firefox/Mozilla. These are enabled by default. -

      - -
      - -

      Example of usage of the object_resizing option:

      -
      -
      -tinyMCE.init({
      -	...
      -	object_resizing : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_onchange_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_onchange_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_onchange_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_onchange_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,43 +0,0 @@ - - - -Option: onchange_callback - - - - -
      -

      Option: onchange_callback

      -
      - -
      -

      - This option should contain a function name to be executed each time contents is modified by TinyMCE. This function is called each time a undo level is added to TinyMCE. The format of this function is: onchange(inst), where inst is the editor instance object reference. -

      - -
      - -

      Example of usage of the onchange_callback option:

      -
      -
      -function myCustomOnChangeHandler(inst) {
      -	alert("Some one modified something");
      -	alert("The HTML is now:" + inst.getBody().innerHTML);
      -}
      -
      -tinyMCE.init({
      -	...
      -	onchange_callback : "myCustomOnChangeHandler"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_oninit.html 4.6-complete/mambots/editors/tinymce/docs/option_oninit.html --- 4.6rc2/mambots/editors/tinymce/docs/option_oninit.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_oninit.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,42 +0,0 @@ - - - -Option: oninit - - - - -
      -

      Option: oninit

      -
      - -
      -

      - This option enables you to specify a function name to be executed when all editor instances has finished it's initialization. This is much like the onload event of a HTML page. -

      - -
      - -

      Example of usage of the oninit option:

      -
      -
      -function myCustomOnInit() {
      -	alert("We are ready to rumble!!");
      -}
      -
      -tinyMCE.init({
      -	...
      -	oninit : "myCustomOnInit"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_onpageload.html 4.6-complete/mambots/editors/tinymce/docs/option_onpageload.html --- 4.6rc2/mambots/editors/tinymce/docs/option_onpageload.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_onpageload.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,42 +0,0 @@ - - - -Option: onpageload - - - - -
      -

      Option: onpageload

      -
      - -
      -

      - This option enables you to specify a function name to be executed when the page is loaded but before the TinyMCE instances are created. -

      - -
      - -

      Example of usage of the onpageload option:

      -
      -
      -function myCustomOnPageLoad() {
      -	alert("We are nearly ready to rumble!!");
      -}
      -
      -tinyMCE.init({
      -	...
      -	onpageload : "myCustomOnPageLoad"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_plugins.html 4.6-complete/mambots/editors/tinymce/docs/option_plugins.html --- 4.6rc2/mambots/editors/tinymce/docs/option_plugins.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_plugins.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,45 +0,0 @@ - - - -Option: plugins - - - - -
      -

      Option: plugins

      -
      - -
      -

      - This option should contain a comma separated list of plugins. Plugins are loaded from the "tinymce/jscripts/tiny_mce/plugins" directory and the plugin name matches the name of the directory. TinyMCE is shipped with some core plugins these are described in greater detail in the Plugins reference. -

      -

      - TinyMCE also supports the ability to have plugins added from a external resource, these plugins needs to be self registrering and loaded after the tinyMCE.init call. You should also prefix these plugins with a "-" character so that TinyMCE doesn't try to load it from the TinyMCE plugins directory. -

      - -

      - There are many third party plugins for TinyMCE some of these may be found under "Plugins" at SourceForge and if you have developed one of your own please contribute it to this project by uploading it to SourceForge. -

      - -
      - -

      Example of usage of the plugins option:

      -
      -
      -tinyMCE.init({
      -	...
      -	plugins : "table,contextmenu,paste,-externalplugin"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_popups_css.html 4.6-complete/mambots/editors/tinymce/docs/option_popups_css.html --- 4.6rc2/mambots/editors/tinymce/docs/option_popups_css.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_popups_css.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: popups_css - - - - -
      -

      Option: popups_css

      -
      - -
      -

      - This option enables you to specify the CSS to be used in all popup/dialog windows within TinyMCE this option is set to a CSS file found in the currently used theme by default. -

      - -
      - -

      Example of usage of the popups_css option:

      -
      -
      -tinyMCE.init({
      -	...
      -	popups_css : "/mypopup.css"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_preformatted.html 4.6-complete/mambots/editors/tinymce/docs/option_preformatted.html --- 4.6rc2/mambots/editors/tinymce/docs/option_preformatted.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_preformatted.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: preformatted - - - - -
      -

      Option: preformatted

      -
      - -
      -

      - If you enable this feature, whitespace such as tabs and spaces will be preserved. Much like the bahavior of a PRE element. This can be handy when integrating TinyMCE with webmail clients. This option is disabled by default. -

      - -
      - -

      Example of usage of the preformatted option:

      -
      -
      -tinyMCE.init({
      -	...
      -	preformatted : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_relative_urls.html 4.6-complete/mambots/editors/tinymce/docs/option_relative_urls.html --- 4.6rc2/mambots/editors/tinymce/docs/option_relative_urls.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_relative_urls.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,36 +0,0 @@ - - - -Option: relative_urls - - - - -
      -

      Option: relative_urls

      -
      - -
      -

      If this option is set to true, all URLs returned from the MCFileManager will be relative from the specified document_base_url if it's set to false all URLs will be converted to absolute URLs. This feature can not be disabled since MSIE and FF modifies the URLs of DOM objects by them self so TinyMCE tries to solve this problem by reconverting them. This option is set to true by default.

      - -
      - -

      Example of usage of the relative_urls option:

      -
      -
      -tinyMCE.init({
      -	...
      -	relative_urls : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_remove_linebreaks.html 4.6-complete/mambots/editors/tinymce/docs/option_remove_linebreaks.html --- 4.6rc2/mambots/editors/tinymce/docs/option_remove_linebreaks.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_remove_linebreaks.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: remove_linebreaks - - - - -
      -

      Option: remove_linebreaks

      -
      - -
      -

      - This option controls if linebreak characters should be removed from output HTML or not. This option is enabled by default since many backend systems use newline to <br /> convertion since they used to be plain old textarea based. With this option enables all HTML content will be placed on one line. -

      - -
      - -

      Example of usage of the remove_linebreaks option:

      -
      -
      -tinyMCE.init({
      -	...
      -	remove_linebreaks : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_remove_script_host.html 4.6-complete/mambots/editors/tinymce/docs/option_remove_script_host.html --- 4.6rc2/mambots/editors/tinymce/docs/option_remove_script_host.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_remove_script_host.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,37 +0,0 @@ - - - -Option: remove_script_host - - - - -
      -

      Option: remove_script_host

      -
      - -
      -

      If this option is enabled the protocol and host part of the URLs returned from the MCFileManager will be removed. This option is only used if the relative_urls option is set to false. This option is set to true by default.

      -

      URL:s will be returned in this format: "/somedir/somefile.htm" instead of the default mode: "http://www.somesite.com/somedir/somefile.htm".

      - -
      - -

      Example of usage of the remove_script_host option:

      -
      -
      -tinyMCE.init({
      -	...
      -	remove_script_host : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_save_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_save_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_save_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_save_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,45 +0,0 @@ - - - -Option: save_callback - - - - -
      -

      Option: save_callback

      -
      - -
      -

      - This option enables you to add custom logic to be executed when the contents is extracted/saved. This custom logic can then modify the contents before it's submited to a serverside page. This can be useful if you want to do your own regexp cleanups and so forth. The format of this function is: saveContent(element_id, html, body). Where element id is the form element/div id of the editor and HTML is the HTML contents after the built in cleanup process has executed. This function should return the new HTML contents. -

      - -
      - -

      Example of usage of the save_callback option:

      -
      -
      -function myCustomSaveContent(element_id, html, body) {
      -	// Do some custom HTML cleanup
      -	html = html.replace(/a/g,'b');
      -
      -	return html;
      -}
      -
      -tinyMCE.init({
      -	...
      -	save_callback : "myCustomSaveContent"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_setupcontent_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_setupcontent_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_setupcontent_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_setupcontent_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,43 +0,0 @@ - - - -Option: setupcontent_callback - - - - -
      -

      Option: setupcontent_callback

      -
      - -
      -

      - This option enables you to execute custom setup content logic when the editor initializes. The format of this callback is: - setupContent(editor_id, body, doc). Where editor_id is the TinyMCE editor instance id the editor instance object reference can be retrived by using tinyMCE.getInstanceById(editor_id). The body parameter is a reference to the iframes body element and doc is the iframes document element. This option is not used if it's not specified. -

      - -
      - -

      Example of usage of the setupcontent_callback option:

      -
      -
      -function myCustomSetupContent(editor_id, body, doc) {
      -	body.innerHTML = "my new content" + body.innerHTML;
      -}
      -
      -tinyMCE.init({
      -	...
      -	setupcontent_callback : "myCustomSetupContent"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_submit_patch.html 4.6-complete/mambots/editors/tinymce/docs/option_submit_patch.html --- 4.6rc2/mambots/editors/tinymce/docs/option_submit_patch.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_submit_patch.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: submit_patch - - - - -
      -

      Option: submit_patch

      -
      - -
      -

      - This toggle option enables you to turn on/off the auto patching of the submit function in forms. TinyMCE will auto move contents from the iframe to the hidden textarea field if for example a JavaScript uses a form[0].submit() call. This is the same as using the tinyMCE.triggerSave() call. This option is set to true by default. -

      - -
      - -

      Example of usage of the submit_patch option:

      -
      -
      -tinyMCE.init({
      -	...
      -	submit_patch : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_table_inline_editing.html 4.6-complete/mambots/editors/tinymce/docs/option_table_inline_editing.html --- 4.6rc2/mambots/editors/tinymce/docs/option_table_inline_editing.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_table_inline_editing.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: table_inline_editing - - - - -
      -

      Option: table_inline_editing

      -
      - -
      -

      - This true/false option gives you the ability to turn on/off the inline table editing controls in Firefox/Mozilla. These controls are somewhat buggy and not redesignable so they are disabled by default. -

      - -
      - -

      Example of usage of the table_inline_editing option:

      -
      -
      -tinyMCE.init({
      -	...
      -	table_inline_editing : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_textarea_trigger.html 4.6-complete/mambots/editors/tinymce/docs/option_textarea_trigger.html --- 4.6rc2/mambots/editors/tinymce/docs/option_textarea_trigger.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_textarea_trigger.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,47 +0,0 @@ - - - -Option: textarea_trigger - - - - -
      -

      Option: textarea_trigger

      -
      - -
      -

      - This option enables you to specify the name of the attribute to check if it's value is true/false. If the mode option is set to "specific_textareas", only specific textareas with a attribute by the name of the value of this option gets converted and only if it's set to true. This option defaults to "mce_editable". -

      - -

      - If the mode is set to textareas and the textarea trigger attribute value is set to false, these textareas will not be converted. -

      - -

      - Notice: This option is deprecated. - We strongly recommend you to use the editor_selector/editor_deselector options instead since they validate with W3C specifications. -

      - -
      - -

      Example of usage of the textarea_trigger option:

      -
      -
      -tinyMCE.init({
      -	...
      -	textarea_trigger : "convert_this"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme.html 4.6-complete/mambots/editors/tinymce/docs/option_theme.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,49 +0,0 @@ - - - -Option: theme - - - - -
      -

      Option: theme

      -
      - -
      -

      - This option enables you to specify what theme to use when rendering the TinyMCE WYSIWYG editor instances. This name matches the directories located in "tinymce/jscripts/tiny_mce/themes". The default value of this option is "advanced". TinyMCE has three built in themes and these are described in greater detail below. -

      - -

      -

      advanced

      - This is the advanced theme of TinyMCE, this theme enables users to add/remove buttons and panels and is a lot more flexible than the simple or default theme. For more information about this themes specific options check the "Advanced theme" configuration section. -

      - -

      -

      simple

      - This is the most simple theme for TinyMCE it contains only the basic functions. -

      - -
      - -

      Example of usage of the theme option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme : "advanced",
      -	theme_advanced_buttons3_add_before : "tablecontrols,separator"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_blockformats.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_blockformats.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_blockformats.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_blockformats.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_blockformats - - - - -
      -

      Option: theme_advanced_blockformats

      -
      - -
      -

      - This option should contain a comma separated list of block formats the default value of this option is "p,div,address,pre,h1,h2,h3,h4,h5,h6". This option is only available if the advanced theme is used. -

      - -
      - -

      Example of usage of the theme_advanced_blockformats option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_blockformats : "p,div,h1,h2,h3,h4,h5,h6"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,44 +0,0 @@ - - - -Option: theme_advanced_buttons<1-n> - - - - -
      -

      Option: theme_advanced_buttons<1-n>

      -
      - -
      -

      - This option should contain a comma separated list of button/control names to insert into the toolbar. The number 1-n is the row number to insert the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins. - This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". -

      -

      - A complete reference of all built in buttons and controls can be found in the button/control reference page. -

      - -
      - -

      Example of usage of the theme_advanced_buttons<1-n> option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_buttons1 : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"
      -	theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"
      -	theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,44 +0,0 @@ - - - -Option: theme_advanced_buttons<1-n_add> - - - - -
      -

      Option: theme_advanced_buttons<1-n_add>

      -
      - -
      -

      - This option should contain a comma separated list of button/control names to add to the end of the specified toolbar row. The number 1-n is the row number to add the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins. - This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". -

      -

      - A complete reference of all built in buttons and controls can be found in the button/control reference page. -

      - -
      - -

      Example of usage of the theme_advanced_buttons<1-n>_add option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_buttons1_add : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"
      -	theme_advanced_buttons2_add : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"
      -	theme_advanced_buttons3_add : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add_before.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add_before.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add_before.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_buttons_n_add_before.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,44 +0,0 @@ - - - -Option: theme_advanced_buttons<1-n_add_before> - - - - -
      -

      Option: theme_advanced_buttons<1-n_add_before>

      -
      - -
      -

      - This option should contain a comma separated list of button/control names to add to the beginning of the specified toolbar row. The number 1-n is the row number to add the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins. - This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". -

      -

      - A complete reference of all built in buttons and controls can be found in the button/control reference page. -

      - -
      - -

      Example of usage of the theme_advanced_buttons<1-n>_add_before option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_buttons1_add_before : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"
      -	theme_advanced_buttons2_add_before : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"
      -	theme_advanced_buttons3_add_before : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_container.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_container.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_container.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_container.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,39 +0,0 @@ - - - -Option: theme_advanced_container_<container> - - - - -
      -

      Option: theme_advanced_container_<container>

      -
      - -
      -

      - This option should contain buttons/control that you wich to insert into the container, the button names available is the same as in the theme_advanced_buttons_<1-3> option but two extra controls available when this layout option is used these are "mceEditor" and "mceElementpath". The <container> part of this option should be replaced with a name within the theme_advanced_containers list. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". -

      - -
      - -

      Example of usage of the theme_advanced_container_<container> option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_container_somecontainer1 : "bold,italic",
      -	theme_advanced_container_somecontainer2 : "strikethrough,cut"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_container_align.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_container_align.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_container_align.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_container_align.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,39 +0,0 @@ - - - -Option: theme_advanced_container_align - - - - -
      -

      Option: theme_advanced_container_<container>_align

      -
      - -
      -

      - This option is used to set the alignment of a specific containerer. The <container> part of this option should be replaced with a name within the theme_advanced_containers list. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". -

      - -
      - -

      Example of usage of the theme_advanced_container_<container>_align option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_container_somecontainer1_align : "left"
      -	theme_advanced_container_somecontainer2_align : "right"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_container_class.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_container_class.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_container_class.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_container_class.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,39 +0,0 @@ - - - -Option: theme_advanced_container_<container>_class - - - - -
      -

      Option: theme_advanced_container_<container>_class

      -
      - -
      -

      - This option is used to set the class of a specific container. The <container> part of this option should be replaced with a name within the theme_advanced_containers list. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". -

      - -
      - -

      Example of usage of the theme_advanced_container_<container>_class option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_container_somecontainer1_class : "someclass",
      -	theme_advanced_container_somecontainer2_class : "someotherclass"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_containers.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_containers.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_containers.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_containers.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_containers - - - - -
      -

      Option: theme_advanced_containers

      -
      - -
      -

      - This option should contain a comma separated list of container/panel names. These names are then matched agains the other container options. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". -

      - -
      - -

      Example of usage of the theme_advanced_containers option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_containers : "mycontainer1,mycontainer2"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_align.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_align.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_align.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_align.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_containers_default_align - - - - -
      -

      Option: theme_advanced_containers_default_align

      -
      - -
      -

      - This option should contain the default container/panel alignment this can be a value of "left", "center" or "right". This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". -

      - -
      - -

      Example of usage of the theme_advanced_containers_default_align option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_containers_default_align : "left"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_class.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_class.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_class.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_containers_default_class.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_containers_default_class - - - - -
      -

      Option: theme_advanced_containers_default_class

      -
      - -
      -

      - This option should contain the default container/panel class name. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". -

      - -
      - -

      Example of usage of the theme_advanced_containers_default_class option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_containers_default_class : "myPanelClass"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_custom_layout.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_custom_layout.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_custom_layout.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_custom_layout.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,49 +0,0 @@ - - - -Option: theme_advanced_custom_layout - - - - -
      -

      Option: theme_advanced_custom_layout

      -
      - -
      -

      - This option is used to specify a custom layout manager function. The format of this function is: customLayout(template) where template is the template array within the advanced theme, this function should return a new template array containing the editor HTML in a key called html. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". - - CustomLayout - - template -

      - -
      - -

      Example of usage of the theme_advanced_custom_layout option:

      -
      -
      -function myCustomLayout(template) {
      -	// Make custom layout
      -	template['html'] = "make new layout";
      -
      -	return template;
      -}
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_custom_layout : "myCustomLayout"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_disable.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_disable.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_disable.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_disable.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_disable - - - - -
      -

      Option: theme_advanced_disable

      -
      - -
      -

      - This option should contain a comma separated list of controls to disable from any toolbar row/panel in TinyMCE. -

      - -
      - -

      Example of usage of the theme_advanced_disable option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_disable : "bold,italic"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_fonts.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_fonts.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_fonts.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_fonts.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_fonts - - - - -
      -

      Option: theme_advanced_fonts

      -
      - -
      -

      - This option should contain a semicolon separated list of font titles and font families separated by =. The titles are the ones that get presented to the user in the fonts drop down list and and the font family names is the string that gets inserted into the font face or fontFamily CSS style. -

      - -
      - -

      Example of usage of the theme_advanced_fonts option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_fonts : "Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_layout_manager.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_layout_manager.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_layout_manager.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_layout_manager.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,39 +0,0 @@ - - - -Option: theme_advanced_layout_manager - - - - -
      -

      Option: theme_advanced_layout_manager

      -
      - -
      -

      - This option enables you to switch button and panel layout functionality. There are three diffrent layout manager options - SimpleLayout that is the default layout manager, RowLayout that is the more advanced manager and finaly CustomLayout that executes a custom layout manager function. Each of these layout managers have diffrent options and can be configurated in diffrent ways. This option is only available if the advanced theme is used. -

      - -
      - -

      Example of usage of the theme_advanced_layout_manager option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_layout_manager : "RowLayout"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_link_targets.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_link_targets.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_link_targets.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_link_targets.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_link_targets - - - - -
      -

      Option: theme_advanced_link_targets

      -
      - -
      -

      - This option should contain a semicolon separated list of link target titles and target names separated by =. The titles are the ones that get presented to the user in the link target drop down list and and the target names is the target that gets inserted as a target attribute. -

      - -
      - -

      Example of usage of the theme_advanced_link_targets option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_link_targets : "Some frame=someframe;Some other frame=otherframe"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_path.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_path.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_path.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_path.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_path - - - - -
      -

      Option: theme_advanced_path

      -
      - -
      -

      - This option gives you the ability to enable/disable the element path. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to true by default. -

      - -
      - -

      Example of usage of the theme_advanced_path option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_path : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_path_location.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_path_location.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_path_location.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_path_location.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_path_location - - - - -
      -

      Option: theme_advanced_path_location

      -
      - -
      -

      - This option enables you to specify where the element path should be located. This option can be set to "top", "bottom" or "none". The default value is set to "none". This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". -

      - -
      - -

      Example of usage of the theme_advanced_path_location option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_path_location : "bottom"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_resize_horizontal.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_resize_horizontal.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_resize_horizontal.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_resize_horizontal.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - - Option: theme_advanced_resize_horizontal - - - - -
      -

      Option: theme_advanced_resize_horizontal

      -
      - -
      -

      - This option gives you the ability to enable/disable the horizontal resizing. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom" and when the theme_advanced_resizing is set to true. This option is set to true by default, that makes resizing horizontal and vertical. -

      - -
      - -

      Example of usage of the theme_advanced_resize_horizontal option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_resize_horizontal : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_resizing.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_resizing.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_resizing.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_resizing.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_resizing - - - - -
      -

      Option: theme_advanced_resizing

      -
      - -
      -

      - This option gives you the ability to enable/disable the resizing button. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to false by default. -

      - -
      - -

      Example of usage of the theme_advanced_resizing option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_resizing : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_resizing_use_cookie.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_resizing_use_cookie.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_resizing_use_cookie.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_resizing_use_cookie.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,35 +0,0 @@ - - - -Option: theme_advanced_resizing_use_cookie - - - - -
      -

      Option: theme_advanced_resizing_use_cookie

      -
      - -
      -

      This option enables you to disable the storage of editor size in a cookie. By default the editors size is stored and retrived from a cookie.

      -
      - -

      Example of usage of the theme_advanced_resizing_use_cookie option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_resizing_use_cookie : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_height.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_height.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_height.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_height.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_source_editor_height - - - - -
      -

      Option: theme_advanced_source_editor_height

      -
      - -
      -

      - This option is used to define the height of the source editor dialog. This option is set to 400 by default. -

      - -
      - -

      Example of usage of the theme_advanced_source_editor_height option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_source_editor_height : "600"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_width.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_width.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_width.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_source_editor_width.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_source_editor_width - - - - -
      -

      Option: theme_advanced_source_editor_width

      -
      - -
      -

      - This option is used to define the width of the source editor dialog. This option is set to 500 by default. -

      - -
      - -

      Example of usage of the theme_advanced_source_editor_width option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_source_editor_width : "700"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_statusbar_location.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_statusbar_location.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_statusbar_location.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_statusbar_location.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_statusbar_location - - - - -
      -

      Option: theme_advanced_statusbar_location

      -
      - -
      -

      - This option enables you to specify where the element statusbar with the path and resize tool should be located. This option can be set to "top", "bottom" or "none". The default value is set to "none". This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". -

      - -
      - -

      Example of usage of the theme_advanced_statusbar_location option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_statusbar_location : "bottom"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_styles.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_styles.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_styles.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_styles.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_styles - - - - -
      -

      Option: theme_advanced_styles

      -
      - -
      -

      - This option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted. If this option isn't defined TinyMCE auto imports the classes from the content CSS. -

      - -
      - -

      Example of usage of the theme_advanced_styles option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_align.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_align.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_align.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_align.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: theme_advanced_toolbar_align - - - - -
      -

      Option: theme_advanced_toolbar_align

      -
      - -
      -

      - This option enables you to specify the alignment of the toolbar, this value can be left, right or center the default value is center. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". -

      - -
      - -

      Example of usage of the theme_advanced_toolbar_align option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_toolbar_align : "left"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_location.html 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_location.html --- 4.6rc2/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_location.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_theme_advanced_toolbar_location.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,41 +0,0 @@ - - - -Option: theme_advanced_toolbar_location - - - - -
      -

      Option: theme_advanced_toolbar_location

      -
      - -
      -

      - This option enables you to specify where the toolbar should be located. This option can be set to "top" or "bottom". The default value is set to "bottom". This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". -

      -

      - There is a special "external" location, this option adds the toolbar to a DIV element and sets the class of this DIV to "mceToolbarExternal". This enables you to freely specify the location of the toolbar. -

      - -
      - -

      Example of usage of the theme_advanced_toolbar_location option:

      -
      -
      -tinyMCE.init({
      -	...
      -	theme_advanced_toolbar_location : "top"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_trim_span_elements.html 4.6-complete/mambots/editors/tinymce/docs/option_trim_span_elements.html --- 4.6rc2/mambots/editors/tinymce/docs/option_trim_span_elements.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_trim_span_elements.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: trim_span_elements - - - - -
      -

      Option: trim_span_elements

      -
      - -
      -

      - This option controls if spans without attributes will be removed or not. This option is set to true by default. -

      - -
      - -

      Example of usage of the trim_span_elements option:

      -
      -
      -tinyMCE.init({
      -	...
      -	trim_span_elements : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_urlconverter_callback.html 4.6-complete/mambots/editors/tinymce/docs/option_urlconverter_callback.html --- 4.6rc2/mambots/editors/tinymce/docs/option_urlconverter_callback.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_urlconverter_callback.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,46 +0,0 @@ - - - -Option: urlconverter_callback - - - - -
      -

      Option: urlconverter_callback

      -
      - -
      -

      - This option enable you to add your own URL converter logic. This option should contain a JavaScript function name. The format of this converter function is: URLConverter(url, node, on_save). There URL is the URL string to convert, node is the element that contains the URL that is to be converted this parameter may be set to null if there is no element for the URL and on_save is set to true when contents is to be extracted from the editor for example when the user submits the HTML form. This function should return the converted URL as a string. This option is set to a internal TinyMCE function "TinyMCE.prototype.convertURL" by default. You may call this function from your extention inorder to use the built in convert options. -

      - -
      - -

      Example of usage of the urlconverter_callback option:

      -
      -
      -function myCustomURLConverter(url, node, on_save) {
      -	// Do some custom URL convertion
      -	url = url.substring(3);
      -
      -	// Return new URL
      -	return url;
      -}
      -
      -tinyMCE.init({
      -	...
      -	urlconverter_callback : "myCustomURLConverter"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_valid_elements.html 4.6-complete/mambots/editors/tinymce/docs/option_valid_elements.html --- 4.6rc2/mambots/editors/tinymce/docs/option_valid_elements.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_valid_elements.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,348 +0,0 @@ - - - -Option: valid_elements - - - - -
      -

      Option: valid_elements

      -
      - -
      -

      - This option should contain a comma separated list element convertion chunks. Each chunk contains information about how one element and it's attributes should be treated. The default rule set for this option is specified below. -

      -

      - - - - - - - - - - - - - - - - - -
      Control characters:
      ,Separates element chunk definitions.
      /Separates element synonymous. The first element is the one that will be outputted.
      |Separates attribute definitions.
      [Starts a new attribute list for a element definition.
      ]Ends a attribute list for a element definition.
      =Makes the attribute to default to the specified value. For example "target=_blank"
      :Makes the attribute to be forced to the specified value. For example "border:0"
      <Verifies the value of a attribute. For example "target<_blank?_self"
      ?Separates attribute verification values, see above.
      +Makes the element open if no child nodes exists. Example: +a.
      -Enables removal of empty elements such as >strong /<. Example: -strong.
      #Enables padding of empty elements, this will padd with &nbsp; if they are empty. Example: #p.
      - Wildcards such as *,+,? may be used in element or attribute name matching. -

      -

      - Special variables:
      - {$uid} Results in a unique ID. For example "p[id:{$uid}]".
      -
      - Use *[*] to include all elements and all attributes this can be very useful when used with the invalid_elements option. -

      - -
      - -

      Example of usage of the valid_elements option:

      -

      - This example string tells TinyMCE to remove all elements that are not a "a, strong, div or br" element, convert b elements to strong elements, default target to "_blank" and keep the href, target and align attributes of the elements. -

      -
      -
      -tinyMCE.init({
      -	...
      -	valid_elements : "a[href|target=_blank],strong/b,div[align],br"
      -});
      -
      -
      - -
      - -

      Default rule set:

      -

      - This is the default string used by TinyMCE to cleanup the HTML contents. -

      -
      -
      -+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang]
      -
      -
      - -
      - -

      Full XHTML rule set:

      -

      - The following will validate that the page complies fully with the XHTML specification. -

      -
      -
      -valid_elements : ""
      -+"a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name"
      -  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev"
      -  +"|shape<circle?default?poly?rect|style|tabindex|title|target|type],"
      -+"abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title],"
      -+"applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase"
      -  +"|height|hspace|id|name|object|style|title|vspace|width],"
      -+"area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref"
      -  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup"
      -  +"|shape<circle?default?poly?rect|style|tabindex|title|target],"
      -+"base[href|target],"
      -+"basefont[color|face|id|size],"
      -+"bdo[class|dir<ltr?rtl|id|lang|style|title],"
      -+"big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"blockquote[dir|style|cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
      -  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
      -  +"|onmouseover|onmouseup|style|title],"
      -+"body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink],"
      -+"br[class|clear<all?left?none?right|id|style|title],"
      -+"button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur"
      -  +"|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown"
      -  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type"
      -  +"|value],"
      -+"caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
      -  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
      -  +"|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
      -  +"|valign<baseline?bottom?middle?top|width],"
      -+"colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl"
      -  +"|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
      -  +"|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
      -  +"|valign<baseline?bottom?middle?top|width],"
      -+"dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
      -+"del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title],"
      -+"dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title],"
      -+"div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title],"
      -+"dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
      -+"em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"font[class|color|dir<ltr?rtl|face|id|lang|size|style|title],"
      -+"form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang"
      -  +"|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit"
      -  +"|style|title|target],"
      -+"frame[class|frameborder|id|longdesc|marginheight|marginwidth|name"
      -  +"|noresize<noresize|scrolling<auto?no?yes|src|style|title],"
      -+"frameset[class|cols|id|onload|onunload|rows|style|title],"
      -+"h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"head[dir<ltr?rtl|lang|profile],"
      -+"hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|size|style|title|width],"
      -+"html[dir<ltr?rtl|lang|version],"
      -+"iframe[align<bottom?left?middle?right?top|class|frameborder|height|id"
      -  +"|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style"
      -  +"|title|width],"
      -+"img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height"
      -  +"|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|src|style|title|usemap|vspace|width],"
      -+"input[accept|accesskey|align<bottom?left?middle?right?top|alt"
      -  +"|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang"
      -  +"|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
      -  +"|readonly<readonly|size|src|style|tabindex|title"
      -  +"|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text"
      -  +"|usemap|value],"
      -+"ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title],"
      -+"isindex[class|dir<ltr?rtl|id|lang|prompt|style|title],"
      -+"kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick"
      -  +"|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
      -  +"|onmouseover|onmouseup|style|title],"
      -+"legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang"
      -  +"|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type"
      -  +"|value],"
      -+"link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type],"
      -+"map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title],"
      -+"meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme],"
      -+"noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"noscript[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"object[align<bottom?left?middle?right?top|archive|border|class|classid"
      -  +"|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name"
      -  +"|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap"
      -  +"|vspace|width],"
      -+"ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|start|style|title|type],"
      -+"optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick"
      -  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
      -  +"|onmouseover|onmouseup|selected<selected|style|title|value],"
      -+"p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|style|title],"
      -+"param[id|name|type|value|valuetype<DATA?OBJECT?REF],"
      -+"pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
      -  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
      -  +"|onmouseover|onmouseup|style|title|width],"
      -+"q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"s[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
      -+"samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"script[charset|defer|language|src|type],"
      -+"select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name"
      -  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style"
      -  +"|tabindex|title],"
      -+"small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title],"
      -+"strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title],"
      -+"strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"style[dir<ltr?rtl|lang|media|title|type],"
      -+"sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title],"
      -+"table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class"
      -  +"|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules"
      -  +"|style|summary|title|width],"
      -+"tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id"
      -  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
      -  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
      -  +"|valign<baseline?bottom?middle?top],"
      -+"td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
      -  +"|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
      -  +"|style|title|valign<baseline?bottom?middle?top|width],"
      -+"textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name"
      -  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
      -  +"|readonly<readonly|rows|style|tabindex|title],"
      -+"tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
      -  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
      -  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
      -  +"|valign<baseline?bottom?middle?top],"
      -+"th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
      -  +"|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
      -  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
      -  +"|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
      -  +"|style|title|valign<baseline?bottom?middle?top|width],"
      -+"thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
      -  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
      -  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
      -  +"|valign<baseline?bottom?middle?top],"
      -+"title[dir<ltr?rtl|lang],"
      -+"tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class"
      -  +"|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title|valign<baseline?bottom?middle?top],"
      -+"tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
      -+"u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
      -  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
      -+"ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
      -  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
      -  +"|onmouseup|style|title|type],"
      -+"var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
      -  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
      -  +"|title]"
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_verify_css_classes.html 4.6-complete/mambots/editors/tinymce/docs/option_verify_css_classes.html --- 4.6rc2/mambots/editors/tinymce/docs/option_verify_css_classes.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_verify_css_classes.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: verify_css_classes - - - - -
      -

      (Removed)Option: verify_css_classes

      -
      - -
      -

      - If you enable this function, class names placed in class attributes will be verified agains the content CSS. So elements with a class attribute containing a class that doesn't exist in the CSS will be removed. -

      - -
      - -

      Example of usage of the verify_css_classes option:

      -
      -
      -tinyMCE.init({
      -	...
      -	verify_css_classes : true
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_verify_html.html 4.6-complete/mambots/editors/tinymce/docs/option_verify_html.html --- 4.6rc2/mambots/editors/tinymce/docs/option_verify_html.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_verify_html.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: verify_html - - - - -
      -

      Option: verify_html

      -
      - -
      -

      - This option enabled or disables the element cleanup functionality. If you set this option to false, all element cleanup will be skipped but other cleanup functionality such as URL convertion will still be executed. -

      - -
      - -

      Example of usage of the verify_html option:

      -
      -
      -tinyMCE.init({
      -	...
      -	verify_html : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_visual.html 4.6-complete/mambots/editors/tinymce/docs/option_visual.html --- 4.6rc2/mambots/editors/tinymce/docs/option_visual.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_visual.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: visual - - - - -
      -

      Option: visual

      -
      - -
      -

      - This true/false option gives you the ability to turn on/off the visual aid for border less tables. If a the border of a table is set to 0 TinyMCE adds a dotted line around the table by default. -

      - -
      - -

      Example of usage of the visual option:

      -
      -
      -tinyMCE.init({
      -	...
      -	visual : false
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_visual_table_class.html 4.6-complete/mambots/editors/tinymce/docs/option_visual_table_class.html --- 4.6rc2/mambots/editors/tinymce/docs/option_visual_table_class.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_visual_table_class.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: visual_table_class - - - - -
      -

      Option: visual_table_class

      -
      - -
      -

      - This option enables you to specify what CSS class to use for presenting visual aids for border less tables. The default value of this option is set to "mceVisualAid". -

      - -
      - -

      Example of usage of the visual_table_class option:

      -
      -
      -tinyMCE.init({
      -	...
      -	visual_table_class : "myCustomVisualAidTableClass"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/option_width.html 4.6-complete/mambots/editors/tinymce/docs/option_width.html --- 4.6rc2/mambots/editors/tinymce/docs/option_width.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/option_width.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,38 +0,0 @@ - - - -Option: width - - - - -
      -

      Option: width

      -
      - -
      -

      - This option gives you the ability to specify the width of the editor in pixels or percent. This width can be very useful to specify if the editor is used in hidden tabs or if the editor area should be bigger than the replaced element. The default value of this option is set to the width of the HTML element TinyMCE replaces for example the pixel width of a textarea. -

      - -
      - -

      Example of usage of the width option:

      -
      -
      -tinyMCE.init({
      -	...
      -	width : "640"
      -});
      -
      -
      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_advhr.html 4.6-complete/mambots/editors/tinymce/docs/plugin_advhr.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_advhr.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_advhr.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,46 +0,0 @@ - - - -Plugin: advhr - - - - -
      -

      Plugin: advhr

      -
      - -
      -

      This is a more advanced hr dialog contributed by Michael Keck. This hr plugin supports noshade, width and size.

      - -

      Installation Instructions

      -

      -

        -
      • Copy the advhr directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "advhr".
      • -
      • Add this "hr[class|width|size|noshade]" to extended_valid_elements option.
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "advhr",
      -	theme_advanced_buttons1_add : "advhr",
      -	extended_valid_elements : "hr[class|width|size|noshade]"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_advimage.html 4.6-complete/mambots/editors/tinymce/docs/plugin_advimage.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_advimage.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_advimage.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,57 +0,0 @@ - - - -Plugin: advimage - - - - -
      -

      Plugin: advimage

      -
      - -
      -

      This is a more advanced image dialog mostly based on code contributed by Michael Keck. This one supports mouseover/out image swapping.

      - -

      Installation Instructions

      -

      -

        -
      • Copy the advimage directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "advimage".
      • -
      • Add this "a[name|href|target|title|onclick]" to extended_valid_elements option.
      • -
      -

      - -

      - - - - - - -
      Advimage plugin options
      advimage_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
      advimage_update_dimensions_onchangeThis option enables you to control if the image dimensions should be updated with new data if the image src field is changed. This option is enabled by default.
      -
      -

      - -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "preview"
      -});
      -
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_advlink.html 4.6-complete/mambots/editors/tinymce/docs/plugin_advlink.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_advlink.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_advlink.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,55 +0,0 @@ - - - -Plugin: advlink - - - - -
      -

      Plugin: advlink

      -
      - -
      -

      This is a more advanced link dialog mostly based on code contributed by Michael Keck. This link plugin supports popup windows and targets.

      - -

      Installation Instructions

      -

      -

        -
      • Copy the advlink directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "advlink".
      • -
      • Add this "a[name|href|target|title|onclick]" to extended_valid_elements option.
      • -
      - -

      - - - - - -
      Advlink plugin options
      advlink_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
      -
      -

      - -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "advlink"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_autosave.html 4.6-complete/mambots/editors/tinymce/docs/plugin_autosave.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_autosave.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_autosave.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,35 +0,0 @@ - - - -Plugin: autosave - - - - -
      -

      Plugin: autosave

      -
      - -
      -

      This plugin gives the user a warning if they made modifications to a editor instance but didn't submit them. This plugin will most likely be extended in the future to provide AJAX auto save support.

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "autosave"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_contextmenu.html 4.6-complete/mambots/editors/tinymce/docs/plugin_contextmenu.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_contextmenu.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_contextmenu.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,43 +0,0 @@ - - - -Plugin: contextmenu - - - - -
      -

      Plugin: contextmenu

      -
      - -
      -

      - -

      Installation Instructions

      -

      -

        -
      • Copy the contextmenu directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "contextmenu".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "contextmenu"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_directionality.html 4.6-complete/mambots/editors/tinymce/docs/plugin_directionality.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_directionality.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_directionality.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,44 +0,0 @@ - - - -Plugin: directionality - - - - -
      -

      Plugin: directionality

      -
      - -
      -

      This plugin adds directionality icons to TinyMCE that enables TinyMCE to better handle languages that is written from right to left.

      - -

      Installation Instructions

      -

      -

        -
      • Add plugin to TinyMCE plugin option list example: plugins : "directionality".
      • -
      • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "ltr,rtl".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "directionality",
      -	theme_advanced_buttons3_add : "ltr,rtl"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_emotions.html 4.6-complete/mambots/editors/tinymce/docs/plugin_emotions.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_emotions.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_emotions.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,53 +0,0 @@ - - - -Plugin: emotions - - - - -
      -

      Plugin: emotions

      -
      - -
      -

      The emotions plugin is able to insert smiley images into the TinyMCE editable area.

      - -

      Installation Instructions

      -

      -

        -
      • Copy the emotions directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "emotions".
      • -
      • Add the emotions button name to button list, example: theme_advanced_buttons3_add : "emotions".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "emotions",
      -	theme_advanced_buttons3_add : "emotions"
      -});
      -
      -

      - -
      - -

      Copyright notice

      -

      - These emotions where taken from Mozilla Thunderbird. I hope they don't get angry if I use them here after all this is a open source project aswell and I realy love their product. -

      -
      - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_flash.html 4.6-complete/mambots/editors/tinymce/docs/plugin_flash.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_flash.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_flash.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,79 +0,0 @@ - - - -Plugin: flash - - - - -
      -

      Plugin: flash

      -
      - -
      -

      This is the "Insert Flash" Dialog, it enables users to insert flash movies into TinyMCE.

      -

      You can control the wmode, quality and menu by setting the flash_wmode, flash_quality and flash_menu options.

      - -

      Installation Instructions

      -

      -

        -
      • Copy the flash directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "flash".
      • -
      • Add this "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]" to extended_valid_elements option.
      • -
      • Add the flash button name to button list, example: theme_advanced_buttons3_add : "flash".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "flash",
      -	extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]"
      -	flash_external_list_url : "example_flash_list.js", // Optional URL to a list of SWF movies
      -	flash_wmode : "transparent",
      -	flash_quality : "high",
      -	flash_menu : "false"
      -});
      -
      -

      - -
      - -

      Additional note

      -

      - The flash plugin has been heavily modified (the original is editor_plugin_original.js) since the original did not play nicely with html content that already contained existing flash tags and in fact stripped out the object - tags for existing flash html. The rewrite corrects this as well attempts - to preserve the existing flash tags where possible. The tinyMCE.init call - should be be something like: -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "flash",
      -	extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|obj|param|embed]"
      -});
      -
      -

      -

      Note the extra obj,param,embed attributes for the img tag. These attributes - are used to serialize data from existing flash tags so that they can be - properly restored. Editing a flash tag with the plugin will cause this - information to be lost (sorry!) but still produces a working flash nevertheless. -

      -
      - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_fullpage.html 4.6-complete/mambots/editors/tinymce/docs/plugin_fullpage.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_fullpage.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_fullpage.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,112 +0,0 @@ - - - -Plugin: fullpage - - - - -
      -

      Plugin: fullpage

      -
      - -
      -

      This plugin adds fullpage editing support. This enables you to edit whole documents with both head and body.

      - -

      Installation Instructions

      -

      -

        -
      • Add plugin to TinyMCE plugin option list example: plugins : "fullpage".
      • -
      • Add the fullpage button name to button list, example: theme_advanced_buttons3_add : "fullpage".
      • -
      -

      - -

      -

      Options

      -

      -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      [fullpage_doctypes]This is a name/value list of possible document types. The value format of this option is name=value,name=value. These document types will be presented in the document type selection list. The default value of this option is: XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">">,HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">.
      [fullpage_fonts]This option enables you specify what font family style values that can be added to the body element. The value format of this option is name=value;name=value. The default value of this option is: Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings -
      [fullpage_fontsizes]This is a comma separated list of possible font sizes for the style attribute of the body element. This option defaults to: 10px,11px,12px,13px,14px,15px,16px.
      [fullpage_encodings]This option enables you to specify what the document character encoding sets the user may select from. The default value of this option is: Western european (iso-8859-1)=iso-8859-1,Central European (iso-8859-2)=iso-8859-2,Unicode (UTF-8)=utf-8,Chinese traditional (Big5)=big5,Cyrillic (iso-8859-5)=iso-8859-5,Japanese (iso-2022-jp)=iso-2022-jp,Greek (iso-8859-7)=iso-8859-7,Korean (iso-2022-kr)=iso-2022-kr,ASCII (us-ascii)=us-ascii -
      [fullpage_default_doctype]This option enables you to specify the default doctype for the output HTML.
      [fullpage_default_encoding]This option enables you to specify the default encoding for the output HTML.
      [fullpage_default_title]This option enables you to specify the default title for the output HTML.
      [fullpage_default_font_size]This option enables you to specify the default font size for body element.
      [fullpage_default_font_family]This option enables you to specify the default font family for body element.
      [fullpage_default_text_color]This option enables you to specify the default text color for body element.
      [fullpage_default_langcode]This option enables you to specify the default langcode for the output HTML.
      [fullpage_default_xml_pi]This option enables you to specify if a XML declaration should be added or not true/false option.
      -

      -

      -

      Initialization Example

      -

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "fullpage",
      -	theme_advanced_buttons3_add : "fullpage",
      -	fullpage_fontsizes : '13px,14px,15px,18pt,xx-large',
      -	fullpage_default_xml_pi : false,
      -	fullpage_default_langcode : 'en',
      -	fullpage_default_title : "My document title"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_fullscreen.html 4.6-complete/mambots/editors/tinymce/docs/plugin_fullscreen.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_fullscreen.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_fullscreen.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,58 +0,0 @@ - - - -Plugin: fullscreen - - - - -
      -

      Plugin: fullscreen

      -
      - -
      -

      This plugin adds fullscreen editing mode to TinyMCE.

      - -

      Installation Instructions

      -

      -

        -
      • Add plugin to TinyMCE plugin option list example: plugins : "fullscreen".
      • -
      • Add the fullscreen button name to button list, example: theme_advanced_buttons3_add : "fullscreen".
      • -
      -

      - -

      - - - - - -
      Fullscreen plugin options
      fullscreen_settingsThis option gives you the ability to have diffrent settings applied when the editor is in fullscreen mode for example more tools.
      -
      -

      - -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "fullscreen",
      -	theme_advanced_buttons3_add : "fullscreen",
      -	fullscreen_settings : {
      -		theme_advanced_path_location : "top"
      -	}
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_iespell.html 4.6-complete/mambots/editors/tinymce/docs/plugin_iespell.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_iespell.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_iespell.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,45 +0,0 @@ - - - -Plugin: iespell - - - - -
      -

      Plugin: iespell

      -
      - -
      -

      - -

      Installation Instructions

      -

      -

        -
      • Copy the iespell directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "iespell".
      • -
      • Add the iespell button name to button list, example: theme_advanced_buttons3_add : "iespell".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "iespell",
      -	theme_advanced_buttons3_add : "iespell"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_inlinepopups.html 4.6-complete/mambots/editors/tinymce/docs/plugin_inlinepopups.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_inlinepopups.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_inlinepopups.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,36 +0,0 @@ - - - -Plugin: inlinepopups - - - - -
      -

      Plugin: inlinepopups

      -
      - -
      -

      This plugin makes all dialogs to open as floating DIV layers instead of popup windows. This option can be very useful inorder to get around popup blockers. This plugin should be treated as experimental since it's not 100% compatible yet.

      - -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "inlinepopups"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_insertdatetime.html 4.6-complete/mambots/editors/tinymce/docs/plugin_insertdatetime.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_insertdatetime.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_insertdatetime.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,107 +0,0 @@ - - - -Plugin: insertdatetime - - - - -
      -

      Plugin: insertdatetime

      -
      - -
      -

      - -

      Installation Instructions

      -

      -

        -
      • Copy the iespell directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "iespell".
      • -
      • Add the insertdate or inserttime button name to button list, example: theme_advanced_buttons3_add : "insertdate,inserttime".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "insertdatetime",
      -	theme_advanced_buttons3_add : "insertdate,inserttime"
      -    plugin_insertdate_dateFormat : "%Y-%m-%d",
      -    plugin_insertdate_timeFormat : "%H:%M:%S"
      -});
      -
      -

      -

      -

      Options

      -

      -

      - plugin_insertdate_dateFormat - Format that the date is output as. Defaults to: "%Y-%m-%d".
      - plugin_insertdate_timeFormat - Format that the time is output as. Defaults to: "%H:%M:%S". -

      -

      Replacement variables

      -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      %yyear as a decimal number without a century (range 00 to 99)
      %Yyear as a decimal number including the century
      %dday of the month as a decimal number (range 01 to 31)
      %mmonth as a decimal number (range 01 to 12)
      %Dsame as %m/%d/%y
      %rtime in a.m. and p.m. notation
      %Hhour as a decimal number using a 24-hour clock (range 00 to 23)
      %Ihour as a decimal number using a 12-hour clock (range 01 to 12)
      %Mminute as a decimal number (range 00-59)
      %Ssecond as a decimal number (range 00-59)
      %peither "am" or "pm" according to the given time value
      %%a literal "%" character
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_noneditable.html 4.6-complete/mambots/editors/tinymce/docs/plugin_noneditable.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_noneditable.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_noneditable.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,54 +0,0 @@ - - - -Plugin: noneditable - - - - -
      -

      Plugin: noneditable

      -
      - -
      -

      Adds non editable elements support for MSIE and Mozilla/FF. Any element with the "mceItemNonEditable" class will be blocked from modifications and treated as a single character. This class name is configurable using the "noneditable_noneditable_class". Any elements with the MSIE specific attribute "contenteditable" will be converted into classes instead.

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "noneditable",
      -	noneditable_leave_contenteditable : true
      -});
      -
      -

      - -

      -

      Options

      - - - - - - - - - - - - - -
      [noneditable_editable_class]Class name to be used for editable elements, this would be the the same as contenteditable=true, forcing a element to be editable. This option defaults to: "mceItemEditable". Notice that classes with the mceItem prefix is invisible within TinyMCE.
      [noneditable_noneditable_class]Class name to be used for non editable elements, this would be the same as contenteditable=false. This option defaults to: "mceItemNonEditable". Notice that classes with the mceItem prefix is invisible within TinyMCE.
      [noneditable_leave_contenteditable]If the value of this option is set to true, all contenteditable attributes will be left intact. This option is set to false by default, since this attribute is not a valid W3C attribute and the class approach is better.
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_paste.html 4.6-complete/mambots/editors/tinymce/docs/plugin_paste.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_paste.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_paste.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,139 +0,0 @@ - - - -Plugin: paste - - - - -
      -

      Plugin: paste

      -
      - -
      -

      This plugin adds paste as plain text and paste from Word icons to TinyMCE. This plugin was developed by Ryan Demmer and modified by the TinyMCE crew to be more general and some extra features where added.

      -

      - On 25 May 2005, this plugin was modified by speednet: IE now pastes directly into the editor, bypassing the extra steps of opening the Insert box, selecting options, and clicking Insert. Speednet also added the Select All command, which highlights all the content in the editor when the user clicks the toolbar button (Other miscellaneous cleanup also). -

      -

      On 28 October 2005, this plugin was modified by monkeybrain: Added the paste_strip_class_attributes option.

      -

      Installation Instructions

      -

      -

        -
      • Copy the paste directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "paste".
      • -
      • Add the button names to button list, example: theme_advanced_buttons3_add : "pastetext,pasteword,selectall".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "paste",
      -	theme_advanced_buttons3_add : "pastetext,pasteword,selectall",
      -	paste_create_paragraphs : false,
      -	paste_create_linebreaks : false,
      -	paste_use_dialog : true,
      -	paste_auto_cleanup_on_paste : true,
      -	paste_convert_middot_lists : false,
      -	paste_unindented_list_class : "unindentedList",
      -	paste_convert_headers_to_strong : true,
      -	paste_insert_word_content_callback : "convertWord"
      -});
      -
      -function convertWord(type, content) {
      -	switch (type) {
      -		// Gets executed before the built in logic performes it's cleanups
      -		case "before":
      -			content = content.toLowerCase(); // Some dummy logic
      -			break;
      -
      -		// Gets executed after the built in logic performes it's cleanups
      -		case "after":
      -			content = content.toLowerCase(); // Some dummy logic
      -			break;
      -	}
      -
      -	return content;
      -}
      -
      -
      -

      -

      -

      Options

      -

      -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      [paste_create_paragraphs]If enabled double linefeeds are converted to paragraph elements when using the plain text dialog. This is enabled by default.
      [paste_create_linebreaks]If enabled single linefeeds are converted to hard line break elements when using the plain text dialog. This is enabled by default.
      [paste_use_dialog]MSIE specific option, if you set this to true both Mozilla and MSIE will present a paste dialog. If you set it to false pasting in MSIE will be done directly. This option is set to false by default.
      [paste_auto_cleanup_on_paste]MSIE specific option. If you enable this feature, a word paste will be executed when the user copy/paste content to the editor. This feature is disabled by default.
      [paste_convert_middot_lists]If this feature is enabled middot lists are converted into UL lists, these will be assign a special class.
      [paste_unindented_list_class]This option enables you to specify what class to assign to the UL list of middot converted lists. Middot lists are unindented in MS Office. This option defaults to "unIndentedList".
      [paste_convert_headers_to_strong]This feature converts H1-6 elements to strong elements on paste, this is feature is disabled by default.
      [paste_remove_spans]This enables you to control if the word parse operation should remove or keep span elements, they will be removed by default.
      [paste_remove_styles]This enables you to control if the word parse operation should remove or keep style attributes, they will be removed by default.
      [paste_replace_list]Comma separated list of search/replace chunks. Where even items is the regexp that is to be used for the search and odd values are the contents that are to be replaced. -

      This option defaults to: "\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-" this list replaces some custom MS 1250 characters. -

      - The \uXXXX values is the hex values of the Unicode characters. Trick use javascript:alert('<unicode char>'.charCodeAt(0).toString(16)); to retive these numbers.
      [paste_strip_class_attributes]This feature allows you to control whether or not class attributes are stripped when using pasteword. Valid values are: -
        -
      • all - will strip all class attributes from the pasted content. This is the default value.
      • -
      • none - will not strip any class attributes from the pasted content.
      • -
      • mso - will strip out all of the class attribute values that start with "Mso", but retain all others.
      • -
      -
      [paste_insert_word_content_callback]This option enables you to specify a callback function. This callback is executed when the user pastes word content, the return value of this function will be the new content string. Check the example above for more details. -
      -

      - -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_preview.html 4.6-complete/mambots/editors/tinymce/docs/plugin_preview.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_preview.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_preview.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,66 +0,0 @@ - - - -Plugin: preview - - - - -
      -

      Plugin: preview

      -
      - -
      -

      This plugin adds a preview button to TinyMCE, pressing the button opens a popup showing the current content.

      - -

      Installation Instructions

      -

      -

        -
      • Copy the preview directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "preview".
      • -
      • Add the button name to button list, example: theme_advanced_buttons3_add : "preview".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "preview",
      -	theme_advanced_buttons3_add : "preview",
      -	plugin_preview_width : "500",
      -	plugin_preview_height : "600"
      -});
      -
      -

      -

      -

      Options

      -

      -

      - - - - - - - - - - - - - -
      [plugin_preview_width]Preview window width. Defaults to 550.
      [plugin_preview_height]Preview window height. Defaults to 600.
      [plugin_preview_pageurl]Custom preview page URL relative from theme use "../../plugins/preview/example.html" for a example.
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_print.html 4.6-complete/mambots/editors/tinymce/docs/plugin_print.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_print.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_print.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,45 +0,0 @@ - - - -Plugin: paste - - - - -
      -

      Plugin: print

      -
      - -
      -

      This plugin adds a print button to TinyMCE.

      - -

      Installation Instructions

      -

      -

        -
      • Copy the print directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      • -
      • Add plugin to TinyMCE plugin option list example: plugins : "print".
      • -
      • Add the button name to button list, example: theme_advanced_buttons3_add : "print".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "print",
      -	theme_advanced_buttons3_add : "print"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_save.html 4.6-complete/mambots/editors/tinymce/docs/plugin_save.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_save.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_save.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,65 +0,0 @@ - - - -Plugin: save - - - - -
      -

      Plugin: save

      -
      - -
      -

      This plugin adds a save button to TinyMCE this save button will submit the form that the editor is within.

      - -

      Installation Instructions

      -

      -

        -
      • Add plugin to TinyMCE plugin option list example: plugins : "save".
      • -
      • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "save".
      • -
      -

      - -

      -

      Options

      -

      -

      - - - - - - - - - -
      [save_enablewhendirty]If you set this option to true, the edit button will be disabled/dimmed until modifications are made. This is disabled by default.
      [onchange_callback]This option enables you to add a custom function to be called when the save button/command is invoked. This is not used by default.
      -

      - -

      -

      Initialization Example

      -

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "save",
      -	theme_advanced_buttons3_add : "save",
      -	save_enablewhendirty : true,
      -	onchange_callback : "mysave"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_searchreplace.html 4.6-complete/mambots/editors/tinymce/docs/plugin_searchreplace.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_searchreplace.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_searchreplace.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,44 +0,0 @@ - - - -Plugin: searchreplace - - - - -
      -

      Plugin: searchreplace

      -
      - -
      -

      This plugin adds search/replace dialogs to TinyMCE.

      - -

      Installation Instructions

      -

      -

        -
      • Add plugin to TinyMCE plugin option list example: plugins : "searchreplace".
      • -
      • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "search,replace".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "searchreplace",
      -	theme_advanced_buttons3_add : "search,replace"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_spellchecker.html 4.6-complete/mambots/editors/tinymce/docs/plugin_spellchecker.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_spellchecker.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_spellchecker.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,64 +0,0 @@ - - - -Plugin: spellchecker - - - - -
      -

      Plugin: spellchecker

      -
      - -
      -

      This plugin adds spellchecker functionality to TinyMCE by providing a new button that performs a AJAX call to a backend PHP page that uses pspell.

      -

      Installation Instructions

      -

      -

        -
      1. Download the spellchecker plugin from the TinyMCE website.
      2. -
      3. Copy the spellchecker directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
      4. -
      5. Add plugin to TinyMCE plugin option list example: plugins : "spellchecker".
      6. -
      7. Add the button name to button list, example: theme_advanced_buttons3_add : "spellchecker".
      8. -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "spellchecker",
      -	theme_advanced_buttons3_add : "spellchecker",
      -	spellchecker_languages : "+English=en,Swedish=sv",
      -	spellchecker_word_separator_chars : "\\s!\"#$%&()*+,-./:;<=>?@[\]ˆ_{|}©«®»\u201d\u201c"
      -});
      -
      -
      -

      -

      -

      Options

      -

      -

      - - - - - - - - - -
      [spellchecker_languages]Enables you to specify what languages your pspell installation can handle. The value of this option should be a comma separated name value list in the following format name1=value1,name2=value,name3=value where name is the string to present in the menu and the value is a ISO language code like sv or en. If you add a + character infront of the name it will be the default value for the spellchecker. The default value for this option is: +English=en.
      [spellchecker_word_separator_chars]This option enables you to specify the word separator characters. The default value for this option is: \\s!"#$%&()*+,-./:;<=>?@[\]^_{|}\u201d\u201c.
      -

      - -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_table.html 4.6-complete/mambots/editors/tinymce/docs/plugin_table.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_table.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_table.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,104 +0,0 @@ - - - -Plugin: table - - - - -
      -

      Plugin: table

      -
      - -
      -

      - This plugin adds table management functionality to TinyMCE. -

      - -

      - - - - - - - - - - - - - - - - - - -
      Table controls/buttons
      tablecontrolsAll table control below and some separators between them.
      tableInsert table control.
      row_propsEdit row properties (tr).
      cell_propsEdit cell properties (td).
      delete_colDelete column control.
      delete_rowDelete row control.
      col_afterColumn after control.
      col_beforeColumn before control.
      row_afterRow after control.
      row_beforeRow before control.
      row_afterRow after control.
      row_beforeRow before control.
      split_cellsSplits a merged cell into rows and columns.
      merge_cellsMergers selected cells into one cell.
      -

      - -

      - - - - - - - - - - - -
      Table commands to use with execCommand
      mceInsertTableInserts a new table at cursor location the default size is 2x2. If the value parameter is specified it should contain a name/value array, this array has the following options cols, rows, border, cellspacing, cellpadding. The default border is set to: 0.
      mceTableInsertRowBeforeInserts a row before/above the current cursor location.
      mceTableInsertRowAfterInserts a row after/under the current cursor location.
      mceTableDeleteRowDeletes the row at the current cursor location.
      mceTableInsertColBeforeInserts a column before the current cursor location.
      mceTableInsertColAfterInserts a column after the current cursor location.
      mceTableDeleteColDeletes the column at the current cursor location.
      -

      - -

      - - - - - - - - - - -
      Options
      table_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
      table_cell_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
      table_row_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
      table_cell_limitEnables you to specify the max number of cells for a table.
      table_row_limitEnables you to specify the max number of rows for a table.
      table_col_limitEnables you to specify the max number of columns for a table.
      -
      -

      - -

      Installation Instructions

      -

      -

        -
      • Add plugin to TinyMCE plugin option list example: plugins : "directionality".
      • -
      • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "ltr,rtl".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "table",
      -	theme_advanced_buttons3_add : "tablecontrols",
      -	table_styles : "Header 1=header1;Header 2=header2;Header 3=header3",
      -	table_cell_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Cell=tableCel1",
      -	table_row_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1",
      -	table_cell_limit : 100,
      -	table_row_limit : 5,
      -	table_col_limit : 5
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/plugin_zoom.html 4.6-complete/mambots/editors/tinymce/docs/plugin_zoom.html --- 4.6rc2/mambots/editors/tinymce/docs/plugin_zoom.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/plugin_zoom.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,44 +0,0 @@ - - - -Plugin: zoom - - - - -
      -

      Plugin: zoom

      -
      - -
      -

      Adds a zoom drop list in MSIE5.5+, this plugin was mostly created to show how to add custom droplists as plugins.

      - -

      Installation Instructions

      -

      -

        -
      • Add plugin to TinyMCE plugin option list example: plugins : "zoom".
      • -
      • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "zoom".
      • -
      -

      -

      Initialization Example

      -

      -

      -
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas",
      -	plugins : "zoom",
      -	theme_advanced_buttons3_add : "zoom"
      -});
      -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/reference_buttons.html 4.6-complete/mambots/editors/tinymce/docs/reference_buttons.html --- 4.6rc2/mambots/editors/tinymce/docs/reference_buttons.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/reference_buttons.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,137 +0,0 @@ - - - -List of all buttons/controls available, and their plugin requirements. - - - - -
      -

      List of all buttons/controls available, and their plugin requirements.

      -
      - -
      -

      - This is a list of all the avalible buttons that you can configure, the requirements are also listed as some buttons require you to include the plugin first. Check each plugin for more information, some plugins have seperate configurations. Use the theme_advanced_buttons<1-n>, theme_advanced_buttons<1-n>_add or theme_advanced_buttons<1-n>_add_before options to add new buttons and to disable buttons use the theme_advanced_disable option. -

      -
      - -

      -

      Default buttons available in the advanced theme

      - bold
      - italic
      - underline
      - strikethrough
      - justifyleft
      - justifycenter
      - justifyright
      - justifyfull
      - bullist
      - numlist
      - outdent
      - indent
      - cut
      - copy
      - paste
      - undo
      - redo
      - link
      - unlink
      - image
      - cleanup
      - help
      - code
      - hr
      - removeformat
      - formatselect
      - fontselect
      - fontsizeselect
      - styleselect
      - sub
      - sup
      - forecolor
      - backcolor
      - charmap
      - visualaid
      - anchor
      - newdocument
      - separator
      -

      -

      -

      Plugins with the button name same as plugin name

      - save
      - emotions
      - flash
      - iespell
      - preview
      - print
      - zoom
      - fullscreen
      - advhr
      - fullpage
      - spellchecker
      -
      -

      -

      -

      Plugins with custom buttons

      -
        - -
      • advlink
      • -
          -
        • Will override the "link" button
        • -
        -
      • advimage
      • -
          -
        • Will override the "image" button
        • -
        -
      • paste
      • -
          -
        • pastetext
        • -
        • pasteword
        • -
        • selectall
        • -
        -
      • searchreplace
      • -
          -
        • search
        • -
        • replace
        • -
        -
      • insertdatetime
      • -
          -
        • insertdate
        • -
        • inserttime
        • -
        -
      • table
      • -
          -
        • tablecontrols
        • -
        • table
        • -
        • row_props
        • -
        • cell_props
        • -
        • delete_col
        • -
        • delete_row
        • -
        • col_after
        • -
        • col_before
        • -
        • row_after
        • -
        • row_before
        • -
        • row_after
        • -
        • row_before
        • -
        • split_cells
        • -
        • merge_cells
        • -
        -
      • directionality
      • -
          -
        • ltr
        • -
        • rtl
        • -
        -
      -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/reference_configuration.html 4.6-complete/mambots/editors/tinymce/docs/reference_configuration.html --- 4.6rc2/mambots/editors/tinymce/docs/reference_configuration.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/reference_configuration.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,220 +0,0 @@ - - - -Configuration reference - - - - -
      -

      Configuration reference

      -
      - -
      -

      This document is the index/reference page for all available core configuration options in TinyMCE.

      - -
      - -

      Configuration options

      -
      -

      All configuration options below is to be placed within the init JavaScript call.

      - -

      - - - -
      -

      -
      - -
      - -

      Initialization of TinyMCE

      -
      -

      Inorder to initialize the TinyMCE the following code must be placed within HEAD element of a document. The following example is configurated to convert all TEXTAREA elements to into editors when the page loads, there are other modes as well.

      -

      Example of TinyMCE configuration:

      -
      -
      -<html>
      -<head>
      -<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
      -<script language="javascript" type="text/javascript">
      -tinyMCE.init({
      -	theme : "advanced",
      -	mode : "textareas"
      -});
      -</script>
      -</head>
      -
      -
      -
      - Note: Remember to remove the last "," character in the options list. -
      -
      - - -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/reference_javascript_functions.html 4.6-complete/mambots/editors/tinymce/docs/reference_javascript_functions.html --- 4.6rc2/mambots/editors/tinymce/docs/reference_javascript_functions.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/reference_javascript_functions.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,597 +0,0 @@ - - - -Javascript Functions - - - - -
      -

      Javascript Functions

      -
      - -
      -

      This is for advanced users, TinyMCE has a global instance with some public functions that can be called from the page.

      -

      tinyMCE.triggerSave([skip_cleanup], [skip_callback]);

      -

      -Makes a cleanup and moves the contents from the editor to the form field. This method is automaticly called by tinyMCE by adding a trigger on the forms submit method. -

      -

      - - - - - - - - - - - - - - - - -
      Parameters
      [skip_cleanup]Disables the cleanup process of trigger save. Defaults to false. (Optional)
      [skip_callback]Disables the execution of the save_callback function. Defaults to false. (Optional)
      - -skip_callback -

      -

      -Returns: Nothing -

      -
      -

      tinyMCE.updateContent(form_element_name);

      -

      -Moves the contents from the form element to the editor, this does the opposite of triggerSave(). This method can be used when you want to change the contents of the editor dynamicly. -

      -

      - - - - - - - - - - - - -
      Parameters
      form_element_nameThe name of the form element to get contents from.
      -

      -

      -Returns: Nothing -

      -
      -

      tinyMCE.execInstanceCommand(editor_id, command, [user_interface], [value]);

      -

      -This method executes a command by name on the editor instance specified by the editor_id parameter. -

      -

      - - - - - - - - - - - - - - - - - - - - - - - - -
      Parameters
      editor_idID of editor instance or element id/name of the replaced element.
      commandCommand to execute check the execCommand function for details.
      [user_interface]Is a user interface to be used or not.
      [value]Value to pass with command for example a URL..
      -

      -

      -Returns: Nothing -

      -
      -

      tinyMCE.execCommand(command, [user_interface], [value]);

      -

      -This method executes a command by name on the selected editor instance. -

      -

      - - - - - - - - - - - - - - - - - - - - -
      Parameters
      commandCommand to execute for example "Bold" or "Italic". These are defined by Mozilla Midas specification or Microsoft specification. But there are a some TinyMCE specific commands many other commands are available within plugins and themes.

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      mceLinkOpens the insert link dialog and inserts a link.
      mceImageOpens the insert image dialog and inserts a image.
      mceCleanupRemoved unwanted elements and attributes from the HTML code.
      mceHelpOpens the manual pages.
      mceAddControlAdds a editor control to the element id/name specified as value.
      mceRemoveControlRemoves a specific control by editor_id name. The value is the editor_id to remove, editor ids are in the following format: "mce_editor_<index>". DOM element ids and form element names can allso be used.
      mceFocusFocuses the editor by the id placed in value. Editor id's are in the format "mce_editor_". DOM element ids and form element names can allso be used.
      mceSetCSSClassSets the CSS class attribute or creates a new span of the selection. The value is the css class name to assign to selected element or new span element.
      mceInsertContentInserts contents of value parameter to current cursor position.
      mceReplaceContentReplaces the current selection with the HTML code in value. The {$selection} variable gets replaced with the currently selected text contents.
      mceSetAttributeSets a attribute of the currenly selected element. The value of this command should be a name/value array with the following parameters.

      - name - Attribute name to set.
      - value - Attrbute value to set.
      - [targets] - Target elements to add attribute on. Default: p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address.

      - Example of usage:
      - tinyMCE.execCommand('mceSetAttribute',false,{name:'align',value:'right'});
      -
      mceToggleVisualAidToggles visual aid/guidelines mode on/off.
      mceAnchorInserts a named anchor element, the value is the name of the anchor.
      mceResetDesignModeResets the designMode state of all editor instances, this command is useful on Firefox if the editor is placed in tabs or shown/hidden with style.display="none/block". Call this command after the editor displayed again.
      mceSelectNodeSelects the node/element passed as value. This command will also scroll to the elements location within the editor.
      mceSelectNodeDepthSelects the node/element by depth relative from the current node. So a value of 0 will select the currently focused node. This command will also scroll to the elements location within the editor.
      mceRemoveNodeRemoves the specified node and places the contents of the node in the same location. Specify the node reference to remove in the value parameter or null if the currently selected node is to be removed.
      -
      [user_interface]Tells if the command is to display a user interface or not. True/False option.
      [value]Value to pass for the command for example to insertLink it's the URL of the link.
      - -

      -

      -Returns: Nothing -

      -

      -Example: -

      -

      -

      -
      -<a href="javascript:tinymce.execCommand('Bold');">[Do bold]</a>
      -
      -
      -

      -
      -

      (Deprecated) tinyMCE.insertLink(href, target);

      -

      This method is deprecated and removed as of 2.0.3. Use tinyMCE.execCommand('mceInsertContent',false,'custom html'); instead and tinyMCE.getInstanceById('<inst>').selection.getFocusElement() to retrive/update the selected element.

      -

      But if you realy need the old function it's marked internal but is available in the advanced theme and you can call it by using tinyMCE.themes['advanced']._insertLink(href, target);. But the recommended way is to modify your code to use the logic above.

      -

      This method inserts a link a the cursor position of the selected editor instance or updates the selected link with new data. This method should be called upon "ok" in the insertLink popup when you create custom themes. -

      - - - - - - - - - - - - - - - - -
      Parameters
      hrefHREF/URL of the link.
      targetTarget of the link.
      -

      -Returns: Nothing -

      -
      -

      (Deprecated) tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);

      -

      This method is deprecated and removed as of 2.0.3. Use tinyMCE.execCommand('mceInsertContent',false,'custom html'); instead or if you realy need the old function it's marked internal but is available in the advanced theme and you can call it by using tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);. But the recommended way is to modify your code to use the logic above.

      -

      -This method inserts a image a the cursor position of the selected editor instance or updates the selected image with new data. This method should be called upon "ok" in the insertImage popup when you create custom themes. -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Parameters
      srcImage src url.
      altAlternative text of img element.
      borderBorder of image element.
      hspaceHorizontal spacing of image element.
      vspaceVertical spacing of image element.
      widthWidth of image element.
      heightHeight of image element.
      alignAlignment of image element.
      titleLink title of image element.
      onmouseoverOn mouse over event handler of image element.
      onmouseoutOn mouse out event handler of image element.
      -

      -Returns: Nothing -

      -
      -

      tinyMCE.triggerNodeChange();

      -

      This method is to be called when external changes is made to the editor. This method will then call the "handleNodeChangeCallback" callback in the theme. -

      -

      -Parameters: -

      -

      -None -

      -

      -Returns: Nothing -

      -
      -

      tinyMCE.getContent();

      -

      -This method returns the HTML contents of the currently selected editor or null if no editor was selected. -

      -

      -Parameters: -

      -

      -None -

      -

      -Returns: HTML contents of the currently selected editor or null. -

      -
      -

      Syntax: tinyMCE.setContent(html);

      - -

      This method sets the HTML contents of the currently selected editor.

      - -

      - - - - - - - - - - - - -
      Parameters
      htmlHTML Source code to set.
      -

      -

      -Returns: None. -

      -
      -

      tinyMCE.getInstanceById(editor_id);

      -

      -This method returns a editor instance by editor id. -

      -

      - - - - - - - - - - - - -
      Parameters
      editor_idEditor instance to retrive.
      -

      -

      -Returns: TinyMCE Editor instance (TinyMCE_Control). -

      -
      -

      tinyMCE.importThemeLanguagePack([theme]);

      -

      -This method imports/loads theme specific language packs. This may be called from custom themes. -

      -

      - - - - - - - - - - - - -
      Parameters
      [theme]Name of the current theme. This is a optional parameter it defaults to the global "theme" setting. This parameter is useful within theme plugins.
      -

      -

      -Returns: None. -

      -
      -

      tinyMCE.importPluginLanguagePack(plugin, valid_languages);

      -

      -This method imports/loads plugin specific language packs. This may be called from custom plugins. -

      -

      - - - - - - - - - - - - - - - - -
      Parameters
      pluginName of the current plugin.
      valid_languagesComma separated list of supported languagepacks.
      -

      -

      -Returns: None. -

      -
      -

      tinyMCE.applyTemplate(html);

      -

      -This method replaces settings and lang variables in the theme. -

      -

      - - - - - - - - - - - - -
      Parameters
      htmlHTML code to apply theme variable substitution on.
      -

      -

      -Returns: New converted, HTML code. -

      -
      -

      tinyMCE.openWindow(template, [args]);

      -

      This method opens a new window by the template data assigned, it will get the width, height and html data from template parameters. The args array contains variable names to be substituted.

      -

      -There are some custom window arguments: -

      -

      - - - - - - - - - - - - - - - - -
      Parameters
      mce_replacevariablesEnables/Disables the language/variable replacement of the document HTML. Enabled by default.
      mce_windowresizeEnables/Disables the auto resize feature of popupwindows. Enabled by default.
      -

      - -

      - - - - - - - - - - - - - - - - -
      Parameters
      templateName/Value array with width, height, html and file keys in it.
      [args]Name/Value array with variable names to replace. Variables in the template file key value (URL) gets replaced with the argument list.
      -

      -

      -Returns: None. -

      -
      -

      tinyMCE.getWindowArg(name, [default_value]);

      -

      -This method returns a window argument defined by name. This function is to be used in theme popup windows to retrive dialog parameters. -

      -

      - - - - - - - - - - - - - - - - -
      Parameters
      nameName of window argument to get.
      [default_value]Default value to be returned if window argument is missing.
      -

      -

      -Returns: Window argument value. -

      -
      -

      tinyMCE.setWindowArg(name, value);

      -

      This method sets a window argument by name. This can for example be useful if plugin are to call other plugins.

      -

      - - - - - - - - - - - - - - - - -
      Parameters
      nameName of window argument to set.
      valueValue to set in window argument.
      -

      -

      -Returns: Window argument value. -

      -
      -

      tinyMCE.getParam(name, [default_value], [strip_whitespace]);

      -

      This method returns a TinyMCE configuration parameter.

      -

      - - - - - - - - - - - - - - - - - - - - -
      Parameters:
      nameName of window argument to get.
      [default_value]Default value to be returned if window argument is missing.
      [strip_whitespace]If true all whitespace will be removed from return value, default: false.
      -

      -

      -Returns: TinyMCE configuration parameter. -

      -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/docs/reference_plugins.html 4.6-complete/mambots/editors/tinymce/docs/reference_plugins.html --- 4.6rc2/mambots/editors/tinymce/docs/reference_plugins.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/docs/reference_plugins.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,76 +0,0 @@ - - - -Plugins Reference - - - - -
      -

      Plugins reference

      -
      - -
      -

      Here are some information about the different plugins.

      - -
      - -

      Plugins

      -
      -

      To use a plugin, you need to use the advanced theme and add the plugin name in the "plugin" comma seperated line. You also need to add the button to the interface, read more about the advanced plugin to configure this.

      -

      -

      - - -
      -

      -

      - Please notice that the plugins can require some configuration, click on the plugin link to read more about that plugin. -

      -
      - -
      - - -
      - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/index.html 4.6-complete/mambots/editors/tinymce/index.html --- 4.6rc2/mambots/editors/tinymce/index.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/index.html 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ - \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/blank.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/blank.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/blank.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/blank.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,9 +0,0 @@ - - - blank_page - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/index.html 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/index.html --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/index.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/index.html 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ - \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,41 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -bold_desc : 'Bold (Ctrl+B)', -italic_desc : 'Italic (Ctrl+I)', -underline_desc : 'Underline (Ctrl+U)', -striketrough_desc : 'Strikethrough', -justifyleft_desc : 'Align left', -justifycenter_desc : 'Align center', -justifyright_desc : 'Align right', -justifyfull_desc : 'Align full', -bullist_desc : 'Unordered list', -numlist_desc : 'Ordered list', -outdent_desc : 'Outdent', -indent_desc : 'Indent', -undo_desc : 'Undo (Ctrl+Z)', -redo_desc : 'Redo (Ctrl+Y)', -link_desc : 'Insert/edit link', -unlink_desc : 'Unlink', -image_desc : 'Insert/edit image', -cleanup_desc : 'Cleanup messy code', -focus_alert : 'A editor instance must be focused before using this command.', -edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?', -insert_link_title : 'Insert/edit link', -insert : 'Insert', -update : 'Update', -cancel : 'Cancel', -insert_link_url : 'Link URL', -insert_link_target : 'Target', -insert_link_target_same : 'Open link in the same window', -insert_link_target_blank : 'Open link in a new window', -insert_image_title : 'Insert/edit image', -insert_image_src : 'Image URL', -insert_image_alt : 'Image description', -help_desc : 'Help', -bold_img : "bold.gif", -italic_img : "italic.gif", -underline_img : "underline.gif", -clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?', -popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/langs/readme.txt 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/langs/readme.txt --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/langs/readme.txt 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/langs/readme.txt 1969-12-31 18:00:00.000000000 -0600 @@ -1,7 +0,0 @@ -Language packs are from version 2.0.5 removed from the core but can be downloadable from the TinyMCE website. -http://tinymce.moxiecode.com/download.php - -The language pack codes are based on ISO-639-2 -http://www.loc.gov/standards/iso639-2/englangn.html - -Try using entires if possible. å etc. diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/license.txt 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/license.txt --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/license.txt 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/license.txt 1969-12-31 18:00:00.000000000 -0600 @@ -1,437 +0,0 @@ - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. -. - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. -. - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. -. - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. -. - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. -. - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. -. - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. -. - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. -. - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('template','en,tr,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl');var TinyMCE_TemplatePlugin={getInfo:function(){return{longname:'Template plugin',author:'Your name',authorurl:'http://www.yoursite.com',infourl:'http://www.yoursite.com/docs/template.html',version:"1.0"};},initInstance:function(inst){alert("Initialization parameter:"+tinyMCE.getParam("template_someparam",false));inst.addShortcut('ctrl','t','lang_template_desc','mceTemplate');},getControlHTML:function(cn){switch(cn){case"template":return tinyMCE.getButtonHTML(cn,'lang_template_desc','{$pluginurl}/images/template.gif','mceTemplate',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceTemplate":if(user_interface){var template=new Array();template['file']='../../plugins/template/popup.htm';template['width']=300;template['height']=200;tinyMCE.openWindow(template,{editor_id:editor_id,some_custom_arg:"somecustomdata"});tinyMCE.triggerNodeChange(false);}else{alert("execCommand: mceTemplate gets called from popup.");}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node.parentNode.nodeName=="STRONG"||node.parentNode.nodeName=="B"){tinyMCE.switchClass(editor_id+'_template','mceButtonSelected');return true;}tinyMCE.switchClass(editor_id+'_template','mceButtonNormal');},setupContent:function(editor_id,body,doc){},onChange:function(inst){},handleEvent:function(e){top.status="template plugin event: "+e.type;return true;},cleanup:function(type,content,inst){switch(type){case"get_from_editor":alert("[FROM] Value HTML string: "+content);break;case"insert_to_editor":alert("[TO] Value HTML string: "+content);break;case"get_from_editor_dom":alert("[FROM] Value DOM Element "+content.innerHTML);break;case"insert_to_editor_dom":alert("[TO] Value DOM Element: "+content.innerHTML);break;}return content;},_someInternalFunction:function(a,b){return 1;}};tinyMCE.addPlugin("template",TinyMCE_TemplatePlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,238 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.12 $ - * $Date: 2006/02/22 20:06:23 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('template', 'en,tr,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl'); // <- Add a comma separated list of all supported languages - -/**** - * Steps for creating a plugin from this template: - * - * 1. Change all "template" to the name of your plugin. - * 2. Remove all the callbacks in this file that you don't need. - * 3. Remove the popup.htm file if you don't need any popups. - * 4. Add your custom logic to the callbacks you needed. - * 5. Write documentation in a readme.txt file on how to use the plugin. - * 6. Upload it under the "Plugins" section at sourceforge. - * - ****/ - -// Singleton class -var TinyMCE_TemplatePlugin = { - /** - * Returns information about the plugin as a name/value array. - * The current keys are longname, author, authorurl, infourl and version. - * - * @returns Name/value array containing information about the plugin. - * @type Array - */ - getInfo : function() { - return { - longname : 'Template plugin', - author : 'Your name', - authorurl : 'http://www.yoursite.com', - infourl : 'http://www.yoursite.com/docs/template.html', - version : "1.0" - }; - }, - - /** - * Gets executed when a TinyMCE editor instance is initialized. - * - * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. - */ - initInstance : function(inst) { - // You can take out plugin specific parameters - alert("Initialization parameter:" + tinyMCE.getParam("template_someparam", false)); - - // Register custom keyboard shortcut - inst.addShortcut('ctrl', 't', 'lang_template_desc', 'mceTemplate'); - }, - - /** - * Returns the HTML code for a specific control or empty string if this plugin doesn't have that control. - * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface. - * The variable {$editor_id} will be replaced with the current editor instance id and {$pluginurl} will be replaced - * with the URL of the plugin. Language variables such as {$lang_somekey} will also be replaced with contents from - * the language packs. - * - * @param {string} cn Editor control/button name to get HTML for. - * @return HTML code for a specific control or empty string. - * @type string - */ - getControlHTML : function(cn) { - switch (cn) { - case "template": - return tinyMCE.getButtonHTML(cn, 'lang_template_desc', '{$pluginurl}/images/template.gif', 'mceTemplate', true); - } - - return ""; - }, - - /** - * Executes a specific command, this function handles plugin commands. - * - * @param {string} editor_id TinyMCE editor instance id that issued the command. - * @param {HTMLElement} element Body or root element for the editor instance. - * @param {string} command Command name to be executed. - * @param {string} user_interface True/false if a user interface should be presented. - * @param {mixed} value Custom value argument, can be anything. - * @return true/false if the command was executed by this plugin or not. - * @type - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - // Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser. - case "mceTemplate": - // Show UI/Popup - if (user_interface) { - // Open a popup window and send in some custom data in a window argument - var template = new Array(); - - template['file'] = '../../plugins/template/popup.htm'; // Relative to theme - template['width'] = 300; - template['height'] = 200; - - tinyMCE.openWindow(template, {editor_id : editor_id, some_custom_arg : "somecustomdata"}); - - // Let TinyMCE know that something was modified - tinyMCE.triggerNodeChange(false); - } else { - // Do a command this gets called from the template popup - alert("execCommand: mceTemplate gets called from popup."); - } - - return true; - } - - // Pass to next handler in chain - return false; - }, - - /** - * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable - * button controls depending on where the user are and what they have selected. This method gets executed - * alot and should be as performance tuned as possible. - * - * @param {string} editor_id TinyMCE editor instance id that was changed. - * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree. - * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled. - * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled. - * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables. - * @param {boolean} any_selection Is there any selection at all or is there only a cursor. - */ - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - // Select template button if parent node is a strong or b - if (node.parentNode.nodeName == "STRONG" || node.parentNode.nodeName == "B") { - tinyMCE.switchClass(editor_id + '_template', 'mceButtonSelected'); - return true; - } - - // Deselect template button - tinyMCE.switchClass(editor_id + '_template', 'mceButtonNormal'); - }, - - /** - * Gets called when a TinyMCE editor instance gets filled with content on startup. - * - * @param {string} editor_id TinyMCE editor instance id that was filled with content. - * @param {HTMLElement} body HTML body element of editor instance. - * @param {HTMLDocument} doc HTML document instance. - */ - setupContent : function(editor_id, body, doc) { - }, - - /** - * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is - * added. - * - * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified. - */ - onChange : function(inst) { - }, - - /** - * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE - * doesn't listen on all types of events so custom event handling may be required for - * some purposes. - * - * @param {Event} e HTML editor event reference. - * @return true - pass to next handler in chain, false - stop chain execution - * @type boolean - */ - handleEvent : function(e) { - // Display event type in statusbar - top.status = "template plugin event: " + e.type; - - return true; // Pass to next handler - }, - - /** - * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance. - * The type parameter contains what type of event that was performed and what format the content is in. - * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom. - * - * @param {string} type Cleanup event type. - * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element. - * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup. - * @return New content or the input content depending on action. - * @type string - */ - cleanup : function(type, content, inst) { - switch (type) { - case "get_from_editor": - alert("[FROM] Value HTML string: " + content); - - // Do custom cleanup code here - - break; - - case "insert_to_editor": - alert("[TO] Value HTML string: " + content); - - // Do custom cleanup code here - - break; - - case "get_from_editor_dom": - alert("[FROM] Value DOM Element " + content.innerHTML); - - // Do custom cleanup code here - - break; - - case "insert_to_editor_dom": - alert("[TO] Value DOM Element: " + content.innerHTML); - - // Do custom cleanup code here - - break; - } - - return content; - }, - - // Private plugin internal methods - - /** - * This is just a internal plugin method, prefix all internal methods with a _ character. - * The prefix is needed so they doesn't collide with future TinyMCE callback functions. - * - * @param {string} a Some arg1. - * @param {string} b Some arg2. - * @return Some return. - * @type string - */ - _someInternalFunction : function(a, b) { - return 1; - } -}; - -// Adds the plugin class to the list of available TinyMCE plugins -tinyMCE.addPlugin("template", TinyMCE_TemplatePlugin); Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/images/template.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/images/template.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,8 +0,0 @@ -// UK lang variables - -/* Remember to namespace the language parameters lang__ */ - -tinyMCE.addToLang('',{ -template_title : 'This is just a template popup', -template_desc : 'This is just a template button' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/popup.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/popup.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/popup.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/_template/popup.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,48 +0,0 @@ - - - {$lang_template_title} - - - - - -
      -

      {$lang_template_title}

      - - -
      - The selected element name: -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,23 +0,0 @@ -input.radio { - border: 1px none #000000; - background-color: transparent; - vertical-align: middle; -} - -.panel_wrapper div.current { - height: 80px; -} - -#width { - width: 50px; - vertical-align: middle; -} - -#width2 { - width: 50px; - vertical-align: middle; -} - -#size { - width: 100px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('advhr','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_AdvancedHRPlugin={getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advhr.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"advhr":return tinyMCE.getButtonHTML(cn,'lang_insert_advhr_desc','{$pluginurl}/images/advhr.gif','mceAdvancedHr');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_advhr_delta_width',0);template['height']+=tinyMCE.getLang('lang_advhr_delta_height',0);var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):"";}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'});}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'
      ');}else{tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",size:size,width:width,noshade:noshade,mceDo:'insert'});}}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="HR"){tinyMCE.switchClass(editor_id+'_advhr','mceButtonSelected');return true;}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advhr','mceButtonNormal');return true;}};tinyMCE.addPlugin("advhr",TinyMCE_AdvancedHRPlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,92 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.19 $ - * $Date: 2006/02/10 16:29:37 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('advhr', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk'); - -var TinyMCE_AdvancedHRPlugin = { - getInfo : function() { - return { - longname : 'Advanced HR', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advhr.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - } - }, - - getControlHTML : function(cn) { - switch (cn) { - case "advhr": - return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr'); - } - - return ""; - }, - - /** - * Executes the mceAdvanceHr command. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mceAdvancedHr": - var template = new Array(); - - template['file'] = '../../plugins/advhr/rule.htm'; // Relative to theme - template['width'] = 250; - template['height'] = 160; - - template['width'] += tinyMCE.getLang('lang_advhr_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0); - - var size = "", width = "", noshade = ""; - if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") { - tinyMCE.hrElement = tinyMCE.selectedElement; - - if (tinyMCE.hrElement) { - size = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : ""; - width = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : ""; - noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : ""; - } - - tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'}); - } else { - if (tinyMCE.isMSIE) { - tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'
      '); - } else { - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'}); - } - } - - return true; - } - - // Pass to next handler in chain - return false; - }, - - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - if (node == null) - return; - - do { - if (node.nodeName == "HR") { - tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected'); - return true; - } - } while ((node = node.parentNode)); - - tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal'); - - return true; - } -}; - -tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin); Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,41 +0,0 @@ -function init() { - var formObj = document.forms[0]; - formObj.width.value = tinyMCE.getWindowArg('width'); - formObj.size.value = tinyMCE.getWindowArg('size'); - formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'),'Insert',true); - if (tinyMCE.getWindowArg('noshade')) { - formObj.noshade.checked = true; - } - if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) { - formObj.width2.value = "%"; - formObj.width.value = formObj.width.value.substring(0,formObj.width.value.length-1); - } -} - -function insertHR() { - var formObj = document.forms[0]; - var width = formObj.width.value; - var size = formObj.size.value; - var html = ' - - {$lang_insert_advhr_desc} - - - - - - - -
      - - -
      -
      - - - - - - - - - - - - - -
      - - -
      -
      -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,66 +0,0 @@ -/* CSS file for advimage plugin popup */ - -.mceImageList { - width: 280px; -} - -.mceActionPanel { - margin-top: 7px; -} - -.alignPreview { - border: 1px solid black; - width: 140px; - height: 140px; - overflow: hidden; - padding: 5px; -} - -.checkbox { - border: 0; -} - -.panel_wrapper div.current { - height: 305px; -} - -#prev { - margin: 0; - border: 1px - solid black; - width: 99%; - height: 150px; - overflow: auto; -} - -#align, #classlist { - width: 150px; -} - -#width, #height { - vertical-align: middle; - width: 50px; - text-align: center; -} - -#vspace, #hspace, #border { - vertical-align: middle; - width: 30px; - text-align: center; -} - -#classlist { - width: 180px; -} - -input { - width: 280px; -} - -#constrain, #onmousemovecheck { - width: auto; -} - -#id, #dir, #lang, #usemap, #longdesc { - width: 200px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('advimage','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da');var TinyMCE_AdvancedImagePlugin={getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advimage.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"image":return tinyMCE.getButtonHTML(cn,'lang_image_desc','{$themeurl}/images/image.gif','mceAdvImage');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvImage":var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=480;template['height']=380;template['width']+=tinyMCE.getLang('lang_advimage_delta_width',0);template['height']+=tinyMCE.getLang('lang_advimage_delta_height',0);var inst=tinyMCE.getInstanceById(editor_id);var elm=inst.getFocusElement();if(elm!=null&&tinyMCE.getAttrib(elm,'class').indexOf('mceItem')!=-1)return true;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;}return false;},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i - - {$lang_insert_image_title} - - - - - - - - -
      - - -
      -
      -
      - {$lang_advimage_general} - - - - - - - - - - - - - - - - - - -
      - - - - -
       
       
      -
      - -
      - {$lang_advimage_preview} - -
      -
      - -
      -
      - {$lang_advimage_tab_appearance} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - {$lang_advimage_example_img} - Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam - nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum - edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam - erat volutpat. -
      -
      - x - px -
        - - - - -
      -
      - -
      -
      -
      - -
      -
      - {$lang_advimage_swap_image} - - - - - - - - - - - - - - - - - - - - - -
      - - - - -
       
       
      - - - - -
       
       
      -
      - -
      - {$lang_advimage_misc} - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - -
      - -
      - - - - -
       
      -
      -
      -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/images/sample.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/images/sample.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,545 +0,0 @@ -/* Functions for the advimage plugin popup */ - -var preloadImg = null; -var orgImageWidth, orgImageHeight; - -function preinit() { - // Initialize - tinyMCE.setWindowArg('mce_windowresize', false); - - // Import external list url javascript - var url = tinyMCE.getParam("external_image_list_url"); - if (url != null) { - // Fix relative - if (url.charAt(0) != '/' && url.indexOf('://') == -1) - url = tinyMCE.documentBasePath + "/" + url; - - document.write(''); - } -} - -function convertURL(url, node, on_save) { - return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);"); -} - -function getImageSrc(str) { - var pos = -1; - - if (!str) - return ""; - - if ((pos = str.indexOf('this.src=')) != -1) { - var src = str.substring(pos + 10); - - src = src.substring(0, src.indexOf('\'')); - - if (tinyMCE.getParam('convert_urls')) - src = convertURL(src, null, true); - - return src; - } - - return ""; -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - var formObj = document.forms[0]; - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var elm = inst.getFocusElement(); - var action = "insert"; - var html = ""; - - // Image list src - html = getImageListHTML('imagelistsrc','src','onSelectMainImage'); - if (html == "") - document.getElementById("imagelistsrcrow").style.display = 'none'; - else - document.getElementById("imagelistsrccontainer").innerHTML = html; - - // Image list oversrc - html = getImageListHTML('imagelistover','onmouseoversrc'); - if (html == "") - document.getElementById("imagelistoverrow").style.display = 'none'; - else - document.getElementById("imagelistovercontainer").innerHTML = html; - - // Image list outsrc - html = getImageListHTML('imagelistout','onmouseoutsrc'); - if (html == "") - document.getElementById("imagelistoutrow").style.display = 'none'; - else - document.getElementById("imagelistoutcontainer").innerHTML = html; - - // Src browser - html = getBrowserHTML('srcbrowser','src','image','advimage'); - document.getElementById("srcbrowsercontainer").innerHTML = html; - - // Over browser - html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage'); - document.getElementById("onmouseoversrccontainer").innerHTML = html; - - // Out browser - html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage'); - document.getElementById("onmouseoutsrccontainer").innerHTML = html; - - // Longdesc browser - html = getBrowserHTML('longdescbrowser','longdesc','file','advimage'); - document.getElementById("longdesccontainer").innerHTML = html; - - // Resize some elements - if (isVisible('srcbrowser')) - document.getElementById('src').style.width = '260px'; - - if (isVisible('oversrcbrowser')) - document.getElementById('onmouseoversrc').style.width = '260px'; - - if (isVisible('outsrcbrowser')) - document.getElementById('onmouseoutsrc').style.width = '260px'; - - if (isVisible('longdescbrowser')) - document.getElementById('longdesc').style.width = '180px'; - - // Check action - if (elm != null && elm.nodeName == "IMG") - action = "update"; - - formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); - - if (action == "update") { - var src = tinyMCE.getAttrib(elm, 'src'); - var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover'))); - var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout'))); - - src = convertURL(src, elm, true); - - // Use mce_src if found - var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src'); - if (mceRealSrc != "") { - src = mceRealSrc; - - if (tinyMCE.getParam('convert_urls')) - src = convertURL(src, elm, true); - } - - if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls')) - onmouseoversrc = convertURL(onmouseoversrc, elm, true); - - if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls')) - onmouseoutsrc = convertURL(onmouseoutsrc, elm, true); - - // Setup form data - var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style")); - - // Store away old size - orgImageWidth = trimSize(getStyle(elm, 'width')) - orgImageHeight = trimSize(getStyle(elm, 'height')); - - formObj.src.value = src; - formObj.alt.value = tinyMCE.getAttrib(elm, 'alt'); - formObj.title.value = tinyMCE.getAttrib(elm, 'title'); - formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth')); - formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace'); - formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace'); - formObj.width.value = orgImageWidth; - formObj.height.value = orgImageHeight; - formObj.onmouseoversrc.value = onmouseoversrc; - formObj.onmouseoutsrc.value = onmouseoutsrc; - formObj.id.value = tinyMCE.getAttrib(elm, 'id'); - formObj.dir.value = tinyMCE.getAttrib(elm, 'dir'); - formObj.lang.value = tinyMCE.getAttrib(elm, 'lang'); - formObj.longdesc.value = tinyMCE.getAttrib(elm, 'longdesc'); - formObj.usemap.value = tinyMCE.getAttrib(elm, 'usemap'); - formObj.style.value = tinyMCE.serializeStyle(style); - - // Select by the values - if (tinyMCE.isMSIE) - selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat')); - else - selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat')); - - addClassesToList('classlist', 'advimage_styles'); - - selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class')); - selectByValue(formObj, 'imagelistsrc', src); - selectByValue(formObj, 'imagelistover', onmouseoversrc); - selectByValue(formObj, 'imagelistout', onmouseoutsrc); - - updateStyle(); - showPreviewImage(src, true); - changeAppearance(); - - window.focus(); - } else - addClassesToList('classlist', 'advimage_styles'); - - // If option enabled default contrain proportions to checked - if (tinyMCE.getParam("advimage_constrain_proportions", true)) - formObj.constrain.checked = true; - - // Check swap image if valid data - if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "") - setSwapImageDisabled(false); - else - setSwapImageDisabled(true); -} - -function setSwapImageDisabled(state) { - var formObj = document.forms[0]; - - formObj.onmousemovecheck.checked = !state; - - setBrowserDisabled('overbrowser', state); - setBrowserDisabled('outbrowser', state); - - if (formObj.imagelistover) - formObj.imagelistover.disabled = state; - - if (formObj.imagelistout) - formObj.imagelistout.disabled = state; - - formObj.onmouseoversrc.disabled = state; - formObj.onmouseoutsrc.disabled = state; -} - -function setAttrib(elm, attrib, value) { - var formObj = document.forms[0]; - var valueElm = formObj.elements[attrib]; - - if (typeof(value) == "undefined" || value == null) { - value = ""; - - if (valueElm) - value = valueElm.value; - } - - if (value != "") { - elm.setAttribute(attrib, value); - - if (attrib == "style") - attrib = "style.cssText"; - - if (attrib == "longdesc") - attrib = "longDesc"; - - if (attrib == "width") { - attrib = "style.width"; - value = value + "px"; - } - - if (attrib == "height") { - attrib = "style.height"; - value = value + "px"; - } - - if (attrib == "class") - attrib = "className"; - - eval('elm.' + attrib + "=value;"); - } else - elm.removeAttribute(attrib); -} - -function makeAttrib(attrib, value) { - var formObj = document.forms[0]; - var valueElm = formObj.elements[attrib]; - - if (typeof(value) == "undefined" || value == null) { - value = ""; - - if (valueElm) - value = valueElm.value; - } - - if (value == "") - return ""; - - // XML encode it - value = value.replace(/&/g, '&'); - value = value.replace(/\"/g, '"'); - value = value.replace(//g, '>'); - - return ' ' + attrib + '="' + value + '"'; -} - -function insertAction() { - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var elm = inst.getFocusElement(); - var formObj = document.forms[0]; - var src = formObj.src.value; - var onmouseoversrc = formObj.onmouseoversrc.value; - var onmouseoutsrc = formObj.onmouseoutsrc.value; - - if (tinyMCE.getParam("accessibility_warnings")) { - if (formObj.alt.value == "") { - var answer = confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true)); - if (answer == true) { - formObj.alt.value = " "; - } - } else { - var answer = true; - } - - if (!answer) - return; - } - - if (onmouseoversrc && onmouseoversrc != "") - onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';"; - - if (onmouseoutsrc && onmouseoutsrc != "") - onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';"; - - if (elm != null && elm.nodeName == "IMG") { - setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement)); - setAttrib(elm, 'mce_src', src); - setAttrib(elm, 'alt'); - setAttrib(elm, 'title'); - setAttrib(elm, 'border'); - setAttrib(elm, 'vspace'); - setAttrib(elm, 'hspace'); - setAttrib(elm, 'width'); - setAttrib(elm, 'height'); - setAttrib(elm, 'onmouseover', onmouseoversrc); - setAttrib(elm, 'onmouseout', onmouseoutsrc); - setAttrib(elm, 'id'); - setAttrib(elm, 'dir'); - setAttrib(elm, 'lang'); - setAttrib(elm, 'longdesc'); - setAttrib(elm, 'usemap'); - setAttrib(elm, 'style'); - setAttrib(elm, 'class', getSelectValue(formObj, 'classlist')); - setAttrib(elm, 'align', getSelectValue(formObj, 'align')); - - //tinyMCEPopup.execCommand("mceRepaint"); - - // Repaint if dimensions changed - if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight) - inst.repaint(); - - // Refresh in old MSIE - if (tinyMCE.isMSIE5) - elm.outerHTML = elm.outerHTML; - } else { - var html = "' - - getImageData(src); -} - -function getImageData(src) { - preloadImg = new Image(); - - tinyMCE.addEvent(preloadImg, "load", updateImageData); - tinyMCE.addEvent(preloadImg, "error", resetImageData); - - preloadImg.src = src; -} - -function updateImageData() { - var formObj = document.forms[0]; - - if (formObj.width.value == "") - formObj.width.value = preloadImg.width; - - if (formObj.height.value == "") - formObj.height.value = preloadImg.height; - - updateStyle(); -} - -function resetImageData() { - var formObj = document.forms[0]; - formObj.width.value = formObj.height.value = ""; -} - -function getSelectValue(form_obj, field_name) { - var elm = form_obj.elements[field_name]; - - if (elm == null || elm.options == null) - return ""; - - return elm.options[elm.selectedIndex].value; -} - -function getImageListHTML(elm_id, target_form_element, onchange_func) { - if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0) - return ""; - - var html = ""; - - html += ''; - - return html; - - // tinyMCE.debug('-- image list start --', html, '-- image list end --'); -} - -// While loading -preinit(); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,27 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('advimage',{ -tab_general : 'General', -tab_appearance : 'Appearance', -tab_advanced : 'Advanced', -general : 'General', -title : 'Title', -preview : 'Preview', -constrain_proportions : 'Constrain proportions', -langdir : 'Language direction', -langcode : 'Language code', -long_desc : 'Long description link', -style : 'Style', -classes : 'Classes', -ltr : 'Left to right', -rtl : 'Right to left', -id : 'Id', -image_map : 'Image map', -swap_image : 'Swap image', -alt_image : 'Alternative image', -mouseover : 'for mouse over', -mouseout : 'for mouse out', -misc : 'Miscellaneous', -example_img : 'Appearance preview image', -missing_alt : 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,35 +0,0 @@ -/* CSS file for advimage plugin popup */ - -.mceLinkList, .mceAnchorList, #targetlist { - width: 280px; -} - -.mceActionPanel { - margin-top: 7px; -} - -.panel_wrapper div.current { - height: 320px; -} - -#classlist, #title, #href { - width: 280px; -} - -#popupurl, #popupname { - width: 200px; -} - -#popupwidth, #popupheight, #popupleft, #popuptop { - width: 30px; - vertical-align: middle; - text-align: center; -} - -#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey { - width: 200px; -} - -#events_panel input { - width: 200px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('advlink','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da');var TinyMCE_AdvancedLinkPlugin={getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){inst.addShortcut('ctrl','k','lang_advlink_desc','mceAdvLink');},getControlHTML:function(cn){switch(cn){case"link":return tinyMCE.getButtonHTML(cn,'lang_link_desc','{$themeurl}/images/link.gif','mceAdvLink');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvLink":var anySelection=false;var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var selectedText=inst.selection.getSelectedText();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(anySelection||(focusElm!=null&&focusElm.nodeName=="A")){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=480;template['height']=400;template['width']+=tinyMCE.getLang('lang_advlink_delta_width',0);template['height']+=tinyMCE.getLang('lang_advlink_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="A"&&tinyMCE.getAttrib(node,'href')!=""){tinyMCE.switchClass(editor_id+'_advlink','mceButtonSelected');return true;}}while((node=node.parentNode));if(any_selection){tinyMCE.switchClass(editor_id+'_advlink','mceButtonNormal');return true;}tinyMCE.switchClass(editor_id+'_advlink','mceButtonDisabled');return true;}};tinyMCE.addPlugin("advlink",TinyMCE_AdvancedLinkPlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,90 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.24 $ - * $Date: 2006/02/10 16:29:38 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('advlink', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da'); - -var TinyMCE_AdvancedLinkPlugin = { - getInfo : function() { - return { - longname : 'Advanced link', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - initInstance : function(inst) { - inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink'); - }, - - getControlHTML : function(cn) { - switch (cn) { - case "link": - return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink'); - } - - return ""; - }, - - execCommand : function(editor_id, element, command, user_interface, value) { - switch (command) { - case "mceAdvLink": - var anySelection = false; - var inst = tinyMCE.getInstanceById(editor_id); - var focusElm = inst.getFocusElement(); - var selectedText = inst.selection.getSelectedText(); - - if (tinyMCE.selectedElement) - anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0); - - if (anySelection || (focusElm != null && focusElm.nodeName == "A")) { - var template = new Array(); - - template['file'] = '../../plugins/advlink/link.htm'; - template['width'] = 480; - template['height'] = 400; - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_advlink_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0); - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); - } - - return true; - } - - return false; - }, - - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - if (node == null) - return; - - do { - if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") { - tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected'); - return true; - } - } while ((node = node.parentNode)); - - if (any_selection) { - tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal'); - return true; - } - - tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled'); - - return true; - } -}; - -tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,568 +0,0 @@ -/* Functions for the advlink plugin popup */ - -var templates = { - "window.open" : "window.open('${url}','${target}','${options}')" -}; - -function preinit() { - // Initialize - tinyMCE.setWindowArg('mce_windowresize', false); - - // Import external list url javascript - var url = tinyMCE.getParam("external_link_list_url"); - if (url != null) { - // Fix relative - if (url.charAt(0) != '/' && url.indexOf('://') == -1) - url = tinyMCE.documentBasePath + "/" + url; - - document.write(''); - } -} - -function changeClass() { - var formObj = document.forms[0]; - formObj.classes.value = getSelectValue(formObj, 'classlist'); -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - var formObj = document.forms[0]; - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var elm = inst.getFocusElement(); - var action = "insert"; - var html; - - document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink'); - document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink'); - document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href'); - document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href'); - document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target'); - - // Link list - html = getLinkListHTML('linklisthref','href'); - if (html == "") - document.getElementById("linklisthrefrow").style.display = 'none'; - else - document.getElementById("linklisthrefcontainer").innerHTML = html; - - // Resize some elements - if (isVisible('hrefbrowser')) - document.getElementById('href').style.width = '260px'; - - if (isVisible('popupurlbrowser')) - document.getElementById('popupurl').style.width = '180px'; - - elm = tinyMCE.getParentElement(elm, "a"); - if (elm != null && elm.nodeName == "A") - action = "update"; - - formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); - - setPopupControlsDisabled(true); - - if (action == "update") { - var href = tinyMCE.getAttrib(elm, 'href'); - - href = convertURL(href, elm, true); - - // Use mce_href if found - var mceRealHref = tinyMCE.getAttrib(elm, 'mce_href'); - if (mceRealHref != "") { - href = mceRealHref; - - if (tinyMCE.getParam('convert_urls')) - href = convertURL(href, elm, true); - } - - var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick')); - - // Setup form data - setFormValue('href', href); - setFormValue('title', tinyMCE.getAttrib(elm, 'title')); - setFormValue('id', tinyMCE.getAttrib(elm, 'id')); - setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style")))); - setFormValue('rel', tinyMCE.getAttrib(elm, 'rel')); - setFormValue('rev', tinyMCE.getAttrib(elm, 'rev')); - setFormValue('charset', tinyMCE.getAttrib(elm, 'charset')); - setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang')); - setFormValue('dir', tinyMCE.getAttrib(elm, 'dir')); - setFormValue('lang', tinyMCE.getAttrib(elm, 'lang')); - setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); - setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); - setFormValue('type', tinyMCE.getAttrib(elm, 'type')); - setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus'))); - setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur'))); - setFormValue('onclick', onclick); - setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick'))); - setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown'))); - setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup'))); - setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover'))); - setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove'))); - setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout'))); - setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress'))); - setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown'))); - setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup'))); - setFormValue('target', tinyMCE.getAttrib(elm, 'target')); - setFormValue('classes', tinyMCE.getAttrib(elm, 'class')); - - // Parse onclick data - if (onclick != null && onclick.indexOf('window.open') != -1) - parseWindowOpen(onclick); - else - parseFunction(onclick); - - // Select by the values - selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir')); - selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel')); - selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev')); - selectByValue(formObj, 'linklisthref', href); - - if (href.charAt(0) == '#') - selectByValue(formObj, 'anchorlist', href); - - addClassesToList('classlist', 'advlink_styles'); - - selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true); - selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true); - } else - addClassesToList('classlist', 'advlink_styles'); - - window.focus(); -} - -function setFormValue(name, value) { - document.forms[0].elements[name].value = value; -} - -function convertURL(url, node, on_save) { - return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);"); -} - -function parseWindowOpen(onclick) { - var formObj = document.forms[0]; - - // Preprocess center code - if (onclick.indexOf('return false;') != -1) { - formObj.popupreturn.checked = true; - onclick = onclick.replace('return false;', ''); - } else - formObj.popupreturn.checked = false; - - var onClickData = parseLink(onclick); - - if (onClickData != null) { - formObj.ispopup.checked = true; - setPopupControlsDisabled(false); - - var onClickWindowOptions = parseOptions(onClickData['options']); - var url = onClickData['url']; - - if (tinyMCE.getParam('convert_urls')) - url = convertURL(url, null, true); - - formObj.popupname.value = onClickData['target']; - formObj.popupurl.value = url; - formObj.popupwidth.value = getOption(onClickWindowOptions, 'width'); - formObj.popupheight.value = getOption(onClickWindowOptions, 'height'); - - formObj.popupleft.value = getOption(onClickWindowOptions, 'left'); - formObj.popuptop.value = getOption(onClickWindowOptions, 'top'); - - if (formObj.popupleft.value.indexOf('screen') != -1) - formObj.popupleft.value = "c"; - - if (formObj.popuptop.value.indexOf('screen') != -1) - formObj.popuptop.value = "c"; - - formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes"; - formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes"; - formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes"; - formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes"; - formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes"; - formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes"; - formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes"; - - buildOnClick(); - } -} - -function parseFunction(onclick) { - var formObj = document.forms[0]; - var onClickData = parseLink(onclick); - - // TODO: Add stuff here -} - -function getOption(opts, name) { - return typeof(opts[name]) == "undefined" ? "" : opts[name]; -} - -function setPopupControlsDisabled(state) { - var formObj = document.forms[0]; - - formObj.popupname.disabled = state; - formObj.popupurl.disabled = state; - formObj.popupwidth.disabled = state; - formObj.popupheight.disabled = state; - formObj.popupleft.disabled = state; - formObj.popuptop.disabled = state; - formObj.popuplocation.disabled = state; - formObj.popupscrollbars.disabled = state; - formObj.popupmenubar.disabled = state; - formObj.popupresizable.disabled = state; - formObj.popuptoolbar.disabled = state; - formObj.popupstatus.disabled = state; - formObj.popupreturn.disabled = state; - formObj.popupdependent.disabled = state; - - setBrowserDisabled('popupurlbrowser', state); -} - -function parseLink(link) { - link = link.replace(new RegExp(''', 'g'), "'"); - - var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1"); - - // Is function name a template function - var template = templates[fnName]; - if (template) { - // Build regexp - var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi")); - var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\("; - var replaceStr = ""; - for (var i=0; i'); - for (var i=0; i'; - html += ''; - - for (var i=0; i' + name + ''; - } - - html += ''; - - return html; -} - -function insertAction() { - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var elm = inst.getFocusElement(); - - elm = tinyMCE.getParentElement(elm, "a"); - - tinyMCEPopup.execCommand("mceBeginUndoLevel"); - - // Create new anchor elements - if (elm == null) { - if (tinyMCE.isSafari) - tinyMCEPopup.execCommand("mceInsertContent", false, '' + inst.selection.getSelectedHTML() + ''); - else - tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#"); - - var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#"); - for (var i=0; i' + tinyMCELinkList[i][0] + ''; - - html += ''; - - return html; - - // tinyMCE.debug('-- image list start --', html, '-- image list end --'); -} - -function getTargetListHTML(elm_id, target_form_element) { - var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';'); - var html = ''; - - html += ''; - - return html; -} - -// While loading -preinit(); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,46 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('advlink',{ -general_tab : 'General', -popup_tab : 'Popup', -events_tab : 'Events', -advanced_tab : 'Advanced', -general_props : 'General properties', -popup_props : 'Popup properties', -event_props : 'Events', -advanced_props : 'Advanced properties', -popup_opts : 'Options', -anchor_names : 'Anchors', -target_same : 'Open in this window / frame', -target_parent : 'Open in parent window / frame', -target_top : 'Open in top frame (replaces all frames)', -target_blank : 'Open in new window', -popup : 'Javascript popup', -popup_url : 'Popup URL', -popup_name : 'Window name', -popup_return : 'Insert \'return false\'', -popup_scrollbars : 'Show scrollbars', -popup_statusbar : 'Show status bar', -popup_toolbar : 'Show toolbars', -popup_menubar : 'Show menu bar', -popup_location : 'Show location bar', -popup_resizable : 'Make window resizable', -popup_dependent : 'Dependent (Mozilla/Firefox only)', -popup_size : 'Size', -popup_position : 'Position (X/Y)', -id : 'Id', -style: 'Style', -classes : 'Classes', -target_name : 'Target name', -langdir : 'Language direction', -target_langcode : 'Target language', -langcode : 'Language code', -encoding : 'Target character encoding', -mime : 'Target MIME type', -rel : 'Relationship page to target', -rev : 'Relationship target to page', -tabindex : 'Tabindex', -accesskey : 'Accesskey', -ltr : 'Left to right', -rtl : 'Right to left' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,334 +0,0 @@ - - - {$lang_insert_link_title} - - - - - - - - -
      - - -
      -
      -
      - {$lang_advlink_general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - - -
       
       
       
       
      - -
      -
      -
      - - - -
      -
      - {$lang_advlink_advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - -
      -
      -
      -
      -
      - -
      -
      - {$lang_advlink_event_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      -
      -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('autosave','en,tr,sv,cs,he,nb,hu,de,da,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl,pt_br');var TinyMCE_AutoSavePlugin={getInfo:function(){return{longname:'Auto save',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},_beforeUnloadHandler:function(){var n,inst,anyDirty=false,msg=tinyMCE.getLang("lang_autosave_unload_msg");if(tinyMCE.getParam("fullscreen_is_enabled"))return;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(inst.isDirty())return msg;}return;}};window.onbeforeunload=TinyMCE_AutoSavePlugin._beforeUnloadHandler;tinyMCE.addPlugin("autosave",TinyMCE_AutoSavePlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,48 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.11 $ - * $Date: 2006/03/22 12:21:21 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('autosave', 'en,tr,sv,cs,he,nb,hu,de,da,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl,pt_br'); - -var TinyMCE_AutoSavePlugin = { - getInfo : function() { - return { - longname : 'Auto save', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - // Private plugin internal methods - - _beforeUnloadHandler : function() { - var n, inst, anyDirty = false, msg = tinyMCE.getLang("lang_autosave_unload_msg"); - - if (tinyMCE.getParam("fullscreen_is_enabled")) - return; - - for (n in tinyMCE.instances) { - inst = tinyMCE.instances[n]; - - if (!tinyMCE.isInstance(inst)) - continue; - - if (inst.isDirty()) - return msg; - } - - return; - } -}; - -window.onbeforeunload = TinyMCE_AutoSavePlugin._beforeUnloadHandler; - -tinyMCE.addPlugin("autosave", TinyMCE_AutoSavePlugin); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/autosave/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,5 +0,0 @@ -// EN lang variables - -tinyMCE.addToLang('',{ -autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,12 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.10 $ - * $Date: 2006/02/10 16:29:38 $ - * - * Experimental plugin for new Cleanup routine, this logic will be moved into the core ones it's stable enougth. - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Dummy file since cleanup is now moved to core */ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,74 +0,0 @@ -.contextMenuIEPopup { - padding: 0; - margin: 0; - border: 0; - overflow: hidden; -} - -.contextMenu { - position: absolute; - cursor: default; - z-index: 1000; - border: 1px solid #D4D0C8; - background-color: #FFFFFF; -} - -.contextMenuItem, .contextMenuItemOver { -} - -.contextMenuSeparator { - width: 100%; - background-color: #D4D0C8; - border: 0; -} - -.contextMenuImage, .contextMenuItemDisabled { - border: 0; -} - -.contextMenuIcon { - background-color: #F0F0EE; -} - -.contextMenuItemOver .contextMenuIcon { - background-color: #B6BDD2; -} - -.contextMenuIcon { - background-color: #F0F0EE; -} - -.contextMenuItemDisabled img { - filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); - -moz-opacity:0.3; - opacity: 0.3; -} - -.contextMenuText { - font-family: Tahoma, Verdana, Arial, Helvetica; - font-size: 11px; - line-height: 20px; -} - -.contextMenuItemDisabled { - color: #AAAAAA; -} - -.contextMenuText a { - display: block; - line-height: 20px; - width: 100%; - text-decoration: none; - color: black; - font-weight: normal; - margin: 0; - padding: 0; -} - -.contextMenuText a:hover { - background-color: #B6BDD2; - text-decoration: none !important; - font-weight: normal; - margin: 0; - padding: 0; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -if(!tinyMCE.settings['contextmenu_skip_plugin_css']){tinyMCE.loadCSS(tinyMCE.baseURL+"/plugins/contextmenu/css/contextmenu.css");}var TinyMCE_ContextMenuPlugin={_contextMenu:null,getInfo:function(){return{longname:'Context menus',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_contextmenu.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isMSIE5_0&&tinyMCE.isOpera)return;TinyMCE_ContextMenuPlugin._contextMenu=new TinyMCE_ContextMenu({commandhandler:"TinyMCE_ContextMenuPlugin._commandHandler",spacer_image:tinyMCE.baseURL+"/plugins/contextmenu/images/spacer.gif"});tinyMCE.addEvent(inst.getDoc(),"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"contextmenu",function(e){TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?inst.contentWindow.event:e,inst);});}else tinyMCE.addEvent(inst.getDoc(),"contextmenu",TinyMCE_ContextMenuPlugin._onContextMenu);},_onContextMenu:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var targetInst,body;if((body=tinyMCE.getParentElement(elm,"body"))!=null){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(body==inst.getBody()){targetInst=inst;break;}}return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?targetInst.contentWindow.event:e,targetInst);}},_showContextMenu:function(e,inst){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}var x,y,elm,contextMenu;var pos=tinyMCE.getAbsPosition(inst.iframeElement);x=tinyMCE.isMSIE?e.screenX:pos.absLeft+(e.pageX-inst.getBody().scrollLeft);y=tinyMCE.isMSIE?e.screenY:pos.absTop+(e.pageY-inst.getBody().scrollTop);elm=tinyMCE.isMSIE?e.srcElement:e.target;contextMenu=this._contextMenu;contextMenu.inst=inst;window.setTimeout(function(){var theme=tinyMCE.getParam("theme");contextMenu.clearAll();var sel=inst.selection.getSelectedText().length!=0||elm.nodeName=="IMG";contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_cut_desc","Cut","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_copy_desc","Copy","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_paste_desc","Paste","",false);if(sel||(elm?(elm.nodeName=='A')||(elm.nodeName=='IMG'):false)){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/link.gif","$lang_link_desc",inst.hasPlugin("advlink")?"mceAdvLink":"mceLink");contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/unlink.gif","$lang_unlink_desc","unlink","",(elm?(elm.nodeName!='A')&&(elm.nodeName!='IMG'):true));}elm=tinyMCE.getParentElement(elm,"img,table,td"+(inst.hasPlugin("advhr")?',hr':''));if(elm){switch(elm.nodeName){case"IMG":contextMenu.addSeparator();if(tinyMCE.getAttrib(elm,'class').indexOf('mceItemFlash')!=-1)contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_flash_props","mceFlash");else contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/image.gif","$lang_image_props_desc",inst.hasPlugin("advimage")?"mceAdvImage":"mceImage");break;case"HR":contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/advhr/images/advhr.gif","$lang_insert_advhr_desc","mceAdvancedHr");break;case"TABLE":case"TD":if(inst.hasPlugin("table")){var colspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"colspan");var rowspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_table_cut_row_desc","mceTableCutRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_table_copy_row_desc","mceTableCopyRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_before_desc","mceTablePasteRowBefore","",inst.tableRowClipboard==null);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_after_desc","mceTablePasteRowAfter","",inst.tableRowClipboard==null);contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_props_desc","mceInsertTable");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_cell_props.gif","$lang_table_cell_desc","mceTableCellProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete.gif","$lang_table_del","mceTableDelete");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_row_props.gif","$lang_table_row_desc","mceTableRowProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_before.gif","$lang_table_row_before_desc","mceTableInsertRowBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_after.gif","$lang_table_row_after_desc","mceTableInsertRowAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_row.gif","$lang_table_delete_row_desc","mceTableDeleteRow");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_before.gif","$lang_table_col_before_desc","mceTableInsertColBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_after.gif","$lang_table_col_after_desc","mceTableInsertColAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_col.gif","$lang_table_delete_col_desc","mceTableDeleteCol");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_split_cells.gif","$lang_table_split_cells_desc","mceTableSplitCells","",(colspan=="1"&&rowspan=="1"));contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_merge_cells.gif","$lang_table_merge_cells_desc","mceTableMergeCells","",false);}break;}}else{if(inst.hasPlugin("table")){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");}}contextMenu.show(x,y);},10);tinyMCE.cancelEvent(e);return false;},_hideContextMenu:function(){if(TinyMCE_ContextMenuPlugin._contextMenu)TinyMCE_ContextMenuPlugin._contextMenu.hide();},_commandHandler:function(command,value){var cm=TinyMCE_ContextMenuPlugin._contextMenu;cm.hide();var ui=false;if(command=="mceInsertTable"||command=="mceTableCellProps"||command=="mceTableRowProps"||command=="mceTableMergeCells")ui=true;if(command=="Paste")value=null;if(tinyMCE.getParam("dialog_type")=="modal"&&tinyMCE.isMSIE){window.setTimeout(function(){cm.inst.execCommand(command,ui,value);},100);}else cm.inst.execCommand(command,ui,value);}};tinyMCE.addPlugin("contextmenu",TinyMCE_ContextMenuPlugin);function TinyMCE_ContextMenu(settings){function defParam(key,def_val){settings[key]=typeof(settings[key])!="undefined"?settings[key]:def_val;}var self=this;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.contextMenuDiv=document.createElement("div");this.contextMenuDiv.className="contextMenu";this.contextMenuDiv.setAttribute("class","contextMenu");this.contextMenuDiv.style.display="none";this.contextMenuDiv.style.position='absolute';this.contextMenuDiv.style.zindex=1000;this.contextMenuDiv.style.left='0';this.contextMenuDiv.style.top='0';this.contextMenuDiv.unselectable="on";document.body.appendChild(this.contextMenuDiv);defParam("commandhandler","");defParam("spacer_image","images/spacer.gif");this.items=new Array();this.settings=settings;this.html="";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop=window.createPopup();doc=this.pop.document;doc.open();doc.write('');doc.close();}};TinyMCE_ContextMenu.prototype={clearAll:function(){this.html="";this.contextMenuDiv.innerHTML="";},addSeparator:function(){this.html+='
      ';html+=' ';html+=title;html+=' ';html+='
      ';html+=this.html;html+='
      ';this.contextMenuDiv.innerHTML=html;if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){var width,height;this.contextMenuDiv.style.display="block";width=this.contextMenuDiv.offsetWidth;height=this.contextMenuDiv.offsetHeight;this.contextMenuDiv.style.display="none";this.pop.document.body.innerHTML='
      '+html+"
      ";this.pop.document.tinyMCE=tinyMCE;this.pop.document.contextMenu=this;this.pop.show(x,y,width,height);}else{this.contextMenuDiv.style.left=x+'px';this.contextMenuDiv.style.top=y+'px';this.contextMenuDiv.style.display="block";}},hide:function(){if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera)this.pop.hide();else this.contextMenuDiv.style.display="none";},execCommand:function(command,value){eval(this.settings['commandhandler']+"(command, value);");}}; \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,347 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.29 $ - * $Date: 2006/02/13 15:09:28 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -//tinyMCE.importPluginLanguagePack('contextmenu', 'en,tr,zh_cn,cs,fa,fr_ca,fr,de,nb'); -if (!tinyMCE.settings['contextmenu_skip_plugin_css']) { - tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/css/contextmenu.css"); -} - -var TinyMCE_ContextMenuPlugin = { - // Private fields - _contextMenu : null, - - getInfo : function() { - return { - longname : 'Context menus', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_contextmenu.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - initInstance : function(inst) { - // Is not working on MSIE 5.0 or Opera no contextmenu event - if (tinyMCE.isMSIE5_0 && tinyMCE.isOpera) - return; - - TinyMCE_ContextMenuPlugin._contextMenu = new TinyMCE_ContextMenu({ - commandhandler : "TinyMCE_ContextMenuPlugin._commandHandler", - spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif" - }); - - // Add hide event handles - tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_ContextMenuPlugin._hideContextMenu); - tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu); - tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu); - tinyMCE.addEvent(document, "click", TinyMCE_ContextMenuPlugin._hideContextMenu); - tinyMCE.addEvent(document, "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu); - tinyMCE.addEvent(document, "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu); - - // Attach contextmenu event - if (tinyMCE.isGecko) { - tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);}); - } else - tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_ContextMenuPlugin._onContextMenu); - }, - - // Private plugin internal methods - - _onContextMenu : function(e) { - var elm = tinyMCE.isMSIE ? e.srcElement : e.target; - var targetInst, body; - - // Find instance - if ((body = tinyMCE.getParentElement(elm, "body")) != null) { - for (var n in tinyMCE.instances) { - var inst = tinyMCE.instances[n]; - if (!tinyMCE.isInstance(inst)) - continue; - - if (body == inst.getBody()) { - targetInst = inst; - break; - } - } - - return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst); - } - }, - - _showContextMenu : function(e, inst) { - function getAttrib(elm, name) { - return elm.getAttribute(name) ? elm.getAttribute(name) : ""; - } - - var x, y, elm, contextMenu; - var pos = tinyMCE.getAbsPosition(inst.iframeElement); - - x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft); - y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop); - elm = tinyMCE.isMSIE ? e.srcElement : e.target; - - contextMenu = this._contextMenu; - contextMenu.inst = inst; - - // Mozilla needs some time - window.setTimeout(function () { - var theme = tinyMCE.getParam("theme"); - - contextMenu.clearAll(); - var sel = inst.selection.getSelectedText().length != 0 || elm.nodeName == "IMG"; - - // Default items - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false); - - if (sel || (elm ? (elm.nodeName == 'A') || (elm.nodeName == 'IMG') : false)) { - contextMenu.addSeparator(); - contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/link.gif", "$lang_link_desc", inst.hasPlugin("advlink") ? "mceAdvLink" : "mceLink"); - contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/unlink.gif", "$lang_unlink_desc", "unlink", "", (elm ? (elm.nodeName != 'A') && (elm.nodeName != 'IMG') : true)); - } - - // Get element - elm = tinyMCE.getParentElement(elm, "img,table,td" + (inst.hasPlugin("advhr") ? ',hr' : '')); - if (elm) { - switch (elm.nodeName) { - case "IMG": - contextMenu.addSeparator(); - - // If flash - if (tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') != -1) - contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash"); - else - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", inst.hasPlugin("advimage") ? "mceAdvImage" : "mceImage"); - break; - - case "HR": - contextMenu.addSeparator(); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/advhr/images/advhr.gif", "$lang_insert_advhr_desc", "mceAdvancedHr"); - break; - - case "TABLE": - case "TD": - // Is table plugin loaded - if (inst.hasPlugin("table")) { - var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan"); - var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan"); - - colspan = colspan == "" ? "1" : colspan; - rowspan = rowspan == "" ? "1" : rowspan; - - contextMenu.addSeparator(); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow"); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow"); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null); - - /* contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyleft.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifycenter.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyright.gif", "$lang_justifyright_desc", "JustifyRight", "", false); - contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyfull.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/ - contextMenu.addSeparator(); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert"); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable"); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps"); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete"); - contextMenu.addSeparator(); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps"); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore"); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter"); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow"); - contextMenu.addSeparator(); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore"); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter"); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol"); - contextMenu.addSeparator(); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1")); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false); - } - break; - } - } else { - // Add table specific - if (inst.hasPlugin("table")) { - contextMenu.addSeparator(); - contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert"); - } - } - - contextMenu.show(x, y); - }, 10); - - // Cancel default handeling - tinyMCE.cancelEvent(e); - return false; - }, - - _hideContextMenu : function() { - if (TinyMCE_ContextMenuPlugin._contextMenu) - TinyMCE_ContextMenuPlugin._contextMenu.hide(); - }, - - _commandHandler : function(command, value) { - var cm = TinyMCE_ContextMenuPlugin._contextMenu; - - cm.hide(); - - // UI must be true on these - var ui = false; - if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells") - ui = true; - - if (command == "Paste") - value = null; - - if (tinyMCE.getParam("dialog_type") == "modal" && tinyMCE.isMSIE) { - // Cell properties will generate access denied error is this isn't done?! - window.setTimeout(function() { - cm.inst.execCommand(command, ui, value); - }, 100); - } else - cm.inst.execCommand(command, ui, value); - } -}; - -tinyMCE.addPlugin("contextmenu", TinyMCE_ContextMenuPlugin); - -// Context menu class - -function TinyMCE_ContextMenu(settings) { - // Default value function - function defParam(key, def_val) { - settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val; - } - - var self = this; - - this.isMSIE = (navigator.appName == "Microsoft Internet Explorer"); - - // Setup contextmenu div - this.contextMenuDiv = document.createElement("div"); - this.contextMenuDiv.className = "contextMenu"; - this.contextMenuDiv.setAttribute("class", "contextMenu"); - this.contextMenuDiv.style.display = "none"; - this.contextMenuDiv.style.position = 'absolute'; - this.contextMenuDiv.style.zindex = 1000; - this.contextMenuDiv.style.left = '0'; - this.contextMenuDiv.style.top = '0'; - this.contextMenuDiv.unselectable = "on"; - - document.body.appendChild(this.contextMenuDiv); - - // Setup default values - defParam("commandhandler", ""); - defParam("spacer_image", "images/spacer.gif"); - - this.items = new Array(); - this.settings = settings; - this.html = ""; - - // IE Popup - if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) { - this.pop = window.createPopup(); - doc = this.pop.document; - doc.open(); - doc.write(''); - doc.close(); - } -}; - -TinyMCE_ContextMenu.prototype = { - clearAll : function() { - this.html = ""; - this.contextMenuDiv.innerHTML = ""; - }, - - addSeparator : function() { - this.html += '
      '; - html += this.html; - html += '
      '; - - this.contextMenuDiv.innerHTML = html; - - if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) { - var width, height; - - // Get dimensions - this.contextMenuDiv.style.display = "block"; - width = this.contextMenuDiv.offsetWidth; - height = this.contextMenuDiv.offsetHeight; - this.contextMenuDiv.style.display = "none"; - - // Setup popup and show - this.pop.document.body.innerHTML = '
      ' + html + "
      "; - this.pop.document.tinyMCE = tinyMCE; - this.pop.document.contextMenu = this; - this.pop.show(x, y, width, height); - } else { - this.contextMenuDiv.style.left = x + 'px'; - this.contextMenuDiv.style.top = y + 'px'; - this.contextMenuDiv.style.display = "block"; - } - }, - - hide : function() { - if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) - this.pop.hide(); - else - this.contextMenuDiv.style.display = "none"; - }, - - execCommand : function(command, value) { - eval(this.settings['commandhandler'] + "(command, value);"); - } -}; Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('directionality','en,tr,sv,fr_ca,zh_cn,cs,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,pl,nl,fr,pt_br');var TinyMCE_DirectionalityPlugin={getInfo:function(){return{longname:'Directionality',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"ltr":return tinyMCE.getButtonHTML(cn,'lang_directionality_ltr_desc','{$pluginurl}/images/ltr.gif','mceDirectionLTR');case"rtl":return tinyMCE.getButtonHTML(cn,'lang_directionality_rtl_desc','{$pluginurl}/images/rtl.gif','mceDirectionRTL');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case"mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm){tinyMCE.switchClass(editor_id+'_ltr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_rtl','mceButtonDisabled');return true;}tinyMCE.switchClass(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_rtl','mceButtonNormal');var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClass(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClass(editor_id+'_rtl','mceButtonSelected');return true;}};tinyMCE.addPlugin("directionality",TinyMCE_DirectionalityPlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,92 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.16 $ - * $Date: 2006/02/10 21:34:28 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('directionality', 'en,tr,sv,fr_ca,zh_cn,cs,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,pl,nl,fr,pt_br'); - -var TinyMCE_DirectionalityPlugin = { - getInfo : function() { - return { - longname : 'Directionality', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - getControlHTML : function(cn) { - switch (cn) { - case "ltr": - return tinyMCE.getButtonHTML(cn, 'lang_directionality_ltr_desc', '{$pluginurl}/images/ltr.gif', 'mceDirectionLTR'); - - case "rtl": - return tinyMCE.getButtonHTML(cn, 'lang_directionality_rtl_desc', '{$pluginurl}/images/rtl.gif', 'mceDirectionRTL'); - } - - return ""; - }, - - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mceDirectionLTR": - var inst = tinyMCE.getInstanceById(editor_id); - var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); - - if (elm) - elm.setAttribute("dir", "ltr"); - - tinyMCE.triggerNodeChange(false); - return true; - - case "mceDirectionRTL": - var inst = tinyMCE.getInstanceById(editor_id); - var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); - - if (elm) - elm.setAttribute("dir", "rtl"); - - tinyMCE.triggerNodeChange(false); - return true; - } - - // Pass to next handler in chain - return false; - }, - - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - function getAttrib(elm, name) { - return elm.getAttribute(name) ? elm.getAttribute(name) : ""; - } - - if (node == null) - return; - - var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); - if (!elm) { - tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonDisabled'); - return true; - } - - tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonNormal'); - - var dir = getAttrib(elm, "dir"); - if (dir == "ltr" || dir == "") - tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonSelected'); - else - tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonSelected'); - - return true; - } -}; - -tinyMCE.addPlugin("directionality", TinyMCE_DirectionalityPlugin); Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/directionality/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,6 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -directionality_ltr_desc : 'Direction left to right', -directionality_rtl_desc : 'Direction right to left' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('emotions','en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_EmotionsPlugin={getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_emotions.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"emotions":return tinyMCE.getButtonHTML(cn,'lang_emotions_desc','{$pluginurl}/images/emotions.gif','mceEmotion');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=160;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;}return false;}};tinyMCE.addPlugin('emotions',TinyMCE_EmotionsPlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,65 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.23 $ - * $Date: 2006/02/10 16:29:38 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('emotions', 'en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk'); - -// Plucin static class -var TinyMCE_EmotionsPlugin = { - getInfo : function() { - return { - longname : 'Emotions', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_emotions.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - /** - * Returns the HTML contents of the emotions control. - */ - getControlHTML : function(cn) { - switch (cn) { - case "emotions": - return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion'); - } - - return ""; - }, - - /** - * Executes the mceEmotion command. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mceEmotion": - var template = new Array(); - - template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme - template['width'] = 160; - template['height'] = 160; - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0); - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); - - return true; - } - - // Pass to next handler in chain - return false; - } -}; - -// Register plugin -tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,40 +0,0 @@ - - - {$lang_emotions_title} - - - - - -
      -
      {$lang_emotions_title}:

      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      {$lang_emotions_cool}{$lang_emotions_cry}{$lang_emotions_embarassed}{$lang_emotions_foot_in_mouth}
      {$lang_emotions_frown}{$lang_emotions_innocent}{$lang_emotions_kiss}{$lang_emotions_laughing}
      {$lang_emotions_money_mouth}{$lang_emotions_sealed}{$lang_emotions_smile}{$lang_emotions_surprised}
      {$lang_emotions_tongue-out}{$lang_emotions_undecided}{$lang_emotions_wink}{$lang_emotions_yell}
      -
      - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/readme.txt 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/readme.txt --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/readme.txt 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/readme.txt 1969-12-31 18:00:00.000000000 -0600 @@ -1,2 +0,0 @@ -These emotions where taken from Mozilla Thunderbird. -I hope they don't get angry if I use them here after all this is a open source project aswell. Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,21 +0,0 @@ -function init() { - tinyMCEPopup.resizeToInnerSize(); -} - -function insertEmotion(file_name, title) { - title = tinyMCE.getLang(title); - - if (title == null) - title = ""; - - // XML encode - title = title.replace(/&/g, '&'); - title = title.replace(/\"/g, '"'); - title = title.replace(//g, '>'); - - var html = '' + title + ''; - - tinyMCE.execCommand('mceInsertContent', false, html); - tinyMCEPopup.close(); -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,22 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('emotions',{ -title : 'Insert emotion', -desc : 'Emotions', -cool : 'Cool', -cry : 'Cry', -embarassed : 'Embarassed', -foot_in_mouth : 'Foot in mouth', -frown : 'Frown', -innocent : 'Innocent', -kiss : 'Kiss', -laughing : 'Laughing', -money_mouth : 'Money mouth', -sealed : 'Sealed', -smile : 'Smile', -surprised : 'Surprised', -tongue_out : 'Tongue out', -undecided : 'Undecided', -wink : 'Wink', -yell : 'Yell' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/content.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/content.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/content.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/content.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,7 +0,0 @@ -.mceItemFlash { - border: 1px dotted #cc0000; - background-image: url('../images/flash.gif'); - background-position: center; - background-repeat: no-repeat; - background-color: #ffffcc; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/flash.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/flash.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/flash.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/css/flash.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,11 +0,0 @@ -.panel_wrapper div.current { - height: 100px; -} - -#width, #height { - width: 50px; -} - -#file { - width: 250px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('flash','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk,pt_br');var TinyMCE_FlashPlugin={getInfo:function(){return{longname:'Flash',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_flash.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/css/content.css");},getControlHTML:function(cn){switch(cn){case"flash":return tinyMCE.getButtonHTML(cn,'lang_flash_desc','{$pluginurl}/images/flash.gif','mceFlash');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=430;template['height']=175;template['width']+=tinyMCE.getLang('lang_flash_delta_width',0);template['height']+=tinyMCE.getLang('lang_flash_delta_height',0);if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=tinyMCE.getAttrib(focusElm,'class');if(name.indexOf('mceItemFlash')==-1)return true;swffile=tinyMCE.getAttrib(focusElm,'alt');if(tinyMCE.getParam('convert_urls'))swffile=eval(tinyMCE.settings['urlconverter_callback']+"(swffile, null, true);");swfwidth=tinyMCE.getAttrib(focusElm,'width');swfheight=tinyMCE.getAttrib(focusElm,'height');action="update";}tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true;}return false;},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":if(tinyMCE.getParam('convert_urls')){var imgs=content.getElementsByTagName("img");for(var i=0;i','gi'),'');content=content.replace(new RegExp('<[ ]*object','gi'),'','gi'),'');while((startPos=content.indexOf('',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs;}var index=0;while((startPos=content.indexOf('=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+=''+content.substring(endPos);content+=contentAfter;index++;startPos++;}var index=0;while((startPos=content.indexOf('=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+=''+content.substring(endPos);content+=contentAfter;index++;startPos++;}break;case"get_from_editor":var startPos=-1;while((startPos=content.indexOf('',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+4,endPos));if(attribs['class']!="mceItemFlash")continue;endPos+=2;var embedHTML='';var wmode=tinyMCE.getParam("flash_wmode","");var quality=tinyMCE.getParam("flash_quality","high");var menu=tinyMCE.getParam("flash_menu","false");embedHTML+='';embedHTML+='';embedHTML+='';embedHTML+='';embedHTML+='';embedHTML+='';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter;}break;}return content;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItemFlash')==0){tinyMCE.switchClass(editor_id+'_flash','mceButtonSelected');return true;}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_flash','mceButtonNormal');return true;},_parseAttributes:function(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i','gi'),''); - content = content.replace(new RegExp('<[ ]*object','gi'),'','gi'),''); - - // Parse all embed tags - while ((startPos = content.indexOf('', startPos); - var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 6, endPos)); - embedList[embedList.length] = attribs; - } - - // Parse all object tags and replace them with images from the embed data - var index = 0; - while ((startPos = content.indexOf('= embedList.length) - break; - - var attribs = embedList[index]; - - // Find end of object - endPos = content.indexOf('', startPos); - endPos += 9; - - // Insert image - var contentAfter = content.substring(endPos); - content = content.substring(0, startPos); - content += '' + content.substring(endPos); - content += contentAfter; - index++; - - startPos++; - } - - // Parse all embed tags and replace them with images from the embed data - var index = 0; - while ((startPos = content.indexOf('= embedList.length) - break; - - var attribs = embedList[index]; - - // Find end of embed - endPos = content.indexOf('>', startPos); - endPos += 9; - - // Insert image - var contentAfter = content.substring(endPos); - content = content.substring(0, startPos); - content += '' + content.substring(endPos); - content += contentAfter; - index++; - - startPos++; - } - - break; - - case "get_from_editor": - // Parse all img tags and replace them with object+embed - var startPos = -1; - - while ((startPos = content.indexOf('', startPos); - var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 4, endPos)); - - // Is not flash, skip it - if (attribs['class'] != "mceItemFlash") - continue; - - endPos += 2; - - var embedHTML = ''; - var wmode = tinyMCE.getParam("flash_wmode", ""); - var quality = tinyMCE.getParam("flash_quality", "high"); - var menu = tinyMCE.getParam("flash_menu", "false"); - - // Insert object + embed - embedHTML += ''; - embedHTML += ''; - embedHTML += ''; - embedHTML += ''; - embedHTML += ''; - embedHTML += ''; - - // Insert embed/object chunk - chunkBefore = content.substring(0, startPos); - chunkAfter = content.substring(endPos); - content = chunkBefore + embedHTML + chunkAfter; - } - break; - } - - // Pass through to next handler in chain - return content; - }, - - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - if (node == null) - return; - - do { - if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItemFlash') == 0) { - tinyMCE.switchClass(editor_id + '_flash', 'mceButtonSelected'); - return true; - } - } while ((node = node.parentNode)); - - tinyMCE.switchClass(editor_id + '_flash', 'mceButtonNormal'); - - return true; - }, - - // Private plugin internal functions - - _parseAttributes : function(attribute_string) { - var attributeName = ""; - var attributeValue = ""; - var withInName; - var withInValue; - var attributes = new Array(); - var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g'); - - if (attribute_string == null || attribute_string.length < 2) - return null; - - withInName = withInValue = false; - - for (var i=0; i -
      - - -
      -
      -
      - {$lang_flash_general} - - - - - - - - - - - - - - -
      - - - - - -
       
      -
       
      - -  x  - -
      -
      -
      -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/images/flash.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/images/flash.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,107 +0,0 @@ -var url = tinyMCE.getParam("flash_external_list_url"); -if (url != null) { - // Fix relative - if (url.charAt(0) != '/' && url.indexOf('://') == -1) - url = tinyMCE.documentBasePath + "/" + url; - - document.write(''); -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById("filebrowsercontainer").innerHTML = getBrowserHTML('filebrowser','file','flash','flash'); - - // Image list outsrc - var html = getFlashListHTML('filebrowser','file','flash','flash'); - if (html == "") - document.getElementById("linklistrow").style.display = 'none'; - else - document.getElementById("linklistcontainer").innerHTML = html; - - var formObj = document.forms[0]; - var swffile = tinyMCE.getWindowArg('swffile'); - var swfwidth = '' + tinyMCE.getWindowArg('swfwidth'); - var swfheight = '' + tinyMCE.getWindowArg('swfheight'); - - if (swfwidth.indexOf('%')!=-1) { - formObj.width2.value = "%"; - formObj.width.value = swfwidth.substring(0,swfwidth.length-1); - } else { - formObj.width2.value = "px"; - formObj.width.value = swfwidth; - } - - if (swfheight.indexOf('%')!=-1) { - formObj.height2.value = "%"; - formObj.height.value = swfheight.substring(0,swfheight.length-1); - } else { - formObj.height2.value = "px"; - formObj.height.value = swfheight; - } - - formObj.file.value = swffile; - formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); - - selectByValue(formObj, 'linklist', swffile); - - // Handle file browser - if (isVisible('filebrowser')) - document.getElementById('file').style.width = '230px'; - - // Auto select flash in list - if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) { - for (var i=0; i 0) { - var html = ""; - - html += ''; - - return html; - } - - return ""; -} - -function insertFlash() { - var formObj = document.forms[0]; - var html = ''; - var file = formObj.file.value; - var width = formObj.width.value; - var height = formObj.height.value; - if (formObj.width2.value=='%') { - width = width + '%'; - } - if (formObj.height2.value=='%') { - height = height + '%'; - } - - if (width == "") - width = 100; - - if (height == "") - height = 100; - - html += '' - + '' + file + ''; - - tinyMCEPopup.execCommand("mceInsertContent", true, html); - tinyMCE.selectedInstance.repaint(); - - tinyMCEPopup.close(); -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/flash/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,11 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('flash',{ -title : 'Insert / edit Flash Movie', -desc : 'Insert / edit Flash Movie', -file : 'Flash-File (.swf)', -size : 'Size', -list : 'Flash files', -props : 'Flash properties', -general : 'General' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/blank.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/blank.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/blank.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/blank.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,9 +0,0 @@ - - - blank_page - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,172 +0,0 @@ -/* Hide the advanced tab */ -#advanced_tab { - display: none; -} - -#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright { - width: 280px; -} - -#doctype, #docencoding { - width: 200px; -} - -#langcode { - width: 30px; -} - -#bgimage { - width: 220px; -} - -#fontface { - width: 240px; -} - -#leftmargin, #rightmargin, #topmargin, #bottommargin { - width: 50px; -} - -.panel_wrapper div.current { - height: 400px; -} - -#stylesheet, #style { - width: 240px; -} - -/* Head list classes */ - -.headlistwrapper { - width: 100%; -} - -.addbutton, .removebutton, .moveupbutton, .movedownbutton { - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: default; - display: block; - width: 20px; - height: 20px; -} - -.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover { - border: 1px solid #0A246A; - background-color: #B6BDD2; -} - -.addbutton { - background-image: url('../images/add.gif'); - float: left; - margin-right: 3px; -} - -.removebutton { - background-image: url('../images/remove.gif'); - float: left; -} - -.moveupbutton { - background-image: url('../images/move_up.gif'); - float: left; - margin-right: 3px; -} - -.movedownbutton { - background-image: url('../images/move_down.gif'); - float: left; -} - -.selected { - border: 1px solid #0A246A; - background-color: #B6BDD2; -} - -.toolbar { - width: 100%; -} - -#headlist { - width: 100%; - margin-top: 3px; - font-size: 11px; -} - -#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element { - display: none; -} - -#addmenu { - position: absolute; - border: 1px solid gray; - display: none; - z-index: 100; - background-color: white; -} - -#addmenu a { - display: block; - width: 100%; - line-height: 20px; - text-decoration: none; - background-color: white; -} - -#addmenu a:hover { - background-color: #B6BDD2; - color: black; -} - -#addmenu span { - padding-left: 10px; - padding-right: 10px; -} - -#updateElementPanel { - display: none; -} - -#script_element .panel_wrapper div.current { - height: 108px; -} - -#style_element .panel_wrapper div.current { - height: 108px; -} - -#link_element .panel_wrapper div.current { - height: 140px; -} - -#element_script_value { - width: 100%; - height: 100px; -} - -#element_comment_value { - width: 100%; - height: 120px; -} - -#element_style_value { - width: 100%; - height: 100px; -} - -#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title { - width: 250px; -} - -.updateElementButton { - margin-top: 3px; -} - -/* MSIE specific styles */ - -* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton { - width: 22px; - height: 22px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('fullpage','en,tr,sv');var TinyMCE_FullPagePlugin={getInfo:function(){return{longname:'Fullpage',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullpage.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"fullpage":return tinyMCE.getButtonHTML(cn,'lang_fullpage_desc','{$pluginurl}/images/fullpage.gif','mceFullPageProperties');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFullPageProperties":var template=new Array();template['file']='../../plugins/fullpage/fullpage.htm';template['width']=430;template['height']=485+(tinyMCE.isOpera?5:0);template['width']+=tinyMCE.getLang('lang_fullpage_delta_width',0);template['height']+=tinyMCE.getLang('lang_fullpage_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceFullPageUpdate":TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));return true;}return false;},cleanup:function(type,content,inst){switch(type){case"insert_to_editor":var tmp=content.toLowerCase();var pos=tmp.indexOf('',pos);pos2=tmp.lastIndexOf('');inst.fullpageTopContent=content.substring(0,pos+1);content=content.substring(pos+1,pos2);}else{if(!inst.fullpageTopContent){var docType=tinyMCE.getParam("fullpage_default_doctype",'');var enc=tinyMCE.getParam("fullpage_default_encoding",'utf-8');var title=tinyMCE.getParam("fullpage_default_title",'Untitled document');var lang=tinyMCE.getParam("fullpage_default_langcode",'en');var pi=tinyMCE.getParam("fullpage_default_xml_pi",true);var ff=tinyMCE.getParam("fullpage_default_font_family","");var fz=tinyMCE.getParam("fullpage_default_font_size","");var ds=tinyMCE.getParam("fullpage_default_style","");var dtc=tinyMCE.getParam("fullpage_default_text_color","");title=title.replace(/&/g,'&');title=title.replace(/\"/g,'"');title=title.replace(//g,'>');tmp='';if(pi)tmp+='\n';tmp+=docType+'\n';tmp+='\n';tmp+='\n';tmp+='\t'+title+'\n';tmp+='\t\n';tmp+='\n';tmp+='\n";break;}return content;},_addToHead:function(inst){var doc=inst.getDoc();var head=doc.getElementsByTagName("head")[0];var body=doc.body;var h=inst.fullpageTopContent;var e=doc.createElement("body");var nl,i,le,tmp;h=h.replace(/(\r|\n)/gi,'');h=h.replace(/<\?[^\>]*\>/gi,'');h=h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi,'');h=h.replace(//gi,'');h=h.replace(//gi,'');h=h.replace(/<(meta|base)[^>]*>/gi,'');h=h.replace(/]*)\/>/gi,'
      ');h=h.replace(/0){body.style.cssText=tinyMCE.getAttrib(nl[0],'style');if((tmp=tinyMCE.getAttrib(nl[0],'leftmargin'))!=''&&body.style.marginLeft=='')body.style.marginLeft=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'rightmargin'))!=''&&body.style.marginRight=='')body.style.marginRight=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'topmargin'))!=''&&body.style.marginTop=='')body.style.marginTop=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'bottommargin'))!=''&&body.style.marginBottom=='')body.style.marginBottom=tmp+"px";body.dir=tinyMCE.getAttrib(nl[0],'dir');body.vLink=tinyMCE.getAttrib(nl[0],'vlink');body.aLink=tinyMCE.getAttrib(nl[0],'alink');body.link=tinyMCE.getAttrib(nl[0],'link');body.text=tinyMCE.getAttrib(nl[0],'text');if((tmp=tinyMCE.getAttrib(nl[0],'background'))!='')body.style.backgroundImage=tmp;if((tmp=tinyMCE.getAttrib(nl[0],'bgcolor'))!='')body.style.backgroundColor=tmp;}}};tinyMCE.addPlugin("fullpage",TinyMCE_FullPagePlugin);
      \ No newline at end of file
      diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js
      --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js	2006-04-30 15:27:06.000000000 -0500
      +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
      @@ -1,229 +0,0 @@
      -/**
      - * $RCSfile: editor_plugin_src.js,v $
      - * $Revision: 1.12 $
      - * $Date: 2006/02/23 16:16:34 $
      - *
      - * @author Moxiecode
      - * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
      - */
      -
      -/* Import plugin specific language pack */
      -tinyMCE.importPluginLanguagePack('fullpage', 'en,tr,sv');
      -
      -var TinyMCE_FullPagePlugin = {
      -	getInfo : function() {
      -		return {
      -			longname : 'Fullpage',
      -			author : 'Moxiecode Systems',
      -			authorurl : 'http://tinymce.moxiecode.com',
      -			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullpage.html',
      -			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
      -		};
      -	},
      -
      -	getControlHTML : function(cn) {
      -		switch (cn) {
      -			case "fullpage":
      -				return tinyMCE.getButtonHTML(cn, 'lang_fullpage_desc', '{$pluginurl}/images/fullpage.gif', 'mceFullPageProperties');
      -		}
      -
      -		return "";
      -	},
      -
      -	execCommand : function(editor_id, element, command, user_interface, value) {
      -		// Handle commands
      -		switch (command) {
      -			case "mceFullPageProperties":
      -				var template = new Array();
      -
      -				template['file']   = '../../plugins/fullpage/fullpage.htm';
      -				template['width']  = 430;
      -				template['height'] = 485 + (tinyMCE.isOpera ? 5 : 0);
      -
      -				template['width'] += tinyMCE.getLang('lang_fullpage_delta_width', 0);
      -				template['height'] += tinyMCE.getLang('lang_fullpage_delta_height', 0);
      -
      -				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
      -			return true;
      -
      -			case "mceFullPageUpdate":
      -				TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));
      -				return true;
      -	   }
      -
      -	   // Pass to next handler in chain
      -	   return false;
      -	},
      -
      -	cleanup : function(type, content, inst) {
      -		switch (type) {
      -			case "insert_to_editor":
      -				var tmp = content.toLowerCase();
      -				var pos = tmp.indexOf('', pos);
      -					pos2 = tmp.lastIndexOf('');
      -					inst.fullpageTopContent = content.substring(0, pos + 1);
      -					content = content.substring(pos + 1, pos2);
      -					// tinyMCE.debug(inst.fullpageTopContent, content);
      -				} else {
      -					if (!inst.fullpageTopContent) {
      -						var docType = tinyMCE.getParam("fullpage_default_doctype", '');
      -						var enc = tinyMCE.getParam("fullpage_default_encoding", 'utf-8');
      -						var title = tinyMCE.getParam("fullpage_default_title", 'Untitled document');
      -						var lang = tinyMCE.getParam("fullpage_default_langcode", 'en');
      -						var pi = tinyMCE.getParam("fullpage_default_xml_pi", true);
      -						var ff = tinyMCE.getParam("fullpage_default_font_family", "");
      -						var fz = tinyMCE.getParam("fullpage_default_font_size", "");
      -						var ds = tinyMCE.getParam("fullpage_default_style", "");
      -						var dtc = tinyMCE.getParam("fullpage_default_text_color", "");
      -
      -						// Xml encode it
      -						title = title.replace(/&/g, '&');
      -						title = title.replace(/\"/g, '"');
      -						title = title.replace(//g, '>');
      -
      -						tmp = '';
      -
      -						// Make default chunk
      -						if (pi)
      -							tmp += '\n';
      -
      -						tmp += docType + '\n';
      -						tmp += '\n';
      -						tmp += '\n';
      -						tmp += '\t' + title + '\n';
      -						tmp += '\t\n';
      -						tmp += '\n';
      -						tmp += '\n";
      -
      -				break;
      -		}
      -
      -		// Pass through to next handler in chain
      -		return content;
      -	},
      -
      -	// Private plugin internal methods
      -
      -	_addToHead : function(inst) {
      -		var doc = inst.getDoc();
      -		var head = doc.getElementsByTagName("head")[0];
      -		var body = doc.body;
      -		var h = inst.fullpageTopContent;
      -		var e = doc.createElement("body");
      -		var nl, i, le, tmp;
      -
      -		// Remove stuff we don't want
      -		h = h.replace(/(\r|\n)/gi, '');
      -		h = h.replace(/<\?[^\>]*\>/gi, '');
      -		h = h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi, '');
      -		h = h.replace(//gi, '');
      -		h = h.replace(//gi, '');
      -		h = h.replace(/<(meta|base)[^>]*>/gi, '');
      -
      -		// Make link and style elements into pre
      -		h = h.replace(/]*)\/>/gi, '
      ');
      -		//h = h.replace(/]*)>(.*?)<\/style>/gi, '
      $2
      '); - - // Make body a div - h = h.replace(/ 0) { - body.style.cssText = tinyMCE.getAttrib(nl[0], 'style'); - - if ((tmp = tinyMCE.getAttrib(nl[0], 'leftmargin')) != '' && body.style.marginLeft == '') - body.style.marginLeft = tmp + "px"; - - if ((tmp = tinyMCE.getAttrib(nl[0], 'rightmargin')) != '' && body.style.marginRight == '') - body.style.marginRight = tmp + "px"; - - if ((tmp = tinyMCE.getAttrib(nl[0], 'topmargin')) != '' && body.style.marginTop == '') - body.style.marginTop = tmp + "px"; - - if ((tmp = tinyMCE.getAttrib(nl[0], 'bottommargin')) != '' && body.style.marginBottom == '') - body.style.marginBottom = tmp + "px"; - - body.dir = tinyMCE.getAttrib(nl[0], 'dir'); - body.vLink = tinyMCE.getAttrib(nl[0], 'vlink'); - body.aLink = tinyMCE.getAttrib(nl[0], 'alink'); - body.link = tinyMCE.getAttrib(nl[0], 'link'); - body.text = tinyMCE.getAttrib(nl[0], 'text'); - - if ((tmp = tinyMCE.getAttrib(nl[0], 'background')) != '') - body.style.backgroundImage = tmp; - - if ((tmp = tinyMCE.getAttrib(nl[0], 'bgcolor')) != '') - body.style.backgroundColor = tmp; - } - } -}; - -tinyMCE.addPlugin("fullpage", TinyMCE_FullPagePlugin); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,577 +0,0 @@ - - - {$lang_fullpage_title} - - - - - - - - - -
      - - -
      -
      -
      - {$lang_fullpage_meta_props} - - - - - - - - - - - - - - - - - - - - - - - - - - -
       
       
       
       
       
        - -
      -
      - -
      - {$lang_fullpage_langprops} - - - - - - - - - - - - - - - - - - - - - - -
      - -
        - -
       
      - -
       
      -
      -
      - -
      -
      - {$lang_fullpage_appearance_textprops} - - - - - - - - - - - - - - - - -
      - -
      - -
      - - - - - -
       
      -
      -
      - -
      - {$lang_fullpage_appearance_bgprops} - - - - - - - - - - -
      - - - - - -
       
      -
      - - - - - -
       
      -
      -
      - -
      - {$lang_fullpage_appearance_marginprops} - - - - - - - - - - - - - - -
      -
      - -
      - {$lang_fullpage_appearance_linkprops} - - - - - - - - - - - - - - - - - - - -
      - - - - - -
      -
      - - - - - -
       
      -
      - - - - - -
       
      -
        
      -
      - -
      - {$lang_fullpage_appearance_style} - - - - - - - - - - -
      - - - - -
       
      -
      -
      - -
      - - -
      - {$lang_fullpage_head_elements} - -
      -
      -
      - - -
      -
      - - -
      -
      -
      - -
      -
      - -
      - {$lang_fullpage_meta_element} - - - - - - - - - - - - - - -
      - - -
      - -
      - {$lang_fullpage_title_element} - - - - - - -
      - - -
      - -
      - {$lang_fullpage_script_element} - - - -
      - -
      -
      - - - - - - - - - - - - - - - - - -
      - - - - -
       
      -
      - -
      - -
      -
      - - -
      - -
      - {$lang_fullpage_style_element} - - - -
      - -
      -
      - - - - - - - - - -
      -
      - -
      - -
      -
      - - -
      - -
      - {$lang_fullpage_base_element} - - - - - - - - - - -
      - - -
      - - - -
      - {$lang_fullpage_comment_element} - - - - -
      -
      -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/add.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/add.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,580 +0,0 @@ -// - -var defaultDocTypes = - 'XHTML 1.0 Transitional=,' + - 'XHTML 1.0 Frameset=,' + - 'XHTML 1.0 Strict=,' + - 'XHTML 1.1=">,' + - 'HTML 4.01 Transitional=,' + - 'HTML 4.01 Strict=,' + - 'HTML 4.01 Frameset='; - -var defaultEncodings = - 'Western european (iso-8859-1)=iso-8859-1,' + - 'Central European (iso-8859-2)=iso-8859-2,' + - 'Unicode (UTF-8)=utf-8,' + - 'Chinese traditional (Big5)=big5,' + - 'Cyrillic (iso-8859-5)=iso-8859-5,' + - 'Japanese (iso-2022-jp)=iso-2022-jp,' + - 'Greek (iso-8859-7)=iso-8859-7,' + - 'Korean (iso-2022-kr)=iso-2022-kr,' + - 'ASCII (us-ascii)=us-ascii'; - -var defaultMediaTypes = - 'all=all,' + - 'screen=screen,' + - 'print=print,' + - 'tty=tty,' + - 'tv=tv,' + - 'projection=projection,' + - 'handheld=handheld,' + - 'braille=braille,' + - 'aural=aural'; - -var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings'; -var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px'; - -var addMenuLayer = new MCLayer("addmenu"); -var lastElementType = null; -var topDoc; - -function init() { - var f = document.forms['fullpage']; - var i, p, doctypes, encodings, mediaTypes, fonts; - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - - // Setup doctype select box - doctypes = tinyMCE.getParam("fullpage_doctypes", defaultDocTypes).split(','); - for (i=0; i 1) - addSelectValue(f, 'doctypes', p[0], p[1]); - } - - // Setup fonts select box - fonts = tinyMCE.getParam("fullpage_fonts", defaultFontNames).split(';'); - for (i=0; i 1) - addSelectValue(f, 'fontface', p[0], p[1]); - } - - // Setup fontsize select box - fonts = tinyMCE.getParam("fullpage_fontsizes", defaultFontSizes).split(','); - for (i=0; i 1) { - addSelectValue(f, 'element_style_media', p[0], p[1]); - addSelectValue(f, 'element_link_media', p[0], p[1]); - } - } - - // Setup encodings select box - encodings = tinyMCE.getParam("fullpage_encodings", defaultEncodings).split(','); - for (i=0; i 1) { - addSelectValue(f, 'docencoding', p[0], p[1]); - addSelectValue(f, 'element_script_charset', p[0], p[1]); - addSelectValue(f, 'element_link_charset', p[0], p[1]); - } - } - - document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); - document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color'); - //document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color'); - document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color'); - document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color'); - document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor'); - document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage'); - document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage'); - document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage'); - document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage'); - - // Resize some elements - if (isVisible('stylesheetbrowser')) - document.getElementById('stylesheet').style.width = '220px'; - - if (isVisible('link_href_browser')) - document.getElementById('element_link_href').style.width = '230px'; - - if (isVisible('bgimage_browser')) - document.getElementById('bgimage').style.width = '210px'; - - // Create iframe - var iframe = document.createElement('iframe'); - - iframe.id = 'tempFrame'; - iframe.style.display = 'none'; - iframe.src = tinyMCE.baseURL + "/plugins/fullpage/blank.htm"; - - document.body.appendChild(iframe); - - tinyMCEPopup.resizeToInnerSize(); -} - -function setupIframe(doc) { - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var hc = inst.fullpageTopContent; - var f = document.forms[0]; - var xmlVer, xmlEnc, docType; - var nodes, i, x, name, value, tmp, l; - - // Keep it from not loading/executing stuff - hc = hc.replace(/ - - - - -
      - -
      - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,6 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -fullscreen_title : 'Fullscreen mode', -fullscreen_desc : 'Toggle fullscreen mode' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,15 +0,0 @@ - - - -blank_page - - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,34 +0,0 @@ -// Tiny MCE Template Plugin - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('htmltemplate', 'en'); - -function TinyMCE_htmltemplate_getControlHTML(control_name) { - switch (control_name) { - case "htmltemplate": - return ''; - } - return ''; -} -function TinyMCE_htmltemplate_execCommand(editor_id, element, command, user_interface, value) { - switch (command) { - case "mceHTMLTemplate": - var template = new Array(); - template['file'] = '../../plugins/htmltemplate/htmltemplate.php'; // Relative to theme - template['width'] = 450; - template['height'] = 420; - var HTMLtemplate = ""; - tinyMCE.openWindow(template, {editor_id : editor_id, HTMLtemplate: HTMLtemplate, resizable : "yes", scrollbars : "no", mceDo : 'insert'}); - return true; - } - - // Pass to next handler in chain - return false; -} -function TinyMCE_htmltemplate__insertContent(content) { - - // Insert cleaned content - tinyMCE.execCommand("mceAddUndoLevel"); - tinyMCE.execCommand("mceInsertContent", false, content); -} - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php 1969-12-31 18:00:00.000000000 -0600 @@ -1,257 +0,0 @@ - '.' && $file <> '..') { - if ($isDir) { - if ($recurse) { - $arr2 = listFiles( $dir, $filter, $recurse, $fullpath ); - $arr = array_merge( $arr, $arr2 ); - } - } else { - if (preg_match( "/$filter/", $file )) { - if ($fullpath) { - $arr[] = $path . $file; - } else { - $arr[] = $file; - } - } - } - } - } - closedir( $handle ); - asort( $arr ); - return $arr; -} - -$tmplRegex = '\.(html|htm)$'; -$path = $mosConfig_absolute_path.$editor_tmpl_dir; - -if( is_dir( $path ) ){ - $d = listFiles( $path, $tmplRegex ); - foreach ( $d as $file ) { - $filepath = $path.$file; - if (eregi($tmplRegex, $file)) { - $temp = array( - 'name' => $file, - 'path' => $filepath, - 'url' => str_replace( '\\', '/', $editor_tmpl_dir ) . '/' . $file, - ); - } - $files[] = $temp; - } -}else{ - echo "Directory $path not found!"; -} - -$javascript = "onChange=\"selectTmpl(this.value)\""; -$list['tmpl'] = ""; - -?> - - -{$lang_htmltemplate_desc} - - - - - - - - - - -
      - - - - - - - - - - - - - - - - - -
      {$lang_htmltemplate_desc}
      {$lang_htmltemplate_title}
      - - View HTML Source -
      - -
      -
      - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/images/htmltemplate.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/images/htmltemplate.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,3 +0,0 @@ -// UK lang variables -tinyMCELang['lang_htmltemplate_desc'] = 'Insert HTML Template'; -tinyMCELang['lang_htmltemplate_title'] = 'Select HTML Template to insert.'; diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('iespell','en,tr,cs,el,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl,da,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_IESpellPlugin={getInfo:function(){return{longname:'IESpell (MSIE Only)',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_iespell.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){if(cn=="iespell"&&(tinyMCE.isMSIE&&!tinyMCE.isOpera))return tinyMCE.getButtonHTML(cn,'lang_iespell_desc','{$pluginurl}/images/iespell.gif','mceIESpell');return"";},execCommand:function(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','');}else alert("Error Loading ieSpell: Exception "+e.number);}return true;}return false;}};tinyMCE.addPlugin("iespell",TinyMCE_IESpellPlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,60 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.20 $ - * $Date: 2006/02/10 16:29:39 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('iespell', 'en,tr,cs,el,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl,da,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk'); - -var TinyMCE_IESpellPlugin = { - getInfo : function() { - return { - longname : 'IESpell (MSIE Only)', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_iespell.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - /** - * Returns the HTML contents of the iespell control. - */ - getControlHTML : function(cn) { - // Is it the iespell control and is the brower MSIE. - if (cn == "iespell" && (tinyMCE.isMSIE && !tinyMCE.isOpera)) - return tinyMCE.getButtonHTML(cn, 'lang_iespell_desc', '{$pluginurl}/images/iespell.gif', 'mceIESpell'); - - return ""; - }, - - /** - * Executes the mceIESpell command. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle ieSpellCommand - if (command == "mceIESpell") { - try { - var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension"); - ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement); - } catch (e) { - if (e.number == -2146827859) { - if (confirm(tinyMCE.getLang("lang_iespell_download", "", true))) - window.open('http://www.iespell.com/download.php', 'ieSpellDownload', ''); - } else - alert("Error Loading ieSpell: Exception " + e.number); - } - - return true; - } - - // Pass to next handler in chain - return false; - } -}; - -tinyMCE.addPlugin("iespell", TinyMCE_IESpellPlugin); Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/iespell/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,7 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -iespell_desc : 'Run spell checking', -iespell_download : "ieSpell not detected. Click OK to go to download page." -}); - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,69 +0,0 @@ -/* Window classes */ - -.mceWindow { - position: absolute; - left: 0; - top: 0; - border: 1px solid black; - background-color: #D4D0C8; -} - -.mceWindowHead { - background-color: #334F8D; - width: 100%; - height: 18px; - cursor: move; - overflow: hidden; -} - -.mceWindowBody { - clear: both; - background-color: white; -} - -.mceWindowStatusbar { - background-color: #D4D0C8; - height: 12px; - border-top: 1px solid black; -} - -.mceWindowTitle { - float: left; - font-family: "MS Sans Serif"; - font-size: 9pt; - font-weight: bold; - line-height: 18px; - color: white; - margin-left: 2px; - overflow: hidden; -} - -.mceWindowHeadTools { - margin-right: 2px; -} - -.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize { - display: block; - float: right; - overflow: hidden; - margin-top: 2px; -} - -.mceWindowClose { - margin-left: 2px; -} - -.mceWindowMinimize { -} - -.mceWindowMaximize { -} - -.mceWindowResize { - display: block; - float: right; - overflow: hidden; - cursor: se-resize; - width: 12px; - height: 12px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -var TinyMCE_InlinePopupsPlugin={getInfo:function(){return{longname:'Inline Popups',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_inlinepopups.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};}};tinyMCE.addPlugin("inlinepopups",TinyMCE_InlinePopupsPlugin);TinyMCE_Engine.prototype.orgOpenWindow=TinyMCE_Engine.prototype.openWindow;TinyMCE_Engine.prototype.openWindow=function(template,args){if(args['inline']!="yes"||tinyMCE.isOpera||tinyMCE.getParam("plugins").indexOf('inlinepopups')==-1){mcWindows.selectedWindow=null;args['mce_inside_iframe']=false;this.orgOpenWindow(template,args);return;}var url,resizable,scrollbars;args['mce_inside_iframe']=true;tinyMCE.windowArgs=args;if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";height+=18;for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]));}var elm=document.getElementById(this.selectedInstance.editorId+'_parent');var pos=tinyMCE.getAbsPosition(elm);pos.absLeft+=Math.round((elm.firstChild.clientWidth/2)-(width/2));pos.absTop+=Math.round((elm.firstChild.clientHeight/2)-(height/2));mcWindows.open(url,mcWindows.idCounter++,"modal=yes,width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars+",statusbar="+resizable+",left="+pos.absLeft+",top="+pos.absTop);};TinyMCE_Engine.prototype.orgCloseWindow=TinyMCE_Engine.prototype.closeWindow;TinyMCE_Engine.prototype.closeWindow=function(win){if(mcWindows.selectedWindow!=null)mcWindows.selectedWindow.close();else this.orgCloseWindow(win);};TinyMCE_Engine.prototype.setWindowTitle=function(win_ref,title){for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win_ref.name==win.id+"_iframe")window.frames[win.id+"_iframe"].document.getElementById(win.id+'_title').innerHTML=title;}};function TinyMCE_Windows(){this.settings=new Array();this.windows=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.action="none";this.selectedWindow=null;this.lastSelectedWindow=null;this.zindex=100;this.mouseDownScreenX=0;this.mouseDownScreenY=0;this.mouseDownLayerX=0;this.mouseDownLayerY=0;this.mouseDownWidth=0;this.mouseDownHeight=0;this.idCounter=0;};TinyMCE_Windows.prototype.init=function(settings){this.settings=settings;if(this.isMSIE)this.addEvent(document,"mousemove",mcWindows.eventDispatcher);else this.addEvent(window,"mousemove",mcWindows.eventDispatcher);this.addEvent(document,"mouseup",mcWindows.eventDispatcher);this.doc=document;};TinyMCE_Windows.prototype.getParam=function(name,default_value){var value=null;value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");return value;};TinyMCE_Windows.prototype.eventDispatcher=function(e){e=typeof(e)=="undefined"?window.event:e;if(mcWindows.selectedWindow==null)return;if(mcWindows.isGecko&&e.type=="mousedown"){var elm=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.headElement==elm||win.resizeElement==elm){win.focus();break;}}}switch(e.type){case"mousemove":mcWindows.selectedWindow.onMouseMove(e);break;case"mouseup":mcWindows.selectedWindow.onMouseUp(e);break;case"mousedown":mcWindows.selectedWindow.onMouseDown(e);break;case"focus":mcWindows.selectedWindow.onFocus(e);break;}};TinyMCE_Windows.prototype.addEvent=function(obj,name,handler){if(this.isMSIE)obj.attachEvent("on"+name,handler);else obj.addEventListener(name,handler,true);};TinyMCE_Windows.prototype.cancelEvent=function(e){if(this.isMSIE){e.returnValue=false;e.cancelBubble=true;}else e.preventDefault();};TinyMCE_Windows.prototype.parseFeatures=function(opts){opts=opts.toLowerCase();opts=opts.replace(/;/g,",");opts=opts.replace(/[^0-9a-z=,]/g,"");var optionChunks=opts.split(',');var options=new Array();options['left']="10";options['top']="10";options['width']="300";options['height']="300";options['resizable']="yes";options['minimizable']="yes";options['maximizable']="yes";options['close']="yes";options['movable']="yes";options['statusbar']="yes";options['scrollbars']="auto";options['modal']="no";if(opts=="")return options;for(var i=0;i';html+='';html+='';html+='Wrapper iframe';html+='';html+='';html+='';html+='';html+='
      ';html+='
      ';html+='
      ';html+='
      ';html+='
      ';html+='
      ';if(features['statusbar']=="yes"){html+='
      ';if(features['resizable']=="yes"){if(this.isGecko)html+='
      ';else html+='
      ';}html+='
      ';}html+='
      ';html+='';html+='';this.createFloatingIFrame(id,features['left'],features['top'],features['width'],features['height'],html);};TinyMCE_Windows.prototype.setDocumentLock=function(state){if(state){var elm=document.getElementById('mcWindowEventBlocker');if(elm==null){elm=document.createElement("div");elm.id="mcWindowEventBlocker";elm.style.position="absolute";elm.style.left="0";elm.style.top="0";document.body.appendChild(elm);}elm.style.display="none";var imgPath=this.getParam("images_path");var width=document.body.clientWidth;var height=document.body.clientHeight;elm.style.width=width;elm.style.height=height;elm.innerHTML='';elm.style.zIndex=mcWindows.zindex-1;elm.style.display="block";}else{var elm=document.getElementById('mcWindowEventBlocker');if(mcWindows.windows.length==0)elm.parentNode.removeChild(elm);else elm.style.zIndex=mcWindows.zindex-1;}};TinyMCE_Windows.prototype.onLoad=function(name){var win=mcWindows.windows[name];var id="mcWindow_"+name;var wrapperIframe=window.frames[id+"_iframe"].frames[0];var wrapperDoc=window.frames[id+"_iframe"].document;var doc=window.frames[id+"_iframe"].document;var winDiv=document.getElementById("mcWindow_"+name+"_div");var realIframe=window.frames[id+"_iframe"].frames[0];win.id="mcWindow_"+name;win.winElement=winDiv;win.bodyElement=doc.getElementById(id+'_body');win.iframeElement=doc.getElementById(id+'_iframe');win.headElement=doc.getElementById(id+'_head');win.titleElement=doc.getElementById(id+'_title');win.resizeElement=doc.getElementById(id+'_resize');win.containerElement=doc.getElementById(id+'_container');win.left=win.features['left'];win.top=win.features['top'];win.frame=window.frames[id+'_iframe'].frames[0];win.wrapperFrame=window.frames[id+'_iframe'];win.wrapperIFrameElement=document.getElementById(id+"_iframe");mcWindows.addEvent(win.headElement,"mousedown",mcWindows.eventDispatcher);if(win.resizeElement!=null)mcWindows.addEvent(win.resizeElement,"mousedown",mcWindows.eventDispatcher);if(mcWindows.isMSIE){mcWindows.addEvent(realIframe.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe.document,"mouseup",mcWindows.eventDispatcher);}else{mcWindows.addEvent(realIframe,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"focus",mcWindows.eventDispatcher);}for(var i=0;i'; - html += ''; - html += ''; - - html += '
      '; - html += '
      '; - html += '
      '; -// html += ' '; -// html += ' '; - html += '
      '; - html += '
      '; - html += '
      '; - - if (features['statusbar'] == "yes") { - html += '
      '; - - if (features['resizable'] == "yes") { - if (this.isGecko) - html += '
      '; - else - html += '
      '; - } - - html += '
      '; - } - - html += '
      '; - - html += ''; - html += ''; - - // Create iframe - this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html); -}; - -// Blocks the document events by placing a image over the whole document -TinyMCE_Windows.prototype.setDocumentLock = function(state) { - if (state) { - var elm = document.getElementById('mcWindowEventBlocker'); - if (elm == null) { - elm = document.createElement("div"); - - elm.id = "mcWindowEventBlocker"; - elm.style.position = "absolute"; - elm.style.left = "0"; - elm.style.top = "0"; - - document.body.appendChild(elm); - } - - elm.style.display = "none"; - - var imgPath = this.getParam("images_path"); - var width = document.body.clientWidth; - var height = document.body.clientHeight; - - elm.style.width = width; - elm.style.height = height; - elm.innerHTML = ''; - - elm.style.zIndex = mcWindows.zindex-1; - elm.style.display = "block"; - } else { - var elm = document.getElementById('mcWindowEventBlocker'); - - if (mcWindows.windows.length == 0) - elm.parentNode.removeChild(elm); - else - elm.style.zIndex = mcWindows.zindex-1; - } -}; - -// Gets called when wrapper iframe is initialized -TinyMCE_Windows.prototype.onLoad = function(name) { - var win = mcWindows.windows[name]; - var id = "mcWindow_" + name; - var wrapperIframe = window.frames[id + "_iframe"].frames[0]; - var wrapperDoc = window.frames[id + "_iframe"].document; - var doc = window.frames[id + "_iframe"].document; - var winDiv = document.getElementById("mcWindow_" + name + "_div"); - var realIframe = window.frames[id + "_iframe"].frames[0]; - - // Set window data - win.id = "mcWindow_" + name; - win.winElement = winDiv; - win.bodyElement = doc.getElementById(id + '_body'); - win.iframeElement = doc.getElementById(id + '_iframe'); - win.headElement = doc.getElementById(id + '_head'); - win.titleElement = doc.getElementById(id + '_title'); - win.resizeElement = doc.getElementById(id + '_resize'); - win.containerElement = doc.getElementById(id + '_container'); - win.left = win.features['left']; - win.top = win.features['top']; - win.frame = window.frames[id + '_iframe'].frames[0]; - win.wrapperFrame = window.frames[id + '_iframe']; - win.wrapperIFrameElement = document.getElementById(id + "_iframe"); - - // Add event handlers - mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher); - - if (win.resizeElement != null) - mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher); - - if (mcWindows.isMSIE) { - mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher); - mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher); - } else { - mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher); - mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher); - mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher); - } - - for (var i=0; i'; - - html += '
      '; - html += '
      '; - html += '
      '; -// html += ' '; -// html += ' '; - html += '
      '; - html += '
      '; - html += '
      '; - html += '
      '; - html += '
      '; - html += '
      '; - html += '
      '; - - html += ''; - html += ''; - - // Create iframe - this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html); -}; - -// Gets called when wrapper iframe is initialized -MCWindows.prototype.onLoad = function(name) { - var win = mcWindows.windows[name]; - var id = "mcWindow_" + name; - var wrapperIframe = window.frames[id + "_iframe"].frames[0]; - var wrapperDoc = window.frames[id + "_iframe"].document; - var doc = window.frames[id + "_iframe"].document; - var winDiv = document.getElementById("mcWindow_" + name + "_div"); - var realIframe = window.frames[id + "_iframe"].frames[0]; - - // Set window data - win.id = "mcWindow_" + name + "_iframe"; - win.winElement = winDiv; - win.bodyElement = doc.getElementById(id + '_body'); - win.iframeElement = doc.getElementById(id + '_iframe'); - win.headElement = doc.getElementById(id + '_head'); - win.titleElement = doc.getElementById(id + '_title'); - win.resizeElement = doc.getElementById(id + '_resize'); - win.containerElement = doc.getElementById(id + '_container'); - win.left = win.features['left']; - win.top = win.features['top']; - win.frame = window.frames[id + '_iframe'].frames[0]; - win.wrapperFrame = window.frames[id + '_iframe']; - win.wrapperIFrameElement = document.getElementById(id + "_iframe"); - - // Add event handlers - mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher); - mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher); - - if (mcWindows.isMSIE) { - mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher); - mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher); - } else { - mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher); - mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher); - mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher); - } - - for (var i=0; i - - blank_page - - - - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,13 +0,0 @@ -body { - background-color: #FFFFFF; - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; - scrollbar-3dlight-color: #F0F0EE; - scrollbar-arrow-color: #676662; - scrollbar-base-color: #F0F0EE; - scrollbar-darkshadow-color: #DDDDDD; - scrollbar-face-color: #E0E0DD; - scrollbar-highlight-color: #F0F0EE; - scrollbar-shadow-color: #F0F0EE; - scrollbar-track-color: #F5F5F5; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,3 +0,0 @@ -.sourceIframe { - border: 1px solid #808080; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('paste','en,tr,sv,cs,zh_cn,fr_ca,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,pl,nl,fr,pt_br');var TinyMCE_PastePlugin={getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_paste.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isMSIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false))tinyMCE.addEvent(inst.getBody(),"paste",TinyMCE_PastePlugin._handlePasteEvent);},getControlHTML:function(cn){switch(cn){case"pastetext":return tinyMCE.getButtonHTML(cn,'lang_paste_text_desc','{$pluginurl}/images/pastetext.gif','mcePasteText',true);case"pasteword":return tinyMCE.getButtonHTML(cn,'lang_paste_word_desc','{$pluginurl}/images/pasteword.gif','mcePasteWord',true);case"selectall":return tinyMCE.getButtonHTML(cn,'lang_selectall_desc','{$pluginurl}/images/selectall.gif','mceSelectAll',true);}return'';},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePasteText":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'});}}else TinyMCE_PastePlugin._insertText(value['html'],value['linebreaks']);return true;case"mcePasteWord":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false)){var html=TinyMCE_PastePlugin._clipboardHTML();if(html&&html.length>0)TinyMCE_PastePlugin._insertWordContent(html);}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'});}}else TinyMCE_PastePlugin._insertWordContent(value);return true;case"mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true;}return false;},_handlePasteEvent:function(e){switch(e.type){case"paste":var html=TinyMCE_PastePlugin._clipboardHTML();var r,inst=tinyMCE.selectedInstance;if(inst&&(r=inst.getRng())&&r.text.length>0)tinyMCE.execCommand('delete');if(html&&html.length>0)tinyMCE.execCommand('mcePasteWord',false,html);tinyMCE.cancelEvent(e);return false;}return true;},_insertText:function(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("paste_create_paragraphs",true)){var rl=tinyMCE.getParam("paste_replace_list",'\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i

      ","gi");content=tinyMCE.regexpReplace(content,"\r\r","

      ","gi");content=tinyMCE.regexpReplace(content,"\n\n","

      ","gi");if((pos=content.indexOf('

      '))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node;}}while(node=node.parentNode);var before="",after="

      ";before+=content.substring(0,pos);for(var i=0;i";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">";}before+="

      ";content=before+content.substring(pos+7)+after;}}if(tinyMCE.getParam("paste_create_linebreaks",true)){content=tinyMCE.regexpReplace(content,"\r\n","
      ","gi");content=tinyMCE.regexpReplace(content,"\r","
      ","gi");content=tinyMCE.regexpReplace(content,"\n","
      ","gi");}}tinyMCE.execCommand("mceInsertRawHTML",false,content);}},_insertWordContent:function(content){if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);var cb;if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('before', content)");var rl=tinyMCE.getParam("paste_replace_list",'\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i(.*?)<\/p>','gi'),'

      $1

      ');}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)
      ","gi"),"

      "+middot+"$1

      ");content=content.replace(new RegExp('','gi'),""+bull);content=content.replace(/<\/o:p>/gi,"");content=content.replace(new RegExp('
      ]*>/gi,"");if(tinyMCE.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(tinyMCE.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break;}content=content.replace(new RegExp('href="?'+TinyMCE_PastePlugin._reEscape(""+document.location)+'','gi'),'href="'+tinyMCE.settings['document_base_url']);content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*

       <\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!tinyMCE.settings['force_p_newlines']){content=content.replace('','','gi');content=content.replace('

      ','

      ','gi');}if(!tinyMCE.isMSIE&&!tinyMCE.settings['force_p_newlines']){content=content.replace(/<\/?p[^>]*>/gi,"");}content=content.replace(/<\/?div[^>]*>/gi,"");if(tinyMCE.getParam("paste_convert_middot_lists",true)){var div=document.createElement("div");div.innerHTML=content;var className=tinyMCE.getParam("paste_unindented_list_class","unIndentedList");while(TinyMCE_PastePlugin._convertMiddots(div,"--list--"));while(TinyMCE_PastePlugin._convertMiddots(div,middot,className));while(TinyMCE_PastePlugin._convertMiddots(div,bull));content=div.innerHTML;}if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/ <\/h[1-6]>/gi,'

        

      ');content=content.replace(//gi,'

      ');content=content.replace(/<\/h[1-6]>/gi,'

      ');content=content.replace(/ <\/b>/gi,'  ');content=content.replace(/^( )*/gi,'');}content=content.replace(/--list--/gi,"");if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('after', content)");tinyMCE.execCommand("mceInsertContent",false,content);window.setTimeout('tinyMCE.execCommand("mceCleanup");',1);}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i 0) - TinyMCE_PastePlugin._insertWordContent(html); - } else { - var template = new Array(); - template['file'] = '../../plugins/paste/pasteword.htm'; // Relative to theme - template['width'] = 450; - template['height'] = 400; - var plain_text = ""; - tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'}); - } - } else - TinyMCE_PastePlugin._insertWordContent(value); - - return true; - - case "mceSelectAll": - tinyMCE.execInstanceCommand(editor_id, 'selectall'); - return true; - - } - - // Pass to next handler in chain - return false; - }, - - // Private plugin internal methods - - _handlePasteEvent : function(e) { - switch (e.type) { - case "paste": - var html = TinyMCE_PastePlugin._clipboardHTML(); - var r, inst = tinyMCE.selectedInstance; - - // Removes italic, strong etc, the if was needed due to bug #1437114 - if (inst && (r = inst.getRng()) && r.text.length > 0) - tinyMCE.execCommand('delete'); - - if (html && html.length > 0) - tinyMCE.execCommand('mcePasteWord', false, html); - - tinyMCE.cancelEvent(e); - return false; - } - - return true; - }, - - _insertText : function(content, bLinebreaks) { - if (content && content.length > 0) { - if (bLinebreaks) { - // Special paragraph treatment - if (tinyMCE.getParam("paste_create_paragraphs", true)) { - var rl = tinyMCE.getParam("paste_replace_list", '\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(','); - for (var i=0; i

      ", "gi"); - content = tinyMCE.regexpReplace(content, "\r\r", "

      ", "gi"); - content = tinyMCE.regexpReplace(content, "\n\n", "

      ", "gi"); - - // Has paragraphs - if ((pos = content.indexOf('

      ')) != -1) { - tinyMCE.execCommand("Delete"); - - var node = tinyMCE.selectedInstance.getFocusElement(); - - // Get list of elements to break - var breakElms = new Array(); - - do { - if (node.nodeType == 1) { - // Don't break tables and break at body - if (node.nodeName == "TD" || node.nodeName == "BODY") - break; - - breakElms[breakElms.length] = node; - } - } while(node = node.parentNode); - - var before = "", after = "

      "; - before += content.substring(0, pos); - - for (var i=0; i"; - after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; - } - - before += "

      "; - content = before + content.substring(pos+7) + after; - } - } - - if (tinyMCE.getParam("paste_create_linebreaks", true)) { - content = tinyMCE.regexpReplace(content, "\r\n", "
      ", "gi"); - content = tinyMCE.regexpReplace(content, "\r", "
      ", "gi"); - content = tinyMCE.regexpReplace(content, "\n", "
      ", "gi"); - } - } - - tinyMCE.execCommand("mceInsertRawHTML", false, content); - } - }, - - _insertWordContent : function(content) { - if (content && content.length > 0) { - // Cleanup Word content - var bull = String.fromCharCode(8226); - var middot = String.fromCharCode(183); - var cb; - - if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "") - content = eval(cb + "('before', content)"); - - var rl = tinyMCE.getParam("paste_replace_list", '\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(','); - for (var i=0; i(.*?)<\/p>', 'gi'), '

      $1

      '); - } - - content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--"); - content = content.replace(new RegExp(bull + "(.*?)
      ", "gi"), "

      " + middot + "$1

      "); - content = content.replace(new RegExp('', 'gi'), "" + bull); // Covert to bull list - content = content.replace(/<\/o:p>/gi, ""); - content = content.replace(new RegExp('
      ]*>/gi, ""); - - if (tinyMCE.getParam("paste_remove_styles", true)) - content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3"); - - content = content.replace(/<\/?font[^>]*>/gi, ""); - - // Strips class attributes. - switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) { - case "all": - content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3"); - break; - - case "mso": - content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3"); - break; - } - - content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']); - content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3"); - content = content.replace(/<\\?\?xml[^>]*>/gi, ""); - content = content.replace(/<\/?\w+:[^>]*>/gi, ""); - content = content.replace(/-- page break --\s*

       <\/p>/gi, ""); // Remove pagebreaks - content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks - - // content = content.replace(/\/? */gi, "");   - // content = content.replace(/

       <\/p>/gi, ''); - - if (!tinyMCE.settings['force_p_newlines']) { - content = content.replace('', '' ,'gi'); - content = content.replace('

      ', '

      ' ,'gi'); - } - - if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) { - content = content.replace(/<\/?p[^>]*>/gi, ""); - } - - content = content.replace(/<\/?div[^>]*>/gi, ""); - - // Convert all middlot lists to UL lists - if (tinyMCE.getParam("paste_convert_middot_lists", true)) { - var div = document.createElement("div"); - div.innerHTML = content; - - // Convert all middot paragraphs to li elements - var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList"); - - while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull - while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot - while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull - - content = div.innerHTML; - } - - // Replace all headers with strong and fix some other issues - if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) { - content = content.replace(/ <\/h[1-6]>/gi, '

        

      '); - content = content.replace(//gi, '

      '); - content = content.replace(/<\/h[1-6]>/gi, '

      '); - content = content.replace(/ <\/b>/gi, '  '); - content = content.replace(/^( )*/gi, ''); - } - - content = content.replace(/--list--/gi, ""); // Remove --list-- - - if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "") - content = eval(cb + "('after', content)"); - - // Insert cleaned content - tinyMCE.execCommand("mceInsertContent", false, content); - window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread - } - }, - - _reEscape : function(s) { - var l = "?.\\*[](){}+^$:"; - var o = ""; - - for (var i=0; i - - {$lang_paste_text_desc} - - - - - - -
      -
      {$lang_paste_text_desc}
      - -
      - -
      - -
      - -
      {$lang_paste_text_title}
      - - - -
      -
      - -
      - -
      - -
      -
      -
      - - \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,29 +0,0 @@ - - - - {$lang_paste_word_desc} - - - - - - -
      -
      {$lang_paste_word_desc}
      - -
      {$lang_paste_word_title}
      - -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('preview','en,tr,cs,de,el,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_PreviewPlugin={getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_preview.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"preview":return tinyMCE.getButtonHTML(cn,'lang_preview_desc','{$pluginurl}/images/preview.gif','mcePreview');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",inline:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")});}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="";var c=tinyMCE.getContent();var pos=c.indexOf('',pos);pos2=c.lastIndexOf('');c=c.substring(pos+1,pos2);}html+=tinyMCE.getParam('doctype');html+='';html+='';html+=''+tinyMCE.getLang('lang_preview_desc')+'';html+='';html+='';html+='';html+='';html+='';html+=c;html+='';html+='';win.document.write(html);win.document.close();}return true;}return false;}};tinyMCE.addPlugin("preview",TinyMCE_PreviewPlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,92 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.23 $ - * $Date: 2006/03/20 12:03:44 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('preview', 'en,tr,cs,de,el,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk'); - -var TinyMCE_PreviewPlugin = { - getInfo : function() { - return { - longname : 'Preview', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_preview.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - /** - * Returns the HTML contents of the preview control. - */ - getControlHTML : function(cn) { - switch (cn) { - case "preview": - return tinyMCE.getButtonHTML(cn, 'lang_preview_desc', '{$pluginurl}/images/preview.gif', 'mcePreview'); - } - - return ""; - }, - - /** - * Executes the mcePreview command. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mcePreview": - var previewPage = tinyMCE.getParam("plugin_preview_pageurl", null); - var previewWidth = tinyMCE.getParam("plugin_preview_width", "550"); - var previewHeight = tinyMCE.getParam("plugin_preview_height", "600"); - - // Use a custom preview page - if (previewPage) { - var template = new Array(); - - template['file'] = previewPage; - template['width'] = previewWidth; - template['height'] = previewHeight; - - tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "yes", inline : "yes", content : tinyMCE.getContent(), content_css : tinyMCE.getParam("content_css")}); - } else { - var win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + previewWidth + ",height=" + previewHeight); - var html = ""; - var c = tinyMCE.getContent(); - var pos = c.indexOf('', pos); - pos2 = c.lastIndexOf(''); - c = c.substring(pos + 1, pos2); - } - - html += tinyMCE.getParam('doctype'); - html += ''; - html += ''; - html += '' + tinyMCE.getLang('lang_preview_desc') + ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += c; - html += ''; - html += ''; - - win.document.write(html); - win.document.close(); - } - - return true; - } - - return false; - } -}; - -tinyMCE.addPlugin("preview", TinyMCE_PreviewPlugin); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/example.html 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/example.html --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/example.html 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/example.html 1969-12-31 18:00:00.000000000 -0600 @@ -1,13 +0,0 @@ - - - -Example of a custom preview page - - - - -Editor contents:
      -{$content} - - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/images/preview.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/images/preview.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/preview/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,5 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -preview_desc : 'Preview' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('print','en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_PrintPlugin={getInfo:function(){return{longname:'Print',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_print.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"print":return tinyMCE.getButtonHTML(cn,'lang_print_desc','{$pluginurl}/images/print.gif','mcePrint');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true;}return false;}};tinyMCE.addPlugin("print",TinyMCE_PrintPlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,49 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.19 $ - * $Date: 2006/02/10 16:29:40 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import theme specific language pack */ -tinyMCE.importPluginLanguagePack('print', 'en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk'); - -var TinyMCE_PrintPlugin = { - getInfo : function() { - return { - longname : 'Print', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_print.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - getControlHTML : function(cn) { - switch (cn) { - case "print": - return tinyMCE.getButtonHTML(cn, 'lang_print_desc', '{$pluginurl}/images/print.gif', 'mcePrint'); - } - - return ""; - }, - - /** - * Executes the search/replace commands. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mcePrint": - tinyMCE.getInstanceById(editor_id).contentWindow.print(); - return true; - } - - // Pass to next handler in chain - return false; - } -}; - -tinyMCE.addPlugin("print", TinyMCE_PrintPlugin); Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/images/print.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/images/print.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/print/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,5 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -print_desc : 'Print' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('save','en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,da,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_SavePlugin={getInfo:function(){return{longname:'Save',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_save.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){inst.addShortcut('ctrl','s','lang_save_desc','mceSave');},getControlHTML:function(cn){switch(cn){case"save":return tinyMCE.getButtonHTML(cn,'lang_save_desc','{$pluginurl}/images/save.gif','mceSave');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceSave":if(tinyMCE.getParam("fullscreen_is_enabled"))return true;var inst=tinyMCE.selectedInstance;var formObj=inst.formElement.form;if(tinyMCE.getParam("save_enablewhendirty")&&!inst.isDirty())return true;if(formObj){tinyMCE.triggerSave();var os;if((os=tinyMCE.getParam("save_onsavecallback"))){if(eval(os+'(inst);')){inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);tinyMCE.triggerNodeChange(false,true);}return true;}for(var i=0;i - - {$lang_searchreplace_replace_title} - - - - - -
      - - - - - - - - - - - - - - - -
      - - - - -
      - - - - - - - -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/searchreplace/search.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,42 +0,0 @@ - - - {$lang_searchreplace_search_title} - - - - - -
      - - - - - - - - - - -
       
      - - - - - - - -
      - - - - -
      - - - - - -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/cell.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,182 +0,0 @@ - - - {$lang_table_cell_title} - - - - - - - - -
      - - -
      -
      -
      - {$lang_table_general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - - - -
      - - - -
      - -
      -
      -
      - -
      -
      - {$lang_table_advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - -
      - - - - - -
       
      -
      - - - - - -
       
      -
      - - - - - -
       
      -
      -
      -
      -
      - -
      -
      - -
      - -
      -
      -
      - -
      - -
      -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,17 +0,0 @@ -/* CSS file for cell dialog in the table plugin */ - -.panel_wrapper div.current { - height: 200px; -} - -.advfield { - width: 200px; -} - -#action { - margin-bottom: 3px; -} - -#class { - width: 150px; -} \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/row.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,25 +0,0 @@ -/* CSS file for row dialog in the table plugin */ - -.panel_wrapper div.current { - height: 200px; -} - -.advfield { - width: 200px; -} - -#action { - margin-bottom: 3px; -} - -#rowtype,#align,#valign,#class,#height { - width: 150px; -} - -#height { - width: 50px; -} - -.col2 { - padding-left: 20px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/css/table.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,13 +0,0 @@ -/* CSS file for table dialog in the table plugin */ - -.panel_wrapper div.current { - height: 220px; -} - -.advfield { - width: 200px; -} - -#class { - width: 150px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('table','en,tr,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,nb,pl,pt,pt_br,sv,tw,zh_cn,fr,de,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_TablePlugin={getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_TablePlugin._mouseDownHandler);}inst.tableRowClipboard=null;},getControlHTML:function(control_name){var controls=new Array(['table','table.gif','lang_table_desc','mceInsertTable',true],['delete_col','table_delete_col.gif','lang_table_delete_col_desc','mceTableDeleteCol'],['delete_row','table_delete_row.gif','lang_table_delete_row_desc','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','lang_table_col_after_desc','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','lang_table_col_before_desc','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','lang_table_row_after_desc','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','lang_table_row_before_desc','mceTableInsertRowBefore'],['row_props','table_row_props.gif','lang_table_row_desc','mceTableRowProps',true],['cell_props','table_cell_props.gif','lang_table_cell_desc','mceTableCellProps',true],['split_cells','table_split_cells.gif','lang_table_split_cells_desc','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','lang_table_merge_cells_desc','mceTableMergeCells',true]);for(var i=0;i4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');return false;';if(but[0]==control_name)return tinyMCE.getButtonHTML(control_name,but[2],'{$pluginurl}/images/'+but[1],but[3],(but.length>4?but[4]:false));}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html;}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_TablePlugin._doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1";var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClass(editor_id+'_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_cell_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_split_cells','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonDisabled');if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClass(editor_id+'_cell_props','mceButtonSelected');tinyMCE.switchClass(editor_id+'_row_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonNormal');colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClass(editor_id+'_split_cells','mceButtonNormal');}if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClass(editor_id+'_row_props','mceButtonSelected');if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClass(editor_id+'_table','mceButtonSelected');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonNormal');}},_mouseDownHandler:function(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);},10);}},_doExecCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i0&&inArray(ar[i],v))return true;if(ar[i]==v)return true;}return false;}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML=" ";}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan};}function getCellPos(grid,td){for(var y=0;y1){for(var i=x;i1)td.rowSpan=sd.rowspan+1;lastElm=td;}deleteMarked(tableElm);}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node;}return null;}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td);}while((td=nexttd)!=null);}}while((tr=next)!=null);}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD);}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1;}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true;}lastTDElm=tdElm;}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;inst.selection.selectNode(getCell(grid,cpos.rowindex,0),true,true);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML=" ";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML=" ";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm.parentNode.removeChild(tableElm);return true;}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm);}lastTDElm=tdElm;}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;inst.selection.selectNode(getCell(grid,0,cpos.cellindex),true,true);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i1)addRows(newTD,trElm,rowspan);}addRows(tdElm,trElm,rowspan);}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case"mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true;}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y0)rows[rows.length]=rowCells;}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i0)rows[rows.length]=rowCells;}var curRow=new Array();var lastTR=null;for(var y=0;ycolSpan)colSpan=rowColSpan;lastRowSpan=-1;}var lastColSpan=-1;for(var x=0;xrowSpan)rowSpan=colRowSpan;lastColSpan=-1;}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm;}if(tdElm.rowSpan>1)tdElm.rowSpan--;}}}}break;}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint();}return true;}return false;}};tinyMCE.addPlugin("table",TinyMCE_TablePlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,1054 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.38 $ - * $Date: 2006/02/11 18:53:51 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('table', 'en,tr,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,nb,pl,pt,pt_br,sv,tw,zh_cn,fr,de,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,is,zh_tw,zh_tw_utf8,sk'); - -var TinyMCE_TablePlugin = { - getInfo : function() { - return { - longname : 'Tables', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - initInstance : function(inst) { - if (tinyMCE.isGecko) { - var doc = inst.getDoc(); - tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler); - } - - inst.tableRowClipboard = null; - }, - - /** - * Returns the HTML contents of the table control. - */ - getControlHTML : function(control_name) { - var controls = new Array( - ['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true], - ['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'], - ['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'], - ['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'], - ['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'], - ['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'], - ['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'], - ['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true], - ['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true], - ['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true], - ['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]); - - // Render table control - for (var i=0; i 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;'; - - if (but[0] == control_name) - return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false)); - } - - // Special tablecontrols - if (control_name == "tablecontrols") { - var html = ""; - - html += tinyMCE.getControlHTML("table"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("row_props"); - html += tinyMCE.getControlHTML("cell_props"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("row_before"); - html += tinyMCE.getControlHTML("row_after"); - html += tinyMCE.getControlHTML("delete_row"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("col_before"); - html += tinyMCE.getControlHTML("col_after"); - html += tinyMCE.getControlHTML("delete_col"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("split_cells"); - html += tinyMCE.getControlHTML("merge_cells"); - - return html; - } - - return ""; - }, - - /** - * Executes the table commands. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Is table command - switch (command) { - case "mceInsertTable": - case "mceTableRowProps": - case "mceTableCellProps": - case "mceTableSplitCells": - case "mceTableMergeCells": - case "mceTableInsertRowBefore": - case "mceTableInsertRowAfter": - case "mceTableDeleteRow": - case "mceTableInsertColBefore": - case "mceTableInsertColAfter": - case "mceTableDeleteCol": - case "mceTableCutRow": - case "mceTableCopyRow": - case "mceTablePasteRowBefore": - case "mceTablePasteRowAfter": - case "mceTableDelete": - var inst = tinyMCE.getInstanceById(editor_id); - - inst.execCommand('mceBeginUndoLevel'); - TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value); - inst.execCommand('mceEndUndoLevel'); - - return true; - } - - // Pass to next handler in chain - return false; - }, - - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - var colspan = "1", rowspan = "1"; - - var inst = tinyMCE.getInstanceById(editor_id); - - // Reset table controls - tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled'); - - // Within a td element - if (tdElm = tinyMCE.getParentElement(node, "td,th")) { - tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected'); - tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal'); - - colspan = tinyMCE.getAttrib(tdElm, "colspan"); - rowspan = tinyMCE.getAttrib(tdElm, "rowspan"); - - colspan = colspan == "" ? "1" : colspan; - rowspan = rowspan == "" ? "1" : rowspan; - - if (colspan != "1" || rowspan != "1") - tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal'); - } - - // Within a tr element - if (tinyMCE.getParentElement(node, "tr")) - tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected'); - - // Within table - if (tinyMCE.getParentElement(node, "table")) { - tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected'); - tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal'); - } - }, - - // Private plugin internal methods - - _mouseDownHandler : function(e) { - var elm = tinyMCE.isMSIE ? event.srcElement : e.target; - var focusElm = tinyMCE.selectedInstance.getFocusElement(); - - // If press on special Mozilla create TD/TR thingie - if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) { - window.setTimeout(function() { - var tableElm = tinyMCE.getParentElement(focusElm, "table"); - tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); - }, 10); - } - }, - - /** - * Executes the table commands. - */ - _doExecCommand : function(editor_id, element, command, user_interface, value) { - var inst = tinyMCE.getInstanceById(editor_id); - var focusElm = inst.getFocusElement(); - var trElm = tinyMCE.getParentElement(focusElm, "tr"); - var tdElm = tinyMCE.getParentElement(focusElm, "td,th"); - var tableElm = tinyMCE.getParentElement(focusElm, "table"); - var doc = inst.contentWindow.document; - var tableBorder = tableElm ? tableElm.getAttribute("border") : ""; - - // Get first TD if no TD found - if (trElm && tdElm == null) - tdElm = trElm.cells[0]; - - // ------- Inner functions --------- - function inArray(ar, v) { - for (var i=0; i 0 && inArray(ar[i], v)) - return true; - - // Found value - if (ar[i] == v) - return true; - } - - return false; - } - - function makeTD() { - var newTD = doc.createElement("td"); - newTD.innerHTML = " "; - } - - function getColRowSpan(td) { - var colspan = tinyMCE.getAttrib(td, "colspan"); - var rowspan = tinyMCE.getAttrib(td, "rowspan"); - - colspan = colspan == "" ? 1 : parseInt(colspan); - rowspan = rowspan == "" ? 1 : parseInt(rowspan); - - return {colspan : colspan, rowspan : rowspan}; - } - - function getCellPos(grid, td) { - for (var y=0; y 1) { // Remove due to colspan - for (var i=x; i 1) - td.rowSpan = sd.rowspan + 1; - - lastElm = td; - } - - deleteMarked(tableElm); - } - } - - function prevElm(node, name) { - while ((node = node.previousSibling) != null) { - if (node.nodeName == name) - return node; - } - - return null; - } - - function nextElm(node, names) { - var namesAr = names.split(','); - - while ((node = node.nextSibling) != null) { - for (var i=0; i 1) { - do { - var nexttd = nextElm(td, "TD,TH"); - - if (td._delete) - td.parentNode.removeChild(td); - } while ((td = nexttd) != null); - } - } while ((tr = next) != null); - } - - function addRows(td_elm, tr_elm, rowspan) { - // Add rows - td_elm.rowSpan = 1; - var trNext = nextElm(tr_elm, "TR"); - for (var i=1; i 1) { - var newTD = cells[x].cloneNode(true); - var sd = getColRowSpan(cells[x]); - - newTD.rowSpan = sd.rowspan - 1; - - var nextTD = nextTR.cells[x]; - - if (nextTD == null) - nextTR.appendChild(newTD); - else - nextTR.insertBefore(newTD, nextTD); - } - } - - // Delete cells - var lastTDElm = null; - for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) { - if (tdElm != lastTDElm) { - var sd = getColRowSpan(tdElm); - - if (sd.rowspan > 1) { - tdElm.rowSpan = sd.rowspan - 1; - } else { - trElm = tdElm.parentNode; - - if (trElm.parentNode) - trElm._delete = true; - } - - lastTDElm = tdElm; - } - } - - deleteMarked(tableElm); - - cpos.rowindex--; - if (cpos.rowindex < 0) - cpos.rowindex = 0; - - inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), true, true); - break; - - case "mceTableInsertColBefore": - if (!trElm || !tdElm) - return true; - - var grid = getTableGrid(tableElm); - var cpos = getCellPos(grid, tdElm); - var lastTDElm = null; - - for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { - if (tdElm != lastTDElm) { - var sd = getColRowSpan(tdElm); - - if (sd['colspan'] == 1) { - var newTD = doc.createElement(tdElm.nodeName); - - newTD.innerHTML = " "; - newTD.rowSpan = tdElm.rowSpan; - - tdElm.parentNode.insertBefore(newTD, tdElm); - } else - tdElm.colSpan++; - - lastTDElm = tdElm; - } - } - break; - - case "mceTableInsertColAfter": - if (!trElm || !tdElm) - return true; - - var grid = getTableGrid(tableElm); - var cpos = getCellPos(grid, tdElm); - var lastTDElm = null; - - for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { - if (tdElm != lastTDElm) { - var sd = getColRowSpan(tdElm); - - if (sd['colspan'] == 1) { - var newTD = doc.createElement(tdElm.nodeName); - - newTD.innerHTML = " "; - newTD.rowSpan = tdElm.rowSpan; - - var nextTD = nextElm(tdElm, "TD,TH"); - if (nextTD == null) - tdElm.parentNode.appendChild(newTD); - else - nextTD.parentNode.insertBefore(newTD, nextTD); - } else - tdElm.colSpan++; - - lastTDElm = tdElm; - } - } - break; - - case "mceTableDeleteCol": - if (!trElm || !tdElm) - return true; - - var grid = getTableGrid(tableElm); - var cpos = getCellPos(grid, tdElm); - var lastTDElm = null; - - // Only one col, remove whole table - if (grid.length > 1 && grid[0].length <= 1) { - tableElm.parentNode.removeChild(tableElm); - return true; - } - - // Delete cells - for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { - if (tdElm != lastTDElm) { - var sd = getColRowSpan(tdElm); - - if (sd['colspan'] > 1) - tdElm.colSpan = sd['colspan'] - 1; - else { - if (tdElm.parentNode) - tdElm.parentNode.removeChild(tdElm); - } - - lastTDElm = tdElm; - } - } - - cpos.cellindex--; - if (cpos.cellindex < 0) - cpos.cellindex = 0; - - inst.selection.selectNode(getCell(grid, 0, cpos.cellindex), true, true); - break; - - case "mceTableSplitCells": - if (!trElm || !tdElm) - return true; - - var spandata = getColRowSpan(tdElm); - - var colspan = spandata["colspan"]; - var rowspan = spandata["rowspan"]; - - // Needs splitting - if (colspan > 1 || rowspan > 1) { - // Generate cols - tdElm.colSpan = 1; - for (var i=1; i 1) - addRows(newTD, trElm, rowspan); - } - - addRows(tdElm, trElm, rowspan); - } - - // Apply visual aids - tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - break; - - case "mceTableMergeCells": - var rows = new Array(); - var sel = inst.getSel(); - var grid = getTableGrid(tableElm); - - if (tinyMCE.isMSIE || sel.rangeCount == 1) { - if (user_interface) { - // Setup template - var template = new Array(); - var sp = getColRowSpan(tdElm); - - template['file'] = '../../plugins/table/merge_cells.htm'; - template['width'] = 250; - template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0); - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0); - - // Open window - tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan}); - - return true; - } else { - var numRows = parseInt(value['numrows']); - var numCols = parseInt(value['numcols']); - var cpos = getCellPos(grid, tdElm); - - if (("" + numRows) == "NaN") - numRows = 1; - - if (("" + numCols) == "NaN") - numCols = 1; - - // Get rows and cells - var tRows = tableElm.rows; - for (var y=cpos.rowindex; y 0) - rows[rows.length] = rowCells; - } - - //return true; - } - } else { - var cells = new Array(); - var sel = inst.getSel(); - var lastTR = null; - var curRow = null; - var x1 = -1, y1 = -1, x2, y2; - - // Only one cell selected, whats the point? - if (sel.rangeCount < 2) - return true; - - // Get all selected cells - for (var i=0; i 0) - rows[rows.length] = rowCells; - } - - // Find selected cells in grid and box - var curRow = new Array(); - var lastTR = null; - for (var y=0; y colSpan) - colSpan = rowColSpan; - - lastRowSpan = -1; - } - - // Validate vertical and get total rowspan - var lastColSpan = -1; - for (var x=0; x rowSpan) - rowSpan = colRowSpan; - - lastColSpan = -1; - } - - // Setup td - tdElm = rows[0][0]; - tdElm.rowSpan = rowSpan; - tdElm.colSpan = colSpan; - - // Merge cells - for (var y=0; y 0)) - tdElm.innerHTML += html; - - // Not current cell - if (rows[y][x] != tdElm && !rows[y][x]._deleted) { - var cpos = getCellPos(grid, rows[y][x]); - var tr = rows[y][x].parentNode; - - tr.removeChild(rows[y][x]); - rows[y][x]._deleted = true; - - // Empty TR, remove it - if (!tr.hasChildNodes()) { - tr.parentNode.removeChild(tr); - - var lastCell = null; - for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) { - if (cellElm != lastCell && cellElm.rowSpan > 1) - cellElm.rowSpan--; - - lastCell = cellElm; - } - - if (tdElm.rowSpan > 1) - tdElm.rowSpan--; - } - } - } - } - - break; - } - - tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); - tinyMCE.triggerNodeChange(); - inst.repaint(); - } - - return true; - } - - // Pass to next handler in chain - return false; - } -}; - -tinyMCE.addPlugin("table", TinyMCE_TablePlugin); Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/buttons.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/jscripts/cell.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,254 +0,0 @@ -function init() { - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); - document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); - document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') - - var inst = tinyMCE.selectedInstance; - var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); - var formObj = document.forms[0]; - var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style")); - - // Get table cell data - var celltype = tdElm.nodeName.toLowerCase(); - var align = tinyMCE.getAttrib(tdElm, 'align'); - var valign = tinyMCE.getAttrib(tdElm, 'valign'); - var width = trimSize(getStyle(tdElm, 'width', 'width')); - var height = trimSize(getStyle(tdElm, 'height', 'height')); - var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); - var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); - var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false); - var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; - var id = tinyMCE.getAttrib(tdElm, 'id'); - var lang = tinyMCE.getAttrib(tdElm, 'lang'); - var dir = tinyMCE.getAttrib(tdElm, 'dir'); - var scope = tinyMCE.getAttrib(tdElm, 'scope'); - - // Setup form - addClassesToList('class', 'table_cell_styles'); - formObj.bordercolor.value = bordercolor; - formObj.bgcolor.value = bgcolor; - formObj.backgroundimage.value = backgroundimage; - formObj.width.value = width; - formObj.height.value = height; - formObj.id.value = id; - formObj.lang.value = lang; - formObj.style.value = tinyMCE.serializeStyle(st); - selectByValue(formObj, 'align', align); - selectByValue(formObj, 'valign', valign); - selectByValue(formObj, 'class', className); - selectByValue(formObj, 'celltype', celltype); - selectByValue(formObj, 'dir', dir); - selectByValue(formObj, 'scope', scope); - - // Resize some elements - if (isVisible('backgroundimagebrowser')) - document.getElementById('backgroundimage').style.width = '180px'; - - updateColor('bordercolor_pick', 'bordercolor'); - updateColor('bgcolor_pick', 'bgcolor'); - - if (tinyMCE.getParam('class_selectors', true)) { - var sr = document.getElementById('styleSelectRow'); - sr.style.display = 'none'; - } -} - -function updateAction() { - tinyMCEPopup.restoreSelection(); - - var inst = tinyMCE.selectedInstance; - var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); - var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); - var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - var formObj = document.forms[0]; - - inst.execCommand('mceBeginUndoLevel'); - - switch (getSelectValue(formObj, 'action')) { - case "cell": - var celltype = getSelectValue(formObj, 'celltype'); - var scope = getSelectValue(formObj, 'scope'); - - if (tinyMCE.getParam("accessibility_warnings")) { - if (celltype == "th" && scope == "") - var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true)); - else - var answer = true; - - if (!answer) - return; - } - - updateCell(tdElm); - break; - - case "row": - var cell = trElm.firstChild; - - if (cell.nodeName != "TD" && cell.nodeName != "TH") - cell = nextCell(cell); - - do { - cell = updateCell(cell, true); - } while ((cell = nextCell(cell)) != null); - - break; - - case "all": - var rows = tableElm.getElementsByTagName("tr"); - - for (var i=0; i colLimit) { - alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit})); - return false; - } else if (rowLimit && rows > rowLimit) { - alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit})); - return false; - } else if (cellLimit && cols * rows > cellLimit) { - alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit})); - return false; - } - - // Update table - if (action == "update") { - inst.execCommand('mceBeginUndoLevel'); - - tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true); - tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true); - tinyMCE.setAttrib(elm, 'border', border, true); - tinyMCE.setAttrib(elm, 'align', align); - tinyMCE.setAttrib(elm, 'class', className); - tinyMCE.setAttrib(elm, 'style', style); - tinyMCE.setAttrib(elm, 'id', id); - tinyMCE.setAttrib(elm, 'summary', summary); - tinyMCE.setAttrib(elm, 'dir', dir); - tinyMCE.setAttrib(elm, 'lang', lang); - - // Not inline styles - if (!tinyMCE.getParam("inline_styles")) - tinyMCE.setAttrib(elm, 'width', width, true); - - // Remove these since they are not valid XHTML - tinyMCE.setAttrib(elm, 'borderColor', ''); - tinyMCE.setAttrib(elm, 'bgColor', ''); - tinyMCE.setAttrib(elm, 'background', ''); - tinyMCE.setAttrib(elm, 'height', ''); - - if (background != '') - elm.style.backgroundImage = "url('" + background + "')"; - else - elm.style.backgroundImage = ''; - - if (tinyMCE.getParam("inline_styles")) - elm.style.borderWidth = border + "px"; - - if (tinyMCE.getParam("inline_styles")) { - if (width != '') - elm.style.width = getCSSSize(width); - } - - if (bordercolor != "") { - elm.style.borderColor = bordercolor; - elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; - elm.style.borderWidth = border == "" ? "1px" : border; - } else - elm.style.borderColor = ''; - - elm.style.backgroundColor = bgcolor; - elm.style.height = getCSSSize(height); - - tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst); - - // Fix for stange MSIE align bug - tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML; - - tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); - tinyMCE.triggerNodeChange(); - inst.execCommand('mceEndUndoLevel'); - - // Repaint if dimensions changed - if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) - inst.repaint(); - - tinyMCEPopup.close(); - return true; - } - - // Create new table - html += '/g, '>'); - - return ' ' + attrib + '="' + value + '"'; -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); - document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); - document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); - document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); - - var cols = 2, rows = 2, border = 0, cellpadding = "", cellspacing = ""; - var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; - var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = ""; - var inst = tinyMCE.selectedInstance; - var formObj = document.forms[0]; - var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - - tinyMCE.tableElm = elm; - action = tinyMCE.getWindowArg('action'); - if (action == null) - action = tinyMCE.tableElm ? "update" : "insert"; - - if (tinyMCE.tableElm && action != "insert") { - var rowsAr = tinyMCE.tableElm.rows; - var cols = 0; - for (var i=0; i cols) - cols = rowsAr[i].cells.length; - - cols = cols; - rows = rowsAr.length; - - st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style")); - border = trimSize(getStyle(elm, 'border', 'borderWidth')); - cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', ""); - cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', ""); - width = trimSize(getStyle(elm, 'width', 'width')); - height = trimSize(getStyle(elm, 'height', 'height')); - bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); - bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); - align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align); - className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false); - id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id'); - summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary'); - style = tinyMCE.serializeStyle(st); - dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir'); - lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang'); - background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); - - orgTableWidth = width; - orgTableHeight = height; - - action = "update"; - } - - addClassesToList('class', "table_styles"); - - // Update form - selectByValue(formObj, 'align', align); - selectByValue(formObj, 'class', className); - formObj.cols.value = cols; - formObj.rows.value = rows; - formObj.border.value = border; - formObj.cellpadding.value = cellpadding; - formObj.cellspacing.value = cellspacing; - formObj.width.value = width; - formObj.height.value = height; - formObj.bordercolor.value = bordercolor; - formObj.bgcolor.value = bgcolor; - formObj.id.value = id; - formObj.summary.value = summary; - formObj.style.value = style; - formObj.dir.value = dir; - formObj.lang.value = lang; - formObj.backgroundimage.value = background; - formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); - - updateColor('bordercolor_pick', 'bordercolor'); - updateColor('bgcolor_pick', 'bgcolor'); - - // Resize some elements - if (isVisible('backgroundimagebrowser')) - document.getElementById('backgroundimage').style.width = '180px'; - - // Disable some fields in update mode - if (action == "update") { - formObj.cols.disabled = true; - formObj.rows.disabled = true; - } - - if (tinyMCE.getParam ('class_selectors', true)) { - var sr = document.getElementById('styleSelectRow'); - sr.style.display = 'none'; - } -} - -function changedSize() { - var formObj = document.forms[0]; - var st = tinyMCE.parseStyle(formObj.style.value); - - var width = formObj.width.value; - if (width != "") - st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : ""; - else - st['width'] = ""; - - var height = formObj.height.value; - if (height != "") - st['height'] = getCSSSize(height); - else - st['height'] = ""; - - formObj.style.value = tinyMCE.serializeStyle(st); -} - -function changedBackgroundImage() { - var formObj = document.forms[0]; - var st = tinyMCE.parseStyle(formObj.style.value); - - st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; - - formObj.style.value = tinyMCE.serializeStyle(st); -} - -function changedBorder() { - var formObj = document.forms[0]; - var st = tinyMCE.parseStyle(formObj.style.value); - - // Update border width if the element has a color - if (formObj.border.value != "" && formObj.bordercolor.value != "") - st['border-width'] = formObj.border.value + "px"; - - formObj.style.value = tinyMCE.serializeStyle(st); -} - -function changedColor() { - var formObj = document.forms[0]; - var st = tinyMCE.parseStyle(formObj.style.value); - - st['background-color'] = formObj.bgcolor.value; - - if (formObj.bordercolor.value != "") { - st['border-color'] = formObj.bordercolor.value; - - // Add border-width if it's missing - if (!st['border-width']) - st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; - } - - formObj.style.value = tinyMCE.serializeStyle(st); -} - -function changedStyle() { - var formObj = document.forms[0]; - var st = tinyMCE.parseStyle(formObj.style.value); - - if (st['background-image']) - formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); - else - formObj.backgroundimage.value = ''; - - if (st['width']) - formObj.width.value = trimSize(st['width']); - - if (st['height']) - formObj.height.value = trimSize(st['height']); - - if (st['background-color']) { - formObj.bgcolor.value = st['background-color']; - updateColor('bgcolor_pick','bgcolor'); - } - - if (st['border-color']) { - formObj.bordercolor.value = st['border-color']; - updateColor('bordercolor_pick','bordercolor'); - } -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,78 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('table',{ -general_tab : 'General', -advanced_tab : 'Advanced', -general_props : 'General properties', -advanced_props : 'Advanced properties', -desc : 'Inserts a new table', -row_before_desc : 'Insert row before', -row_after_desc : 'Insert row after', -delete_row_desc : 'Delete row', -col_before_desc : 'Insert column before', -col_after_desc : 'Insert column after', -delete_col_desc : 'Remove column', -rowtype : 'Row in table part', -title : 'Insert/Modify table', -width : 'Width', -height : 'Height', -cols : 'Columns', -rows : 'Rows', -cellspacing : 'Cellspacing', -cellpadding : 'Cellpadding', -border : 'Border', -align : 'Alignment', -align_default : 'Default', -align_left : 'Left', -align_right : 'Right', -align_middle : 'Center', -row_title : 'Table row properties', -cell_title : 'Table cell properties', -cell_type : 'Cell type', -row_desc : 'Table row properties', -cell_desc : 'Table cell properties', -valign : 'Vertical alignment', -align_top : 'Top', -align_bottom : 'Bottom', -props_desc : 'Table properties', -bordercolor : 'Border color', -bgcolor : 'Background color', -merge_cells_title : 'Merge table cells', -split_cells_desc : 'Split table cells', -merge_cells_desc : 'Merge table cells', -cut_row_desc : 'Cut table row', -copy_row_desc : 'Copy table row', -paste_row_before_desc : 'Paste table row before', -paste_row_after_desc : 'Paste table row after', -id : 'Id', -style: 'Style', -langdir : 'Language direction', -langcode : 'Language code', -mime : 'Target MIME type', -ltr : 'Left to right', -rtl : 'Right to left', -bgimage : 'Background image', -summary : 'Summary', -td : "Data", -th : "Header", -cell_cell : 'Update current cell', -cell_row : 'Update all cells in row', -cell_all : 'Update all cells in table', -row_row : 'Update current row', -row_odd : 'Update odd rows in table', -row_even : 'Update even rows in table', -row_all : 'Update all rows in table', -thead : 'Table Head', -tbody : 'Table Body', -tfoot : 'Table Foot', -del : 'Delete table', -scope : 'Scope', -row : 'Row', -col : 'Col', -rowgroup : 'Row Group', -colgroup : 'Col Group', -col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.', -row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.', -cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.', -missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,37 +0,0 @@ - - - {$lang_table_merge_cells_title} - - - - - - -
      -
      - {$lang_table_merge_cells_title} - - - - - - - - - -
      {$lang_table_cols}: -
      {$lang_table_rows}:
      -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/row.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,159 +0,0 @@ - - - {$lang_table_row_title} - - - - - - - - -
      - - -
      -
      -
      - {$lang_table_general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - -
      - -
      - -
      -
      -
      - -
      -
      - {$lang_table_advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - -
      - - - - - -
       
      -
      - - - - - -
       
      -
      -
      -
      -
      - -
      -
      - -
      - -
      -
      -
      - -
      - -
      -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/table/table.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,155 +0,0 @@ - - - {$lang_table_title} - - - - - - - - -
      - - -
      -
      -
      - {$lang_table_general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      -
      -
      - -
      -
      - {$lang_table_advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
      - -
      - - - - - -
       
      -
      - - - - - -
       
      -
      - - - - - -
       
      -
      -
      -
      -
      - -
      -
      - -
      - -
      - -
      -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,6 +0,0 @@ -var TinyMCE_ZoomPlugin={getInfo:function(){return{longname:'Zoom',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_zoom.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0||tinyMCE.isOpera)return"";switch(control_name){case"zoom":return'';}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceZoom":tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom=value;tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom=value;return true;}return false;}};tinyMCE.addPlugin("zoom",TinyMCE_ZoomPlugin); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,58 +0,0 @@ -/** - * $RCSfile: editor_plugin_src.js,v $ - * $Revision: 1.9 $ - * $Date: 2006/03/03 16:10:41 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -var TinyMCE_ZoomPlugin = { - getInfo : function() { - return { - longname : 'Zoom', - author : 'Moxiecode Systems', - authorurl : 'http://tinymce.moxiecode.com', - infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_zoom.html', - version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion - }; - }, - - /** - * Returns the HTML contents of the zoom control. - */ - getControlHTML : function(control_name) { - if (!tinyMCE.isMSIE || tinyMCE.isMSIE5_0 || tinyMCE.isOpera) - return ""; - - switch (control_name) { - case "zoom": - return ''; - } - - return ""; - }, - - /** - * Executes the mceZoom command. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mceZoom": - tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom = value; - tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom = value; - return true; - } - - // Pass to next handler in chain - return false; - } -}; - -tinyMCE.addPlugin("zoom", TinyMCE_ZoomPlugin); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/about.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/about.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/about.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/about.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,52 +0,0 @@ - - - {$lang_about_title} - - - - - - - - -
      -
      -

      {$lang_about_title}

      -

      Version: {$tinymce_version} ({$tinymce_releasedate})

      -

      TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL - by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.

      -

      Copyright © 2003-2006, Moxiecode Systems AB, All rights reserved.

      -

      For more information about this software visit the TinyMCE website.

      - -
      -
      - -
      -
      -

      {$lang_loaded_plugins}

      - -
      -
      - -

       

      -
      -
      - -
      -
      -
      -
      - -
      -
      - -
      -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,33 +0,0 @@ - - - {$lang_insert_anchor_title} - - - - - -
      - - - - - - - - - -
      {$lang_insert_anchor_title}
      {$lang_insert_anchor_name}:
      - -
      -
      - -
      - -
      - -
      -
      - -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,53 +0,0 @@ - - - {$lang_theme_charmap_title} - - - - - - - - - - - - - - - - - -
      {$lang_theme_charmap_title}
      - - - - - - - - - -
       
       
      -
      - - - - - - - - - - - - - - - - -
      HTML-Code
       
       
      NUM-Code
       
      -
      - - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,13 +0,0 @@ - - - {$lang_theme_colorpicker_title} - - - - - -
      - -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_content.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_content.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_content.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_content.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,53 +0,0 @@ -/* This file contains the CSS data for the editable area(iframe) of TinyMCE */ -/* You can extend this CSS by adding your own CSS file with the the content_css option */ - -body, td, pre { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -body { - background-color: #FFFFFF; -} - -.mceVisualAid { - border: 1px dashed #BBBBBB !important; -} - -.mceItemAnchor { - width: 12px; - line-height: 6px; - overflow: hidden; - padding-left: 12px; - background-image: url('../images/anchor_symbol.gif'); - background-position: bottom; - background-repeat: no-repeat; -} - -/* Important is needed in Gecko browsers inorder to style links */ -/* -a { - color: green !important; -} -*/ - -/* Style selection range colors in Gecko browsers */ -/* -::-moz-selection { - background-color: red; - color: green; -} -*/ - -/* MSIE specific */ - -* html body { - scrollbar-3dlight-color: #F0F0EE; - scrollbar-arrow-color: #676662; - scrollbar-base-color: #F0F0EE; - scrollbar-darkshadow-color: #DDDDDD; - scrollbar-face-color: #E0E0DD; - scrollbar-highlight-color: #F0F0EE; - scrollbar-shadow-color: #F0F0EE; - scrollbar-track-color: #F5F5F5; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,327 +0,0 @@ -/* This file contains the CSS data for all popups in TinyMCE */ - -body { - background-color: #F0F0EE; - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; - scrollbar-3dlight-color: #F0F0EE; - scrollbar-arrow-color: #676662; - scrollbar-base-color: #F0F0EE; - scrollbar-darkshadow-color: #DDDDDD; - scrollbar-face-color: #E0E0DD; - scrollbar-highlight-color: #F0F0EE; - scrollbar-shadow-color: #F0F0EE; - scrollbar-track-color: #F5F5F5; - margin: 8px; -} - -td { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; -} - -input { - background: #FFFFFF; - border: 1px solid #cccccc; -} - -td, input, select, textarea { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -input, select, textarea { - border: 1px solid #808080; -} - -.input_noborder { - border: 0; -} - -#insert, .updateButton { - font-weight: bold; - width: 90px; - height: 21px; - border: 0; - background-image: url('../images/insert_button_bg.gif'); - cursor: pointer; -} - -#cancel { - font-weight: bold; - width: 90px; - height: 21px; - border: 0; - background-image: url('../images/cancel_button_bg.gif'); - cursor: pointer; -} - -/* Mozilla only style */ -html>body #insert, html>body #cancel { - padding-bottom: 2px; -} - -.title { - font-size: 12px; - font-weight: bold; - color: #2B6FB6; -} - -table.charmap { - border-style: solid; - border-width: 1px; - border-color: #AAAAAA; -} - -td.charmap, td.charmapOver { - color: #000000; - border-color: #AAAAAA; - border-style: solid; - border-width: 1px; - text-align: center; - font-size: 12px; -} - -td.charmapOver { - background-color: #CCCCCC; - cursor: default; -} - -a.charmap { - color: #000000; - text-decoration: none -} - -.wordWrapCode { - vertical-align: middle; - border: 1px none #000000; - background-color: transparent; -} - -input.radio { - border: 1px none #000000; - background-color: transparent; - vertical-align: middle; -} - -input.checkbox { - border: 1px none #000000; - background-color: transparent; - vertical-align: middle; -} - -.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected { - margin-left: 1px; -} - -.mceButtonNormal { - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: default; -} - -.mceButtonOver { - border: 1px solid #0A246A; - cursor: default; - background-color: #B6BDD2; -} - -.mceButtonDown { - cursor: default; - border: 1px solid #0A246A; - background-color: #8592B5; -} - -.mceButtonDisabled { - filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); - -moz-opacity:0.3; - opacity: 0.3; - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: default; -} - -.mceActionPanel { - margin-top: 5px; -} - -/* Tabs classes */ - -.tabs { - float: left; - width: 100%; - line-height: normal; - background-image: url("../images/xp/tabs_bg.gif"); -} - -.tabs ul { - margin: 0; - padding: 0 0 0; - list-style: none; -} - -.tabs li { - float: left; - background: url("../images/xp/tab_bg.gif") no-repeat left top; - margin: 0; - margin-left: 0; - margin-right: 2px; - padding: 0 0 0 10px; - line-height: 18px; -} - -.tabs li.current { - background: url("../images/xp/tab_sel_bg.gif") no-repeat left top; - margin-right: 2px; -} - -.tabs span { - float: left; - display: block; - background: url("../images/xp/tab_end.gif") no-repeat right top; - padding: 0px 10px 0 0; -} - -.tabs .current span { - background: url("../images/xp/tab_sel_end.gif") no-repeat right top; -} - -.tabs a { - text-decoration: none; - font-family: Verdana, Arial; - font-size: 10px; -} - -.tabs a:link, .tabs a:visited, .tabs a:hover { - color: black; -} - -.tabs a:hover { -} - -.tabs .current { -} - -.tabs .current a, .tabs .current a:link, .tabs .current a:visited { -} - -.panel_wrapper div.panel { - display: none; -} - -.panel_wrapper div.current { - display: block; - width: 100%; - height: 300px; - overflow: visible; /* Should be auto but that breaks Safari */ -} - -.panel_wrapper { - border: 1px solid #919B9C; - border-top: 0px; - padding: 10px; - padding-top: 5px; - clear: both; - background-color: white; -} - -fieldset { - border: 1px solid #919B9C; - font-family: Verdana, Arial; - font-size: 10px; - padding: 0; - margin: 0; - padding: 4px; -} - -legend { - color: #2B6FB6; - font-weight: bold; -} - -.properties { - width: 100%; -} - -.properties .column1 { -} - -.properties .column2 { - text-align: left; -} - -a:link, a:visited { - color: black; -} - -a:hover { - color: #2B6FB6; -} - -#plugintable thead { - font-weight: bold; - background-color: #DDDDDD; -} - -#plugintable, #about #plugintable td { - border: 1px solid #919B9C; -} - -#plugintable { - width: 99%; - margin-top: 10px; -} - -#pluginscontainer { - height: 290px; - overflow: auto; -} - -/* MSIE Specific styles */ - -* html .panel_wrapper { - width: 100%; -} - -.column { - float: left; -} - -h1, h2, h3, h4 { - color: #2B6FB6; - margin: 0; - padding: 0; - padding-top: 5px; -} - -h3 { - font-size: 14px; -} - -#link .panel_wrapper, #link div.current { - height: 125px; -} - -#image .panel_wrapper, #image div.current { - height: 190px; -} - -/* Disables the advanced tab in the table plugin. */ -/* -#table #advanced_tab { - display: none; -} -*/ - -/* Disables the border input field and label in the table plugin. */ -/* -#table #border, #table #borderlabel { - display: none; -} -*/ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,348 +0,0 @@ -/* This file contains the CSS data for the editor UI of TinyMCE instances */ - -.mceToolbarTop a, .mceToolbarTop a:visited, .mceToolbarTop a:hover, .mceToolbarBottom a, .mceToolbarBottom a:visited, .mceToolbarBottom a:hover { - border: 0; margin: 0; padding: 0; background: transparent; -} - -.mceSeparatorLine { - border: 0; - padding: 0; - margin-left: 4px; - margin-right: 2px; -} - -.mceSelectList { - font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; - font-size: 7pt !important; - font-weight: normal; - margin-top: 3px; - padding: 0; - display: inline; - vertical-align: top; - background-color: #F0F0EE; -} - -.mceLabel, .mceLabelDisabled { - font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; - font-size: 9pt; -} - -.mceLabel { - color: #000000; -} - -.mceLabelDisabled { - cursor: text; - color: #999999; -} - -.mceEditor { - background: #F0F0EE; - border: 1px solid #cccccc; - padding: 0; - margin: 0; -} - -.mceEditorArea { - font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; - background: #FFFFFF; - padding: 0; - margin: 0; -} - -.mceToolbarTop, .mceToolbarBottom { - background: #F0F0EE; - line-height: 1px; - font-size: 1px; -} - -.mceToolbarTop { - border-bottom: 1px solid #cccccc; - padding-bottom: 1px; -} - -.mceToolbarBottom { - border-top: 1px solid #cccccc; -} - -.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar { - height: 20px; -} - -.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText { - font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; - font-size: 9pt; - padding: 2px; - line-height: 16px; - overflow: visible; -} - -.mceStatusbarTop { - border-bottom: 1px solid #cccccc; -} - -.mceStatusbarBottom { - border-top: 1px solid #cccccc; -} - -.mceStatusbar { - border-bottom: 1px solid #cccccc; -} - -.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover { - text-decoration: none; - font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; - font-size: 9pt; - color: #000000; -} - -.mcePathItem:hover { - text-decoration: underline; -} - -.mceStatusbarPathText { - float: left; -} - -.mceStatusbarResize { - float: right; - background-image: url('../images/statusbar_resize.gif'); - background-repeat: no-repeat; - width: 11px; - height: 20px; - cursor: se-resize; -} - -.mceResizeBox { - width: 10px; - height: 10px; - display: none; - border: 1px dotted gray; - margin: 0; - padding: 0; -} - -/* Button CSS rules */ - -a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img { - width: 20px; - height: 20px; - cursor: default; - margin-top: 1px; - margin-left: 1px; -} - -a.mceButtonDisabled img { - border: 0 !important; -} - -a.mceButtonNormal img, a.mceButtonSelected img { - border: 1px solid #F0F0EE !important; -} - -a.mceButtonSelected img { - border: 1px solid #6779AA !important; - background-color: #D4D5D8; -} - -a.mceButtonNormal img:hover, a.mceButtonSelected img:hover { - border: 1px solid #0A246A !important; - cursor: default; - background-color: #B6BDD2; -} - -a.mceButtonDisabled img { - -moz-opacity:0.3; - opacity: 0.3; - border: 1px solid #F0F0EE !important; - cursor: default; -} - -a.mceTiledButton img { - background-image: url('../images/buttons.gif'); - background-repeat: no-repeat; -} - -/* MSIE specific rules */ - -* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img { - border: 0 !important; - margin-top: 2px; - margin-bottom: 1px; -} - -* html a.mceButtonDisabled img { - filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); - border: 0 !important; -} - -* html a.mceButtonDisabled { - border: 1px solid #F0F0EE !important; -} - -* html a.mceButtonNormal, * html a.mceButtonSelected { - border: 1px solid #F0F0EE !important; - cursor: default; -} - -* html a.mceButtonSelected { - border: 1px solid #6779AA !important; - background-color: #D4D5D8; -} - -* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover { - border: 1px solid #0A246A !important; - cursor: default; - background-color: #B6BDD2; -} - -* html .mceSelectList { - margin-top: 2px; -} - -/* Menu button CSS rules */ - -span.mceMenuButton img, span.mceMenuButtonSelected img { - border: 1px solid #F0F0EE; - margin-left: 1px; -} - -span.mceMenuButtonSelected img { - border: 1px solid #6779AA; - background-color: #B6BDD2; -} - -span.mceMenuButtonSelected img.mceMenuButton { - border: 1px solid #F0F0EE; - background-color: transparent; -} - -span.mceMenuButton img.mceMenuButton, span.mceMenuButtonSelected img.mceMenuButton { - border-left: 0; - margin-left: 0; -} - -span.mceMenuButton:hover img, span.mceMenuButtonSelected:hover img { - border: 1px solid #0A246A; - background-color: #B6BDD2; -} - -span.mceMenuButton:hover img.mceMenuButton, span.mceMenuButtonSelected:hover img.mceMenuButton { - border-left: 0; -} - -span.mceMenuButtonFocus img { - border: 1px solid gray; - border-right: 0; - margin-left: 1px; - background-color: #F5F4F2; -} - -span.mceMenuButtonFocus img.mceMenuButton { - border: 1px solid gray; - border-left: 1px solid #F5F4F2; - margin-left: 0; -} - -/* Menu button MSIE specific rules */ - -* html span.mceMenuButton, * html span.mceMenuButtonFocus { - position: relative; - left: 0; - top: 0; -} - -* html span.mceMenuButton img, * html span.mceMenuButtonSelected img, * html span.mceMenuButtonFocus img { - position: relative; - top: 1px; -} - -* html span.mceMenuHover img { - border: 1px solid #0A246A; - background-color: #B6BDD2; -} - -* html span.mceMenuButtonSelected.mceMenuHover img.mceMenuButton { - border: 1px solid #0A246A; - background-color: #B6BDD2; - border-left: 0; -} - -/* Menu */ - -.mceMenu { - position: absolute; - left: 0; - top: 0; - display: none; - z-index: 100; - background-color: white; - border: 1px solid gray; - font-weight: normal; -} - -.mceMenu a, .mceMenuTitle, .mceMenuDisabled { - display: block; - width: 100%; - text-decoration: none; - background-color: white; - font-family: Tahoma, Verdana, Arial, Helvetica; - font-size: 11px; - line-height: 20px; - color: black; -} - -.mceMenu a:hover { - background-color: #B6BDD2; - color: black; -} - -.mceMenu span { - padding-left: 10px; - padding-right: 10px; - display: block; - line-height: 20px; -} - -.mceMenuSeparator { - border-bottom: 1px solid gray; - background-color: gray; - height: 1px; -} - -.mceMenuTitle span { - padding-left: 5px; -} - -.mceMenuTitle { - background-color: #DDDDDD; - font-weight: bold; -} - -.mceMenuDisabled { - color: gray; -} - -span.mceMenuSelectedItem { - background-image: url('../images/menu_check.gif'); - background-repeat: no-repeat; - background-position: 5px 8px; - padding-left: 20px; -} - -span.mceMenuCheckItem { - padding-left: 20px; -} - -span.mceMenuLine { - display: block; - position: absolute; - left: 0; - top: -1px; - background-color: #F5F4F2; - width: 30px; - height: 1px; - overflow: hidden; - padding-left: 0; - padding-right: 0; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,31 +0,0 @@ - - -About TinyMCE - - - - - - - - - - - -
      -
      -TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla -that enables you to edit HTML contents in a more user friendly way. It has common -features that are found in most word processors and should not be difficult to -use.
      -
      -
      - - - - - - -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,162 +0,0 @@ - - -Common buttons - - - - - - - - - - - -
      -
      -Below is a short description about each button. -
      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Bold text iconBold text style (Ctrl+B).
      Italic text iconItalic text style (Ctrl+I).
      Underline text icon.Underline text style (Ctrl+U).
      Strikethrough text icon.Strikethrough text style.
      Align left icon.Align left.
      Align center icon.Align center.
      Align right icon.Align right.
      Align full icon.Align full.
      Unordered list/bullet list icon.Unordered list/bullet list.
      Ordered list/numbered list icon.Ordered list/numbered list
      Outdent/decrease indentation icon.Outdent/decrease indentation.
      Indent/increase indentation icon.Indent/increase indentation.
      Undo the last operation.Undo the last operation (Ctrl+Z).
      Redo the last operation icon.Redo the last operation (Ctrl+Y).
      Insert a new link icon.Insert a new link, read more about this function in the Insert - link section.
      Unlinks the current selection icon.Unlinks the current selection/removes all selected links.
      Insert a new anchor icon.Insert a new anchor, read more about this function in the Insert anchor section.
      Insert a new image icon.Insert a new image, read more about this function in the Insert - image section.
      Cleanup code icon.Cleanup code/Removes unwanted formating. This function is useful when - you copy contents from for example a office product.
      Show help icon.Shows this help window.
      Source code editor icon.Opens HTML source code editor.
      Insert table icon.Inserts a new table at the current location.
      Adds a row above icon.Adds a row above the current one.
      Adds a row under icon.Adds a row under the current one.
      Remove row icon.Removes the row.
      Add column before icon.Adds a column before the current one.
      Add column after icon.Adds a column after the current one.
      Remove column icon.Removes the current column.
      Insert horizontal ruler icon.Inserts a new horizontal ruler
      Remove formatting icon.Removes formatting from the selection.
      Subscript icon.Makes the selection to be subscript.
      Superscript icon.Makes the selection to be superscripted.
      -
      -
      - - - - - - - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,45 +0,0 @@ - - -Insert table button - - - - - - - - - - - -
      -

      TinyMCE can create HTML content that will be accessible to all users, including those with disabilities using assistive technologies, as well as those using text-based browsers, or those browsing the Web with images turned off.

      - -

      Things you can do to make your content accessible:

      -
        -
      1. Include an Image Description: Blind users, or others who are unable to view images, will rely on the Image Description (or Alt text) to take the place of the image. If an image contains no meaning, such as a decoration or a spacer image, leave the Image Description empty. TinyMCE will then insert an empty Alt text attribute that will force assistive technologies to ignore the image.

      2. - -
      3. Add Scope to data table header cells: In the table cell editor dialog window, choose a Scope when creating Header cells so the column or row label in that cell becomes explicitely associated with its data cells. Table cell headers will then be announced with each data cell, making it easier for blind users using a screen reader to understand what the content of each cell represents.

      4. - -
      5. Structure content with properly nested headings: In the format selection menu choose Heading 1 to Heading 6 to represent headings in your content, rather than using other font formating options. Blind users using a screen reader can then extract the headings from the page to generate a summary of the content it contains, and use those headings to navigate quickly to subsections within the page.

      6. - -
      7. Include alternate content: Create an alternate page for non-HTML content such as Flash, Java applets, or embedded movies. This might be a static image, with a description of the image, and a description of the content that would have appeared in its place. An alternate HTML page could also be created, and a link to it included next to the non-HTML object. This will ensure that the content will be accessible to users of assistive technologies that can not view or play the content, and ensure the content will be available to those who do not have the appropriate plugin or helper application installed.

      8. - -
      9. Check accessbility: When the AChecker plugin is installed with TinyMCE, click on the Check Accessibility button to generate a report of potential accessibility problems.

      10. - -
      - -

      See the AChecker Web Site for further details about creating content that will be accessible to all users.
      -

      - -
      - - - - - - - -
      - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,27 +0,0 @@ - - -Help Index - - - - - - - - - -
      -
      -Click the links below to go to the different help sections. - -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,32 +0,0 @@ - - -Insert anchor button - - - - - - - - - - - -
      -
      -This button opens a new window with the insert/edit anchor function.
      -
      -Anchor dialog/window
      -
      -There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique.
      -
      -
      - - - - - - -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,65 +0,0 @@ - - -Insert image button - - - - - - - - - - - -
      -
      -The insert image button opens the window shown below.
      -
      -Insert image dialog/window
      -
      -You simply enter a URL to the image you want to link to and enter a image description, -this is then displayed as an alternative text descripton of the image on the page.
      -
      -Field descriptions:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Image URL URL/path to the image.
      Image description Alternative description of image contents.
      DimentionsImage width/height.
      AlignmentImage alignment, useful when wrapping text around images.
      BorderBorder thickness.
      VSpaceVertical space, useful when wrapping text around images.
      HSpaceHorizontal space, useful when wrapping text around images.
      -
      -
      - - - - - - -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,33 +0,0 @@ - - -Insert link button - - - - - - - - - - - -
      -
      -This button opens a new window with the insert/edit link function.
      -
      -Insert link dialog/window
      -
      -There are two fields in this window the first one "Link URL" is the -URL of the link. The target enables you to select how the link is to be opened.
      -
      -
      - - - - - - -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,71 +0,0 @@ - - -Insert table button - - - - - - - - - - - -
      -
      -The insert table button opens the window shown below. This action enables you to create tables.
      -
      -Image of table window
      -
      -Field descriptions:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      ColumnsNumber of columns in the table.
      RowsNumber of rows in the new table.
      CellpaddingCellpadding of the table .
      CellspacingCellspacing of the table .
      AlignmentTable alignment .
      BorderBorder thinkness of table.
      WidthWidth in pixels of table .
      HeightHeight in pixels of table.
      ClassStyle or CSS class of table.
      -
      -
      -
      - - - - - - -
      - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/style.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/style.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/style.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/docs/en/style.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,28 +0,0 @@ -body { background-color: #FFFFFF; } -body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; } -.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; } -.subtitle { font-size: 12px; font-weight: bold; } - -.toc_ul, .toc_li { margin-left: 8px; line-height: 16px; } -.step_ol, .step_li { margin-left: 11px; line-height: 16px; } -img { border: #000000 solid 1px; } - -a:visited { color: #666666; text-decoration: underline; } -a:active { color: #666666; text-decoration: underline; } -a:hover { color: #666666; text-decoration: underline; } -a { color: #666666; text-decoration: underline; } - -.pageheader { border: #E0E0E0 solid 1px; } -.pagefooter { border: #E0E0E0 solid 1px; } -.sample { background-color: #FFFFFF; border: #000000 solid 1px; } -.samplecontent { font-size: 10px; } - -.code { background-color: #FFFFFF; border: #000000 solid 1px; } -.codecontent { font-size: 10px; } -.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a { color: #666666; text-decoration: none; font-weight: bold } - -hr { height: 1px; } - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,12 +0,0 @@ -tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_AdvancedTheme={_autoImportCSSClasses:true,_resizer:{},_buttons:[['bold','{$lang_bold_img}','lang_bold_desc','Bold'],['italic','{$lang_italic_img}','lang_italic_desc','Italic'],['underline','{$lang_underline_img}','lang_underline_desc','Underline'],['strikethrough','strikethrough.gif','lang_striketrough_desc','Strikethrough'],['justifyleft','justifyleft.gif','lang_justifyleft_desc','JustifyLeft'],['justifycenter','justifycenter.gif','lang_justifycenter_desc','JustifyCenter'],['justifyright','justifyright.gif','lang_justifyright_desc','JustifyRight'],['justifyfull','justifyfull.gif','lang_justifyfull_desc','JustifyFull'],['bullist','bullist.gif','lang_bullist_desc','InsertUnorderedList'],['numlist','numlist.gif','lang_numlist_desc','InsertOrderedList'],['outdent','outdent.gif','lang_outdent_desc','Outdent'],['indent','indent.gif','lang_indent_desc','Indent'],['cut','cut.gif','lang_cut_desc','Cut'],['copy','copy.gif','lang_copy_desc','Copy'],['paste','paste.gif','lang_paste_desc','Paste'],['undo','undo.gif','lang_undo_desc','Undo'],['redo','redo.gif','lang_redo_desc','Redo'],['link','link.gif','lang_link_desc','mceLink',true],['unlink','unlink.gif','lang_unlink_desc','unlink'],['image','image.gif','lang_image_desc','mceImage',true],['cleanup','cleanup.gif','lang_cleanup_desc','mceCleanup'],['help','help.gif','lang_help_desc','mceHelp'],['code','code.gif','lang_theme_code_desc','mceCodeEditor'],['hr','hr.gif','lang_theme_hr_desc','inserthorizontalrule'],['removeformat','removeformat.gif','lang_theme_removeformat_desc','removeformat'],['sub','sub.gif','lang_theme_sub_desc','subscript'],['sup','sup.gif','lang_theme_sup_desc','superscript'],['forecolor','forecolor.gif','lang_theme_forecolor_desc','mceForeColor',true],['backcolor','backcolor.gif','lang_theme_backcolor_desc','mceBackColor',true],['charmap','charmap.gif','lang_theme_charmap_desc','mceCharMap'],['visualaid','visualaid.gif','lang_theme_visualaid_desc','mceToggleVisualAid'],['anchor','anchor.gif','lang_theme_anchor_desc','mceInsertAnchor'],['newdocument','newdocument.gif','lang_newdocument_desc','mceNewDocument']],_buttonMap:'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells',getControlHTML:function(button_name){var i,x;for(i=0;i4?but[4]:false),(but.length>5?but[5]:null));}switch(button_name){case"formatselect":var html='';return html;case"styleselect":return'';case"fontselect":var fontHTML='';return fontHTML;case"fontsizeselect":return'';case"|":case"separator":return'';case"spacer":return'';case"rowseparator":return'
      ';}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceLink":var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=inst.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return true;}var href="",target="",title="",onclick="",action="insert",style_class="";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');style_class=tinyMCE.getAttrib(tinyMCE.linkElement,'class');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_href');if(mceRealHref!=""){href=mceRealHref;if(tinyMCE.getParam('convert_urls'))href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");}action="update";}var template=new Array();template['file']='link.htm';template['width']=310;template['height']=200;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);if(inst.settings['insertlink_callback']){var returnVal=eval(inst.settings['insertlink_callback']+"(href, target, title, onclick, action, style_class);");if(returnVal&&returnVal['href'])TinyMCE_AdvancedTheme._insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick'],returnVal['style_class']);}else{tinyMCE.openWindow(template,{href:href,target:target,title:title,onclick:onclick,action:action,className:style_class,inline:"yes"});}return true;case"mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;var inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img;}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return true;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h);}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:"";}src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");mceRealSrc=tinyMCE.getAttrib(img,'mce_src');if(mceRealSrc!=""){src=mceRealSrc;if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");}action="update";}var template=new Array();template['file']='image.htm?src={$src}';template['width']=355;template['height']=265+(tinyMCE.isMSIE?25:0);template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);if(inst.settings['insertimage_callback']){var returnVal=eval(inst.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])TinyMCE_AdvancedTheme._insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout']);}else tinyMCE.openWindow(template,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action,inline:"yes"});return true;case"mceForeColor":var template=new Array();var elm=tinyMCE.selectedInstance.getFocusElement();var inputColor=tinyMCE.getAttrib(elm,"color");if(inputColor=='')inputColor=elm.style.color;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=220;template['height']=190;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",command:"forecolor",input_color:inputColor});return true;case"mceBackColor":var template=new Array();var elm=tinyMCE.selectedInstance.getFocusElement();var inputColor=elm.style.backgroundColor;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=220;template['height']=190;template['width']+=tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",command:"HiliteColor",input_color:inputColor});return true;case"mceColorPicker":if(user_interface){var template=new Array();var inputColor=value['document'].getElementById(value['element_id']).value;template['file']='color_picker.htm';template['width']=220;template['height']=190;template['close_previous']="no";template['width']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height',0);if(typeof(value['store_selection'])=="undefined")value['store_selection']=true;tinyMCE.lastColorPickerValue=value;tinyMCE.openWindow(template,{editor_id:editor_id,mce_store_selection:value['store_selection'],inline:"yes",command:"mceColorPicker",input_color:inputColor});}else{var savedVal=tinyMCE.lastColorPickerValue;var elm=savedVal['document'].getElementById(savedVal['element_id']);elm.value=value;if(elm.onchange!=null&&elm.onchange!='')eval('elm.onchange();');}return true;case"mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_width",720));template['height']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_height",580));tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no",inline:"yes"});return true;case"mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550+(tinyMCE.isOpera?40:0);template['height']=250;template['width']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=90+(tinyMCE.isNS7?30:0);template['width']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceNewDocument":if(confirm(tinyMCE.getLang('lang_newdocument')))tinyMCE.execInstanceCommand(editor_id,'mceSetContent',false,' ');return true;}return false;},getEditorTemplate:function(settings,editorId){function removeFromArray(in_array,remove_array){var outArray=new Array();for(var i=0;i 

      ';var layoutManager=tinyMCE.getParam("theme_advanced_layout_manager","SimpleLayout");var styleSelectHTML='';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i'+key+'';}TinyMCE_AdvancedTheme._autoImportCSSClasses=false;}switch(layoutManager){case"SimpleLayout":var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var toolbarAlign=tinyMCE.getParam("theme_advanced_toolbar_align","center");var pathLocation=tinyMCE.getParam("theme_advanced_path_location","none");var statusbarLocation=tinyMCE.getParam("theme_advanced_statusbar_location",pathLocation);var defVals={theme_advanced_buttons1:"bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,separator,sub,sup,separator,charmap"};toolbarHTML+='0){toolbarHTML+="
      ";deltaHeight-=23;}}toolbarHTML+='
      ';template['html']='';if(toolbarLocation=="top"){template['html']+='';}if(statusbarLocation=="top"){template['html']+='';deltaHeight-=23;}template['html']+='';if(toolbarLocation=="bottom"){template['html']+='';}if(toolbarLocation=="external"){var bod=document.body;var elm=document.createElement("div");toolbarHTML=tinyMCE.replaceVar(toolbarHTML,'style_select_options',styleSelectHTML);toolbarHTML=tinyMCE.applyTemplate(toolbarHTML,{editor_id:editorId});elm.className="mceToolbarExternal";elm.id=editorId+"_toolbar";elm.innerHTML='
      '+toolbarHTML+'
      '+statusbarHTML+'
      '+toolbarHTML+'
      '+toolbarHTML+'
      ';bod.appendChild(elm);deltaHeight=0;tinyMCE.getInstanceById(editorId).toolbarElement=elm;}else{tinyMCE.getInstanceById(editorId).toolbarElement=null;}if(statusbarLocation=="bottom"){template['html']+='
      '+statusbarHTML+'
      ';break;case"RowLayout":template['html']='';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i';}else if(containers[i]=="mceElementpath"||containers[i]=="mceStatusbar"){var pathClass="mceStatusbar";if(i==containers.length-1){pathClass="mceStatusbarBottom";}else if(i==0){pathClass="mceStatusbar";}else{deltaHeight-=2;}template['html']+='';deltaHeight-=22;}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);for(var j=0;j0){curContainerHTML+="
      ";deltaHeight-=23;}template['html']+='
      ';}}template['html']+='
      \ - \ -
      '+statusbarHTML+'
      '+curContainerHTML+'
      ';break;case"CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined"){template=eval(customLayout+"(template);");}break;}if(resizing)template['html']+='';template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);template['delta_width']=0;template['delta_height']=deltaHeight;return template;},initInstance:function(inst){if(tinyMCE.getParam("theme_advanced_resizing",false)){if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var w=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_width");var h=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_height");TinyMCE_AdvancedTheme._resizeTo(inst,w,h,tinyMCE.getParam("theme_advanced_resize_horizontal",true));}}inst.addShortcut('ctrl','k','lang_link_desc','mceLink');},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection,setup_content){function selectByValue(select_elm,value,first_index){first_index=typeof(first_index)=="undefined"?false:true;if(select_elm){for(var i=0;i=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";if(nodeName=="b"){nodeName="strong";}if(nodeName=="i"){nodeName="em";}if(nodeName=="span"){var cn=tinyMCE.getAttrib(path[i],"class");if(cn!=""&&cn.indexOf('mceItem')==-1)nodeData+="class: "+cn+" ";var st=tinyMCE.getAttrib(path[i],"style");if(st!=""){st=tinyMCE.serializeStyle(tinyMCE.parseStyle(st));nodeData+="style: "+st+" ";}}if(nodeName=="font"){if(tinyMCE.getParam("convert_fonts_to_spans"))nodeName="span";var face=tinyMCE.getAttrib(path[i],"face");if(face!="")nodeData+="font: "+face+" ";var size=tinyMCE.getAttrib(path[i],"size");if(size!="")nodeData+="size: "+size+" ";var color=tinyMCE.getAttrib(path[i],"color");if(color!="")nodeData+="color: "+color+" ";}if(getAttrib(path[i],'id')!=""){nodeData+="id: "+path[i].getAttribute('id')+" ";}var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeData+="class: "+className+" ";if(getAttrib(path[i],'src')!=""){var src=tinyMCE.getAttrib(path[i],"mce_src");if(src=="")src=tinyMCE.getAttrib(path[i],"src");nodeData+="src: "+src+" ";}if(getAttrib(path[i],'href')!=""){var href=tinyMCE.getAttrib(path[i],"mce_href");if(href=="")href=tinyMCE.getAttrib(path[i],"href");nodeData+="href: "+href+" ";}if(nodeName=="img"&&tinyMCE.getAttrib(path[i],"class").indexOf('mceItemFlash')!=-1){nodeName="flash";nodeData="src: "+path[i].getAttribute('title');}if(nodeName=="a"&&(anchor=tinyMCE.getAttrib(path[i],"name"))!=""){nodeName="a";nodeName+="#"+anchor;nodeData="";}if(getAttrib(path[i],'name').indexOf("mce_")!=0){var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1){nodeName+="."+className;}}var cmd='tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');';html+=''+nodeName+'';if(i>0){html+=" » ";}}pathElm.innerHTML=''+tinyMCE.getLang('lang_theme_path')+": "+html+' ';}tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClass(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClass(editor_id+'_link','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_unlink','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_outdent','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_image','mceButtonNormal');tinyMCE.switchClass(editor_id+'_hr','mceButtonNormal');if(node.nodeName=="A"&&tinyMCE.getAttrib(node,"class").indexOf('mceItemAnchor')!=-1)tinyMCE.switchClass(editor_id+'_anchor','mceButtonSelected');var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClass(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal');tinyMCE.switchClass(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal');}tinyMCE.switchClass(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal');if(undo_levels!=-1){tinyMCE.switchClass(editor_id+'_undo','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_redo','mceButtonDisabled');}if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClass(editor_id+'_outdent','mceButtonNormal');if(undo_index!=-1&&(undo_index0))tinyMCE.switchClass(editor_id+'_redo','mceButtonNormal');if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClass(editor_id+'_undo','mceButtonNormal');var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i");else selectByValue(selectElm,"");}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){if(!tinyMCE.isSafari&&!(tinyMCE.isMSIE&&!tinyMCE.isOpera)){var face=inst.queryCommandValue('FontName');face=face==null||face==""?"":face;selectByValue(selectElm,face,face!="");}else{var elm=tinyMCE.getParentElement(node,"font","face");if(elm){var family=tinyMCE.getAttrib(elm,"face");if(family=='')family=''+elm.style.fontFamily;if(!selectByValue(selectElm,family,family!=""))selectByValue(selectElm,"");}else selectByValue(selectElm,"");}}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){if(!tinyMCE.isSafari&&!tinyMCE.isOpera){var size=inst.queryCommandValue('FontSize');selectByValue(selectElm,size==null||size==""?"0":size);}else{var elm=tinyMCE.getParentElement(node,"font","size");if(elm){var size=tinyMCE.getAttrib(elm,"size");if(size==''){var sizes=new Array('','8px','10px','12px','14px','18px','24px','36px');size=''+elm.style.fontSize;for(var i=0;i0)selectElm.setAttribute('cssImported','true');}},_setCookie:function(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+escape(path):"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie;},_getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin+prefix.length,end));},_resizeTo:function(inst,w,h,set_w){var editorContainer=document.getElementById(inst.editorId+'_parent');var tableElm=editorContainer.firstChild;var iframe=inst.iframeElement;if(w==null||w=="null"){set_w=false;w=0;}if(h==null||h=="null")return;w=parseInt(w);h=parseInt(h);if(tinyMCE.isGecko){w+=2;h+=2;}var dx=w-tableElm.clientWidth;var dy=h-tableElm.clientHeight;w=w<1?30:w;h=h<1?30:h;if(set_w)tableElm.style.width=w+"px";tableElm.style.height=h+"px";iw=iframe.clientWidth+dx;ih=iframe.clientHeight+dy;iw=iw<1?30:iw;ih=ih<1?30:ih;if(tinyMCE.isGecko){iw-=2;ih-=2;}if(set_w)iframe.style.width=iw+"px";iframe.style.height=ih+"px";if(set_w){var tableBodyElm=tableElm.firstChild;var minIframeWidth=tableBodyElm.scrollWidth;if(inst.iframeElement.clientWidth';tinyMCE.execCommand("mceInsertContent",false,html);}else{if(!tinyMCE.imgElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari)tinyMCE.execCommand("mceInsertContent",false,'');else tinyMCE.selectedInstance.contentDocument.execCommand("insertimage",false,tinyMCE.uniqueURL);tinyMCE.imgElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"img","src",tinyMCE.uniqueURL);}}if(tinyMCE.imgElement){var needsRepaint=false;var msrc=src;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, tinyMCE.imgElement);");if(tinyMCE.getParam('convert_urls'))msrc=src;if(onmouseover&&onmouseover!="")onmouseover="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, tinyMCE.imgElement);")+"';";if(onmouseout&&onmouseout!="")onmouseout="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, tinyMCE.imgElement);")+"';";if(typeof(title)=="undefined")title=alt;if(width!=tinyMCE.imgElement.getAttribute("width")||height!=tinyMCE.imgElement.getAttribute("height")||align!=tinyMCE.imgElement.getAttribute("align"))needsRepaint=true;tinyMCE.setAttrib(tinyMCE.imgElement,'src',src);tinyMCE.setAttrib(tinyMCE.imgElement,'mce_src',msrc);tinyMCE.setAttrib(tinyMCE.imgElement,'alt',alt);tinyMCE.setAttrib(tinyMCE.imgElement,'title',title);tinyMCE.setAttrib(tinyMCE.imgElement,'align',align);tinyMCE.setAttrib(tinyMCE.imgElement,'border',border,true);tinyMCE.setAttrib(tinyMCE.imgElement,'hspace',hspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'vspace',vspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'width',width,true);tinyMCE.setAttrib(tinyMCE.imgElement,'height',height,true);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseover',onmouseover);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseout',onmouseout);if(width&&width!="")tinyMCE.imgElement.style.pixelWidth=width;if(height&&height!="")tinyMCE.imgElement.style.pixelHeight=height;if(needsRepaint)tinyMCE.selectedInstance.repaint();}tinyMCE.execCommand('mceEndUndoLevel');},_insertLink:function(href,target,title,onclick,style_class){tinyMCE.execCommand('mceBeginUndoLevel');if(tinyMCE.selectedInstance&&tinyMCE.selectedElement&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){var doc=tinyMCE.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true;}var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(linkElement,'href',thref);tinyMCE.setAttrib(linkElement,'mce_href',mhref);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'onclick',onclick);tinyMCE.setAttrib(linkElement,'class',style_class);if(newLink){linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));tinyMCE.selectedElement.parentNode.replaceChild(linkElement,tinyMCE.selectedElement);}return;}if(!tinyMCE.linkElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari){tinyMCE.execCommand("mceInsertContent",false,''+tinyMCE.selectedInstance.selection.getSelectedHTML()+'');}else tinyMCE.selectedInstance.contentDocument.execCommand("createlink",false,tinyMCE.uniqueURL);tinyMCE.linkElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);var elementArray=tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);for(var i=0;i 4 ? but[4] : false), (but.length > 5 ? but[5] : null)); - } - - // Custom controlls other than buttons - switch (button_name) { - case "formatselect": - var html = ''; - - return html; - - case "styleselect": - return ''; - - case "fontselect": - var fontHTML = ''; - return fontHTML; - - case "fontsizeselect": - return ''; - - case "|": - case "separator": - return ''; - - case "spacer": - return ''; - - case "rowseparator": - return '
      '; - } - - return ""; - }, - - /** - * Theme specific execcommand handling. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - switch (command) { - case "mceLink": - var inst = tinyMCE.getInstanceById(editor_id); - var doc = inst.getDoc(); - var selectedText = ""; - - if (tinyMCE.isMSIE) { - var rng = doc.selection.createRange(); - selectedText = rng.text; - } else - selectedText = inst.getSel().toString(); - - if (!tinyMCE.linkElement) { - if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0)) - return true; - } - - var href = "", target = "", title = "", onclick = "", action = "insert", style_class = ""; - - if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a") - tinyMCE.linkElement = tinyMCE.selectedElement; - - // Is anchor not a link - if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "") - tinyMCE.linkElement = null; - - if (tinyMCE.linkElement) { - href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href'); - target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target'); - title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title'); - onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick'); - style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class'); - - // Try old onclick to if copy/pasted content - if (onclick == "") - onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick'); - - onclick = tinyMCE.cleanupEventStr(onclick); - - href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);"); - - // Use mce_href if defined - mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_href'); - if (mceRealHref != "") { - href = mceRealHref; - - if (tinyMCE.getParam('convert_urls')) - href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);"); - } - - action = "update"; - } - - var template = new Array(); - - template['file'] = 'link.htm'; - template['width'] = 310; - template['height'] = 200; - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0); - - if (inst.settings['insertlink_callback']) { - var returnVal = eval(inst.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);"); - if (returnVal && returnVal['href']) - TinyMCE_AdvancedTheme._insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']); - } else { - tinyMCE.openWindow(template, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class, inline : "yes"}); - } - - return true; - - case "mceImage": - var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = ""; - var title = "", onmouseover = "", onmouseout = "", action = "insert"; - var img = tinyMCE.imgElement; - var inst = tinyMCE.getInstanceById(editor_id); - - if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") { - img = tinyMCE.selectedElement; - tinyMCE.imgElement = img; - } - - if (img) { - // Is it a internal MCE visual aid image, then skip this one. - if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0) - return true; - - src = tinyMCE.getAttrib(img, 'src'); - alt = tinyMCE.getAttrib(img, 'alt'); - - // Try polling out the title - if (alt == "") - alt = tinyMCE.getAttrib(img, 'title'); - - // Fix width/height attributes if the styles is specified - if (tinyMCE.isGecko) { - var w = img.style.width; - if (w != null && w != "") - img.setAttribute("width", w); - - var h = img.style.height; - if (h != null && h != "") - img.setAttribute("height", h); - } - - border = tinyMCE.getAttrib(img, 'border'); - hspace = tinyMCE.getAttrib(img, 'hspace'); - vspace = tinyMCE.getAttrib(img, 'vspace'); - width = tinyMCE.getAttrib(img, 'width'); - height = tinyMCE.getAttrib(img, 'height'); - align = tinyMCE.getAttrib(img, 'align'); - onmouseover = tinyMCE.getAttrib(img, 'onmouseover'); - onmouseout = tinyMCE.getAttrib(img, 'onmouseout'); - title = tinyMCE.getAttrib(img, 'title'); - - // Is realy specified? - if (tinyMCE.isMSIE) { - width = img.attributes['width'].specified ? width : ""; - height = img.attributes['height'].specified ? height : ""; - } - - //onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover)); - //onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout)); - - src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);"); - - // Use mce_src if defined - mceRealSrc = tinyMCE.getAttrib(img, 'mce_src'); - if (mceRealSrc != "") { - src = mceRealSrc; - - if (tinyMCE.getParam('convert_urls')) - src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);"); - } - - //if (onmouseover != "") - // onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);"); - - //if (onmouseout != "") - // onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);"); - - action = "update"; - } - - var template = new Array(); - - template['file'] = 'image.htm?src={$src}'; - template['width'] = 355; - template['height'] = 265 + (tinyMCE.isMSIE ? 25 : 0); - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0); - - if (inst.settings['insertimage_callback']) { - var returnVal = eval(inst.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);"); - if (returnVal && returnVal['src']) - TinyMCE_AdvancedTheme._insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']); - } else - tinyMCE.openWindow(template, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action, inline : "yes"}); - - return true; - - case "mceForeColor": - var template = new Array(); - var elm = tinyMCE.selectedInstance.getFocusElement(); - var inputColor = tinyMCE.getAttrib(elm, "color"); - - if (inputColor == '') - inputColor = elm.style.color; - - if (!inputColor) - inputColor = "#000000"; - - template['file'] = 'color_picker.htm'; - template['width'] = 220; - template['height'] = 190; - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "forecolor", input_color : inputColor}); - return true; - - case "mceBackColor": - var template = new Array(); - var elm = tinyMCE.selectedInstance.getFocusElement(); - var inputColor = elm.style.backgroundColor; - - if (!inputColor) - inputColor = "#000000"; - - template['file'] = 'color_picker.htm'; - template['width'] = 220; - template['height'] = 190; - - template['width'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height', 0); - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "HiliteColor", input_color : inputColor}); - //mceBackColor - return true; - - case "mceColorPicker": - if (user_interface) { - var template = new Array(); - var inputColor = value['document'].getElementById(value['element_id']).value; - - template['file'] = 'color_picker.htm'; - template['width'] = 220; - template['height'] = 190; - template['close_previous'] = "no"; - - template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0); - - if (typeof(value['store_selection']) == "undefined") - value['store_selection'] = true; - - tinyMCE.lastColorPickerValue = value; - tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : inputColor}); - } else { - var savedVal = tinyMCE.lastColorPickerValue; - var elm = savedVal['document'].getElementById(savedVal['element_id']); - elm.value = value; - - if (elm.onchange != null && elm.onchange != '') - eval('elm.onchange();'); - } - return true; - - case "mceCodeEditor": - var template = new Array(); - - template['file'] = 'source_editor.htm'; - template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 720)); - template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 580)); - - tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"}); - return true; - - case "mceCharMap": - var template = new Array(); - - template['file'] = 'charmap.htm'; - template['width'] = 550 + (tinyMCE.isOpera ? 40 : 0); - template['height'] = 250; - - template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0); - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); - return true; - - case "mceInsertAnchor": - var template = new Array(); - - template['file'] = 'anchor.htm'; - template['width'] = 320; - template['height'] = 90 + (tinyMCE.isNS7 ? 30 : 0); - - template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0); - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); - return true; - - case "mceNewDocument": - if (confirm(tinyMCE.getLang('lang_newdocument'))) - tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, ' '); - - return true; - } - - return false; - }, - - /** - * Editor instance template function. - */ - getEditorTemplate : function(settings, editorId) { - function removeFromArray(in_array, remove_array) { - var outArray = new Array(); - - for (var i=0; i 

      '; - var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout"); - - // Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY! - var styleSelectHTML = ''; - if (settings['theme_advanced_styles']) { - var stylesAr = settings['theme_advanced_styles'].split(';'); - - for (var i=0; i' + key + ''; - } - - TinyMCE_AdvancedTheme._autoImportCSSClasses = false; - } - - switch(layoutManager) { - case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)... - var toolbarHTML = ""; - var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom"); - var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center"); - var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity - var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation); - var defVals = { - theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect", - theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code", - theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap" - }; - - // Add accessibility control - toolbarHTML += ' 0) { - toolbarHTML += "
      "; - deltaHeight -= 23; - } - } - - // Add accessibility control - toolbarHTML += '
      '; - - // Setup template html - template['html'] = ''; - - if (toolbarLocation == "top") { - template['html'] += ''; - } - - if (statusbarLocation == "top") { - template['html'] += ''; - deltaHeight -= 23; - } - - template['html'] += ''; - - if (toolbarLocation == "bottom") { - template['html'] += ''; - } - - // External toolbar changes - if (toolbarLocation == "external") { - var bod = document.body; - var elm = document.createElement ("div"); - - toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML); - toolbarHTML = tinyMCE.applyTemplate(toolbarHTML, {editor_id : editorId}); - - elm.className = "mceToolbarExternal"; - elm.id = editorId+"_toolbar"; - elm.innerHTML = '
      ' + toolbarHTML + '
      ' + statusbarHTML + '
      ' + toolbarHTML + '
      '+toolbarHTML+'
      '; - bod.appendChild (elm); - // bod.style.marginTop = elm.offsetHeight + "px"; - - deltaHeight = 0; - tinyMCE.getInstanceById(editorId).toolbarElement = elm; - - //template['html'] = '
      '+toolbarHTML+'
      ' + template["html"]; - } else { - tinyMCE.getInstanceById(editorId).toolbarElement = null; - } - - if (statusbarLocation == "bottom") { - template['html'] += '
    ' + statusbarHTML + '
    '; - //"SimpleLayout" - break; - - case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom. - template['html'] = ''; - - var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ","); - var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container"); - var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center"); - - //Render Containers: - for (var i = 0; i < containers.length; i++) - { - if (containers[i] == "mceEditor") //Exceptions for mceEditor and ... - { - template['html'] += ''; - } - else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath: - { - var pathClass = "mceStatusbar"; - - if (i == containers.length-1) - { - pathClass = "mceStatusbarBottom"; - } - else if (i == 0) - { - pathClass = "mceStatusbar"; - } - else - { - deltaHeight-=2; - } - - template['html'] += ''; - deltaHeight -= 22; - } else { // Render normal Container - var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ','); - var curContainerHTML = ""; - var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign); - var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS); - - for (var j=0; j 0) { - curContainerHTML += "
    "; - deltaHeight -= 23; - } - - template['html'] += '
    '; - } - } - - template['html'] += '
    \ - \ -
    ' + statusbarHTML + '
    ' + curContainerHTML + '
    '; - //RowLayout - break; - - case "CustomLayout" : //User defined layout callback... - var customLayout = tinyMCE.getParam("theme_advanced_custom_layout",""); - - if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") { - template = eval(customLayout + "(template);"); - } - break; - } - - if (resizing) - template['html'] += ''; - - template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML); - template['delta_width'] = 0; - template['delta_height'] = deltaHeight; - - return template; - }, - - initInstance : function(inst) { - if (tinyMCE.getParam("theme_advanced_resizing", false)) { - if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) { - var w = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_width"); - var h = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_height"); - - TinyMCE_AdvancedTheme._resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true)); - } - } - - inst.addShortcut('ctrl', 'k', 'lang_link_desc', 'mceLink'); - }, - - /** - * Node change handler. - */ - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection, setup_content) { - function selectByValue(select_elm, value, first_index) { - first_index = typeof(first_index) == "undefined" ? false : true; - - if (select_elm) { - for (var i=0; i=0; i--) { - var nodeName = path[i].nodeName.toLowerCase(); - var nodeData = ""; - - if (nodeName == "b") { - nodeName = "strong"; - } - - if (nodeName == "i") { - nodeName = "em"; - } - - if (nodeName == "span") { - var cn = tinyMCE.getAttrib(path[i], "class"); - if (cn != "" && cn.indexOf('mceItem') == -1) - nodeData += "class: " + cn + " "; - - var st = tinyMCE.getAttrib(path[i], "style"); - if (st != "") { - st = tinyMCE.serializeStyle(tinyMCE.parseStyle(st)); - nodeData += "style: " + st + " "; - } - } - - if (nodeName == "font") { - if (tinyMCE.getParam("convert_fonts_to_spans")) - nodeName = "span"; - - var face = tinyMCE.getAttrib(path[i], "face"); - if (face != "") - nodeData += "font: " + face + " "; - - var size = tinyMCE.getAttrib(path[i], "size"); - if (size != "") - nodeData += "size: " + size + " "; - - var color = tinyMCE.getAttrib(path[i], "color"); - if (color != "") - nodeData += "color: " + color + " "; - } - - if (getAttrib(path[i], 'id') != "") { - nodeData += "id: " + path[i].getAttribute('id') + " "; - } - - var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false); - if (className != "" && className.indexOf('mceItem') == -1) - nodeData += "class: " + className + " "; - - if (getAttrib(path[i], 'src') != "") { - var src = tinyMCE.getAttrib(path[i], "mce_src"); - - if (src == "") - src = tinyMCE.getAttrib(path[i], "src"); - - nodeData += "src: " + src + " "; - } - - if (getAttrib(path[i], 'href') != "") { - var href = tinyMCE.getAttrib(path[i], "mce_href"); - - if (href == "") - href = tinyMCE.getAttrib(path[i], "href"); - - nodeData += "href: " + href + " "; - } - - if (nodeName == "img" && tinyMCE.getAttrib(path[i], "class").indexOf('mceItemFlash') != -1) { - nodeName = "flash"; - nodeData = "src: " + path[i].getAttribute('title'); - } - - if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "") { - nodeName = "a"; - nodeName += "#" + anchor; - nodeData = ""; - } - - if (getAttrib(path[i], 'name').indexOf("mce_") != 0) { - var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false); - if (className != "" && className.indexOf('mceItem') == -1) { - nodeName += "." + className; - } - } - - var cmd = 'tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');'; - html += '' + nodeName + ''; - - if (i > 0) { - html += " » "; - } - } - - pathElm.innerHTML = '' + tinyMCE.getLang('lang_theme_path') + ": " + html + ' '; - } - - // Reset old states - tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_sub', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_sup', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_link', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_unlink', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_image', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_hr', 'mceButtonNormal'); - - if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1) - tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonSelected'); - - // Get link - var anchorLink = tinyMCE.getParentElement(node, "a", "href"); - - if (anchorLink || any_selection) { - tinyMCE.switchClass(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal'); - } - - // Handle visual aid - tinyMCE.switchClass(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal'); - - if (undo_levels != -1) { - tinyMCE.switchClass(editor_id + '_undo', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_redo', 'mceButtonDisabled'); - } - - // Within li, blockquote - if (tinyMCE.getParentElement(node, "li,blockquote")) - tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonNormal'); - - // Has redo levels - if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0)) - tinyMCE.switchClass(editor_id + '_redo', 'mceButtonNormal'); - - // Has undo levels - if (undo_index != -1 && (undo_index > 0 && undo_levels > 0)) - tinyMCE.switchClass(editor_id + '_undo', 'mceButtonNormal'); - - // Select class in select box - var selectElm = document.getElementById(editor_id + "_styleSelect"); - - if (selectElm) { - TinyMCE_AdvancedTheme._setupCSSClasses(editor_id); - - classNode = node; - breakOut = false; - var index = 0; - - do { - if (classNode && classNode.className) { - for (var i=0; i"); - else - selectByValue(selectElm, ""); - } - - // Select fontselect - var selectElm = document.getElementById(editor_id + "_fontNameSelect"); - if (selectElm) { - if (!tinyMCE.isSafari && !(tinyMCE.isMSIE && !tinyMCE.isOpera)) { - var face = inst.queryCommandValue('FontName'); - - face = face == null || face == "" ? "" : face; - - selectByValue(selectElm, face, face != ""); - } else { - var elm = tinyMCE.getParentElement(node, "font", "face"); - - if (elm) { - var family = tinyMCE.getAttrib(elm, "face"); - - if (family == '') - family = '' + elm.style.fontFamily; - - if (!selectByValue(selectElm, family, family != "")) - selectByValue(selectElm, ""); - } else - selectByValue(selectElm, ""); - } - } - - // Select fontsize - var selectElm = document.getElementById(editor_id + "_fontSizeSelect"); - if (selectElm) { - if (!tinyMCE.isSafari && !tinyMCE.isOpera) { - var size = inst.queryCommandValue('FontSize'); - selectByValue(selectElm, size == null || size == "" ? "0" : size); - } else { - var elm = tinyMCE.getParentElement(node, "font", "size"); - if (elm) { - var size = tinyMCE.getAttrib(elm, "size"); - - if (size == '') { - var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px'); - - size = '' + elm.style.fontSize; - - for (var i=0; i 0) - selectElm.setAttribute('cssImported', 'true'); - } - }, - - _setCookie : function(name, value, expires, path, domain, secure) { - var curCookie = name + "=" + escape(value) + - ((expires) ? "; expires=" + expires.toGMTString() : "") + - ((path) ? "; path=" + escape(path) : "") + - ((domain) ? "; domain=" + domain : "") + - ((secure) ? "; secure" : ""); - - document.cookie = curCookie; - }, - - _getCookie : function(name) { - var dc = document.cookie; - var prefix = name + "="; - var begin = dc.indexOf("; " + prefix); - - if (begin == -1) { - begin = dc.indexOf(prefix); - - if (begin != 0) - return null; - } else - begin += 2; - - var end = document.cookie.indexOf(";", begin); - - if (end == -1) - end = dc.length; - - return unescape(dc.substring(begin + prefix.length, end)); - }, - - _resizeTo : function(inst, w, h, set_w) { - var editorContainer = document.getElementById(inst.editorId + '_parent'); - var tableElm = editorContainer.firstChild; - var iframe = inst.iframeElement; - - if (w == null || w == "null") { - set_w = false; - w = 0; - } - - if (h == null || h == "null") - return; - - w = parseInt(w); - h = parseInt(h); - - if (tinyMCE.isGecko) { - w += 2; - h += 2; - } - - var dx = w - tableElm.clientWidth; - var dy = h - tableElm.clientHeight; - - w = w < 1 ? 30 : w; - h = h < 1 ? 30 : h; - - if (set_w) - tableElm.style.width = w + "px"; - - tableElm.style.height = h + "px"; - - iw = iframe.clientWidth + dx; - ih = iframe.clientHeight + dy; - - iw = iw < 1 ? 30 : iw; - ih = ih < 1 ? 30 : ih; - - if (tinyMCE.isGecko) { - iw -= 2; - ih -= 2; - } - - if (set_w) - iframe.style.width = iw + "px"; - - iframe.style.height = ih + "px"; - - // Is it to small, make it bigger again - if (set_w) { - var tableBodyElm = tableElm.firstChild; - var minIframeWidth = tableBodyElm.scrollWidth; - if (inst.iframeElement.clientWidth < minIframeWidth) { - dx = minIframeWidth - inst.iframeElement.clientWidth; - - inst.iframeElement.style.width = (iw + dx) + "px"; - } - } - }, - - /** - * Handles resizing events. - */ - _resizeEventHandler : function(e) { - var resizer = TinyMCE_AdvancedTheme._resizer; - - // Do nothing - if (!resizer.resizing) - return; - - e = typeof(e) == "undefined" ? window.event : e; - - var dx = e.screenX - resizer.downX; - var dy = e.screenY - resizer.downY; - var resizeBox = resizer.resizeBox; - var editorId = resizer.editorId; - - switch (e.type) { - case "mousemove": - var w, h; - - w = resizer.width + dx; - h = resizer.height + dy; - - w = w < 1 ? 1 : w; - h = h < 1 ? 1 : h; - - if (resizer.horizontal) - resizeBox.style.width = w + "px"; - - resizeBox.style.height = h + "px"; - break; - - case "mouseup": - TinyMCE_AdvancedTheme._setResizing(e, editorId, false); - TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal); - - // Expire in a month - if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) { - var expires = new Date(); - expires.setTime(expires.getTime() + 3600000 * 24 * 30); - - // Set the cookies - TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires); - TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires); - } - break; - } - }, - - /** - * Starts/stops the editor resizing. - */ - _setResizing : function(e, editor_id, state) { - e = typeof(e) == "undefined" ? window.event : e; - - var resizer = TinyMCE_AdvancedTheme._resizer; - var editorContainer = document.getElementById(editor_id + '_parent'); - var editorArea = document.getElementById(editor_id + '_parent').firstChild; - var resizeBox = document.getElementById(editor_id + '_resize_box'); - var inst = tinyMCE.getInstanceById(editor_id); - - if (state) { - // Place box over editor area - var width = editorArea.clientWidth; - var height = editorArea.clientHeight; - - resizeBox.style.width = width + "px"; - resizeBox.style.height = height + "px"; - - resizer.iframeWidth = inst.iframeElement.clientWidth; - resizer.iframeHeight = inst.iframeElement.clientHeight; - - // Hide editor and show resize box - editorArea.style.display = "none"; - resizeBox.style.display = "block"; - - // Add event handlers, only once - if (!resizer.eventHandlers) { - if (tinyMCE.isMSIE) - tinyMCE.addEvent(document, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler); - else - tinyMCE.addEvent(window, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler); - - tinyMCE.addEvent(document, "mouseup", TinyMCE_AdvancedTheme._resizeEventHandler); - - resizer.eventHandlers = true; - } - - resizer.resizing = true; - resizer.downX = e.screenX; - resizer.downY = e.screenY; - resizer.width = parseInt(resizeBox.style.width); - resizer.height = parseInt(resizeBox.style.height); - resizer.editorId = editor_id; - resizer.resizeBox = resizeBox; - resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true); - } else { - resizer.resizing = false; - resizeBox.style.display = "none"; - editorArea.style.display = tinyMCE.isMSIE && !tinyMCE.isOpera ? "block" : "table"; - tinyMCE.execCommand('mceResetDesignMode'); - } - }, - - _insertImage : function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) { - tinyMCE.execCommand('mceBeginUndoLevel'); - - if (src == "") - return; - - if (!tinyMCE.imgElement && tinyMCE.isSafari) { - var html = ""; - - html += '' + alt + ''; - - tinyMCE.execCommand("mceInsertContent", false, html); - } else { - if (!tinyMCE.imgElement && tinyMCE.selectedInstance) { - if (tinyMCE.isSafari) - tinyMCE.execCommand("mceInsertContent", false, ''); - else - tinyMCE.selectedInstance.contentDocument.execCommand("insertimage", false, tinyMCE.uniqueURL); - - tinyMCE.imgElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "img", "src", tinyMCE.uniqueURL); - } - } - - if (tinyMCE.imgElement) { - var needsRepaint = false; - var msrc = src; - - src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);"); - - if (tinyMCE.getParam('convert_urls')) - msrc = src; - - if (onmouseover && onmouseover != "") - onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';"; - - if (onmouseout && onmouseout != "") - onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';"; - - // Use alt as title if it's undefined - if (typeof(title) == "undefined") - title = alt; - - if (width != tinyMCE.imgElement.getAttribute("width") || height != tinyMCE.imgElement.getAttribute("height") || align != tinyMCE.imgElement.getAttribute("align")) - needsRepaint = true; - - tinyMCE.setAttrib(tinyMCE.imgElement, 'src', src); - tinyMCE.setAttrib(tinyMCE.imgElement, 'mce_src', msrc); - tinyMCE.setAttrib(tinyMCE.imgElement, 'alt', alt); - tinyMCE.setAttrib(tinyMCE.imgElement, 'title', title); - tinyMCE.setAttrib(tinyMCE.imgElement, 'align', align); - tinyMCE.setAttrib(tinyMCE.imgElement, 'border', border, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'hspace', hspace, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'vspace', vspace, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'width', width, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'height', height, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseover', onmouseover); - tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseout', onmouseout); - - // Fix for bug #989846 - Image resize bug - if (width && width != "") - tinyMCE.imgElement.style.pixelWidth = width; - - if (height && height != "") - tinyMCE.imgElement.style.pixelHeight = height; - - if (needsRepaint) - tinyMCE.selectedInstance.repaint(); - } - - tinyMCE.execCommand('mceEndUndoLevel'); - }, - - _insertLink : function(href, target, title, onclick, style_class) { - tinyMCE.execCommand('mceBeginUndoLevel'); - - if (tinyMCE.selectedInstance && tinyMCE.selectedElement && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") { - var doc = tinyMCE.selectedInstance.getDoc(); - var linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a"); - var newLink = false; - - if (!linkElement) { - linkElement = doc.createElement("a"); - newLink = true; - } - - var mhref = href; - var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);"); - mhref = tinyMCE.getParam('convert_urls') ? href : mhref; - - tinyMCE.setAttrib(linkElement, 'href', thref); - tinyMCE.setAttrib(linkElement, 'mce_href', mhref); - tinyMCE.setAttrib(linkElement, 'target', target); - tinyMCE.setAttrib(linkElement, 'title', title); - tinyMCE.setAttrib(linkElement, 'onclick', onclick); - tinyMCE.setAttrib(linkElement, 'class', style_class); - - if (newLink) { - linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true)); - tinyMCE.selectedElement.parentNode.replaceChild(linkElement, tinyMCE.selectedElement); - } - - return; - } - - if (!tinyMCE.linkElement && tinyMCE.selectedInstance) { - if (tinyMCE.isSafari) { - tinyMCE.execCommand("mceInsertContent", false, '' + tinyMCE.selectedInstance.selection.getSelectedHTML() + ''); - } else - tinyMCE.selectedInstance.contentDocument.execCommand("createlink", false, tinyMCE.uniqueURL); - - tinyMCE.linkElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL); - - var elementArray = tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL); - - for (var i=0; i - - {$lang_insert_image_title} - - - - - - - -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
     
    - x -
    -
    -
    - -
    -
    - -
    - -
    - -
    -
    -
    - - Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/anchor.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/anchor.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/browse.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/browse.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bullist.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/bullist.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/buttons.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/buttons.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/charmap.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/charmap.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/close.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/close.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/code.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/code.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/color.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/color.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/copy.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/copy.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cut.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/cut.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/help.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/help.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/hr.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/hr.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/image.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/image.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/indent.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/indent.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/link.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/link.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/numlist.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/numlist.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/opacity.png and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/opacity.png differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/outdent.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/outdent.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/paste.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/paste.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/redo.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/redo.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/separator.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/separator.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/spacer.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/spacer.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/sub.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/sub.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/sup.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/sup.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/undo.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/undo.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/unlink.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/unlink.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/about.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/about.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/about.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/about.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,75 +0,0 @@ -function init() { - var inst; - - tinyMCEPopup.resizeToInnerSize(); - inst = tinyMCE.selectedInstance; - - // Give FF some time - window.setTimeout('insertHelpIFrame();', 10); - - var tcont = document.getElementById('plugintablecontainer'); - var plugins = tinyMCE.getParam('plugins', '', true, ','); - if (plugins.length == 0) - document.getElementById('plugins_tab').style.display = 'none'; - - var html = ""; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - - for (var i=0; i' + info.longname + ''; - else - html += ''; - - if (info.authorurl != null && info.authorurl != '') - html += ''; - else - html += ''; - - html += ''; - html += ''; - } - - html += ''; - html += '
    ' + tinyMCE.getLang('lang_plugin') + '' + tinyMCE.getLang('lang_author') + '' + tinyMCE.getLang('lang_version') + '
    ' + info.longname + '' + info.author + '' + info.author + '' + info.version + '
    '; - - tcont.innerHTML = html; -} - -function getPluginInfo(name) { - if (tinyMCE.plugins[name].getInfo) - return tinyMCE.plugins[name].getInfo(); - - return { - longname : name, - authorurl : '', - infourl : '', - author : '--', - version : '--' - }; -} - -function insertHelpIFrame() { - var html = ''; - - document.getElementById('iframecontainer').innerHTML = html; - - html = ''; - html += 'Got Moxie? '; - html += 'Hosted By Sourceforge '; - html += 'Also on freshmeat '; - - document.getElementById('buttoncontainer').innerHTML = html; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,74 +0,0 @@ -var action, element; - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name"); - var img = inst.getFocusElement(); - action = 'insert'; - - if (anchor != null) { - element = anchor; - action = "update"; - } - - if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") { - element = img; - action = "update"; - } - - if (action == "update") - document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name"); - - document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); -} - -function insertAnchor() { - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var name = document.forms[0].anchorName.value, e; - - tinyMCEPopup.execCommand("mceBeginUndoLevel"); - - if (action == "update") { - if (element.nodeName == "IMG") - element.setAttribute("title", name); - else - element.setAttribute("name", name); - } else { - var rng = inst.getRng(); - - if (rng.collapse) - rng.collapse(false); - - name = name.replace(/&/g, '&'); - name = name.replace(/\"/g, '"'); - name = name.replace(//g, '>'); - - // Fix for bug #1447335 - if (tinyMCE.isGecko) - html = ''; - else - html = ''; - - tinyMCEPopup.execCommand("mceInsertContent", false, html); - - // Fix for bug #1447335 force cursor after the anchor element - if (tinyMCE.isGecko) { - e = inst.getDoc().getElementById('mceNewAnchor'); - - if (e) { - inst.selection.selectNode(e, true, false, false); - e.removeAttribute('id'); - } - } - - tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); - } - - tinyMCEPopup.execCommand("mceEndUndoLevel"); - - tinyMCE.triggerNodeChange(); - tinyMCEPopup.close(); -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,326 +0,0 @@ -function init() { - tinyMCEPopup.resizeToInnerSize(); -} - -var charmap = new Array(); - -// for mor details please see w3c.org -// now here is the complete list ;) - -charmap = [ - [' ', ' ', true, 'no-break space'], - ['&', '&', true, 'ampersand'], - ['"', '"', true, 'quotation mark'], -// finance - ['¢', '¢', true, 'cent sign'], - ['€', '€', true, 'euro sign'], - ['£', '£', true, 'pound sign'], - ['¥', '¥', true, 'yen sign'], -// signs - ['©', '©', true, 'copyright sign'], - ['®', '®', true, 'registered sign'], - ['™', '™', true, 'trade mark sign'], - ['‰', '‰', true, 'per mille sign'], - ['µ', 'µ', true, 'micro sign'], - ['·', '·', true, 'middle dot'], - ['•', '•', true, 'bullet'], - ['…', '…', true, 'three dot leader'], - ['′', '′', true, 'minutes / feet'], - ['″', '″', true, 'seconds / inches'], - ['§', '§', true, 'section sign'], - ['¶', '¶', true, 'paragraph sign'], - ['ß', 'ß', true, 'sharp s / ess-zed'], -// quotations - ['‹', '‹', true, 'single left-pointing angle quotation mark'], - ['›', '›', true, 'single right-pointing angle quotation mark'], - ['«', '«', true, 'left pointing guillemet'], - ['»', '»', true, 'right pointing guillemet'], - ['‘', '‘', true, 'left single quotation mark'], - ['’', '’', true, 'right single quotation mark'], - ['“', '“', true, 'left double quotation mark'], - ['”', '”', true, 'right double quotation mark'], - ['‚', '‚', true, 'single low-9 quotation mark'], - ['„', '„', true, 'double low-9 quotation mark'], - ['<', '<', true, 'less-than sign'], - ['>', '>', true, 'greater-than sign'], - ['≤', '≤', true, 'less-than or equal to'], - ['≥', '≥', true, 'greater-than or equal to'], - ['–', '–', true, 'en dash'], - ['—', '—', true, 'em dash'], - ['¯', '¯', true, 'macron'], - ['‾', '‾', true, 'overline'], - ['¤', '¤', true, 'currency sign'], - ['¦', '¦', true, 'broken bar'], - ['¨', '¨', true, 'diaeresis'], - ['¡', '¡', true, 'inverted exclamation mark'], - ['¿', '¿', true, 'turned question mark'], - ['ˆ', 'ˆ', true, 'circumflex accent'], - ['˜', '˜', true, 'small tilde'], - ['°', '°', true, 'degree sign'], - ['−', '−', true, 'minus sign'], - ['±', '±', true, 'plus-minus sign'], - ['÷', '÷', true, 'division sign'], - ['⁄', '⁄', true, 'fraction slash'], - ['×', '×', true, 'multiplication sign'], - ['¹', '¹', true, 'superscript one'], - ['²', '²', true, 'superscript two'], - ['³', '³', true, 'superscript three'], - ['¼', '¼', true, 'fraction one quarter'], - ['½', '½', true, 'fraction one half'], - ['¾', '¾', true, 'fraction three quarters'], -// math / logical - ['ƒ', 'ƒ', true, 'function / florin'], - ['∫', '∫', true, 'integral'], - ['∑', '∑', true, 'n-ary sumation'], - ['∞', '∞', true, 'infinity'], - ['√', '√', true, 'square root'], - ['∼', '∼', false,'similar to'], - ['≅', '≅', false,'approximately equal to'], - ['≈', '≈', true, 'almost equal to'], - ['≠', '≠', true, 'not equal to'], - ['≡', '≡', true, 'identical to'], - ['∈', '∈', false,'element of'], - ['∉', '∉', false,'not an element of'], - ['∋', '∋', false,'contains as member'], - ['∏', '∏', true, 'n-ary product'], - ['∧', '∧', false,'logical and'], - ['∨', '∨', false,'logical or'], - ['¬', '¬', true, 'not sign'], - ['∩', '∩', true, 'intersection'], - ['∪', '∪', false,'union'], - ['∂', '∂', true, 'partial differential'], - ['∀', '∀', false,'for all'], - ['∃', '∃', false,'there exists'], - ['∅', '∅', false,'diameter'], - ['∇', '∇', false,'backward difference'], - ['∗', '∗', false,'asterisk operator'], - ['∝', '∝', false,'proportional to'], - ['∠', '∠', false,'angle'], -// undefined - ['´', '´', true, 'acute accent'], - ['¸', '¸', true, 'cedilla'], - ['ª', 'ª', true, 'feminine ordinal indicator'], - ['º', 'º', true, 'masculine ordinal indicator'], - ['†', '†', true, 'dagger'], - ['‡', '‡', true, 'double dagger'], -// alphabetical special chars - ['À', 'À', true, 'A - grave'], - ['Á', 'Á', true, 'A - acute'], - ['Â', 'Â', true, 'A - circumflex'], - ['Ã', 'Ã', true, 'A - tilde'], - ['Ä', 'Ä', true, 'A - diaeresis'], - ['Å', 'Å', true, 'A - ring above'], - ['Æ', 'Æ', true, 'ligature AE'], - ['Ç', 'Ç', true, 'C - cedilla'], - ['È', 'È', true, 'E - grave'], - ['É', 'É', true, 'E - acute'], - ['Ê', 'Ê', true, 'E - circumflex'], - ['Ë', 'Ë', true, 'E - diaeresis'], - ['Ì', 'Ì', true, 'I - grave'], - ['Í', 'Í', true, 'I - acute'], - ['Î', 'Î', true, 'I - circumflex'], - ['Ï', 'Ï', true, 'I - diaeresis'], - ['Ð', 'Ð', true, 'ETH'], - ['Ñ', 'Ñ', true, 'N - tilde'], - ['Ò', 'Ò', true, 'O - grave'], - ['Ó', 'Ó', true, 'O - acute'], - ['Ô', 'Ô', true, 'O - circumflex'], - ['Õ', 'Õ', true, 'O - tilde'], - ['Ö', 'Ö', true, 'O - diaeresis'], - ['Ø', 'Ø', true, 'O - slash'], - ['Œ', 'Œ', true, 'ligature OE'], - ['Š', 'Š', true, 'S - caron'], - ['Ù', 'Ù', true, 'U - grave'], - ['Ú', 'Ú', true, 'U - acute'], - ['Û', 'Û', true, 'U - circumflex'], - ['Ü', 'Ü', true, 'U - diaeresis'], - ['Ý', 'Ý', true, 'Y - acute'], - ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], - ['Þ', 'Þ', true, 'THORN'], - ['à', 'à', true, 'a - grave'], - ['á', 'á', true, 'a - acute'], - ['â', 'â', true, 'a - circumflex'], - ['ã', 'ã', true, 'a - tilde'], - ['ä', 'ä', true, 'a - diaeresis'], - ['å', 'å', true, 'a - ring above'], - ['æ', 'æ', true, 'ligature ae'], - ['ç', 'ç', true, 'c - cedilla'], - ['è', 'è', true, 'e - grave'], - ['é', 'é', true, 'e - acute'], - ['ê', 'ê', true, 'e - circumflex'], - ['ë', 'ë', true, 'e - diaeresis'], - ['ì', 'ì', true, 'i - grave'], - ['í', 'í', true, 'i - acute'], - ['î', 'î', true, 'i - circumflex'], - ['ï', 'ï', true, 'i - diaeresis'], - ['ð', 'ð', true, 'eth'], - ['ñ', 'ñ', true, 'n - tilde'], - ['ò', 'ò', true, 'o - grave'], - ['ó', 'ó', true, 'o - acute'], - ['ô', 'ô', true, 'o - circumflex'], - ['õ', 'õ', true, 'o - tilde'], - ['ö', 'ö', true, 'o - diaeresis'], - ['ø', 'ø', true, 'o slash'], - ['œ', 'œ', true, 'ligature oe'], - ['š', 'š', true, 's - caron'], - ['ù', 'ù', true, 'u - grave'], - ['ú', 'ú', true, 'u - acute'], - ['û', 'û', true, 'u - circumflex'], - ['ü', 'ü', true, 'u - diaeresis'], - ['ý', 'ý', true, 'y - acute'], - ['þ', 'þ', true, 'thorn'], - ['ÿ', 'ÿ', true, 'y - diaeresis'], - ['Α', 'Α', true, 'Alpha'], - ['Β', 'Β', true, 'Beta'], - ['Γ', 'Γ', true, 'Gamma'], - ['Δ', 'Δ', true, 'Delta'], - ['Ε', 'Ε', true, 'Epsilon'], - ['Ζ', 'Ζ', true, 'Zeta'], - ['Η', 'Η', true, 'Eta'], - ['Θ', 'Θ', true, 'Theta'], - ['Ι', 'Ι', true, 'Iota'], - ['Κ', 'Κ', true, 'Kappa'], - ['Λ', 'Λ', true, 'Lambda'], - ['Μ', 'Μ', true, 'Mu'], - ['Ν', 'Ν', true, 'Nu'], - ['Ξ', 'Ξ', true, 'Xi'], - ['Ο', 'Ο', true, 'Omicron'], - ['Π', 'Π', true, 'Pi'], - ['Ρ', 'Ρ', true, 'Rho'], - ['Σ', 'Σ', true, 'Sigma'], - ['Τ', 'Τ', true, 'Tau'], - ['Υ', 'Υ', true, 'Upsilon'], - ['Φ', 'Φ', true, 'Phi'], - ['Χ', 'Χ', true, 'Chi'], - ['Ψ', 'Ψ', true, 'Psi'], - ['Ω', 'Ω', true, 'Omega'], - ['α', 'α', true, 'alpha'], - ['β', 'β', true, 'beta'], - ['γ', 'γ', true, 'gamma'], - ['δ', 'δ', true, 'delta'], - ['ε', 'ε', true, 'epsilon'], - ['ζ', 'ζ', true, 'zeta'], - ['η', 'η', true, 'eta'], - ['θ', 'θ', true, 'theta'], - ['ι', 'ι', true, 'iota'], - ['κ', 'κ', true, 'kappa'], - ['λ', 'λ', true, 'lambda'], - ['μ', 'μ', true, 'mu'], - ['ν', 'ν', true, 'nu'], - ['ξ', 'ξ', true, 'xi'], - ['ο', 'ο', true, 'omicron'], - ['π', 'π', true, 'pi'], - ['ρ', 'ρ', true, 'rho'], - ['ς', 'ς', true, 'final sigma'], - ['σ', 'σ', true, 'sigma'], - ['τ', 'τ', true, 'tau'], - ['υ', 'υ', true, 'upsilon'], - ['φ', 'φ', true, 'phi'], - ['χ', 'χ', true, 'chi'], - ['ψ', 'ψ', true, 'psi'], - ['ω', 'ω', true, 'omega'], -// symbols - ['ℵ', 'ℵ', false,'alef symbol'], - ['ϖ', 'ϖ', false,'pi symbol'], - ['ℜ', 'ℜ', false,'real part symbol'], - ['ϑ','ϑ', false,'theta symbol'], - ['ϒ', 'ϒ', false,'upsilon - hook symbol'], - ['℘', '℘', false,'Weierstrass p'], - ['ℑ', 'ℑ', false,'imaginary part'], -// arrows - ['←', '←', true, 'leftwards arrow'], - ['↑', '↑', true, 'upwards arrow'], - ['→', '→', true, 'rightwards arrow'], - ['↓', '↓', true, 'downwards arrow'], - ['↔', '↔', true, 'left right arrow'], - ['↵', '↵', false,'carriage return'], - ['⇐', '⇐', false,'leftwards double arrow'], - ['⇑', '⇑', false,'upwards double arrow'], - ['⇒', '⇒', false,'rightwards double arrow'], - ['⇓', '⇓', false,'downwards double arrow'], - ['⇔', '⇔', false,'left right double arrow'], - ['∴', '∴', false,'therefore'], - ['⊂', '⊂', false,'subset of'], - ['⊃', '⊃', false,'superset of'], - ['⊄', '⊄', false,'not a subset of'], - ['⊆', '⊆', false,'subset of or equal to'], - ['⊇', '⊇', false,'superset of or equal to'], - ['⊕', '⊕', false,'circled plus'], - ['⊗', '⊗', false,'circled times'], - ['⊥', '⊥', false,'perpendicular'], - ['⋅', '⋅', false,'dot operator'], - ['⌈', '⌈', false,'left ceiling'], - ['⌉', '⌉', false,'right ceiling'], - ['⌊', '⌊', false,'left floor'], - ['⌋', '⌋', false,'right floor'], - ['⟨', '〈', false,'left-pointing angle bracket'], - ['⟩', '〉', false,'right-pointing angle bracket'], - ['◊', '◊', true,'lozenge'], - ['♠', '♠', false,'black spade suit'], - ['♣', '♣', true, 'black club suit'], - ['♥', '♥', true, 'black heart suit'], - ['♦', '♦', true, 'black diamond suit'], - [' ', ' ', false,'en space'], - [' ', ' ', false,'em space'], - [' ', ' ', false,'thin space'], - ['‌', '‌', false,'zero width non-joiner'], - ['‍', '‍', false,'zero width joiner'], - ['‎', '‎', false,'left-to-right mark'], - ['‏', '‏', false,'right-to-left mark'], - ['­', '­', false,'soft hyphen'] -]; - -function renderCharMapHTML() { - var charsPerRow = 20, tdWidth=20, tdHeight=20; - var html = ''; - var cols=-1; - for (var i=0; i' - + charmap[i][1] - + ''; - if ((cols+1) % charsPerRow == 0) - html += ''; - } - } - if (cols % charsPerRow > 0) { - var padd = charsPerRow - (cols % charsPerRow); - for (var i=0; i '; - } - html += '
    '; - document.write(html); -} - -function insertChar(chr) { - tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); - - // Refocus in window - if (tinyMCEPopup.isWindow) - window.focus(); - - tinyMCEPopup.close(); -} - -function previewChar(codeA, codeB, codeN) { - var elmA = document.getElementById('codeA'); - var elmB = document.getElementById('codeB'); - var elmV = document.getElementById('codeV'); - var elmN = document.getElementById('codeN'); - - if (codeA=='#160;') { - elmV.innerHTML = '__'; - } else { - elmV.innerHTML = '&' + codeA; - } - - elmB.innerHTML = '&' + codeA; - elmA.innerHTML = '&' + codeB; - elmN.innerHTML = codeN; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,108 +0,0 @@ -function init() { - if (tinyMCE.isMSIE) - tinyMCEPopup.resizeToInnerSize(); -} - -function selectColor() { - var color = document.getElementById("selectedColorBox").value; - - tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color); - tinyMCEPopup.close(); -} - -function showColor(color) { - document.getElementById("selectedColor").style.backgroundColor = color; - document.getElementById("selectedColorBox").value = color; -} - -var colors = new Array( - "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", - "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099", - "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff", - "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033", - "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399", - "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff", - "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333", - "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399", - "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff", - "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633", - "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699", - "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff", - "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633", - "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999", - "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff", - "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933", - "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999", - "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff", - "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33", - "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99", - "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff", - "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33", - "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99", - "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff", - "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33", - "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99", - "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff" -); - -function convertRGBToHex(col) { - var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); - - var rgb = col.replace(re, "$1,$2,$3").split(','); - if (rgb.length == 3) { - r = parseInt(rgb[0]).toString(16); - g = parseInt(rgb[1]).toString(16); - b = parseInt(rgb[2]).toString(16); - - r = r.length == 1 ? '0' + r : r; - g = g.length == 1 ? '0' + g : g; - b = b.length == 1 ? '0' + b : b; - - return "#" + r + g + b; - } - - return col; -} - -function convertHexToRGB(col) { - if (col.indexOf('#') != -1) { - col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); - - r = parseInt(col.substring(0, 2), 16); - g = parseInt(col.substring(2, 4), 16); - b = parseInt(col.substring(4, 6), 16); - - return "rgb(" + r + "," + g + "," + b + ")"; - } - - return col; -} - -function renderColorMap() { - var html = ""; - var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color')); - - html += '' - + ''; - for (var i=0; i' - + '' - + '' + colors[i] +  ''; - if ((i+1) % 18 == 0) - html += ''; - } - html += '' - + '
    ' - + '' - + '' - + '
    ' - + '' - + '' - + '' - + '
    ' - + '
    ' - + '
    ' - + '
    '; - - document.write(html); -} \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/image.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/image.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/image.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/jscripts/image.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,81 +0,0 @@ -var url = tinyMCE.getParam("external_image_list_url"); -if (url != null) { - // Fix relative - if (url.charAt(0) != '/' && url.indexOf('://') == -1) - url = tinyMCE.documentBasePath + "/" + url; - - document.write(''); -} - -function insertImage() { - var src = document.forms[0].src.value; - var alt = document.forms[0].alt.value; - var border = document.forms[0].border.value; - var vspace = document.forms[0].vspace.value; - var hspace = document.forms[0].hspace.value; - var width = document.forms[0].width.value; - var height = document.forms[0].height.value; - var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value; - - tinyMCEPopup.restoreSelection(); - tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align); - tinyMCEPopup.close(); -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); - - var formObj = document.forms[0]; - - for (var i=0; i 0) { - for (var i=0; i'); -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link'); - - // Handle file browser - if (isVisible('hrefbrowser')) - document.getElementById('href').style.width = '180px'; - - var formObj = document.forms[0]; - - for (var i=0; i 0) { - var formObj = document.forms[0]; - - for (var i=0; i', 'gi'),'\n'); - html = tinyMCE.regexpReplace(html, '
    ','
    \n','gi'); - html = tinyMCE.regexpReplace(html, '\n\n','\n','gi');*/ - return html; -} - -function onLoadInit() { - tinyMCEPopup.resizeToInnerSize(); - - document.forms[0].htmlSource.value = fixContent(tinyMCE.getContent(tinyMCE.getWindowArg('editor_id'))); - resizeInputs(); -} - -function setWrap(val) { - var s = document.forms[0].htmlSource; - - s.wrap = val; - - if (tinyMCE.isGecko) { - var v = s.value; - var n = s.cloneNode(false); - n.setAttribute("wrap", val); - s.parentNode.replaceChild(n, s); - n.value = v; - } -} - -function toggleWordWrap(elm) { - if (elm.checked) - setWrap('soft'); - else - setWrap('off'); -} - -var wHeight=0, wWidth=0, owHeight=0, owWidth=0; - -function resizeInputs() { - if (!tinyMCE.isMSIE) { - wHeight = self.innerHeight-80; - wWidth = self.innerWidth-16; - } else { - wHeight = document.body.clientHeight - 80; - wWidth = document.body.clientWidth - 16; - } - - document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px'; - document.forms[0].htmlSource.style.width = Math.abs(wWidth) + 'px'; -} - -function renderWordWrap() { - if (tinyMCE.isMSIE || tinyMCE.isGecko) - document.write(''); -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,76 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -theme_style_select : '-- Styles --', -theme_code_desc : 'Edit HTML Source', -theme_code_title : 'HTML Source Editor', -theme_code_wordwrap : 'Word wrap', -theme_sub_desc : 'Subscript', -theme_sup_desc : 'Superscript', -theme_hr_desc : 'Insert horizontal ruler', -theme_removeformat_desc : 'Remove formatting', -theme_custom1_desc : 'Your custom description here', -insert_image_border : 'Border', -insert_image_dimensions : 'Dimensions', -insert_image_vspace : 'Vertical space', -insert_image_hspace : 'Horizontal space', -insert_image_align : 'Alignment', -insert_image_align_default : '-- Not set --', -insert_image_align_baseline : 'Baseline', -insert_image_align_top : 'Top', -insert_image_align_middle : 'Middle', -insert_image_align_bottom : 'Bottom', -insert_image_align_texttop : 'TextTop', -insert_image_align_absmiddle : 'Absolute Middle', -insert_image_align_absbottom : 'Absolute Bottom', -insert_image_align_left : 'Left', -insert_image_align_right : 'Right', -theme_font_size : '-- Font size --', -theme_fontdefault : '-- Font family --', -theme_block : '-- Format --', -theme_paragraph : 'Paragraph', -theme_div : 'Div', -theme_address : 'Address', -theme_pre : 'Preformatted', -theme_h1 : 'Heading 1', -theme_h2 : 'Heading 2', -theme_h3 : 'Heading 3', -theme_h4 : 'Heading 4', -theme_h5 : 'Heading 5', -theme_h6 : 'Heading 6', -theme_colorpicker_title : 'Select a color', -theme_colorpicker_apply : 'Apply', -theme_forecolor_desc : 'Select text color', -theme_backcolor_desc : 'Select background color', -theme_charmap_title : 'Select custom character', -theme_charmap_desc : 'Insert custom character', -theme_visualaid_desc : 'Toggle guidelines/invisible elements', -insert_anchor_title : 'Insert/edit anchor', -insert_anchor_name : 'Anchor name', -theme_anchor_desc : 'Insert/edit anchor', -theme_insert_link_titlefield : 'Title', -theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?', -theme_path : 'Path', -cut_desc : 'Cut', -copy_desc : 'Copy', -paste_desc : 'Paste', -link_list : 'Link list', -image_list : 'Image list', -browse : 'Browse', -image_props_desc : 'Image properties', -newdocument_desc : 'New document', -class_name : 'Class', -newdocument : 'Are you sure you want clear all contents?', -about_title : 'About TinyMCE', -about : 'About', -license : 'License', -plugins : 'Plugins', -plugin : 'Plugin', -author : 'Author', -version : 'Version', -loaded_plugins : 'Loaded plugins', -help : 'Help', -not_set : '-- Not set --', -close : 'Close', -toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X' -}); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/link.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/link.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/link.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/link.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,100 +0,0 @@ - - - {$lang_insert_link_title} - - - - - - - -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
     
    -
    -
    -
    - -
    -
    - -
    - -
    - -
    -
    -
    - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm 1969-12-31 18:00:00.000000000 -0600 @@ -1,30 +0,0 @@ - - - - {$lang_theme_code_title} - - - - - -
    -
    {$lang_theme_code_title}
    - -
    - -
    - - - -
    -
    - -
    - -
    - -
    -
    -
    - - diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_content.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_content.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_content.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_content.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,25 +0,0 @@ -body, td, pre { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -body { - background-color: #FFFFFF; -} - -.mceVisualAid { - border: 1px dashed #BBBBBB; -} - -/* MSIE specific */ - -* html body { - scrollbar-3dlight-color: #F0F0EE; - scrollbar-arrow-color: #676662; - scrollbar-base-color: #F0F0EE; - scrollbar-darkshadow-color: #DDDDDD; - scrollbar-face-color: #E0E0DD; - scrollbar-highlight-color: #F0F0EE; - scrollbar-shadow-color: #F0F0EE; - scrollbar-track-color: #F5F5F5; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_popup.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_popup.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_popup.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_popup.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,41 +0,0 @@ -body { - background-color: #F0F0EE; - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; - scrollbar-3dlight-color: #F0F0EE; - scrollbar-arrow-color: #676662; - scrollbar-base-color: #F0F0EE; - scrollbar-darkshadow-color: #DDDDDD; - scrollbar-face-color: #E0E0DD; - scrollbar-highlight-color: #F0F0EE; - scrollbar-shadow-color: #F0F0EE; - scrollbar-track-color: #F5F5F5; -} - -td { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; -} - -input { - background: #FFFFFF; - border: 1px solid #cccccc; -} - -td, input, select, textarea { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -input, select, textarea { - border: 1px solid #808080; -} - -.input_noborder { - border: 0; -} - -.title { - font-size: 12px; - font-weight: bold; -} \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_ui.css 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_ui.css --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_ui.css 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/css/editor_ui.css 1969-12-31 18:00:00.000000000 -0600 @@ -1,121 +0,0 @@ -.mceSeparatorLine { - border: 0; - padding: 0; - margin-left: 4px; - margin-right: 2px; -} - -.mceSelectList { - font-family: "MS Sans Serif"; - font-size: 7pt; - font-weight: normal; - margin-top: 2px; -} - -.mceLabel, .mceLabelDisabled { - font-family: "MS Sans Serif"; - font-size: 9pt; -} - -.mceLabel { - color: #000000; -} - -.mceLabelDisabled { - cursor: text; - color: #999999; -} - -.mceEditor { - background: #F0F0EE; - border: 1px solid #cccccc; -} - -.mceEditorArea { - font-family: "MS Sans Serif"; - background: #FFFFFF; -} - -.mceToolbar { - background: #F0F0EE; - border-top: 1px solid #cccccc; - line-height: 1px; - font-size: 1px; - padding-bottom: 1px; -} - -/* Button CSS rules */ - -a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img { - width: 20px; - height: 20px; - cursor: default; - margin-top: 1px; - margin-left: 1px; -} - -a.mceButtonDisabled img { - border: 0 !important; -} - -a.mceButtonNormal img, a.mceButtonSelected img { - border: 1px solid #F0F0EE !important; -} - -a.mceButtonSelected img { - border: 1px solid #C0C0BB !important; -} - -a.mceButtonNormal img:hover, a.mceButtonSelected img:hover { - border: 1px solid #0A246A !important; - cursor: default; - background-color: #B6BDD2; -} - -a.mceButtonDisabled img { - -moz-opacity:0.3; - opacity: 0.3; - border: 1px solid #F0F0EE !important; - cursor: default; -} - -a.mceTiledButton img { - background-image: url('../images/buttons.gif'); - background-repeat: no-repeat; -} - -/* MSIE specific rules */ - -* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img { - border: 0px !important; - margin-top: 2px; - margin-bottom: 1px; -} - -* html a.mceButtonDisabled img { - filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); - border: 0px !important; -} - -* html a.mceButtonDisabled { - border: 1px solid #F0F0EE !important; -} - -* html a.mceButtonNormal, * html a.mceButtonSelected { - border: 1px solid #F0F0EE; - cursor: default; -} - -* html a.mceButtonSelected { - border: 1px solid #C0C0BB; -} - -* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover { - border: 1px solid #0A246A; - cursor: default; - background-color: #B6BDD2; -} - -* html .mceSelectList { - margin-top: 2px; -} diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,4 +0,0 @@ -var TinyMCE_SimpleTheme={_buttonMap:'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',getEditorTemplate:function(){var html='';html+='';html+='';html+='
    ';html+='IFRAME';html+='
    ';html+=tinyMCE.getButtonHTML('bold','lang_bold_desc','{$themeurl}/images/{$lang_bold_img}','Bold');html+=tinyMCE.getButtonHTML('italic','lang_italic_desc','{$themeurl}/images/{$lang_italic_img}','Italic');html+=tinyMCE.getButtonHTML('underline','lang_underline_desc','{$themeurl}/images/{$lang_underline_img}','Underline');html+=tinyMCE.getButtonHTML('strikethrough','lang_striketrough_desc','{$themeurl}/images/strikethrough.gif','Strikethrough');html+='';html+=tinyMCE.getButtonHTML('undo','lang_undo_desc','{$themeurl}/images/undo.gif','Undo');html+=tinyMCE.getButtonHTML('redo','lang_redo_desc','{$themeurl}/images/redo.gif','Redo');html+='';html+=tinyMCE.getButtonHTML('cleanup','lang_cleanup_desc','{$themeurl}/images/cleanup.gif','mceCleanup') -html+='';html+=tinyMCE.getButtonHTML('bullist','lang_bullist_desc','{$themeurl}/images/bullist.gif','InsertUnorderedList') -html+=tinyMCE.getButtonHTML('numlist','lang_numlist_desc','{$themeurl}/images/numlist.gif','InsertOrderedList') -html+='
    ';return{delta_width:0,delta_height:20,html:html};},handleNodeChange:function(editor_id,node){tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');do{switch(node.nodeName.toLowerCase()){case"b":case"strong":tinyMCE.switchClass(editor_id+'_bold','mceButtonSelected');break;case"i":case"em":tinyMCE.switchClass(editor_id+'_italic','mceButtonSelected');break;case"u":tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected');break;case"strike":tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonSelected');break;case"ul":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"ol":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break;}}while((node=node.parentNode)!=null);}};tinyMCE.addTheme("simple",TinyMCE_SimpleTheme);tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap); \ No newline at end of file diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,86 +0,0 @@ -/** - * $RCSfile: editor_template_src.js,v $ - * $Revision: 1.8 $ - * $Date: 2006/02/11 18:53:53 $ - * - * @author Moxiecode - * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. - */ - -var TinyMCE_SimpleTheme = { - // List of button ids in tile map - _buttonMap : 'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo', - - getEditorTemplate : function() { - var html = ''; - - html += ''; - html += ''; - html += '
    '; - html += 'IFRAME'; - html += '
    '; - html += tinyMCE.getButtonHTML('bold', 'lang_bold_desc', '{$themeurl}/images/{$lang_bold_img}', 'Bold'); - html += tinyMCE.getButtonHTML('italic', 'lang_italic_desc', '{$themeurl}/images/{$lang_italic_img}', 'Italic'); - html += tinyMCE.getButtonHTML('underline', 'lang_underline_desc', '{$themeurl}/images/{$lang_underline_img}', 'Underline'); - html += tinyMCE.getButtonHTML('strikethrough', 'lang_striketrough_desc', '{$themeurl}/images/strikethrough.gif', 'Strikethrough'); - html += ''; - html += tinyMCE.getButtonHTML('undo', 'lang_undo_desc', '{$themeurl}/images/undo.gif', 'Undo'); - html += tinyMCE.getButtonHTML('redo', 'lang_redo_desc', '{$themeurl}/images/redo.gif', 'Redo'); - html += ''; - html += tinyMCE.getButtonHTML('cleanup', 'lang_cleanup_desc', '{$themeurl}/images/cleanup.gif', 'mceCleanup') - html += ''; - html += tinyMCE.getButtonHTML('bullist', 'lang_bullist_desc', '{$themeurl}/images/bullist.gif', 'InsertUnorderedList') - html += tinyMCE.getButtonHTML('numlist', 'lang_numlist_desc', '{$themeurl}/images/numlist.gif', 'InsertOrderedList') - html += '
    '; - - return { - delta_width : 0, - delta_height : 20, - html : html - }; - }, - - handleNodeChange : function(editor_id, node) { - // Reset old states - tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal'); - - // Handle elements - do { - switch (node.nodeName.toLowerCase()) { - case "b": - case "strong": - tinyMCE.switchClass(editor_id + '_bold', 'mceButtonSelected'); - break; - - case "i": - case "em": - tinyMCE.switchClass(editor_id + '_italic', 'mceButtonSelected'); - break; - - case "u": - tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected'); - break; - - case "strike": - tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonSelected'); - break; - - case "ul": - tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected'); - break; - - case "ol": - tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected'); - break; - } - } while ((node = node.parentNode) != null); - } -}; - -tinyMCE.addTheme("simple", TinyMCE_SimpleTheme); -tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap); Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bullist.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/bullist.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/buttons.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/buttons.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/cleanup.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/cleanup.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/numlist.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/numlist.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/redo.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/redo.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/separator.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/separator.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/spacer.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/spacer.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif differ Binary files 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/undo.gif and 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/themes/simple/images/undo.gif differ diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce.js 1969-12-31 18:00:00.000000000 -0600 @@ -1 +0,0 @@ -function TinyMCE_Engine(){this.majorVersion="2";this.minorVersion="0.5.1";this.releaseDate="2006-03-22";this.instances=new Array();this.switchClassCache=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();var ua=navigator.userAgent;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(ua.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(ua.indexOf('MSIE 5.0')!=-1);this.isGecko=ua.indexOf('Gecko')!=-1;this.isSafari=ua.indexOf('Safari')!=-1;this.isOpera=ua.indexOf('Opera')!=-1;this.isMac=ua.indexOf('Mac')!=-1;this.isNS7=ua.indexOf('Netscape/7')!=-1;this.isNS71=ua.indexOf('Netscape/7.1')!=-1;this.dialogCounter=0;this.plugins=new Array();this.themes=new Array();this.menus=new Array();this.loadedPlugins=new Array();this.buttonMap=new Array();this.isLoaded=false;if(this.isOpera){this.isMSIE=true;this.isGecko=false;this.isSafari=false;}this.idCounter=0;};TinyMCE_Engine.prototype={init:function(settings){var theme;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');for(var i=0;i');this._def("font_size_classes",'');this._def("font_size_style_values",'xx-small,x-small,small,medium,large,x-large,xx-large',true);this._def("event_elements",'a,img',true);this._def("convert_urls",true);this._def("table_inline_editing",false);this._def("object_resizing",true);this._def("custom_shortcuts",true);this._def("convert_on_click",false);this._def("content_css",'');this._def("fix_list_elements",false);this._def("fix_table_elements",false);if(this.isMSIE&&this.settings['browsers'].indexOf('msie')==-1)return;if(this.isGecko&&this.settings['browsers'].indexOf('gecko')==-1)return;if(this.isSafari&&this.settings['browsers'].indexOf('safari')==-1)return;if(this.isOpera&&this.settings['browsers'].indexOf('opera')==-1)return;var baseHREF=tinyMCE.settings['document_base_url'];var h=document.location.href;var p=h.indexOf('://');if(p>0&&document.location.protocol!="file:"){p=h.indexOf('/',p+3);h=h.substring(0,p);if(baseHREF.indexOf('://')==-1)baseHREF=h+baseHREF;tinyMCE.settings['document_base_url']=baseHREF;tinyMCE.settings['document_base_prefix']=h;}if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.blockRegExp=new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dir|fieldset|form|noscript|noframes|menu|isindex)$","i");this.posKeyCodes=new Array(13,45,36,35,33,34,37,38,39,40);this.uniqueURL='http://tinymce.moxiecode.cp/mce_temp_url';this.uniqueTag='';this.callbacks=new Array('onInit','getInfo','getEditorTemplate','setupContent','onChange','onPageLoad','handleNodeChange','initInstance','execCommand','getControlHTML','handleEvent','cleanup');this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isMSIE)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath;}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath;}else this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css";if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg);}if(this.configs.length==0){if(this.isSafari&&this.getParam('safari_warning',false))alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false");if(typeof(TinyMCECompressed)=="undefined"){tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);if(tinyMCE.isMSIE&&!tinyMCE.isOpera){if(document.body)tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);else tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad);}tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);tinyMCE._addUnloadEvents();}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(var i=0;i');this.loadedFiles[this.loadedFiles.length]=url;},loadCSS:function(url){var ar=url.replace(/\s+/,'').split(',');var lflen=0,csslen=0;var skip=false;var x=0,i=0;for(x=0,csslen=ar.length;x0){for(i=0,lflen=this.loadedFiles.length;i');this.loadedFiles[this.loadedFiles.length]=ar[x];}}}},importCSS:function(doc,css){var css_ary=css.replace(/\s+/,'').split(',');var csslen,elm,headArr,x,css_file;for(x=0,csslen=css_ary.length;x0){if(css_file.indexOf('://')==-1&&css_file.charAt(0)!='/')css_file=this.documentBasePath+"/"+css_file;if(typeof(doc.createStyleSheet)=="undefined"){elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0)headArr[0].appendChild(elm);}else doc.createStyleSheet(css_file);}}},confirmAdd:function(e,settings){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(tinyMCE.settings['convert_on_click']||(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm'])))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true');},updateContent:function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isMSIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid);}}},addMCEControl:function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCE_Control(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst._onAdd(replace_element,form_element_name,target_document);},removeMCEControl:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id);if(inst){inst.switchSettings();editor_id=inst.editorId;var html=tinyMCE.getContent(editor_id);var tmpInstances=new Array();for(var instanceName in tinyMCE.instances){var instance=tinyMCE.instances[instanceName];if(!tinyMCE.isInstance(instance))continue;if(instanceName!=editor_id)tmpInstances[instanceName]=instance;}tinyMCE.instances=tmpInstances;tinyMCE.selectedElement=null;tinyMCE.selectedInstance=null;var replaceElement=document.getElementById(editor_id+"_parent");var oldTargetElement=inst.oldTargetElement;var targetName=oldTargetElement.nodeName.toLowerCase();if(targetName=="textarea"||targetName=="input"){replaceElement.parentNode.removeChild(replaceElement);oldTargetElement.style.display="inline";oldTargetElement.value=html;}else{oldTargetElement.innerHTML=html;oldTargetElement.style.display='block';replaceElement.parentNode.insertBefore(oldTargetElement,replaceElement);replaceElement.parentNode.removeChild(replaceElement);}}},triggerSave:function(skip_cleanup,skip_callback){var inst,n;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.triggerSave(skip_cleanup,skip_callback);}},resetForm:function(form_index){var i,inst,n,formObj=document.forms[form_index];for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();for(i=0;i","gi");content=tinyMCE.regexpReplace(content,"\r","
    ","gi");content=tinyMCE.regexpReplace(content,"\n","
    ","gi");}content=tinyMCE.storeAwayURLs(content);content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isMSIE){window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["'+editor_id+'"].getDoc(), "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])doc.styleSheets[0].addRule("p","margin: 0;");var body=inst.getBody();body.editorId=editor_id;}content=tinyMCE.cleanupHTMLCode(content);if(!tinyMCE.isMSIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.isGecko&&tinyMCE.settings['remove_lt_gt'])content=content.replace(new RegExp('<>','g'),"");if(tinyMCE.settings['cleanup_on_startup'])tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement));else{content=tinyMCE.regexpReplace(content,"","","gi");content=tinyMCE.regexpReplace(content,"","","gi");content=tinyMCE.regexpReplace(content,"","","gi");tinyMCE.setInnerHTML(inst.getBody(),content);}tinyMCE.convertAllRelativeURLs(inst.getBody());}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}');}else tinyMCE._setHTML(inst.getDoc(),content);}var parentElm=inst.targetDoc.getElementById(inst.editorId+'_parent');inst.formElement=tinyMCE.isGecko?parentElm.previousSibling:parentElm.nextSibling;tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual'],inst);tinyMCE.dispatchCallback(inst,'setupcontent_callback','setupContent',editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isMSIE)tinyMCE.addEventHandlers(inst);if(tinyMCE.isMSIE){tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(inst.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);if(!tinyMCE.isOpera){tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch);}}tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),false);tinyMCE.cleanupAnchors(inst.getDoc());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoRedo.add({content:inst.startContent});tinyMCE.selectedInstance=inst;tinyMCE.triggerNodeChange(false,true);},storeAwayURLs:function(s){if(!s.match(/(mce_src|mce_href)/gi,s)){s=s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" mce_src="$1"');s=s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" mce_href="$1"');}return s;},removeTinyMCEFormElements:function(form_obj){if(typeof(form_obj)=="undefined"||form_obj==null)return;if(form_obj.nodeName!="FORM"){if(form_obj.form)form_obj=form_obj.form;else form_obj=tinyMCE.getParentElement(form_obj,"form");}if(form_obj==null)return;for(var i=0;i");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false;}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false);}return false;break;case"keyup":case"keydown":tinyMCE.hideMenus();tinyMCE.hasMouseMoved=false;if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];else return;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false;}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);if(tinyMCE.isMSIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isMSIE&&e.type=="keyup"&&e.keyCode==13){var elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="  ";else elm.innerHTML=" ";}}}var keys=tinyMCE.posKeyCodes;var posKey=false;for(var i=0;i';h+='';h+='';}else{h+='';h+='';h+='';}return h;},addButtonMap:function(m){var i,a=m.replace(/\s+/,'').split(',');for(i=0;i0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoRedo.undoIndex;undoLevels=inst.undoRedo.undoLevels.length;}tinyMCE.dispatchCallback(inst,'handle_node_change_callback','handleNodeChange',editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,setup_content);}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus();},_customCleanup:function(inst,type,content){var pl,po,i;var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content, inst);");pl=inst.plugins;for(i=0;i0){for(i=ar.length-1;i>=0;i--){s=ar[i].substring(2,ar[i].length-1);if(s.indexOf('lang_')==0&&tinyMCELang[s])h=tinyMCE.replaceVar(h,s,tinyMCELang[s]);else if(as&&as[s])h=tinyMCE.replaceVar(h,s,as[s]);else if(tinyMCE.settings[s])h=tinyMCE.replaceVar(h,s,tinyMCE.settings[s]);}}h=tinyMCE.replaceVar(h,"themeurl",tinyMCE.themeURL);return h;},replaceVar:function(h,r,v){return h.replace(new RegExp('{\\\$'+r+'}','g'),v);},openWindow:function(template,args){var html,width,height,x,y,resizable,scrollbars,url;args['mce_template_file']=template['file'];args['mce_width']=template['width'];args['mce_height']=template['height'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(tinyMCE.isMSIE)height+=40;else height+=20;x=parseInt(screen.width/2.0)-(width/2.0);y=parseInt(screen.height/2.0)-(height/2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]));}if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return;}win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus();}else{if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&resizable!='yes'&&tinyMCE.settings["dialog_type"]=="modal"){height+=10;var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features);}else{var modal=(resizable=="yes")?"no":"yes";if(tinyMCE.isGecko&&tinyMCE.isMac)modal="no";if(template['close_previous']!="no")try{tinyMCE.lastWindow.close();}catch(ex){}var win=window.open(url,"mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog="+modal+",minimizable="+resizable+",modal="+modal+",width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return;}if(template['close_previous']!="no")tinyMCE.lastWindow=win;eval('try { win.resizeTo(width, height); } catch(e) { }');if(tinyMCE.isGecko){if(win.document.defaultView.statusbar.visible)win.resizeBy(0,tinyMCE.isMac?10:24);}win.focus();}}},closeWindow:function(win){win.close();},getVisualAidClass:function(class_name,state){var aidClass=tinyMCE.settings['visual_table_class'];if(typeof(state)=="undefined")state=tinyMCE.settings['visual'];var classNames=new Array();var ar=class_name.split(' ');for(var i=0;i0)className+=" ";className+=classNames[i];}return className;},handleVisualAid:function(el,deep,state,inst){if(!el)return;var tableElement=null;switch(el.nodeName){case"TABLE":var oldW=el.style.width;var oldH=el.style.height;var bo=tinyMCE.getAttrib(el,"border");bo=bo==""||bo=="0"?true:false;tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),state&&bo));el.style.width=oldW;el.style.height=oldH;for(var y=0;y0){for(var x=0;x0)tinyMCE.cssClasses=output;return output;},regexpReplace:function(in_str,reg_exp,replace_str,opts){if(in_str==null)return in_str;if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);},trim:function(s){return s.replace(/^\s*|\s*$/g,"");},cleanupEventStr:function(s){s=""+s;s=s.replace('function anonymous()\n{\n','');s=s.replace('\n}','');s=s.replace(/^return true;/gi,'');return s;},getControlHTML:function(c){var i,l,n,o,v;l=tinyMCE.plugins;for(n in l){o=l[n];if(o.getControlHTML&&(v=o.getControlHTML(c))!='')return tinyMCE.replaceVar(v,"pluginurl",o.baseURL);}o=tinyMCE.themes[tinyMCE.settings['theme']];if(o.getControlHTML&&(v=o.getControlHTML(c))!='')return v;return'';},evalFunc:function(f,idx,a){var s='(',i;for(i=idx;i0)return true;if(ins!=null){for(i=0,l=ins.plugins;i0)return true;}}l=tinyMCE.themes;for(on in l){o=l[on];if(o[n]&&(v=tinyMCE.evalFunc(o[n],3,a))==s&&m>0)return true;}return false;},xmlEncode:function(s){s=""+s;s=s.replace(/&/g,'&');s=s.replace(new RegExp('"','g'),'"');s=s.replace(/\'/g,''');s=s.replace(//g,'>');return s;},extend:function(p,np){var o={};o.parent=p;for(n in p)o[n]=p[n];for(n in np)o[n]=np[n];return o;},hideMenus:function(){var e=tinyMCE.lastSelectedMenuBtn;if(tinyMCE.lastMenu){tinyMCE.lastMenu.hide();tinyMCE.lastMenu=null;}if(e){tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);tinyMCE.lastSelectedMenuBtn=null;}}};var TinyMCE=TinyMCE_Engine;var tinyMCE=new TinyMCE_Engine();var tinyMCELang={};function TinyMCE_Control(settings){var t,i,to,fu,p,x,fn,fu,pn,s=settings;this.undoRedoLevel=true;this.isTinyMCE_Control=true;this.settings=s;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);this.selection=new TinyMCE_Selection(this);this.undoRedo=new TinyMCE_UndoRedo(this);this.cleanup=new TinyMCE_Cleanup();this.shortcuts=new Array();this.hasMouseMoved=false;this.cleanup.init({valid_elements:s.valid_elements,extended_valid_elements:s.extended_valid_elements,entities:s.entities,entity_encoding:s.entity_encoding,debug:s.cleanup_debug,url_converter:'TinyMCE_Cleanup.prototype._urlConverter',indent:s.apply_source_formatting,invalid_elements:s.invalid_elements,verify_html:s.verify_html,fix_content_duplication:s.fix_content_duplication});t=this.settings['theme'];if(!tinyMCE.hasTheme(t)){fn=tinyMCE.callbacks;to={};for(i=0;i0){for(i=0;i1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index'];}},getBody:function(){return this.getDoc().body;},getDoc:function(){return this.contentWindow.document;},getWin:function(){return this.contentWindow;},addShortcut:function(m,k,d,cmd,ui,va){var n=typeof(k)=="number",ie=tinyMCE.isMSIE,c,sc,i;var scl=this.shortcuts;if(!tinyMCE.getParam('custom_shortcuts'))return false;m=m.toLowerCase();k=ie&&!n?k.toUpperCase():k;c=n?null:k.charCodeAt(0);d=d&&d.indexOf('lang_')==0?tinyMCE.getLang(d):d;sc={alt:m.indexOf('alt')!=-1,ctrl:m.indexOf('ctrl')!=-1,shift:m.indexOf('shift')!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};for(i=0;i0)rng.pasteHTML('
    '+rng.htmlText+"
    ");tinyMCE.triggerNodeChange();return;}}}switch(command){case"mceRepaint":this.repaint();return true;case"InsertUnorderedList":case"InsertOrderedList":var tag=(command=="InsertUnorderedList")?"ul":"ol";if(tinyMCE.isSafari)this.execCommand("mceInsertContent",false,"<"+tag+">
  •  
  • <"+tag+">");else this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"Strikethrough":if(tinyMCE.isSafari)this.execCommand("mceInsertContent",false,""+this.selection.getSelectedHTML()+"");else this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"mceSelectNode":this.selection.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case"FormatBlock":if(value==null||value==""){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address");if(elm)this.execCommand("mceRemoveNode",false,elm);}else{if(value=='
    '&&tinyMCE.isGecko)value='div';this.getDoc().execCommand("FormatBlock",false,value);}tinyMCE.triggerNodeChange();break;case"mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isMSIE){value.outerHTML=value.innerHTML;}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML));}tinyMCE.triggerNodeChange();break;case"mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue;}if(i==value){this.selection.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return;}parentNode=parentNode.parentNode;}break;case"SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value['command'];var sname=value['name'];var svalue=value['value']==null?'':value['value'];var wrapper=value['wrapper']?value['wrapper']:"span";var parentElm=null;var invalidRe=new RegExp("^BODY|HTML$","g");var invalidParentsRe=tinyMCE.settings['merge_styles_invalid_parents']!=''?new RegExp(tinyMCE.settings['merge_styles_invalid_parents'],"gi"):null;if(tinyMCE.isMSIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){if(invalidParentsRe==null||!invalidParentsRe.test(pelm.nodeName))parentElm=pelm;}}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(new RegExp('td|tr|tbody|table','gi').test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm;}if(parentElm&&!invalidRe.test(parentElm.nodeName)){if(scmd=="setstyle")tinyMCE.setStyleAttrib(parentElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);if(scmd=="removeformat"){parentElm.style.cssText='';tinyMCE.setAttrib(parentElm,'class','');}var ch=tinyMCE.getNodeTree(parentElm,new Array(),1);for(var z=0;z=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(scmd,elm,elm.childNodes[0],isNew);continue;}if(elm.parentNode.childNodes.length==1&&!invalidRe.test(elm.nodeName)&&!invalidRe.test(elm.parentNode.nodeName)){if(invalidParentsRe==null||!invalidParentsRe.test(elm.parentNode.nodeName))this._mergeElements(scmd,elm.parentNode,elm,false);}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));tmp.innerHTML=tmp.innerHTML.replace(new RegExp('style=""|class=""','gi'),'');if(new RegExp('','gi').test(tmp.innerHTML)){for(var x=0;x0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value);}tinyMCE.triggerNodeChange();break;case"mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange();}}break;case"mceSetCSSClass":this.execCommand("SetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case"mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getDoc().body.scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getDoc().body.scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+value+html.substring(pos+key.length));this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case"mceInsertContent":if(!value)value='';var insertHTMLFailed=false;this.getWin().focus();if(tinyMCE.isGecko||tinyMCE.isOpera){try{if(value.indexOf('<')==-1&&!value.match(/(&| |<|>)/g)){var r=this.getRng();var n=this.getDoc().createTextNode(tinyMCE.entityDecode(value));var s=this.getSel();var r2=r.cloneRange();s.removeAllRanges();r.deleteContents();r.insertNode(n);r2.selectNode(n);r2.collapse(false);s.removeAllRanges();s.addRange(r2);}else{value=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),value);this.getDoc().execCommand('inserthtml',false,value);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value);}}catch(ex){insertHTMLFailed=true;}if(!insertHTMLFailed){tinyMCE.triggerNodeChange();return;}}if(tinyMCE.isOpera&&insertHTMLFailed){this.getDoc().execCommand("insertimage",false,tinyMCE.uniqueURL);var ar=tinyMCE.getElementsByAttributeValue(this.getBody(),"img","src",tinyMCE.uniqueURL);ar[0].outerHTML=value;return;}if(!tinyMCE.isMSIE){var isHTML=value.indexOf('<')!=-1;var sel=this.getSel();var rng=this.getRng();if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value);}else value=rng.createContextualFragment(value);}else{var el=document.createElement("div");el.innerHTML=value;value=el.firstChild.nodeValue;value=doc.createTextNode(value);}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true;}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true;}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node);}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng);}else rng.collapse(false);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value);}else{var rng=doc.selection.createRange();var c=value.indexOf('";}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i';return h;},_serializeAttribute:function(n,r,an){var av='',t,os=this.settings.on_save;if(os&&(an.indexOf('mce_')==0||an.indexOf('_moz')==0))return'';if(os&&this.mceAttribs[an])av=this._getAttrib(n,this.mceAttribs[an]);if(av.length==0)av=this._getAttrib(n,an);if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){av=t;if(av=="mce_empty")return" "+an+'=""';}if(r.forceAttribs&&(t=r.forceAttribs[an]))av=t;if(os&&av.length!=0&&this.settings.url_converter.length!=0&&/^(src|href|longdesc)$/.test(an))av=eval(this.settings.url_converter+'(this, n, av)');if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av))return"";if(av.length!=0&&av=="{$uid}")av="uid_"+(this.idCount++);if(av.length!=0)return" "+an+"="+'"'+this.xmlEncode(av)+'"';return"";},formatHTML:function(h){var s=this.settings,p='',i=0,li=0,o='',l;h=h.replace(/\r/g,'');h='\n'+h;h=h.replace(new RegExp('\\n\\s+','gi'),'\n');h=h.replace(this.nlBeforeRe,'\n<$1$2>');h=h.replace(this.nlAfterRe,'<$1$2>\n');h=h.replace(this.nlBeforeAfterRe,'\n<$1$2$3>\n');h+='\n';while((i=h.indexOf('\n',i+1))!=-1){if((l=h.substring(li+1,i)).length!=0){if(this.ouRe.test(l)&&p.length>=s.indent_levels)p=p.substring(s.indent_levels);o+=p+l+'\n';if(this.inRe.test(l))p+=this.inStr;}li=i;}return o;},xmlEncode:function(s){var i,l,e,o='',c;this._setupEntities();switch(this.settings.entity_encoding){case"raw":return tinyMCE.xmlEncode(s);case"named":for(i=0,l=s.length;i127||c==60||c==62||c==38||c==39||c==34)o+='&#'+c+";";else o+=String.fromCharCode(c);}return o;}return s;},split:function(re,s){var c=s.split(re);var i,l,o=new Array();for(i=0,l=c.length;i/g,'>');h=h.replace(/]*)>\u00A0?<\/p>/gi,' 

    ');h=h.replace(/]*)> <\/p>/gi,' 

    ');e.innerHTML=tinyMCE.uniqueTag+h;e.firstChild.removeNode(true);nl=e.getElementsByTagName("p");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.nodeName=='P'&&!n.hasChildNodes()&&!n.mce_keep)n.parentNode.removeChild(n);}}else{h=this.fixGeckoBaseHREFBug(1,e,h);e.innerHTML=h;this.fixGeckoBaseHREFBug(2,e,h);}};TinyMCE_Engine.prototype.getOuterHTML=function(e){if(tinyMCE.isMSIE)return e.outerHTML;var d=e.ownerDocument.createElement("body");d.appendChild(e);return d.innerHTML;};TinyMCE_Engine.prototype.setOuterHTML=function(e,h){if(tinyMCE.isMSIE){e.outerHTML=h;return;}var d=e.ownerDocument.createElement("body");d.innerHTML=h;e.parentNode.replaceChild(d.firstChild,e);};TinyMCE_Engine.prototype._getElementById=function(id,d){var e,i,j,f;if(typeof(d)=="undefined")d=document;e=d.getElementById(id);if(!e){f=d.forms;for(i=0;i=strTok2.length){for(var i=0;i=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(strTok1.length=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(breakPoint==1)return targetURL.path;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outPath+="../";for(var i=breakPoint-1;i=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i];}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue;}if(numBack>0){numBack--;continue;}newRelURLParts[newRelURLParts.length]=relURLParts[i];}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";relURL.protocol=baseURL.protocol;relURL.host=baseURL.host;relURL.port=baseURL.port;if(relURL.path.charAt(relURL.path.length-1)=="/")absPath+="/";relURL.path=absPath;return this.serializeURL(relURL);};TinyMCE_Engine.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;if(prot=="file:")return url;url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isMSIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(on_save&&tinyMCE.getParam('relative_urls')){var curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(curl.charAt(0)=='/')curl=tinyMCE.settings['document_base_prefix']+curl;var urlParts=tinyMCE.parseURL(curl);var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],curl);}if(!tinyMCE.getParam('relative_urls')){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return"#"+urlParts['anchor'];}if(tinyMCE.getParam('remove_script_host')){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1);}return url;};TinyMCE_Engine.prototype.convertAllRelativeURLs=function(body){var elms=body.getElementsByTagName("img");for(var i=0;ibookmark.index)rng.addElement(nl[bookmark.index]);}else{rng=inst.getSel().createRange();rng.moveToElementText(inst.getBody());rng.collapse(true);rng.moveStart('character',bookmark.start);rng.moveEnd('character',bookmark.length);}rng.select();win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}if(tinyMCE.isGecko&&bookmark.rng){sel.removeAllRanges();sel.addRange(bookmark.rng);win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}if(tinyMCE.isGecko){rng=doc.createRange();nl=doc.getElementsByTagName(bookmark.startTag);if(nl.length>bookmark.start)rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex],bookmark.startOffset);nl=doc.getElementsByTagName(bookmark.endTag);if(nl.length>bookmark.end)rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex],bookmark.endOffset);sel.removeAllRanges();sel.addRange(rng);win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}return false;},selectNode:function(node,collapse,select_text_node,to_start){var inst=this.instance,sel,rng,nodes;if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(tinyMCE.isMSIE){rng=inst.getBody().createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select();}catch(e){}}else{sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.collapseToStart();else sel.collapseToEnd();}this.scrollToNode(node);return;}rng=inst.getDoc().createRange();if(select_text_node){nodes=tinyMCE.getNodeTree(node,new Array(),3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node);}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length);}else rng.collapse(to_start);}sel.removeAllRanges();sel.addRange(rng);}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node;},scrollToNode:function(node){var inst=this.instance;var pos,doc,scrollX,scrollY,height;pos=tinyMCE.getAbsPosition(node);doc=inst.getDoc();scrollX=doc.body.scrollLeft+doc.documentElement.scrollLeft;scrollY=doc.body.scrollTop+doc.documentElement.scrollTop;height=tinyMCE.isMSIE?document.getElementById(inst.editorId).style.pixelHeight:inst.targetElement.clientHeight;if(!tinyMCE.settings['auto_resize']&&!(pos.absTop>scrollY&&pos.absTop<(scrollY-25+height)))inst.contentWindow.scrollTo(pos.absLeft,pos.absTop-height+25);},getSel:function(){var inst=this.instance;if(tinyMCE.isMSIE&&!tinyMCE.isOpera)return inst.getDoc().selection;return inst.contentWindow.getSelection();},getRng:function(){var inst=this.instance;var sel=this.getSel();if(sel==null)return null;if(tinyMCE.isMSIE&&!tinyMCE.isOpera)return sel.createRange();if(tinyMCE.isSafari&&!sel.getRangeAt)return''+window.getSelection();return sel.getRangeAt(0);},getFocusElement:function(){var inst=this.instance;if(tinyMCE.isMSIE&&!tinyMCE.isOpera){var doc=inst.getDoc();var rng=doc.selection.createRange();var elm=rng.item?rng.item(0):rng.parentElement();}else{if(inst.isHidden())return inst.getBody();var sel=this.getSel();var rng=this.getRng();if(!sel||!rng)return null;var elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset];}}}elm=tinyMCE.getParentElement(elm);}return elm;}};function TinyMCE_UndoRedo(inst){this.instance=inst;this.undoLevels=new Array();this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true;};TinyMCE_UndoRedo.prototype={add:function(l){var b;if(l){this.undoLevels[this.undoLevels.length]=l;return true;}var inst=this.instance;if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;}var newHTML=tinyMCE.trim(inst.getBody().innerHTML);if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){tinyMCE.dispatchCallback(inst,'onchange_callback','onChange',inst);var customUndoLevels=tinyMCE.settings['custom_undo_redo_levels'];if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(var i=0;i0){this.undoIndex--;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);}},redo:function(){var inst=this.instance;tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);}tinyMCE.triggerNodeChange();}};var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()=="";}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i <"+blockName+"> ";paraAfter=body.childNodes[1];}inst.selection.selectNode(paraAfter,true,true);return true;}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);var contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){paraAfter.innerHTML=contents.firstChild.innerHTML;}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML=" ";if(isEmpty(paraAfter))paraAfter.innerHTML=" ";var rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode);}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset);}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();rng.insertNode(paraAfter);rng.insertNode(paraBefore);paraAfter.normalize();paraBefore.normalize();inst.selection.selectNode(paraAfter,true,true);return true;},_handleBackSpace:function(inst){var r=inst.getRng();var sn=r.startContainer;if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR")sn.nextSibling.parentNode.removeChild(sn.nextSibling);return false;}};function TinyMCE_Layer(id,bm){this.id=id;this.blockerElement=null;this.events=false;this.element=null;this.blockMode=typeof(bm)!='undefined'?bm:true;};TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){var rep=this.getAbsPosition(re);var w=parseInt(re.offsetWidth);var h=parseInt(re.offsetHeight);var e=this.getElement();var ew=parseInt(e.offsetWidth);var eh=parseInt(e.offsetHeight);var x,y;switch(p){case"tl":x=rep.absLeft;y=rep.absTop;break;case"tr":x=rep.absLeft+w;y=rep.absTop;break;case"bl":x=rep.absLeft;y=rep.absTop+h;break;case"br":x=rep.absLeft+w;y=rep.absTop+h;break;case"cc":x=rep.absLeft+(w/2)-(ew/2);y=rep.absTop+(h/2)-(eh/2);break;}this.moveTo(x,y);},moveBy:function(x,y){var e=this.getElement();this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y);},moveTo:function(x,y){var e=this.getElement();e.style.left=x+"px";e.style.top=y+"px";this.updateBlocker();},resizeBy:function(w,h){var e=this.getElement();this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h);},resizeTo:function(w,h){var e=this.getElement();e.style.width=w+"px";e.style.height=h+"px";this.updateBlocker();},show:function(){this.getElement().style.display='block';this.updateBlocker();},hide:function(){this.getElement().style.display='none';this.updateBlocker();},isVisible:function(){return this.getElement().style.display=='block';},getElement:function(){if(!this.element)this.element=document.getElementById(this.id);return this.element;},setBlockMode:function(s){this.blockMode=s;},updateBlocker:function(){var e,b,x,y,w,h;b=this.getBlocker();if(b){if(this.blockMode){e=this.getElement();x=this.parseInt(e.style.left);y=this.parseInt(e.style.top);w=this.parseInt(e.offsetWidth);h=this.parseInt(e.offsetHeight);b.style.left=x+'px';b.style.top=y+'px';b.style.width=w+'px';b.style.height=h+'px';b.style.display=e.style.display;}else b.style.display='none';}},getBlocker:function(){var d,b;if(!this.blockerElement&&this.blockMode){d=document;b=d.createElement("iframe");b.style.cssText='display: none; position: absolute; left: 0; top: 0';b.src='javascript:false;';b.frameBorder='0';b.scrolling='no';d.body.appendChild(b);this.blockerElement=b;}return this.blockerElement;},getAbsPosition:function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent;}return p;},create:function(n,c,p){var d=document,e=d.createElement(n);e.setAttribute('id',this.id);if(c)e.className=c;if(!p)p=d.body;p.appendChild(e);return this.element=e;},parseInt:function(s){if(s==null||s=='')return 0;return parseInt(s);}};function TinyMCE_Menu(){var id;if(typeof(tinyMCE.menuCounter)=="undefined")tinyMCE.menuCounter=0;id="mc_menu_"+tinyMCE.menuCounter++;TinyMCE_Layer.call(this,id,true);this.id=id;this.items=new Array();this.needsUpdate=true;};TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){var n;this.settings={separator_class:'mceMenuSeparator',title_class:'mceMenuTitle',disabled_class:'mceMenuDisabled',menu_class:'mceMenu',drop_menu:true};for(n in s)this.settings[n]=s[n];this.create('div',this.settings.menu_class);},clear:function(){this.items=new Array();},addTitle:function(t){this.add({type:'title',text:t});},addDisabled:function(t){this.add({type:'disabled',text:t});},addSeparator:function(){this.add({type:'separator'});},addItem:function(t,js){this.add({text:t,js:js});},add:function(mi){this.items[this.items.length]=mi;this.needsUpdate=true;},update:function(){var e=this.getElement(),h='',i,t,m=this.items,s=this.settings;if(this.settings.drop_menu)h+='';h+='';for(i=0;i';}h+='
    ';break;case'title':h+='
    '+t+'';break;case'disabled':h+='
    '+t+'';break;default:h+='
    '+t+'';}h+='
    ';e.innerHTML=h;this.needsUpdate=false;this.updateBlocker();},show:function(){var nl,i;if(tinyMCE.lastMenu==this)return;if(this.needsUpdate)this.update();if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this)tinyMCE.lastMenu.hide();this.parent.show.call(this);if(!tinyMCE.isOpera){}tinyMCE.lastMenu=this;}});TinyMCE_Engine.prototype.debug=function(){var m="",e,a,i;e=document.getElementById("tinymce_debug");if(!e){var d=document.createElement("div");d.setAttribute("className","debugger");d.className="debugger";d.innerHTML='Debug output:';document.body.appendChild(d);e=document.getElementById("tinymce_debug");}a=this.debug.arguments;for(i=0;i -1) { - // Write main script and patch some things - if ($index == 0) { - TinyMCE_echo(file_get_contents(realpath("tiny_mce" . $suffix . ".js"))); - TinyMCE_echo('TinyMCE.prototype.orgLoadScript = TinyMCE.prototype.loadScript;'); - TinyMCE_echo('TinyMCE.prototype.loadScript = function() {};var realTinyMCE = tinyMCE;'); - } else - TinyMCE_echo('tinyMCE = realTinyMCE;'); - - // Do init based on index - TinyMCE_echo("tinyMCE.init(tinyMCECompressed.configs[" . $index . "]);"); - - // Load external plugins - if ($index == 0) - TinyMCE_echo("tinyMCECompressed.loadPlugins();"); - - // Load theme, language pack and theme language packs - if ($theme) { - TinyMCE_echo(file_get_contents(realpath("themes/" . $theme . "/editor_template" . $suffix . ".js"))); - TinyMCE_echo(file_get_contents(realpath("themes/" . $theme . "/langs/" . $lang . ".js"))); - } - - if ($language) - TinyMCE_echo(file_get_contents(realpath("langs/" . $language . ".js"))); - - // Load all plugins and their language packs - $plugins = explode(",", $plugins); - foreach ($plugins as $plugin) { - $pluginFile = realpath("plugins/" . $plugin . "/editor_plugin" . $suffix . ".js"); - $languageFile = realpath("plugins/" . $plugin . "/langs/" . $lang . ".js"); - - if ($pluginFile) - TinyMCE_echo(file_get_contents($pluginFile)); - - if ($languageFile) - TinyMCE_echo(file_get_contents($languageFile)); - } - - // Reset tinyMCE compressor engine - TinyMCE_echo("tinyMCE = tinyMCECompressed;"); - - // Write to cache - if ($diskCache) { - // Calculate compression ratio and debug target output path - if ($debug) { - $ratio = round(100 - strlen(gzencode($cacheData, 9, FORCE_GZIP)) / strlen($cacheData) * 100.0); - TinyMCE_echo("alert('TinyMCE was compressed by " . $ratio . "%.\\nOutput cache file: " . $cacheFile . "');"); - } - - $cacheData = gzencode($cacheData, 9, FORCE_GZIP); - - // Write to file if possible - $fp = @fopen($cacheFile, "wb"); - if ($fp) { - fwrite($fp, $cacheData); - fclose($fp); - } - - // Output - header("Content-Encoding: " . $enc); - echo $cacheData; - } - - die; -} -?> - -function TinyMCECompressed() { - this.configs = new Array(); - this.loadedFiles = new Array(); - this.externalPlugins = new Array(); - this.loadAdded = false; - this.isLoaded = false; -} - -TinyMCECompressed.prototype.init = function(settings) { - var elements = document.getElementsByTagName('script'); - var scriptURL = ""; - - for (var i=0; i'); - - if (!this.loadAdded) { - tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCECompressed.prototype.onLoad); - tinyMCE.addEvent(window, "load", TinyMCECompressed.prototype.onLoad); - this.loadAdded = true; - } -} - -TinyMCECompressed.prototype.onLoad = function() { - if (tinyMCE.isLoaded) - return true; - - tinyMCE = realTinyMCE; - TinyMCE_Engine.prototype.onLoad(); - tinyMCE._addUnloadEvents(); - - tinyMCE.isLoaded = true; -} - -TinyMCECompressed.prototype.addEvent = function(o, n, h) { - if (o.attachEvent) - o.attachEvent("on" + n, h); - else - o.addEventListener(n, h, false); -} - -TinyMCECompressed.prototype.getOnce = function(str) { - var ar = str.replace(/\s+/g, '').split(','); - - for (var i=0; i'); - - tinyMCE.addEvent(window, "load", this.onLoad); -}; - - -TinyMCE_Popup.prototype.onLoad = function() { - var dir, i, elms, body = document.body; - - if (tinyMCE.getWindowArg('mce_replacevariables', true)) - body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs); - - dir = tinyMCE.selectedInstance.settings['directionality']; - if (dir == "rtl" && document.forms && document.forms.length > 0) { - elms = document.forms[0].elements; - for (i=0; i=0; i--) { - if (wrapper.hasChildNodes()) - wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild); - else - wrapper.appendChild(nodes[i].cloneNode(true)); - - nodes[i].parentNode.removeChild(nodes[i]); - } - - // Add wrapper - doc.body.appendChild(wrapper); - - // Create iframe - iframe = document.createElement("iframe"); - iframe.id = "mcWinIframe"; - iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document']; - iframe.width = "100%"; - iframe.height = "100%"; - iframe.style.margin = '0'; - - // Add iframe - doc.body.appendChild(iframe); - - // Measure iframe - iframe = document.getElementById('mcWinIframe'); - dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth; - dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight; - - // Resize window - // tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy); - window.resizeBy(dx, dy); - - // Hide iframe and show wrapper - body.style.margin = oldMargin; - iframe.style.display = 'none'; - wrapper.style.display = 'block'; - } -}; - - -TinyMCE_Popup.prototype.resizeToContent = function() { - var isMSIE = (navigator.appName == "Microsoft Internet Explorer"); - var isOpera = (navigator.userAgent.indexOf("Opera") != -1); - - if (isOpera) - return; - - if (isMSIE) { - try { window.resizeTo(10, 10); } catch (e) {} - - var elm = document.body; - var width = elm.offsetWidth; - var height = elm.offsetHeight; - var dx = (elm.scrollWidth - width) + 4; - var dy = elm.scrollHeight - height; - - try { window.resizeBy(dx, dy); } catch (e) {} - } else { - window.scrollBy(1000, 1000); - if (window.scrollX > 0 || window.scrollY > 0) { - window.resizeBy(window.innerWidth * 2, window.innerHeight * 2); - window.sizeToContent(); - window.scrollTo(0, 0); - var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0); - var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0); - window.moveTo(x, y); - } - } -}; - - -TinyMCE_Popup.prototype.getWindowArg = function(name, default_value) { - return tinyMCE.getWindowArg(name, default_value); -}; - - -TinyMCE_Popup.prototype.restoreSelection = function() { - if (this.storeSelection) { - var inst = tinyMCE.selectedInstance; - - inst.getWin().focus(); - - if (inst.selectionBookmark) - inst.selection.moveToBookmark(inst.selectionBookmark); - } -}; - - -TinyMCE_Popup.prototype.execCommand = function(command, user_interface, value) { - var inst = tinyMCE.selectedInstance; - - this.restoreSelection(); - inst.execCommand(command, user_interface, value); - - // Store selection - if (this.storeSelection) - inst.selectionBookmark = inst.selection.getBookmark(true); -}; - - -TinyMCE_Popup.prototype.close = function() { - tinyMCE.closeWindow(window); -}; - - -TinyMCE_Popup.prototype.pickColor = function(e, element_id) { - tinyMCE.selectedInstance.execCommand('mceColorPicker', true, { - element_id : element_id, - document : document, - window : window, - store_selection : false - }); -}; - - -TinyMCE_Popup.prototype.openBrowser = function(element_id, type, option) { - var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); - var url = document.getElementById(element_id).value; - - tinyMCE.setWindowArg("window", window); - tinyMCE.setWindowArg("document", document); - - // Call to external callback - if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined") - alert("Callback function: " + cb + " could not be found."); - else - eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);"); -}; - -// Setup global instance -var tinyMCEPopup = new TinyMCE_Popup(); - -tinyMCEPopup.init(); diff -ruN 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_src.js 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_src.js --- 4.6rc2/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_src.js 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/jscripts/tiny_mce/tiny_mce_src.js 1969-12-31 18:00:00.000000000 -0600 @@ -1,6437 +0,0 @@ - -/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */ - -function TinyMCE_Engine() { - this.majorVersion = "2"; - this.minorVersion = "0.5.1"; - this.releaseDate = "2006-03-22"; - - this.instances = new Array(); - this.switchClassCache = new Array(); - this.windowArgs = new Array(); - this.loadedFiles = new Array(); - this.configs = new Array(); - this.currentConfig = 0; - this.eventHandlers = new Array(); - - // Browser check - var ua = navigator.userAgent; - this.isMSIE = (navigator.appName == "Microsoft Internet Explorer"); - this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1); - this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1); - this.isGecko = ua.indexOf('Gecko') != -1; - this.isSafari = ua.indexOf('Safari') != -1; - this.isOpera = ua.indexOf('Opera') != -1; - this.isMac = ua.indexOf('Mac') != -1; - this.isNS7 = ua.indexOf('Netscape/7') != -1; - this.isNS71 = ua.indexOf('Netscape/7.1') != -1; - this.dialogCounter = 0; - this.plugins = new Array(); - this.themes = new Array(); - this.menus = new Array(); - this.loadedPlugins = new Array(); - this.buttonMap = new Array(); - this.isLoaded = false; - - // Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those - if (this.isOpera) { - this.isMSIE = true; - this.isGecko = false; - this.isSafari = false; - } - - // TinyMCE editor id instance counter - this.idCounter = 0; -}; - -TinyMCE_Engine.prototype = { - init : function(settings) { - var theme; - - this.settings = settings; - - // Check if valid browser has execcommand support - if (typeof(document.execCommand) == 'undefined') - return; - - // Get script base path - if (!tinyMCE.baseURL) { - var elements = document.getElementsByTagName('script'); - - for (var i=0; i'); - this._def("font_size_classes", ''); - this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true); - this._def("event_elements", 'a,img', true); - this._def("convert_urls", true); - this._def("table_inline_editing", false); - this._def("object_resizing", true); - this._def("custom_shortcuts", true); - this._def("convert_on_click", false); - this._def("content_css", ''); - this._def("fix_list_elements", false); - this._def("fix_table_elements", false); - - // Browser check IE - if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1) - return; - - // Browser check Gecko - if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1) - return; - - // Browser check Safari - if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1) - return; - - // Browser check Opera - if (this.isOpera && this.settings['browsers'].indexOf('opera') == -1) - return; - - // If not super absolute make it so - var baseHREF = tinyMCE.settings['document_base_url']; - var h = document.location.href; - var p = h.indexOf('://'); - if (p > 0 && document.location.protocol != "file:") { - p = h.indexOf('/', p + 3); - h = h.substring(0, p); - - if (baseHREF.indexOf('://') == -1) - baseHREF = h + baseHREF; - - tinyMCE.settings['document_base_url'] = baseHREF; - tinyMCE.settings['document_base_prefix'] = h; - } - - // Trim away query part - if (baseHREF.indexOf('?') != -1) - baseHREF = baseHREF.substring(0, baseHREF.indexOf('?')); - - this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/"; - - theme = this.settings['theme']; - this.blockRegExp = new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dir|fieldset|form|noscript|noframes|menu|isindex)$", "i"); - this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40); - this.uniqueURL = 'http://tinymce.moxiecode.cp/mce_temp_url'; // Make unique URL non real URL - this.uniqueTag = ''; - this.callbacks = new Array('onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup'); - - // Theme url - this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme; - - if (!tinyMCE.isMSIE) - this.settings['force_br_newlines'] = false; - - if (tinyMCE.getParam("popups_css", false)) { - var cssPath = tinyMCE.getParam("popups_css", ""); - - // Is relative - if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/') - this.settings['popups_css'] = this.documentBasePath + "/" + cssPath; - else - this.settings['popups_css'] = cssPath; - } else - this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css"; - - if (tinyMCE.getParam("editor_css", false)) { - var cssPath = tinyMCE.getParam("editor_css", ""); - - // Is relative - if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/') - this.settings['editor_css'] = this.documentBasePath + "/" + cssPath; - else - this.settings['editor_css'] = cssPath; - } else - this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css"; - - if (tinyMCE.settings['debug']) { - var msg = "Debug: \n"; - - msg += "baseURL: " + this.baseURL + "\n"; - msg += "documentBasePath: " + this.documentBasePath + "\n"; - msg += "content_css: " + this.settings['content_css'] + "\n"; - msg += "popups_css: " + this.settings['popups_css'] + "\n"; - msg += "editor_css: " + this.settings['editor_css'] + "\n"; - - alert(msg); - } - - // Only do this once - if (this.configs.length == 0) { - // Is Safari enabled - if (this.isSafari && this.getParam('safari_warning', false)) - alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false"); - - if (typeof(TinyMCECompressed) == "undefined") { - tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad); - - if (tinyMCE.isMSIE && !tinyMCE.isOpera) { - if (document.body) - tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad); - else - tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad); - } - - tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad); - tinyMCE._addUnloadEvents(); - } - } - - this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js'); - this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] + '.js'); - this.loadCSS(this.settings['editor_css']); - - // Add plugins - var p = tinyMCE.getParam('plugins', '', true, ','); - if (p.length > 0) { - for (var i=0; i'); - - this.loadedFiles[this.loadedFiles.length] = url; - }, - - loadCSS : function(url) { - var ar = url.replace(/\s+/, '').split(','); - var lflen = 0, csslen = 0; - var skip = false; - var x = 0, i = 0; - - for (x = 0,csslen = ar.length; x 0) { - /* Make sure it doesn't exist. */ - for (i=0, lflen=this.loadedFiles.length; i'); - this.loadedFiles[this.loadedFiles.length] = ar[x]; - } - } - } - }, - - importCSS : function(doc, css) { - var css_ary = css.replace(/\s+/, '').split(','); - var csslen, elm, headArr, x, css_file; - - for (x = 0, csslen = css_ary.length; x 0) { - // Is relative, make absolute - if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/') - css_file = this.documentBasePath + "/" + css_file; - - if (typeof(doc.createStyleSheet) == "undefined") { - elm = doc.createElement("link"); - - elm.rel = "stylesheet"; - elm.href = css_file; - - if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0) - headArr[0].appendChild(elm); - } else - doc.createStyleSheet(css_file); - } - } - }, - - confirmAdd : function(e, settings) { - var elm = tinyMCE.isMSIE ? event.srcElement : e.target; - var elementId = elm.name ? elm.name : elm.id; - - tinyMCE.settings = settings; - - if (tinyMCE.settings['convert_on_click'] || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm']))) - tinyMCE.addMCEControl(elm, elementId); - - elm.setAttribute('mce_noask', 'true'); - }, - - updateContent : function(form_element_name) { - // Find MCE instance linked to given form element and copy it's value - var formElement = document.getElementById(form_element_name); - for (var n in tinyMCE.instances) { - var inst = tinyMCE.instances[n]; - if (!tinyMCE.isInstance(inst)) - continue; - - inst.switchSettings(); - - if (inst.formElement == formElement) { - var doc = inst.getDoc(); - - tinyMCE._setHTML(doc, inst.formElement.value); - - if (!tinyMCE.isMSIE) - doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid); - } - } - }, - - addMCEControl : function(replace_element, form_element_name, target_document) { - var id = "mce_editor_" + tinyMCE.idCounter++; - var inst = new TinyMCE_Control(tinyMCE.settings); - - inst.editorId = id; - this.instances[id] = inst; - - inst._onAdd(replace_element, form_element_name, target_document); - }, - - removeMCEControl : function(editor_id) { - var inst = tinyMCE.getInstanceById(editor_id); - - if (inst) { - inst.switchSettings(); - - editor_id = inst.editorId; - var html = tinyMCE.getContent(editor_id); - - // Remove editor instance from instances array - var tmpInstances = new Array(); - for (var instanceName in tinyMCE.instances) { - var instance = tinyMCE.instances[instanceName]; - if (!tinyMCE.isInstance(instance)) - continue; - - if (instanceName != editor_id) - tmpInstances[instanceName] = instance; - } - tinyMCE.instances = tmpInstances; - - tinyMCE.selectedElement = null; - tinyMCE.selectedInstance = null; - - // Remove element - var replaceElement = document.getElementById(editor_id + "_parent"); - var oldTargetElement = inst.oldTargetElement; - var targetName = oldTargetElement.nodeName.toLowerCase(); - - if (targetName == "textarea" || targetName == "input") { - // Just show the old text area - replaceElement.parentNode.removeChild(replaceElement); - oldTargetElement.style.display = "inline"; - oldTargetElement.value = html; - } else { - oldTargetElement.innerHTML = html; - oldTargetElement.style.display = 'block'; - - replaceElement.parentNode.insertBefore(oldTargetElement, replaceElement); - replaceElement.parentNode.removeChild(replaceElement); - } - } - }, - - triggerSave : function(skip_cleanup, skip_callback) { - var inst, n; - - // Default to false - if (typeof(skip_cleanup) == "undefined") - skip_cleanup = false; - - // Default to false - if (typeof(skip_callback) == "undefined") - skip_callback = false; - - // Cleanup and set all form fields - for (n in tinyMCE.instances) { - inst = tinyMCE.instances[n]; - - if (!tinyMCE.isInstance(inst)) - continue; - - inst.triggerSave(skip_cleanup, skip_callback); - } - }, - - resetForm : function(form_index) { - var i, inst, n, formObj = document.forms[form_index]; - - for (n in tinyMCE.instances) { - inst = tinyMCE.instances[n]; - - if (!tinyMCE.isInstance(inst)) - continue; - - inst.switchSettings(); - - for (i=0; i", "gi"); - content = tinyMCE.regexpReplace(content, "\r", "
    ", "gi"); - content = tinyMCE.regexpReplace(content, "\n", "
    ", "gi"); - } - - // Open closed anchors - // content = content.replace(new RegExp('', 'gi'), ''); - - // Call custom cleanup code - content = tinyMCE.storeAwayURLs(content); - content = tinyMCE._customCleanup(inst, "insert_to_editor", content); - - if (tinyMCE.isMSIE) { - // Ugly!!! - window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500); - - if (tinyMCE.settings["force_br_newlines"]) - doc.styleSheets[0].addRule("p", "margin: 0;"); - - var body = inst.getBody(); - body.editorId = editor_id; - } - - content = tinyMCE.cleanupHTMLCode(content); - - // Fix for bug #958637 - if (!tinyMCE.isMSIE) { - var contentElement = inst.getDoc().createElement("body"); - var doc = inst.getDoc(); - - contentElement.innerHTML = content; - - // Remove weridness! - if (tinyMCE.isGecko && tinyMCE.settings['remove_lt_gt']) - content = content.replace(new RegExp('<>', 'g'), ""); - - if (tinyMCE.settings['cleanup_on_startup']) - tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement)); - else { - // Convert all strong/em to b/i - content = tinyMCE.regexpReplace(content, "", "", "gi"); - content = tinyMCE.regexpReplace(content, "", "", "gi"); - content = tinyMCE.regexpReplace(content, "", "", "gi"); - tinyMCE.setInnerHTML(inst.getBody(), content); - } - - tinyMCE.convertAllRelativeURLs(inst.getBody()); - } else { - if (tinyMCE.settings['cleanup_on_startup']) { - tinyMCE._setHTML(inst.getDoc(), content); - - // Produces permission denied error in MSIE 5.5 - eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}'); - } else - tinyMCE._setHTML(inst.getDoc(), content); - } - - // Fix for bug #957681 - //inst.getDoc().designMode = inst.getDoc().designMode; - - // Setup element references - var parentElm = inst.targetDoc.getElementById(inst.editorId + '_parent'); - inst.formElement = tinyMCE.isGecko ? parentElm.previousSibling : parentElm.nextSibling; - - tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst); - tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc()); - - // Re-add design mode on mozilla - if (!tinyMCE.isMSIE) - tinyMCE.addEventHandlers(inst); - - // Add blur handler - if (tinyMCE.isMSIE) { - tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch); - tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953 - - // Workaround for drag drop/copy paste base href bug - if (!tinyMCE.isOpera) { - tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove); - tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch); - tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch); - } - } - - // Trigger node change, this call locks buttons for tables and so forth - tinyMCE.selectedInstance = inst; - tinyMCE.selectedElement = inst.contentWindow.document.body; - - // Call custom DOM cleanup - tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody()); - tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody()); - tinyMCE._setEventsEnabled(inst.getBody(), false); - tinyMCE.cleanupAnchors(inst.getDoc()); - - if (tinyMCE.getParam("convert_fonts_to_spans")) - tinyMCE.convertSpansToFonts(inst.getDoc()); - - inst.startContent = tinyMCE.trim(inst.getBody().innerHTML); - inst.undoRedo.add({ content : inst.startContent }); - - tinyMCE.selectedInstance = inst; - tinyMCE.triggerNodeChange(false, true); - }, - - storeAwayURLs : function(s) { - // Remove all mce_src, mce_href and replace them with new ones - // s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), ''); - // s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), ''); - - if (!s.match(/(mce_src|mce_href)/gi, s)) { - s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"'); - s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"'); - } - - return s; - }, - - removeTinyMCEFormElements : function(form_obj) { - // Check if form is valid - if (typeof(form_obj) == "undefined" || form_obj == null) - return; - - // If not a form, find the form - if (form_obj.nodeName != "FORM") { - if (form_obj.form) - form_obj = form_obj.form; - else - form_obj = tinyMCE.getParentElement(form_obj, "form"); - } - - // Still nothing - if (form_obj == null) - return; - - // Disable all UI form elements that TinyMCE created - for (var i=0; i"); - rng.collapse(false); - rng.select(); - - tinyMCE.execCommand("mceAddUndoLevel"); - tinyMCE.triggerNodeChange(false); - return false; - } - } - - // Backspace or delete - if (e.keyCode == 8 || e.keyCode == 46) { - tinyMCE.selectedElement = e.target; - tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a"); - tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img"); - tinyMCE.triggerNodeChange(false); - } - - return false; - break; - - case "keyup": - case "keydown": - tinyMCE.hideMenus(); - tinyMCE.hasMouseMoved = false; - - if (inst && inst.handleShortcut(e)) - return false; - - if (e.target.editorId) - tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId]; - else - return; - - if (tinyMCE.selectedInstance) - tinyMCE.selectedInstance.switchSettings(); - - var inst = tinyMCE.selectedInstance; - - // Handle backspace - if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) { - // Insert P element instead of BR - if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) { - // Cancel event - tinyMCE.execCommand("mceAddUndoLevel"); - e.preventDefault(); - return false; - } - } - - tinyMCE.selectedElement = null; - tinyMCE.selectedNode = null; - var elm = tinyMCE.selectedInstance.getFocusElement(); - tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a"); - tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img"); - tinyMCE.selectedElement = elm; - - // Update visualaids on tabs - if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9) - tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); - - // Fix empty elements on return/enter, check where enter occured - if (tinyMCE.isMSIE && e.type == "keydown" && e.keyCode == 13) - tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement(); - - // Fix empty elements on return/enter - if (tinyMCE.isMSIE && e.type == "keyup" && e.keyCode == 13) { - var elm = tinyMCE.enterKeyElement; - if (elm) { - var re = new RegExp('^HR|IMG|BR$','g'); // Skip these - var dre = new RegExp('^H[1-6]$','g'); // Add double on these - - if (!elm.hasChildNodes() && !re.test(elm.nodeName)) { - if (dre.test(elm.nodeName)) - elm.innerHTML = "  "; - else - elm.innerHTML = " "; - } - } - } - - // Check if it's a position key - var keys = tinyMCE.posKeyCodes; - var posKey = false; - for (var i=0; i'; - h += ''; - h += ''; - } else { - // Normal button - h += ''; - h += ''; - h += ''; - } - - return h; - }, - - addButtonMap : function(m) { - var i, a = m.replace(/\s+/, '').split(','); - - for (i=0; i 0); - - if (tinyMCE.settings['custom_undo_redo']) { - undoIndex = inst.undoRedo.undoIndex; - undoLevels = inst.undoRedo.undoLevels.length; - } - - tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content); - } - - if (this.selectedInstance && (typeof(focus) == "undefined" || focus)) - this.selectedInstance.contentWindow.focus(); - }, - - _customCleanup : function(inst, type, content) { - var pl, po, i; - - // Call custom cleanup - var customCleanup = tinyMCE.settings['cleanup_callback']; - if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined") - content = eval(customCleanup + "(type, content, inst);"); - - // Trigger plugin cleanups - pl = inst.plugins; - for (i=0; i 0) { - for (i=ar.length-1; i>=0; i--) { - s = ar[i].substring(2, ar[i].length-1); - - if (s.indexOf('lang_') == 0 && tinyMCELang[s]) - h = tinyMCE.replaceVar(h, s, tinyMCELang[s]); - else if (as && as[s]) - h = tinyMCE.replaceVar(h, s, as[s]); - else if (tinyMCE.settings[s]) - h = tinyMCE.replaceVar(h, s, tinyMCE.settings[s]); - } - } - - h = tinyMCE.replaceVar(h, "themeurl", tinyMCE.themeURL); - - return h; - }, - - replaceVar : function(h, r, v) { - return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v); - }, - - openWindow : function(template, args) { - var html, width, height, x, y, resizable, scrollbars, url; - - args['mce_template_file'] = template['file']; - args['mce_width'] = template['width']; - args['mce_height'] = template['height']; - tinyMCE.windowArgs = args; - - html = template['html']; - if (!(width = parseInt(template['width']))) - width = 320; - - if (!(height = parseInt(template['height']))) - height = 200; - - // Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!! - if (tinyMCE.isMSIE) - height += 40; - else - height += 20; - - x = parseInt(screen.width / 2.0) - (width / 2.0); - y = parseInt(screen.height / 2.0) - (height / 2.0); - - resizable = (args && args['resizable']) ? args['resizable'] : "no"; - scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no"; - - if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1) - url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file']; - else - url = template['file']; - - // Replace all args as variables in URL - for (var name in args) { - if (typeof(args[name]) == 'function') - continue; - - url = tinyMCE.replaceVar(url, name, escape(args[name])); - } - - if (html) { - html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']); - html = tinyMCE.applyTemplate(html, args); - - var win = window.open("", "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,minimizable=" + resizable + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable); - if (win == null) { - alert(tinyMCELang['lang_popup_blocked']); - return; - } - - win.document.write(html); - win.document.close(); - win.resizeTo(width, height); - win.focus(); - } else { - if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && resizable != 'yes' && tinyMCE.settings["dialog_type"] == "modal") { - height += 10; - - var features = "resizable:" + resizable - + ";scroll:" - + scrollbars + ";status:yes;center:yes;help:no;dialogWidth:" - + width + "px;dialogHeight:" + height + "px;"; - - window.showModalDialog(url, window, features); - } else { - var modal = (resizable == "yes") ? "no" : "yes"; - - if (tinyMCE.isGecko && tinyMCE.isMac) - modal = "no"; - - if (template['close_previous'] != "no") - try {tinyMCE.lastWindow.close();} catch (ex) {} - - var win = window.open(url, "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=" + modal + ",minimizable=" + resizable + ",modal=" + modal + ",width=" + width + ",height=" + height + ",resizable=" + resizable); - if (win == null) { - alert(tinyMCELang['lang_popup_blocked']); - return; - } - - if (template['close_previous'] != "no") - tinyMCE.lastWindow = win; - - eval('try { win.resizeTo(width, height); } catch(e) { }'); - - // Make it bigger if statusbar is forced - if (tinyMCE.isGecko) { - if (win.document.defaultView.statusbar.visible) - win.resizeBy(0, tinyMCE.isMac ? 10 : 24); - } - - win.focus(); - } - } - }, - - closeWindow : function(win) { - win.close(); - }, - - getVisualAidClass : function(class_name, state) { - var aidClass = tinyMCE.settings['visual_table_class']; - - if (typeof(state) == "undefined") - state = tinyMCE.settings['visual']; - - // Split - var classNames = new Array(); - var ar = class_name.split(' '); - for (var i=0; i 0) - className += " "; - - className += classNames[i]; - } - - return className; - }, - - handleVisualAid : function(el, deep, state, inst) { - if (!el) - return; - - var tableElement = null; - - switch (el.nodeName) { - case "TABLE": - var oldW = el.style.width; - var oldH = el.style.height; - var bo = tinyMCE.getAttrib(el, "border"); - - bo = bo == "" || bo == "0" ? true : false; - - tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo)); - - el.style.width = oldW; - el.style.height = oldH; - - for (var y=0; y', 'gi'), ''); - - html_content = tinyMCE.cleanupHTMLCode(html_content); - - // Try innerHTML if it fails use pasteHTML in MSIE - try { - tinyMCE.setInnerHTML(doc.body, html_content); - } catch (e) { - if (this.isMSIE) - doc.body.createTextRange().pasteHTML(html_content); - } - - // Content duplication bug fix - if (tinyMCE.isMSIE && tinyMCE.settings['fix_content_duplication']) { - // Remove P elements in P elements - var paras = doc.getElementsByTagName("P"); - for (var i=0; i<\/o:p>", "
    "); - html = tinyMCE.regexpReplace(html, " <\/o:p>", ""); - html = tinyMCE.regexpReplace(html, "", ""); - html = tinyMCE.regexpReplace(html, "

    <\/p>", ""); - html = tinyMCE.regexpReplace(html, "

    <\/p>\r\n

    <\/p>", ""); - html = tinyMCE.regexpReplace(html, "

     <\/p>", "
    "); - html = tinyMCE.regexpReplace(html, "

    \s*(

    \s*)?", "

    "); - html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "

    "); - }*/ - - // Always set the htmlText output - tinyMCE.setInnerHTML(doc.body, html); - } - - tinyMCE.cleanupAnchors(doc); - - if (tinyMCE.getParam("convert_fonts_to_spans")) - tinyMCE.convertSpansToFonts(doc); - }, - - getEditorId : function(form_element) { - var inst = this.getInstanceById(form_element); - if (!inst) - return null; - - return inst.editorId; - }, - - getInstanceById : function(editor_id) { - var inst = this.instances[editor_id]; - if (!inst) { - for (var n in tinyMCE.instances) { - var instance = tinyMCE.instances[n]; - if (!tinyMCE.isInstance(instance)) - continue; - - if (instance.formTargetElementId == editor_id) { - inst = instance; - break; - } - } - } - - return inst; - }, - - queryInstanceCommandValue : function(editor_id, command) { - var inst = tinyMCE.getInstanceById(editor_id); - if (inst) - return inst.queryCommandValue(command); - - return false; - }, - - queryInstanceCommandState : function(editor_id, command) { - var inst = tinyMCE.getInstanceById(editor_id); - if (inst) - return inst.queryCommandState(command); - - return null; - }, - - setWindowArg : function(n, v) { - this.windowArgs[n] = v; - }, - - getWindowArg : function(n, d) { - return (typeof(this.windowArgs[n]) == "undefined") ? d : this.windowArgs[n]; - }, - - getCSSClasses : function(editor_id, doc) { - var output = new Array(); - - // Is cached, use that - if (typeof(tinyMCE.cssClasses) != "undefined") - return tinyMCE.cssClasses; - - if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") { - var instance; - - for (var instanceName in tinyMCE.instances) { - instance = tinyMCE.instances[instanceName]; - if (!tinyMCE.isInstance(instance)) - continue; - - break; - } - - doc = instance.getDoc(); - } - - if (typeof(doc) == "undefined") { - var instance = tinyMCE.getInstanceById(editor_id); - doc = instance.getDoc(); - } - - if (doc) { - var styles = tinyMCE.isMSIE ? doc.styleSheets : doc.styleSheets; - - if (styles && styles.length > 0) { - for (var x=0; x 0) - tinyMCE.cssClasses = output; - - return output; - }, - - regexpReplace : function(in_str, reg_exp, replace_str, opts) { - if (in_str == null) - return in_str; - - if (typeof(opts) == "undefined") - opts = 'g'; - - var re = new RegExp(reg_exp, opts); - return in_str.replace(re, replace_str); - }, - - trim : function(s) { - return s.replace(/^\s*|\s*$/g, ""); - }, - - cleanupEventStr : function(s) { - s = "" + s; - s = s.replace('function anonymous()\n{\n', ''); - s = s.replace('\n}', ''); - s = s.replace(/^return true;/gi, ''); // Remove event blocker - - return s; - }, - - getControlHTML : function(c) { - var i, l, n, o, v; - - l = tinyMCE.plugins; - for (n in l) { - o = l[n]; - - if (o.getControlHTML && (v = o.getControlHTML(c)) != '') - return tinyMCE.replaceVar(v, "pluginurl", o.baseURL); - } - - o = tinyMCE.themes[tinyMCE.settings['theme']]; - if (o.getControlHTML && (v = o.getControlHTML(c)) != '') - return v; - - return ''; - }, - - evalFunc : function(f, idx, a) { - var s = '(', i; - - for (i=idx; i 0) - return true; - - if (ins != null) { - for (i=0, l = ins.plugins; i 0) - return true; - } - } - - l = tinyMCE.themes; - for (on in l) { - o = l[on]; - - if (o[n] && (v = tinyMCE.evalFunc(o[n], 3, a)) == s && m > 0) - return true; - } - - return false; - }, - - xmlEncode : function(s) { - s = "" + s; - s = s.replace(/&/g, '&'); - s = s.replace(new RegExp('"', 'g'), '"'); - s = s.replace(/\'/g, '''); // ' is not working in MSIE - s = s.replace(//g, '>'); - - return s; - }, - - extend : function(p, np) { - var o = {}; - - o.parent = p; - - for (n in p) - o[n] = p[n]; - - for (n in np) - o[n] = np[n]; - - return o; - }, - - hideMenus : function() { - var e = tinyMCE.lastSelectedMenuBtn; - - if (tinyMCE.lastMenu) { - tinyMCE.lastMenu.hide(); - tinyMCE.lastMenu = null; - } - - if (e) { - tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass); - tinyMCE.lastSelectedMenuBtn = null; - } - } -}; - -// Global instances -var TinyMCE = TinyMCE_Engine; // Compatiblity with gzip compressors -var tinyMCE = new TinyMCE_Engine(); -var tinyMCELang = {}; - -/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */ - -function TinyMCE_Control(settings) { - var t, i, to, fu, p, x, fn, fu, pn, s = settings; - - this.undoRedoLevel = true; - this.isTinyMCE_Control = true; - - // Default settings - this.settings = s; - this.settings['theme'] = tinyMCE.getParam("theme", "default"); - this.settings['width'] = tinyMCE.getParam("width", -1); - this.settings['height'] = tinyMCE.getParam("height", -1); - this.selection = new TinyMCE_Selection(this); - this.undoRedo = new TinyMCE_UndoRedo(this); - this.cleanup = new TinyMCE_Cleanup(); - this.shortcuts = new Array(); - this.hasMouseMoved = false; - - this.cleanup.init({ - valid_elements : s.valid_elements, - extended_valid_elements : s.extended_valid_elements, - entities : s.entities, - entity_encoding : s.entity_encoding, - debug : s.cleanup_debug, - url_converter : 'TinyMCE_Cleanup.prototype._urlConverter', - indent : s.apply_source_formatting, - invalid_elements : s.invalid_elements, - verify_html : s.verify_html, - fix_content_duplication : s.fix_content_duplication - }); - - // Wrap old theme - t = this.settings['theme']; - if (!tinyMCE.hasTheme(t)) { - fn = tinyMCE.callbacks; - to = {}; - - for (i=0; i 0) { - for (i=0; i 1 && tinyMCE.currentConfig != this.settings['index']) { - tinyMCE.settings = this.settings; - tinyMCE.currentConfig = this.settings['index']; - } - }, - - getBody : function() { - return this.getDoc().body; - }, - - getDoc : function() { - return this.contentWindow.document; - }, - - getWin : function() { - return this.contentWindow; - }, - - addShortcut : function(m, k, d, cmd, ui, va) { - var n = typeof(k) == "number", ie = tinyMCE.isMSIE, c, sc, i; - var scl = this.shortcuts; - - if (!tinyMCE.getParam('custom_shortcuts')) - return false; - - m = m.toLowerCase(); - k = ie && !n ? k.toUpperCase() : k; - c = n ? null : k.charCodeAt(0); - d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d; - - sc = { - alt : m.indexOf('alt') != -1, - ctrl : m.indexOf('ctrl') != -1, - shift : m.indexOf('shift') != -1, - charCode : c, - keyCode : n ? k : (ie ? c : null), - desc : d, - cmd : cmd, - ui : ui, - val : va - }; - - for (i=0; i 0) - rng.pasteHTML('
    ' + rng.htmlText + "
    "); - - tinyMCE.triggerNodeChange(); - return; - } - } - } - - switch (command) { - case "mceRepaint": - this.repaint(); - return true; - - case "InsertUnorderedList": - case "InsertOrderedList": - var tag = (command == "InsertUnorderedList") ? "ul" : "ol"; - - if (tinyMCE.isSafari) - this.execCommand("mceInsertContent", false, "<" + tag + ">
  •  
  • <" + tag + ">"); - else - this.getDoc().execCommand(command, user_interface, value); - - tinyMCE.triggerNodeChange(); - break; - - case "Strikethrough": - if (tinyMCE.isSafari) - this.execCommand("mceInsertContent", false, "" + this.selection.getSelectedHTML() + ""); - else - this.getDoc().execCommand(command, user_interface, value); - - tinyMCE.triggerNodeChange(); - break; - - case "mceSelectNode": - this.selection.selectNode(value); - tinyMCE.triggerNodeChange(); - tinyMCE.selectedNode = value; - break; - - case "FormatBlock": - if (value == null || value == "") { - var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address"); - - if (elm) - this.execCommand("mceRemoveNode", false, elm); - } else { - if (value == '
    ' && tinyMCE.isGecko) - value = 'div'; - - this.getDoc().execCommand("FormatBlock", false, value); - } - - tinyMCE.triggerNodeChange(); - - break; - - case "mceRemoveNode": - if (!value) - value = tinyMCE.getParentElement(this.getFocusElement()); - - if (tinyMCE.isMSIE) { - value.outerHTML = value.innerHTML; - } else { - var rng = value.ownerDocument.createRange(); - rng.setStartBefore(value); - rng.setEndAfter(value); - rng.deleteContents(); - rng.insertNode(rng.createContextualFragment(value.innerHTML)); - } - - tinyMCE.triggerNodeChange(); - - break; - - case "mceSelectNodeDepth": - var parentNode = this.getFocusElement(); - for (var i=0; parentNode; i++) { - if (parentNode.nodeName.toLowerCase() == "body") - break; - - if (parentNode.nodeName.toLowerCase() == "#text") { - i--; - parentNode = parentNode.parentNode; - continue; - } - - if (i == value) { - this.selection.selectNode(parentNode, false); - tinyMCE.triggerNodeChange(); - tinyMCE.selectedNode = parentNode; - return; - } - - parentNode = parentNode.parentNode; - } - - break; - - case "SetStyleInfo": - var rng = this.getRng(); - var sel = this.getSel(); - var scmd = value['command']; - var sname = value['name']; - var svalue = value['value'] == null ? '' : value['value']; - //var svalue = value['value'] == null ? '' : value['value']; - var wrapper = value['wrapper'] ? value['wrapper'] : "span"; - var parentElm = null; - var invalidRe = new RegExp("^BODY|HTML$", "g"); - var invalidParentsRe = tinyMCE.settings['merge_styles_invalid_parents'] != '' ? new RegExp(tinyMCE.settings['merge_styles_invalid_parents'], "gi") : null; - - // Whole element selected check - if (tinyMCE.isMSIE) { - // Control range - if (rng.item) - parentElm = rng.item(0); - else { - var pelm = rng.parentElement(); - var prng = doc.selection.createRange(); - prng.moveToElementText(pelm); - - if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) { - if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName)) - parentElm = pelm; - } - } - } else { - var felm = this.getFocusElement(); - if (sel.isCollapsed || (new RegExp('td|tr|tbody|table', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode)) - parentElm = felm; - } - - // Whole element selected - if (parentElm && !invalidRe.test(parentElm.nodeName)) { - if (scmd == "setstyle") - tinyMCE.setStyleAttrib(parentElm, sname, svalue); - - if (scmd == "setattrib") - tinyMCE.setAttrib(parentElm, sname, svalue); - - if (scmd == "removeformat") { - parentElm.style.cssText = ''; - tinyMCE.setAttrib(parentElm, 'class', ''); - } - - // Remove style/attribs from all children - var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1); - for (var z=0; z=0; i--) { - var elm = nodes[i]; - var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true"; - - elm.removeAttribute("mce_new"); - - // Is only child a element - if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) { - //tinyMCE.debug("merge1" + isNew); - this._mergeElements(scmd, elm, elm.childNodes[0], isNew); - continue; - } - - // Is I the only child - if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) { - //tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName); - if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName)) - this._mergeElements(scmd, elm.parentNode, elm, false); - } - } - - // Remove empty wrappers - var nodes = doc.getElementsByTagName(wrapper); - for (var i=nodes.length-1; i>=0; i--) { - var elm = nodes[i]; - var isEmpty = true; - - // Check if it has any attribs - var tmp = doc.createElement("body"); - tmp.appendChild(elm.cloneNode(false)); - - // Is empty span, remove it - tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), ''); - //tinyMCE.debug(tmp.innerHTML); - if (new RegExp('', 'gi').test(tmp.innerHTML)) { - for (var x=0; x 0) { - value = tinyMCE.replaceVar(value, "selection", selectedText); - tinyMCE.execCommand('mceInsertContent', false, value); - } - - tinyMCE.triggerNodeChange(); - break; - - case "mceSetAttribute": - if (typeof(value) == 'object') { - var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets']; - var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms); - - if (targetNode) { - targetNode.setAttribute(value['name'], value['value']); - tinyMCE.triggerNodeChange(); - } - } - break; - - case "mceSetCSSClass": - this.execCommand("SetStyleInfo", false, {command : "setattrib", name : "class", value : value}); - break; - - case "mceInsertRawHTML": - var key = 'tiny_mce_marker'; - - this.execCommand('mceBeginUndoLevel'); - - // Insert marker key - this.execCommand('mceInsertContent', false, key); - - // Store away scroll pos - var scrollX = this.getDoc().body.scrollLeft + this.getDoc().documentElement.scrollLeft; - var scrollY = this.getDoc().body.scrollTop + this.getDoc().documentElement.scrollTop; - - // Find marker and replace with RAW HTML - var html = this.getBody().innerHTML; - if ((pos = html.indexOf(key)) != -1) - tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length)); - - // Restore scoll pos - this.contentWindow.scrollTo(scrollX, scrollY); - - this.execCommand('mceEndUndoLevel'); - - break; - - case "mceInsertContent": - // Force empty string - if (!value) - value = ''; - - var insertHTMLFailed = false; - this.getWin().focus(); - - if (tinyMCE.isGecko || tinyMCE.isOpera) { - try { - // Is plain text or HTML, &,   etc will be encoded wrong in FF - if (value.indexOf('<') == -1 && !value.match(/(&| |<|>)/g)) { - var r = this.getRng(); - var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value)); - var s = this.getSel(); - var r2 = r.cloneRange(); - - // Insert text at cursor position - s.removeAllRanges(); - r.deleteContents(); - r.insertNode(n); - - // Move the cursor to the end of text - r2.selectNode(n); - r2.collapse(false); - s.removeAllRanges(); - s.addRange(r2); - } else { - value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value); - this.getDoc().execCommand('inserthtml', false, value); - tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value); - } - } catch (ex) { - insertHTMLFailed = true; - } - - if (!insertHTMLFailed) { - tinyMCE.triggerNodeChange(); - return; - } - } - - // Ugly hack in Opera due to non working "inserthtml" - if (tinyMCE.isOpera && insertHTMLFailed) { - this.getDoc().execCommand("insertimage", false, tinyMCE.uniqueURL); - var ar = tinyMCE.getElementsByAttributeValue(this.getBody(), "img", "src", tinyMCE.uniqueURL); - ar[0].outerHTML = value; - return; - } - - if (!tinyMCE.isMSIE) { - var isHTML = value.indexOf('<') != -1; - var sel = this.getSel(); - var rng = this.getRng(); - - if (isHTML) { - if (tinyMCE.isSafari) { - var tmpRng = this.getDoc().createRange(); - - tmpRng.setStart(this.getBody(), 0); - tmpRng.setEnd(this.getBody(), 0); - - value = tmpRng.createContextualFragment(value); - } else - value = rng.createContextualFragment(value); - } else { - // Setup text node - var el = document.createElement("div"); - el.innerHTML = value; - value = el.firstChild.nodeValue; - value = doc.createTextNode(value); - } - - // Insert plain text in Safari - if (tinyMCE.isSafari && !isHTML) { - this.execCommand('InsertText', false, value.nodeValue); - tinyMCE.triggerNodeChange(); - return true; - } else if (tinyMCE.isSafari && isHTML) { - rng.deleteContents(); - rng.insertNode(value); - tinyMCE.triggerNodeChange(); - return true; - } - - rng.deleteContents(); - - // If target node is text do special treatment, (Mozilla 1.3 fix) - if (rng.startContainer.nodeType == 3) { - var node = rng.startContainer.splitText(rng.startOffset); - node.parentNode.insertBefore(value, node); - } else - rng.insertNode(value); - - if (!isHTML) { - // Removes weird selection trails - sel.selectAllChildren(doc.body); - sel.removeAllRanges(); - - // Move cursor to end of content - var rng = doc.createRange(); - - rng.selectNode(value); - rng.collapse(false); - - sel.addRange(rng); - } else - rng.collapse(false); - - tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value); - } else { - var rng = doc.selection.createRange(); - var c = value.indexOf('"; - } - - if (hc) { - cn = n.childNodes; - - for (i=0, l=cn.length; i'; - - return h; - }, - - _serializeAttribute : function(n, r, an) { - var av = '', t, os = this.settings.on_save; - - if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0)) - return ''; - - if (os && this.mceAttribs[an]) - av = this._getAttrib(n, this.mceAttribs[an]); - - if (av.length == 0) - av = this._getAttrib(n, an); - - if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) { - av = t; - - if (av == "mce_empty") - return " " + an + '=""'; - } - - if (r.forceAttribs && (t = r.forceAttribs[an])) - av = t; - - if (os && av.length != 0 && this.settings.url_converter.length != 0 && /^(src|href|longdesc)$/.test(an)) - av = eval(this.settings.url_converter + '(this, n, av)'); - - if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av)) - return ""; - - if (av.length != 0 && av == "{$uid}") - av = "uid_" + (this.idCount++); - - if (av.length != 0) - return " " + an + "=" + '"' + this.xmlEncode(av) + '"'; - - return ""; - }, - - formatHTML : function(h) { - var s = this.settings, p = '', i = 0, li = 0, o = '', l; - - h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :) - h = '\n' + h; - h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting - h = h.replace(this.nlBeforeRe, '\n<$1$2>'); - h = h.replace(this.nlAfterRe, '<$1$2>\n'); - h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n'); - h += '\n'; - - //tinyMCE.debug(h); - - while ((i = h.indexOf('\n', i + 1)) != -1) { - if ((l = h.substring(li + 1, i)).length != 0) { - if (this.ouRe.test(l) && p.length >= s.indent_levels) - p = p.substring(s.indent_levels); - - o += p + l + '\n'; - - if (this.inRe.test(l)) - p += this.inStr; - } - - li = i; - } - - //tinyMCE.debug(h); - - return o; - }, - - xmlEncode : function(s) { - var i, l, e, o = '', c; - - this._setupEntities(); // Will intialize lookup table - - switch (this.settings.entity_encoding) { - case "raw": - return tinyMCE.xmlEncode(s); - - case "named": - for (i=0, l=s.length; i 127 || c == 60 || c == 62 || c == 38 || c == 39 || c == 34) - o += '&#' + c + ";"; - else - o += String.fromCharCode(c); - } - - return o; - } - - return s; - }, - - split : function(re, s) { - var c = s.split(re); - var i, l, o = new Array(); - - for (i=0, l=c.length; i gets converted to
    . - h = h.replace(/\s\/>/g, '>'); - - // Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones - h = h.replace(/]*)>\u00A0?<\/p>/gi, ' 

    '); // Keep empty paragraphs - h = h.replace(/]*)> <\/p>/gi, ' 

    '); // Keep empty paragraphs - - // Remove first comment - e.innerHTML = tinyMCE.uniqueTag + h; - e.firstChild.removeNode(true); - - // Remove weird auto generated empty paragraphs unless it's supposed to be there - nl = e.getElementsByTagName("p"); - for (i=nl.length-1; i>=0; i--) { - n = nl[i]; - - if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep) - n.parentNode.removeChild(n); - } - } else { - h = this.fixGeckoBaseHREFBug(1, e, h); - e.innerHTML = h; - this.fixGeckoBaseHREFBug(2, e, h); - } -}; - -TinyMCE_Engine.prototype.getOuterHTML = function(e) { - if (tinyMCE.isMSIE) - return e.outerHTML; - - var d = e.ownerDocument.createElement("body"); - d.appendChild(e); - return d.innerHTML; -}; - -TinyMCE_Engine.prototype.setOuterHTML = function(e, h) { - if (tinyMCE.isMSIE) { - e.outerHTML = h; - return; - } - - var d = e.ownerDocument.createElement("body"); - d.innerHTML = h; - e.parentNode.replaceChild(d.firstChild, e); -}; - -TinyMCE_Engine.prototype._getElementById = function(id, d) { - var e, i, j, f; - - if (typeof(d) == "undefined") - d = document; - - e = d.getElementById(id); - if (!e) { - f = d.forms; - - for (i=0; i= strTok2.length) { - for (var i=0; i= strTok2.length || strTok1[i] != strTok2[i]) { - breakPoint = i + 1; - break; - } - } - } - - if (strTok1.length < strTok2.length) { - for (var i=0; i= strTok1.length || strTok1[i] != strTok2[i]) { - breakPoint = i + 1; - break; - } - } - } - - if (breakPoint == 1) - return targetURL.path; - - for (var i=0; i<(strTok1.length-(breakPoint-1)); i++) - outPath += "../"; - - for (var i=breakPoint-1; i=0; i--) { - if (baseURLParts[i].length == 0) - continue; - - newBaseURLParts[newBaseURLParts.length] = baseURLParts[i]; - } - baseURLParts = newBaseURLParts.reverse(); - - // Merge relURLParts chunks - var newRelURLParts = new Array(); - var numBack = 0; - for (var i=relURLParts.length-1; i>=0; i--) { - if (relURLParts[i].length == 0 || relURLParts[i] == ".") - continue; - - if (relURLParts[i] == '..') { - numBack++; - continue; - } - - if (numBack > 0) { - numBack--; - continue; - } - - newRelURLParts[newRelURLParts.length] = relURLParts[i]; - } - - relURLParts = newRelURLParts.reverse(); - - // Remove end from absolute path - var len = baseURLParts.length-numBack; - var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/'); - var start = "", end = ""; - - // Build output URL - relURL.protocol = baseURL.protocol; - relURL.host = baseURL.host; - relURL.port = baseURL.port; - - // Re-add trailing slash if it's removed - if (relURL.path.charAt(relURL.path.length-1) == "/") - absPath += "/"; - - relURL.path = absPath; - - return this.serializeURL(relURL); -}; - -TinyMCE_Engine.prototype.convertURL = function(url, node, on_save) { - var prot = document.location.protocol; - var host = document.location.hostname; - var port = document.location.port; - - // Pass through file protocol - if (prot == "file:") - return url; - - // Something is wrong, remove weirdness - url = tinyMCE.regexpReplace(url, '(http|https):///', '/'); - - // Mailto link or anchor (Pass through) - if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#") - return url; - - // Fix relative/Mozilla - if (!tinyMCE.isMSIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/') - return tinyMCE.settings['base_href'] + url; - - // Handle relative URLs - if (on_save && tinyMCE.getParam('relative_urls')) { - var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url); - if (curl.charAt(0) == '/') - curl = tinyMCE.settings['document_base_prefix'] + curl; - - var urlParts = tinyMCE.parseURL(curl); - var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']); - - // Force relative - if (urlParts['host'] == tmpUrlParts['host'] && (urlParts['port'] == tmpUrlParts['port'])) - return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], curl); - } - - // Handle absolute URLs - if (!tinyMCE.getParam('relative_urls')) { - var urlParts = tinyMCE.parseURL(url); - var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']); - - // Force absolute URLs from relative URLs - url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url); - - // If anchor and path is the same page - if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path']) - return "#" + urlParts['anchor']; - } - - // Remove current domain - if (tinyMCE.getParam('remove_script_host')) { - var start = "", portPart = ""; - - if (port != "") - portPart = ":" + port; - - start = prot + "//" + host + portPart + "/"; - - if (url.indexOf(start) == 0) - url = url.substring(start.length-1); - } - - return url; -}; - -TinyMCE_Engine.prototype.convertAllRelativeURLs = function(body) { - // Convert all image URL:s to absolute URL - var elms = body.getElementsByTagName("img"); - for (var i=0; i bookmark.index) - rng.addElement(nl[bookmark.index]); - } else { - rng = inst.getSel().createRange(); - rng.moveToElementText(inst.getBody()); - rng.collapse(true); - rng.moveStart('character', bookmark.start); - rng.moveEnd('character', bookmark.length); - } - - rng.select(); - - win.scrollTo(bookmark.scrollX, bookmark.scrollY); - return true; - } - - if (tinyMCE.isGecko && bookmark.rng) { - sel.removeAllRanges(); - sel.addRange(bookmark.rng); - win.scrollTo(bookmark.scrollX, bookmark.scrollY); - return true; - } - - if (tinyMCE.isGecko) { - // try { - rng = doc.createRange(); - - nl = doc.getElementsByTagName(bookmark.startTag); - if (nl.length > bookmark.start) - rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex], bookmark.startOffset); - - nl = doc.getElementsByTagName(bookmark.endTag); - if (nl.length > bookmark.end) - rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex], bookmark.endOffset); - - sel.removeAllRanges(); - sel.addRange(rng); - /* } catch { - // Ignore - }*/ - - win.scrollTo(bookmark.scrollX, bookmark.scrollY); - return true; - } - - return false; - }, - - selectNode : function(node, collapse, select_text_node, to_start) { - var inst = this.instance, sel, rng, nodes; - - if (!node) - return; - - if (typeof(collapse) == "undefined") - collapse = true; - - if (typeof(select_text_node) == "undefined") - select_text_node = false; - - if (typeof(to_start) == "undefined") - to_start = true; - - if (tinyMCE.isMSIE) { - rng = inst.getBody().createTextRange(); - - try { - rng.moveToElementText(node); - - if (collapse) - rng.collapse(to_start); - - rng.select(); - } catch (e) { - // Throws illigal agrument in MSIE some times - } - } else { - sel = this.getSel(); - - if (!sel) - return; - - if (tinyMCE.isSafari) { - sel.setBaseAndExtent(node, 0, node, node.innerText.length); - - if (collapse) { - if (to_start) - sel.collapseToStart(); - else - sel.collapseToEnd(); - } - - this.scrollToNode(node); - - return; - } - - rng = inst.getDoc().createRange(); - - if (select_text_node) { - // Find first textnode in tree - nodes = tinyMCE.getNodeTree(node, new Array(), 3); - if (nodes.length > 0) - rng.selectNodeContents(nodes[0]); - else - rng.selectNodeContents(node); - } else - rng.selectNode(node); - - if (collapse) { - // Special treatment of textnode collapse - if (!to_start && node.nodeType == 3) { - rng.setStart(node, node.nodeValue.length); - rng.setEnd(node, node.nodeValue.length); - } else - rng.collapse(to_start); - } - - sel.removeAllRanges(); - sel.addRange(rng); - } - - this.scrollToNode(node); - - // Set selected element - tinyMCE.selectedElement = null; - if (node.nodeType == 1) - tinyMCE.selectedElement = node; - }, - - scrollToNode : function(node) { - var inst = this.instance; - var pos, doc, scrollX, scrollY, height; - - // Scroll to node position - pos = tinyMCE.getAbsPosition(node); - doc = inst.getDoc(); - scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft; - scrollY = doc.body.scrollTop + doc.documentElement.scrollTop; - height = tinyMCE.isMSIE ? document.getElementById(inst.editorId).style.pixelHeight : inst.targetElement.clientHeight; - - // Only scroll if out of visible area - if (!tinyMCE.settings['auto_resize'] && !(pos.absTop > scrollY && pos.absTop < (scrollY - 25 + height))) - inst.contentWindow.scrollTo(pos.absLeft, pos.absTop - height + 25); - }, - - getSel : function() { - var inst = this.instance; - - if (tinyMCE.isMSIE && !tinyMCE.isOpera) - return inst.getDoc().selection; - - return inst.contentWindow.getSelection(); - }, - - getRng : function() { - var inst = this.instance; - var sel = this.getSel(); - - if (sel == null) - return null; - - if (tinyMCE.isMSIE && !tinyMCE.isOpera) - return sel.createRange(); - - if (tinyMCE.isSafari && !sel.getRangeAt) - return '' + window.getSelection(); - - return sel.getRangeAt(0); - }, - - getFocusElement : function() { - var inst = this.instance; - - if (tinyMCE.isMSIE && !tinyMCE.isOpera) { - var doc = inst.getDoc(); - var rng = doc.selection.createRange(); - - // if (rng.collapse) - // rng.collapse(true); - - var elm = rng.item ? rng.item(0) : rng.parentElement(); - } else { - if (inst.isHidden()) - return inst.getBody(); - - var sel = this.getSel(); - var rng = this.getRng(); - - if (!sel || !rng) - return null; - - var elm = rng.commonAncestorContainer; - //var elm = (sel && sel.anchorNode) ? sel.anchorNode : null; - - // Handle selection a image or other control like element such as anchors - if (!rng.collapsed) { - // Is selection small - if (rng.startContainer == rng.endContainer) { - if (rng.startOffset - rng.endOffset < 2) { - if (rng.startContainer.hasChildNodes()) - elm = rng.startContainer.childNodes[rng.startOffset]; - } - } - } - - // Get the element parent of the node - elm = tinyMCE.getParentElement(elm); - - //if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") - // elm = tinyMCE.selectedElement; - } - - return elm; - } -}; - -/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */ - -function TinyMCE_UndoRedo(inst) { - this.instance = inst; - this.undoLevels = new Array(); - this.undoIndex = 0; - this.typingUndoIndex = -1; - this.undoRedo = true; -}; - -TinyMCE_UndoRedo.prototype = { - add : function(l) { - var b; - - if (l) { - this.undoLevels[this.undoLevels.length] = l; - return true; - } - - var inst = this.instance; - - if (this.typingUndoIndex != -1) { - this.undoIndex = this.typingUndoIndex; - // tinyMCE.debug("Override: " + this.undoIndex); - } - - var newHTML = tinyMCE.trim(inst.getBody().innerHTML); - if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) { - //tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex]); - - tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst); - - // Time to compress - var customUndoLevels = tinyMCE.settings['custom_undo_redo_levels']; - if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) { - for (var i=0; i 0) { - this.undoIndex--; - tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content); - inst.repaint(); - if (inst.settings.custom_undo_redo_restore_selection) - inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark); - } - - // tinyMCE.debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex); - }, - - redo : function() { - var inst = this.instance; - - tinyMCE.execCommand("mceEndTyping"); - - if (this.undoIndex < (this.undoLevels.length-1)) { - this.undoIndex++; - tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content); - inst.repaint(); -// if (this.undoIndex > 0) -// inst.selection.moveToBookmark(this.undoLevels[this.undoIndex-1].bookmark); - if (inst.settings.custom_undo_redo_restore_selection) - inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark); - // tinyMCE.debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex); - } - - tinyMCE.triggerNodeChange(); - } -}; - -/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */ - -var TinyMCE_ForceParagraphs = { - _insertPara : function(inst, e) { - function isEmpty(para) { - function isEmptyHTML(html) { - return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == ""; - } - - // Check for images - if (para.getElementsByTagName("img").length > 0) - return false; - - // Check for tables - if (para.getElementsByTagName("table").length > 0) - return false; - - // Check for HRs - if (para.getElementsByTagName("hr").length > 0) - return false; - - // Check all textnodes - var nodes = tinyMCE.getNodeTree(para, new Array(), 3); - for (var i=0; i <" + blockName + "> "; - paraAfter = body.childNodes[1]; - } - - inst.selection.selectNode(paraAfter, true, true); - - return true; - } - - // Place first part within new paragraph - if (startChop.nodeName == blockName) - rngBefore.setStart(startChop, 0); - else - rngBefore.setStartBefore(startChop); - - rngBefore.setEnd(startNode, startOffset); - paraBefore.appendChild(rngBefore.cloneContents()); - - // Place secound part within new paragraph - rngAfter.setEndAfter(endChop); - rngAfter.setStart(endNode, endOffset); - var contents = rngAfter.cloneContents(); - - if (contents.firstChild && contents.firstChild.nodeName == blockName) { - /* var nodes = contents.firstChild.childNodes; - for (var i=0; i
    '; - break; - - case 'title': - h += '
    ' + t + ''; - break; - - case 'disabled': - h += '
    ' + t + ''; - break; - - default: - h += '
    ' + t + ''; - } - - h += '
    '; - - e.innerHTML = h; - - this.needsUpdate = false; - this.updateBlocker(); - }, - - show : function() { - var nl, i; - - if (tinyMCE.lastMenu == this) - return; - - if (this.needsUpdate) - this.update(); - - if (tinyMCE.lastMenu && tinyMCE.lastMenu != this) - tinyMCE.lastMenu.hide(); - - this.parent.show.call(this); - - if (!tinyMCE.isOpera) { - // Accessibility stuff -/* nl = this.getElement().getElementsByTagName("a"); - if (nl.length > 0) - nl[0].focus();*/ - } - - tinyMCE.lastMenu = this; - } -}); - -/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */ - -TinyMCE_Engine.prototype.debug = function() { - var m = "", e, a, i; - - e = document.getElementById("tinymce_debug"); - if (!e) { - var d = document.createElement("div"); - d.setAttribute("className", "debugger"); - d.className = "debugger"; - d.innerHTML = 'Debug output:'; - - document.body.appendChild(d); - e = document.getElementById("tinymce_debug"); - } - - a = this.debug.arguments; - for (i=0; i'; - html += ''; - - return html; -} - -function pickColor(e, target_form_element) { - if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown") - tinyMCEPopup.pickColor(e, target_form_element); -} - -function updateColor(img_id, form_element_id) { - document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value; -} - -function setBrowserDisabled(id, state) { - var img = document.getElementById(id); - var lnk = document.getElementById(id + "_link"); - - if (lnk) { - if (state) { - lnk.setAttribute("realhref", lnk.getAttribute("href")); - lnk.removeAttribute("href"); - tinyMCE.switchClass(img, 'mceButtonDisabled', true); - } else { - lnk.setAttribute("href", lnk.getAttribute("realhref")); - tinyMCE.switchClass(img, 'mceButtonNormal', false); - } - } -} - -function getBrowserHTML(id, target_form_element, type, prefix) { - var option = prefix + "_" + type + "_browser_callback"; - var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); - if (cb == null) - return ""; - - var html = ""; - - html += ''; - html += ''; - - return html; -} - -function openBrower(img_id, target_form_element, type, option) { - var img = document.getElementById(img_id); - - if (img.className != "mceButtonDisabled") - tinyMCEPopup.openBrowser(target_form_element, type, option); -} - -function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { - if (!form_obj || !form_obj.elements[field_name]) - return; - - var sel = form_obj.elements[field_name]; - - var found = false; - for (var i=0; i x && mx < x + w && my > y && my < y + h)) { - MCLayer.visibleLayer = null; - - if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my)) - return true; - - l.hide(); - } - } - }, - - addCSSClass : function(e, c) { - this.removeCSSClass(e, c); - var a = this.explode(' ', e.className); - a[a.length] = c; - e.className = a.join(' '); - }, - - removeCSSClass : function(e, c) { - var a = this.explode(' ', e.className), i; - - for (i=0; i 0); -} - -function validateSelection(form_name, element_name) { - return (document.forms[form_name].elements[element_name].selectedIndex > 0); -} - -function validateCheckBox(form_name, element_name) { - return document.forms[form_name].elements[element_name].checked; -} - -function validateCleanString(form_name, element_name) { - return testRegExp(form_name, element_name, '^[A-Za-z0-9_]+$'); -} - -function validateEmail(form_name, element_name) { - return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$'); -} - -function validateAbsUrl(form_name, element_name) { - return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$'); -} - -function validateNumber(form_name, element_name, allow_blank) { - return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$'); -} - -function validateSize(form_name, element_name,) { - return testRegExp(form_name, element_name, '^[0-9]+(px|%)?$'); -} - -function validateID(form_name, element_name,) { - return testRegExp(form_name, element_name, '^[A-Za-z_]([A-Za-z0-9_])*$'); -} diff -ruN 4.6rc2/mambots/editors/tinymce/lgpl.txt 4.6-complete/mambots/editors/tinymce/lgpl.txt --- 4.6rc2/mambots/editors/tinymce/lgpl.txt 2006-04-30 15:27:06.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce/lgpl.txt 1969-12-31 18:00:00.000000000 -0600 @@ -1,437 +0,0 @@ - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. -. - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. -. - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. -. - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. -. - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. -. - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. -. - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. -. - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. -. - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS diff -ruN 4.6rc2/mambots/editors/tinymce.php 4.6-complete/mambots/editors/tinymce.php --- 4.6rc2/mambots/editors/tinymce.php 2006-02-26 11:51:15.000000000 -0600 +++ 4.6-complete/mambots/editors/tinymce.php 1969-12-31 18:00:00.000000000 -0600 @@ -1,120 +0,0 @@ -registerFunction( 'onInitEditor', 'botTinymceEditorInit' ); -$_MAMBOTS->registerFunction( 'onGetEditorContents', 'botTinymceEditorGetContents' ); -$_MAMBOTS->registerFunction( 'onEditorArea', 'botTinymceEditorEditorArea' ); - -/** -* TinyMCE WYSIWYG Editor - javascript initialisation -*/ -function botTinymceEditorInit() { - global $mosConfig_live_site, $database, $mosConfig_absolute_path; - - // load tinymce info - $query = "SELECT id FROM #__mambots WHERE element = 'tinymce' AND folder = 'editors'"; - $database->setQuery( $query ); - $id = $database->loadResult(); - $mambot = new mosMambot( $database ); - $mambot->load( $id ); - $params =& new mosParameters( $mambot->params ); - - $theme = $params->get( 'theme', 'advanced' ); - // Check for old default option and set to advanced - if ($theme == 'default' ) { - $theme = 'simple'; - } - - $toolbar = $params->def( 'toolbar', 'top' ); - $html_height = $params->def( 'html_height', '550' ); - $html_width = $params->def( 'html_width', '750' ); - $text_direction = $params->def( 'text_direction', 'ltr' ); - $content_css = $params->def( 'content_css', 1 ); - $content_css_custom = $params->def( 'content_css_custom', '' ); - $invalid_elements = $params->def( 'invalid_elements', 'script,object,applet,iframe' ); - $newlines = $params->def( 'newlines', 'false' ); - - if ( $content_css ) { - $query = "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'"; - $database->setQuery( $query ); - $template = $database->loadResult(); - $content_css = 'content_css : "'. $mosConfig_live_site .'/templates/'. $template .'/css/template_css.css"'; - } else { - if ( $content_css_custom ) { - $content_css = 'content_css : "'. $content_css_custom .'"'; - } else { - $content_css = ''; - } - } - - return << - -EOD; -} -/** -* TinyMCE WYSIWYG Editor - copy editor contents to form field -* @param string The name of the editor area -* @param string The name of the form field -*/ -function botTinymceEditorGetContents( $editorArea, $hiddenField ) { - return <<trigger( 'onCustomEditorButton' ); - $buttons = array(); - foreach ($results as $result) { - $buttons[] = ''; - } - $buttons = implode( "", $buttons ); - - return <<$content -
    $buttons -EOD; -} -?> diff -ruN 4.6rc2/mambots/editors/tinymce.xml 4.6-complete/mambots/editors/tinymce.xml --- 4.6rc2/mambots/editors/tinymce.xml 2006-04-30 13:23:50.000000000 -0500 +++ 4.6-complete/mambots/editors/tinymce.xml 1969-12-31 18:00:00.000000000 -0600 @@ -1,40 +0,0 @@ - - - TinyMCE - 2.0.5.1 - April 2006 - Moxiecode Systems AB - N/A - tinymce.moxiecode.com/ - Moxiecode Systems AB - LGPL - TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -ruN 4.6rc2/mambots/search/newsfeeds.searchbot.xml 4.6-complete/mambots/search/newsfeeds.searchbot.xml --- 4.6rc2/mambots/search/newsfeeds.searchbot.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/mambots/search/newsfeeds.searchbot.xml 2006-09-20 19:05:03.000000000 -0500 @@ -1,15 +1,16 @@ - - contacts searchbot - Mambo Project - August 2004 + + Search Newsfeeds + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 Allows Searching of Newsfeeds + newsfeeds.searchbot.xml newsfeeds.searchbot.php diff -ruN 4.6rc2/mambots/search/weblinks.searchbot.xml 4.6-complete/mambots/search/weblinks.searchbot.xml --- 4.6rc2/mambots/search/weblinks.searchbot.xml 2006-05-14 15:48:05.000000000 -0500 +++ 4.6-complete/mambots/search/weblinks.searchbot.xml 2006-09-20 19:05:03.000000000 -0500 @@ -1,15 +1,16 @@ - - web links searchbot - Mambo Project - August 2004 + + Seach Web Links + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 Allows Searching of Web Links Component + weblinks.searchbot.xml weblinks.searchbot.php diff -ruN 4.6rc2/modules/mod_banners.xml 4.6-complete/modules/mod_banners.xml --- 4.6rc2/modules/mod_banners.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/modules/mod_banners.xml 2006-09-20 19:05:08.000000000 -0500 @@ -1,16 +1,17 @@ - + Banner - Mambo Project - August 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 The banner module allows to show the active banners out of the component within your site. mod_banners.php + mod_banners.xml diff -ruN 4.6rc2/modules/mod_latestcontent.xml 4.6-complete/modules/mod_latestcontent.xml --- 4.6rc2/modules/mod_latestcontent.xml 2006-02-26 22:32:34.000000000 -0600 +++ 4.6-complete/modules/mod_latestcontent.xml 2006-09-20 19:05:08.000000000 -0500 @@ -11,6 +11,7 @@ This module shows a list of content with intro text in vertical or horizontal of the most recently published Items that are still current (some may have expired even though they are the most recent). Items that are displayed on the Front Page Component are not included in the list. mod_latestcontent.php + mod_latestcontent.xml diff -ruN 4.6rc2/modules/mod_latestnews.xml 4.6-complete/modules/mod_latestnews.xml --- 4.6rc2/modules/mod_latestnews.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/modules/mod_latestnews.xml 2006-09-20 19:05:08.000000000 -0500 @@ -1,16 +1,17 @@ - + Latest News - Mambo Project - July 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 This module shows a list of the most recently published Items that are still current (some may have expired even though they are the most recent). Items that are displayed on the Front Page Component are not included in the list. mod_latestnews.php + mod_latestnews.xml diff -ruN 4.6rc2/modules/mod_mostread.php 4.6-complete/modules/mod_mostread.php --- 4.6rc2/modules/mod_mostread.php 2006-03-08 11:50:42.000000000 -0600 +++ 4.6-complete/modules/mod_mostread.php 2006-09-20 19:05:08.000000000 -0500 @@ -18,6 +18,7 @@ $count = intval( $params->get( 'count', 5 ) ); $catid = trim( $params->get( 'catid' ) ); $secid = trim( $params->get( 'secid' ) ); +$hits = trim( $params->get( 'hits' ) ); $show_front = $params->get( 'show_front', 1 ); $class_sfx = $params->get( 'moduleclass_sfx' ); @@ -28,7 +29,7 @@ // select between Content Items, Static Content or both switch ( $type ) { case 2: - $query = "SELECT a.id, a.title" + $query = "SELECT a.id, a.title, a.hits" . "\n FROM #__content AS a" . "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid = '0' )" . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" @@ -41,7 +42,7 @@ break; case 3: - $query = "SELECT a.id, a.title, a.sectionid" + $query = "SELECT a.id, a.title, a.sectionid, a.hits" . "\n FROM #__content AS a" . "\n WHERE ( a.state = '1' AND a.checked_out = '0' )" . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" @@ -55,7 +56,7 @@ case 1: default: - $query = "SELECT a.id, a.title, a.sectionid, a.catid" + $query = "SELECT a.id, a.title, a.sectionid, a.catid, a.hits" . "\n FROM #__content AS a" . "\n LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id" . "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid > '0' )" @@ -118,8 +119,11 @@ ?>
  • - title; ?> + title; ?> + hits>1 ? ' hits)' : ' hit)'; + if($hits) echo ' ('.$row->hits.$tag ?>
  • - - Most Read Content - Mambo Project - July 2004 + + Most Popular Content + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 This module shows a list of the currently published Items that have been viewed the most - determined by the number of times the page has been viewed. mod_mostread.php + mod_mostread.xml @@ -33,5 +34,9 @@ + + + + diff -ruN 4.6rc2/modules/mod_poll.xml 4.6-complete/modules/mod_poll.xml --- 4.6rc2/modules/mod_poll.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/modules/mod_poll.xml 2006-09-20 19:05:08.000000000 -0500 @@ -1,16 +1,17 @@ - + Poll - Mambo Project - July 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 This module compliments the Polls component. It is used to display the configured polls. The module differs from other modules in as much as the Component supports linking between Menu Items and Polls. This means that the module shows only those Polls, which are configured for a certain Menu Item. mod_poll.php + mod_poll.xml diff -ruN 4.6rc2/modules/mod_random_image.xml 4.6-complete/modules/mod_random_image.xml --- 4.6rc2/modules/mod_random_image.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/modules/mod_random_image.xml 2006-09-20 19:05:08.000000000 -0500 @@ -1,16 +1,17 @@ - + Random Image - Mambo Project - July 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 This module display a random image from your chosen directory mod_random_image.php + mod_random_image.xml diff -ruN 4.6rc2/modules/mod_related_items.xml 4.6-complete/modules/mod_related_items.xml --- 4.6rc2/modules/mod_related_items.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/modules/mod_related_items.xml 2006-09-20 19:05:08.000000000 -0500 @@ -1,16 +1,17 @@ - + Related Items - Mambo Project - July 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 This module displays other Content Items that are related to the Item currently displayed. These are based on the keywords Metadata. All the keywords of the current Content Item are searched against all the keywords of all other published items. For example, you may have an Item on 'Breeding Parrots' and you may have another on 'Hand Raising Black Cockatoos'. If you include the keyword 'parrot' in both Items, then the Related Items module will list the 'Breeding Parrots' Item when viewing 'Hand Raising Black Cockatoos' and vice-versa. mod_related_items.php + mod_related_items.xml diff -ruN 4.6rc2/modules/mod_rssfeed.php 4.6-complete/modules/mod_rssfeed.php --- 4.6rc2/modules/mod_rssfeed.php 2006-04-13 04:52:39.000000000 -0500 +++ 4.6-complete/modules/mod_rssfeed.php 2006-09-20 19:05:08.000000000 -0500 @@ -51,8 +51,8 @@ if ( $rss091 ) { $img = $mainframe->ImageCheck( 'rss091.gif', '/images/M_images/', $rss091_image, '/images/M_images/', 'RSS 0.91' ); ?> -
    - + @@ -66,7 +66,7 @@ $img = $mainframe->ImageCheck( 'rss10.gif', '/images/M_images/', $rss10_image, '/images/M_images/', 'RSS 1.0' ); ?> @@ -80,7 +80,7 @@ $img = $mainframe->ImageCheck( 'rss20.gif', '/images/M_images/', $rss20_image, '/images/M_images/', 'RSS 2.0' ); ?> @@ -94,7 +94,7 @@ $img = $mainframe->ImageCheck( 'atom10.gif', '/images/M_images/', $atom_image, '/images/M_images/', 'ATOM 1.0' ); ?> @@ -108,7 +108,7 @@ $img = $mainframe->ImageCheck( 'opml.png', '/images/M_images/', $opml_image, '/images/M_images/', 'OPML' ); ?> diff -ruN 4.6rc2/modules/mod_whosonline.xml 4.6-complete/modules/mod_whosonline.xml --- 4.6rc2/modules/mod_whosonline.xml 2006-03-01 13:18:50.000000000 -0600 +++ 4.6-complete/modules/mod_whosonline.xml 2006-09-20 19:05:08.000000000 -0500 @@ -1,16 +1,17 @@ - + Who's Online - Mambo Project - July 2004 + Mambo Foundation + August 2006 copyright (C) 2005 - 2006 Mambo Foundation Inc. http://www.gnu.org/copyleft/gpl.html GNU/GPL core@mambo-foundation.org - www.mambo-foundation.org - 4.5.2 + mambo-foundation.org + 1.0 The Who's Online module displays the number of anonymous (that is, Guest) users and Registered users, (those that are logged in) that are currently accessing the web site. mod_whosonline.php + mod_whosonline.xml diff -ruN 4.6rc2/offline.php 4.6-complete/offline.php --- 4.6rc2/offline.php 2006-05-20 15:57:10.000000000 -0500 +++ 4.6-complete/offline.php 2006-09-20 19:05:08.000000000 -0500 @@ -12,8 +12,6 @@ /** ensure this file is being included by a parent file */ defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); -//$mainframe = mosMainFrame::getInstance(); - // needed to seperate the ISO number from the language file constant _ISO $iso = split( '=', _ISO ); // xml prolog diff -ruN 4.6rc2/uploadfiles/CHANGELOG.php 4.6-complete/uploadfiles/CHANGELOG.php --- 4.6rc2/uploadfiles/CHANGELOG.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/CHANGELOG.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,1904 @@ + + +Changelog: +------------ +This is a non-exhaustive (but still near complete) changelog for +Mambo 4.6, including beta and release candidate versions. +Our thanks to all those people who've contributed bug reports and +code fixes. + +Legend: + +# -> Bug Fix ++ -> Addition +! -> Change +- -> Removed +! -> Note + +-------------------- 4.6 Release --------------------------------------- + +r716 | cauld | 2006-09-17 12:19:53 -0600 (Sun, 17 Sep 2006) | 1 line + +! Removing Mambo Raw SQL installation files and replacing with Mambo Lite SQL files. +------------------------------------------------------------------------ +r715 | alwarren | 2006-09-14 23:03:21 -0600 (Thu, 14 Sep 2006) | 1 line + +# FS#80 Fixed display of number of items checked in +------------------------------------------------------------------------ +r714 | adi | 2006-09-14 19:05:36 -0600 (Thu, 14 Sep 2006) | 1 line + +remove non utf-8 in locales.xml +------------------------------------------------------------------------ +r711 | alwarren | 2006-09-14 11:18:07 -0600 (Thu, 14 Sep 2006) | 1 line + +! FS#12 - Change menu manager radio buttons to checkboxes to allow multiple item selection +------------------------------------------------------------------------ +r710 | alwarren | 2006-09-14 10:22:48 -0600 (Thu, 14 Sep 2006) | 2 lines + +# FS#74 - Fixed problem with Itemid. +section/category links in content item were causing bad links +------------------------------------------------------------------------ + +r708 | gin | 2006-09-14 20:29:00 + +! some minor esthetical change in the form of the advanced search +(components/com_search/search.html.php) +------------------------------------------------------------------------ +r707 | gin | 2006-09-14 16:36:00 + +# fixed the bug #77 noted by Mac in 2nd form's compilation during the new language creation +modfied the file includes\phpgettext\phpgettext.catalog.php +------------------------------------------------------------------------ +r706 | gin | 2006-09-14 14:10:00 + +! Modified the component registration in a 2 step process with double e-mail +verification and some additional test +------------------------------------------------------------------------ +r705 | alwarren | 2006-09-13 02:58:12 -0600 (Wed, 13 Sep 2006) | 1 line + +FS#73 Change wording in comments mambot +------------------------------------------------------------------------ +r704 | alwarren | 2006-09-13 02:41:03 -0600 (Wed, 13 Sep 2006) | 1 line + +FS#54 Added spacers to toolbar in banner manager +------------------------------------------------------------------------ +r703 | adi | 2006-09-12 23:34:45 -0600 (Tue, 12 Sep 2006) | 1 line + +fix bug #63 +------------------------------------------------------------------------ +r702 | adi | 2006-09-12 23:15:12 -0600 (Tue, 12 Sep 2006) | 1 line + +fix bug #57 & #64 +------------------------------------------------------------------------ +r701 | cauld | 2006-09-12 22:28:50 -0600 (Tue, 12 Sep 2006) | 1 line + +! Updating MOS Rating to be a fully installable package for Mambo Raw +------------------------------------------------------------------------ +r700 | cauld | 2006-09-12 17:01:15 -0600 (Tue, 12 Sep 2006) | 1 line + +# Forgot to add the MOStlyDBAdmin classes folder on an earlier commit +------------------------------------------------------------------------ +r699 | cauld | 2006-09-12 16:36:47 -0600 (Tue, 12 Sep 2006) | 1 line + +! FS#60 — Modify News Feeds Items +------------------------------------------------------------------------ +r698 | cauld | 2006-09-12 16:30:12 -0600 (Tue, 12 Sep 2006) | 1 line + +# FS#55 — Update WebLinks Items +------------------------------------------------------------------------ +r697 | cauld | 2006-09-12 16:17:48 -0600 (Tue, 12 Sep 2006) | 1 line + +# FS#53 — Change Banner Link +------------------------------------------------------------------------ +r696 | cauld | 2006-09-12 16:11:52 -0600 (Tue, 12 Sep 2006) | 1 line + +# FS#68 — Help Screens Missing +------------------------------------------------------------------------ +r695 | cauld | 2006-09-12 05:17:46 -0600 (Tue, 12 Sep 2006) | 1 line + +! Pulling mosvote / MOS Rating from Mambo Raw edition +------------------------------------------------------------------------ +r694 | cauld | 2006-09-11 23:38:01 -0600 (Mon, 11 Sep 2006) | 1 line + +# Fixing FS#69 — Absolute Path to MOStlyCE Template Directory +------------------------------------------------------------------------ +r693 | cauld | 2006-09-11 23:30:28 -0600 (Mon, 11 Sep 2006) | 1 line + +! Updating mostlyce admin xml file +------------------------------------------------------------------------ +r692 | cauld | 2006-09-11 23:28:16 -0600 (Mon, 11 Sep 2006) | 5 lines + +# Fixed MOStlyDBAdmin zip archive issue. Was missing the zip.lib/php class. +! Updating directory listing on the universal installer screen +# Updating MOStlyCE Spellchecker plugin warning to notify user that CURL is now a requirement. +# Update VCard to prevent vcard link from displaying when contact has not been edited or where the contact params do not exist. (suggested by alwarren) +# Fixing some missing single quotes in some of the menu manager +
    + + + + +
    + + + cid ? T_('Edit') : T_('New');?> + +
    + + + + + + + + + + + + + + + + imptotal == "0") { + $unlimited="checked"; + $_row->imptotal=""; + } else { + $unlimited = ""; + } + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + +   > +
    + : + + +
    + + + +
    + + + +
    + + + +
    + +
    + +
    + clicks;?> +
    +
    + + + imageurl)) { + ?> + + imageurl)) { + ?> + + + + +
    +
    + + + + + +
    + +
    + + + + +
    + +
    + + + + + + + + + + + id = $row->cid; + $link = 'index2.php?option=com_banners&task=editclientA&hidemainmenu=1&id='. $row->id; + + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + ?> + "> + + + + + + + + +
    + # + + + + + + + + + + +
    + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->name; + } else { + ?> + + name; ?> + + + + id;?> + + contact;?> + + bid;?> +
    + getListFooter(); ?> + + + + +
    + + + + + + +
    + + + cid ? T_('Edit') : T_('New');?> + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
    +
    + + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_banners/admin.banners.php 4.6-complete/uploadfiles/administrator/components/com_banners/admin.banners.php --- 4.6rc2/uploadfiles/administrator/components/com_banners/admin.banners.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_banners/admin.banners.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,349 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' )| $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_banners' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$cid = mosGetParam( $_REQUEST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ($task) { + case 'newclient': + editBannerClient( 0, $option ); + break; + + case 'editclient': + editBannerClient( $cid[0], $option ); + break; + + case 'editclientA': + editBannerClient( $id, $option ); + break; + + case 'saveclient': + saveBannerClient( $option ); + break; + + case 'removeclients': + removeBannerClients( $cid, $option ); + break; + + case 'cancelclient': + cancelEditClient( $option ); + break; + + case 'listclients': + viewBannerClients( $option ); + break; + + // BANNER EVENTS + + case 'new': + editBanner( null, $option ); + break; + + case 'cancel': + cancelEditBanner(); + break; + + case 'save': + case 'resethits': + saveBanner( $task ); + break; + + case 'edit': + editBanner( $cid[0], $option ); + break; + + case 'editA': + editBanner( $id, $option ); + break; + + case 'remove': + removeBanner( $cid ); + break; + + case 'publish': + publishBanner( $cid,1 ); + break; + + case 'unpublish': + publishBanner( $cid, 0 ); + break; + + default: + viewBanners( $option ); + break; +} + +function viewBanners( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "viewban{$option}limitstart", 'limitstart', 0 ); + + // get the total number of records + $database->setQuery( "SELECT count(*) FROM #__banner" ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT b.*, u.name as editor FROM #__banner as b " + . "\n LEFT JOIN #__users AS u ON u.id = b.checked_out" + . "\nLIMIT $pageNav->limitstart,$pageNav->limit"; + $database->setQuery( $query ); + + if(!$result = $database->query()) { + echo $database->stderr(); + return; + } + $rows = $database->loadObjectList(); + HTML_banners::showBanners( $rows, $pageNav, $option ); +} + +function editBanner( $bannerid, $option ) { + global $database, $my; + $lists = array(); + + $row = new mosBanner($database); + $row->load( $bannerid ); + + if ( $bannerid ){ + $row->checkout( $my->id ); + } + + // Build Client select list + $sql = "SELECT cid as value, name as text FROM #__bannerclient"; + $database->setQuery($sql); + if (!$database->query()) { + echo $database->stderr(); + return; + } + + $clientlist[] = mosHTML::makeOption( '0', 'Select Client' ); + $clientlist = array_merge( $clientlist, $database->loadObjectList() ); + $lists['cid'] = mosHTML::selectList( $clientlist, 'cid', 'class="inputbox" size="1"','value', 'text', $row->cid); + + // Imagelist + $javascript = 'onchange="changeDisplayImage();"'; + $directory = '/images/banners'; + $lists['imageurl'] = mosAdminMenus::Images( 'imageurl', $row->imageurl, $javascript, $directory ); + + + // make the select list for the image positions + $yesno[] = mosHTML::makeOption( '0', T_('No') ); + $yesno[] = mosHTML::makeOption( '1', T_('Yes') ); + + $lists['showBanner'] = mosHTML::selectList( $yesno, 'showBanner', 'class="inputbox" size="1"' , 'value', 'text', $row->showBanner ); + + HTML_banners::bannerForm( $row, $lists, $option ); +} + +function saveBanner( $task ) { + global $database; + + $row = new mosBanner($database); + + $msg = T_('Saved Banner info'); + if ( $task == 'resethits' ) { + $row->clicks = 0; + $msg = T_('Reset Banner clicks'); + } + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + + mosRedirect( 'index2.php?option=com_banners', $msg ); +} + +function cancelEditBanner() { + global $database; + + $row = new mosBanner($database); + $row->bind( $_POST ); + $row->checkin(); + + mosRedirect( 'index2.php?option=com_banners' ); +} + +function publishBanner( $cid, $publish=1 ) { + global $database, $my; + + if (!is_array( $cid ) || count( $cid ) < 1) { + $action = $publish ? T_('publish') : T_('unpublish'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $database->setQuery( "UPDATE #__banner SET showBanner='$publish'" + . "\nWHERE bid IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosBanner( $database ); + $row->checkin( $cid[0] ); + } + mosRedirect( 'index2.php?option=com_banners' ); + +} + +function removeBanner( $cid ) { + global $database; + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__banner WHERE bid IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + } + } + mosRedirect( 'index2.php?option=com_banners' ); +} + +// ---------- BANNER CLIENTS ---------- + +function viewBannerClients( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "viewcli{$option}limitstart", 'limitstart', 0 ); + + // get the total number of records + $database->setQuery( "SELECT count(*) FROM #__bannerclient" ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $sql = "SELECT a.*, count(b.bid) AS bid, u.name AS editor" + . "\n FROM #__bannerclient AS a" + . "\n LEFT JOIN #__banner AS b ON a.cid = b.cid" + . "\n LEFT JOIN #__users AS u ON u.id = a.checked_out" + . "\n GROUP BY a.cid" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit"; + $database->setQuery($sql); + + if(!$result = $database->query()) { + echo $database->stderr(); + return; + } + $rows = $database->loadObjectList(); + + HTML_bannerClient::showClients( $rows, $pageNav, $option ); +} + +function editBannerClient( $clientid, $option ) { + global $database, $my; + + $row = new mosBannerClient($database); + $row->load($clientid); + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + $msg = sprintf(T_('The client [ %s ] is currently being edited by another person.'), $row->name); + mosRedirect( 'index2.php?option='. $option .'&task=listclients', $msg ); + } + + if ($clientid) { + // do stuff for existing record + $row->checkout( $my->id ); + } else { + // do stuff for new record + $row->published = 0; + $row->approved = 0; + } + + HTML_bannerClient::bannerClientForm( $row, $option ); +} + +function saveBannerClient( $option ) { + global $database; + + $row = new mosBannerClient( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + if (!$row->check()) { + mosRedirect( "index2.php?option=$option&task=editclient&cid[]=$row->id", $row->getError() ); + } + + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + + mosRedirect( "index2.php?option=$option&task=listclients" ); +} + +function cancelEditClient( $option ) { + global $database; + $row = new mosBannerClient( $database ); + $row->bind( $_POST ); + $row->checkin(); + mosRedirect( "index2.php?option=$option&task=listclients" ); +} + +function removeBannerClients( $cid, $option ) { + global $database; + + for ($i = 0; $i < count($cid); $i++) { + $query = "SELECT COUNT(bid) FROM #__banner WHERE cid='".$cid[$i]."'"; + $database->setQuery($query); + + if(($count = $database->loadResult()) == null) { + echo "\n"; + } + + if ($count != 0) { + mosRedirect( "index2.php?option=$option&task=listclients", + T_("Cannot delete client at this time as they have a banner still running") ); + } else { + $query="DELETE FROM #__bannerfinish WHERE `cid`='".$cid[$i]."'"; + $database->setQuery($query); + $database->query(); + + $query="DELETE FROM #__bannerclient WHERE `cid`='".$cid[$i]."'"; + $database->setQuery($query); + $database->query(); + } + } + mosRedirect("index2.php?option=$option&task=listclients"); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_banners/banners.xml 4.6-complete/uploadfiles/administrator/components/com_banners/banners.xml --- 4.6rc2/uploadfiles/administrator/components/com_banners/banners.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_banners/banners.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,84 @@ + + + Banners + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 1.0 + This component manages banners and banner clients + + Banners + + Manage Banners + Manange Clients + + + admin.banners.html.php + admin.banners.php + banner.xml + index.html + toolbar.banners.html.php + toolbar.banners.php + + + + + admin.banners.html.php + banners.php + banners.class.php + index.html + + + + CREATE TABLE `mos_banner` ( + `bid` int(11) NOT NULL auto_increment, + `cid` int(11) NOT NULL default '0', + `type` varchar(10) NOT NULL default 'banner', + `name` varchar(50) NOT NULL default '', + `imptotal` int(11) NOT NULL default '0', + `impmade` int(11) NOT NULL default '0', + `clicks` int(11) NOT NULL default '0', + `imageurl` varchar(100) NOT NULL default '', + `clickurl` varchar(200) NOT NULL default '', + `date` datetime default NULL, + `showBanner` tinyint(1) NOT NULL default '0', + `checked_out` tinyint(1) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `editor` varchar(50) default NULL, + `custombannercode` text, + PRIMARY KEY (`bid`), + KEY `viewbanner` (`showBanner`) + ); + + CREATE TABLE `mos_bannerclient` ( + `cid` int(11) NOT NULL auto_increment, + `name` varchar(60) NOT NULL default '', + `contact` varchar(60) NOT NULL default '', + `email` varchar(60) NOT NULL default '', + `extrainfo` text NOT NULL, + `checked_out` tinyint(1) NOT NULL default '0', + `checked_out_time` time default NULL, + `editor` varchar(50) default NULL, + PRIMARY KEY (`cid`) + ); + + CREATE TABLE `mos_bannerfinish` ( + `bid` int(11) NOT NULL auto_increment, + `cid` int(11) NOT NULL default '0', + `type` varchar(10) NOT NULL default '', + `name` varchar(50) NOT NULL default '', + `impressions` int(11) NOT NULL default '0', + `clicks` int(11) NOT NULL default '0', + `imageurl` varchar(50) NOT NULL default '', + `datestart` datetime default NULL, + `dateend` datetime default NULL, + PRIMARY KEY (`bid`) + ); + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_banners/index.html 4.6-complete/uploadfiles/administrator/components/com_banners/index.html --- 4.6rc2/uploadfiles/administrator/components/com_banners/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_banners/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_banners/toolbar.banners.html.php 4.6-complete/uploadfiles/administrator/components/com_banners/toolbar.banners.html.php --- 4.6rc2/uploadfiles/administrator/components/com_banners/toolbar.banners.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_banners/toolbar.banners.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,100 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_banners/toolbar.banners.php 4.6-complete/uploadfiles/administrator/components/com_banners/toolbar.banners.php --- 4.6rc2/uploadfiles/administrator/components/com_banners/toolbar.banners.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_banners/toolbar.banners.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,39 @@ +getPath( 'toolbar_html' ) ); + +switch ($task) { + case 'newclient': + case 'editclient': + case 'editclientA': + TOOLBAR_bannerClient::_EDIT(); + break; + + case 'listclients': + TOOLBAR_bannerClient::_DEFAULT(); + break; + + case 'new': + case 'edit': + case 'editA': + TOOLBAR_banners::_EDIT(); + break; + + default: + TOOLBAR_banners::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_categories/admin.categories.html.php 4.6-complete/uploadfiles/administrator/components/com_categories/admin.categories.html.php --- 4.6rc2/uploadfiles/administrator/components/com_categories/admin.categories.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_categories/admin.categories.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,694 @@ + +
    + + + + + + + + + +
    + [ ] + + + + [ ] +
    + + + + + + + + 'content') { + ?> + + + + + + + + + + + + + + + + + sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->section; + + $link = 'index2.php?option=com_categories§ion='. $section .'&task=editA&hidemainmenu=1&id='. $row->id; + + $access = mosCommonHTML::AccessProcessing( $row, $i ); + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + $published = mosCommonHTML::PublishedProcessing( $row, $i ); + ?> + "> + + + + + 'content' ) { + ?> + + + + + + + + + + + + + + + + + +
    + # + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + # + + # + +
    + rowNumber( $i ); ?> + + + + checked_out_contact_category && ( $row->checked_out_contact_category != $my->id ) ) { + echo $row->name .' ( '. $row->title .' )'; + } else { + ?> + + name .' ( '. $row->title .' )'; ?> + + + + + + orderUpIcon( $i ); ?> + + orderDownIcon( $i, $n ); ?> + + + + + + + section_name; ?> + + + id; ?> + + active; ?> + + trash; ?> + +
    + + getListFooter(); ?> + + + + + + + + + +
    + image == "") { + $row->image = 'blank.png'; + } + + if ( $redirect == 'content' ) { + $component = T_('Content'); + } else { + $component = ucfirst( substr( $redirect, 4 ) ); + if ( $redirect == 'com_contact_details' ) { + $component = T_('Contact'); + } + } + mosMakeHtmlSafe( $row, ENT_QUOTES, 'description' ); + ?> + + +
    + + + + + +
    + + + id ? T_('Edit') : T_('New');?> + + + [ : name; ?> ] + +
    + + + + +
    +
    + +
    +
    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + description , 'description', '100%;', '300', '60', '20' ) ; ?> +
    +
    +
    + + + + +
    + id > 0 ) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +

    +
    + + + +
    + e + + +
    + + + +
    + + +
    + +
    + +
    +
    + + + + +
     
    + +
    +
    +
    + +
    + + + + + + + + + +
    +
    + + + + +
    + +
    + +
    + + + + + + + . + +
    + +
    + +

    +
    + +
    + "; + foreach ( $items as $item ) { + echo "
  • ". $item->name ."
  • "; + } + echo ""; + ?> +
    + +
    + "; + foreach ( $contents as $content ) { + echo "
  • ". $content->title ."
  • "; + } + echo ""; + } else { + echo '
    None'; + } + ?> +
    + + and all the items within the category (also listed) +
    + to the selected Section.'); ?> +
    +

    + + + + + + + "; + } + ?> +
    + +
    +
    + + + + +
    + +
    + +
    + + + + + + + . + +
    + +
    + +

    +
    + +
    + "; + foreach ( $items as $item ) { + echo "
  • ". $item->name ."
  • "; + } + echo ""; + ?> +
    + +
    + "; + foreach ( $contents as $content ) { + echo "
  • ". $content->title ."
  • "; + echo "\n id\" />"; + } + echo ""; + ?> +
    + and all the items within the category (also listed) +
    + to the selected Section.'); ?> +
    +

    + + + + + + + "; + } + ?> +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_categories/admin.categories.php 4.6-complete/uploadfiles/administrator/components/com_categories/admin.categories.php --- 4.6rc2/uploadfiles/administrator/components/com_categories/admin.categories.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_categories/admin.categories.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,865 @@ +getPath( 'admin_html' ) ); +require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); + +// get parameters from the URL or submitted form +$section = mosGetParam( $_REQUEST, 'section', 'content' ); +$cid = mosGetParam( $_REQUEST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ($task) { + case 'new': + editCategory( 0, $section ); + break; + + case 'edit': + editCategory( intval( $cid[0] ) ); + break; + + case 'editA': + editCategory( intval( $id ) ); + break; + + case 'moveselect': + moveCategorySelect( $option, $cid, $section ); + break; + + case 'movesave': + moveCategorySave( $cid, $section ); + break; + + case 'copyselect': + copyCategorySelect( $option, $cid, $section ); + break; + + case 'copysave': + copyCategorySave( $cid, $section ); + break; + + case 'go2menu': + case 'go2menuitem': + case 'menulink': + case 'save': + case 'apply': + saveCategory( $task ); + break; + + case 'remove': + removeCategories( $section, $cid ); + break; + + case 'publish': + publishCategories( $section, $id, $cid, 1 ); + break; + + case 'unpublish': + publishCategories( $section, $id, $cid, 0 ); + break; + + case 'cancel': + cancelCategory(); + break; + + case 'orderup': + orderCategory( $cid[0], -1 ); + break; + + case 'orderdown': + orderCategory( $cid[0], 1 ); + break; + + case 'accesspublic': + accessMenu( $cid[0], 0, $section ); + break; + + case 'accessregistered': + accessMenu( $cid[0], 1, $section ); + break; + + case 'accessspecial': + accessMenu( $cid[0], 2, $section ); + break; + + case 'saveorder': + saveOrder( $cid, $section ); + break; + + default: + showCategories( $section, $option ); + break; +} + +/** +* Compiles a list of categories for a section +* @param string The name of the category section +*/ +function showCategories( $section, $option ) { + global $database, $mainframe, $mosConfig_list_limit, $mosConfig_absolute_path; + + $sectionid = $mainframe->getUserStateFromRequest( "sectionid{$option}{$section}", 'sectionid', 0 ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$section}limitstart", 'limitstart', 0 ); + + $section_name = ''; + $content_add = ''; + $content_join = ''; + $order = "\n ORDER BY c.ordering, c.name"; + if (intval( $section ) > 0) { + $table = 'content'; + + $query = "SELECT name FROM #__sections WHERE id='$section'"; + $database->setQuery( $query ); + $section_name = $database->loadResult(); + $section_name = 'Content: '. $section_name; + $where = "\n WHERE c.section='$section'"; + $type = 'content'; + } else if (strpos( $section, 'com_' ) === 0) { + $table = substr( $section, 4 ); + + $query = "SELECT name FROM #__components WHERE link='option=$section'"; + $database->setQuery( $query ); + $section_name = $database->loadResult(); + $where = "\n WHERE c.section='$section'"; + $type = 'other'; + // special handling for contact component + if ( $section == 'com_contact_details' ) { + $section_name = T_('Contact'); + } + $section_name = T_('Component: '). $section_name; + } else { + $table = $section; + $where = "\n WHERE c.section='$section'"; + $type = 'other'; + } + + // get the total number of records + $query = "SELECT count(*) FROM #__categories WHERE section='$section'"; + $database->setQuery( $query ); + $total = $database->loadResult(); + + // allows for viweing of all content categories + if ( $section == 'content' ) { + $table = 'content'; + $content_add = "\n , z.title AS section_name"; + $content_join = "\n LEFT JOIN #__sections AS z ON z.id = c.section"; + //$where = "\n WHERE s1.catid = c.id"; + $where = "\n WHERE c.section NOT LIKE '%com_%'"; + $order = "\n ORDER BY c.section, c.ordering, c.name"; + $section_name = 'All Content'; + // get the total number of records + $database->setQuery( "SELECT count(*) FROM #__categories INNER JOIN #__sections AS s ON s.id = section" ); + $total = $database->loadResult(); + $type = 'content'; + } + + // used by filter + if ( $sectionid > 0 ) { + $filter = "\n AND c.section = '$sectionid'"; + } else { + $filter = ''; + } + + require_once( $mosConfig_absolute_path . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT c.*, c.checked_out as checked_out_contact_category, g.name AS groupname, u.name AS editor," + . "COUNT(DISTINCT s2.checked_out) AS checked_out" + . $content_add + . "\n FROM #__categories AS c" + . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" + . "\n LEFT JOIN #__groups AS g ON g.id = c.access" + //. "\n LEFT JOIN #__$table AS s1 ON s1.catid = c.id" + . "\n LEFT JOIN #__$table AS s2 ON s2.catid = c.id AND s2.checked_out > 0" + . $content_join + . $where + . $filter + . "\n AND c.published != -2" + . "\n GROUP BY c.id" + . $order + . "\n LIMIT $pageNav->limitstart, $pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return; + } + + $count = count( $rows ); + // number of Active Items + for ( $i = 0; $i < $count; $i++ ) { + $query = "SELECT COUNT( a.id )" + . "\n FROM #__content AS a" + . "\n WHERE a.catid = ". $rows[$i]->id + . "\n AND a.state <> '-2'" + ; + $database->setQuery( $query ); + $active = $database->loadResult(); + $rows[$i]->active = $active; + } + // number of Trashed Items + for ( $i = 0; $i < $count; $i++ ) { + $query = "SELECT COUNT( a.id )" + . "\n FROM #__content AS a" + . "\n WHERE a.catid = ". $rows[$i]->id + . "\n AND a.state = '-2'" + ; + $database->setQuery( $query ); + $trash = $database->loadResult(); + $rows[$i]->trash = $trash; + } + + // get list of sections for dropdown filter + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['sectionid'] = mosAdminMenus::SelectSection( 'sectionid', $sectionid, $javascript ); + + categories_html::show( $rows, $section, $section_name, $pageNav, $lists, $type ); +} + +/** +* Compiles information to add or edit a category +* @param string The name of the category section +* @param integer The unique id of the category to edit (0 if new) +* @param string The name of the current user +*/ +function editCategory( $uid=0, $section='' ) { + global $database, $my; + + $type = mosGetParam( $_REQUEST, 'type', '' ); + $redirect = mosGetParam( $_REQUEST, 'section', 'content' ); + + $row = new mosCategory( $database ); + // load the row from the db table + $row->load( $uid ); + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + mosRedirect( 'index2.php?option=categories§ion='. $row->section, sprintf(T_('The category %s is currently being edited by another administrator'), $row->title) ); + } + + if ($uid) { + // existing record + $row->checkout( $my->id ); + // code for Link Menu + if ( $row->section > 0 ) { + $query = "SELECT *" + . "\n FROM #__menu" + . "\n WHERE componentid = ". $row->id + . "\n AND ( type = 'content_archive_category' OR type = 'content_blog_category' OR type = 'content_category' )" + ; + $database->setQuery( $query ); + $menus = $database->loadObjectList(); + $count = count( $menus ); + for( $i = 0; $i < $count; $i++ ) { + switch ( $menus[$i]->type ) { + case 'content_category': + $menus[$i]->type = T_('Category Table'); + break; + + case 'content_blog_category': + $menus[$i]->type = T_('Category Blog'); + break; + + case 'content_archive_category': + $menus[$i]->type = T_('Category Blog Archive'); + break; + } + } + } else { + $menus = array(); + } + } else { + // new record + $row->section = $section; + $row->published = 1; + $menus = NULL; + } + + // make order list + $order = array(); + $database->setQuery( "SELECT COUNT(*) FROM #__categories WHERE section='$row->section'" ); + $max = intval( $database->loadResult() ) + 1; + + for ($i=1; $i < $max; $i++) { + $order[] = mosHTML::makeOption( $i ); + } + + // build the html select list for sections + if ( $section == 'content' ) { + $query = "SELECT s.id AS value, s.title AS text" + . "\n FROM #__sections AS s" + . "\n ORDER BY s.ordering" + ; + $database->setQuery( $query ); + $sections = $database->loadObjectList(); + $lists['section'] = mosHTML::selectList( $sections, 'section', 'class="inputbox" size="1"', 'value', 'text' );; + } else { + if ( $type == 'other' ) { + $section_name = 'N/A'; + } else { + $temp = new mosSection( $database ); + $temp->load( $row->section ); + $section_name = $temp->name; + } + $lists['section'] = ''. $section_name; + } + + // build the html select list for category types + $types[] = mosHTML::makeOption( '', T_('Select Type') ); + if ($row->section == 'com_contact_details') { + $types[] = mosHTML::makeOption( 'contact_category_table', T_('Contact Category Table') ); + } else + if ($row->section == 'com_newsfeeds') { + $types[] = mosHTML::makeOption( 'newsfeed_category_table', T_('News Feed Category Table') ); + } else + if ($row->section == 'com_weblinks') { + $types[] = mosHTML::makeOption( 'weblink_category_table', T_('Web Link Category Table') ); + } else { + $types[] = mosHTML::makeOption( 'content_category', T_('Content Category Table') ); + $types[] = mosHTML::makeOption( 'content_blog_category', T_('Content Category Blog') ); + $types[] = mosHTML::makeOption( 'content_archive_category', T_('Content Category Archive Blog') ); + } // if + $lists['link_type'] = mosHTML::selectList( $types, 'link_type', 'class="inputbox" size="1"', 'value', 'text' );; + + // build the html select list for ordering + $query = "SELECT ordering AS value, title AS text" + . "\n FROM #__categories" + . "\n WHERE section = '$row->section'" + . "\n ORDER BY ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $uid, $query ); + + // build the select list for the image positions + $active = ( $row->image_position ? $row->image_position : 'left' ); + $lists['image_position'] = mosAdminMenus::Positions( 'image_position', $active, NULL, 0, 0 ); + // Imagelist + $lists['image'] = mosAdminMenus::Images( 'image', $row->image ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + // build the html radio buttons for published + $lists['published'] = mosHTML::yesnoRadioList( 'published', 'class="inputbox"', $row->published ); + // build the html select list for menu selection + $lists['menuselect'] = mosAdminMenus::MenuSelect( ); + + categories_html::edit( $row, $lists, $redirect, $menus ); +} + +/** +* Saves the catefory after an edit form submit +* @param string The name of the category section +*/ +function saveCategory( $task ) { + global $database; + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + $menuid = mosGetParam( $_POST, 'menuid', 0 ); + $redirect = mosGetParam( $_POST, 'redirect', '' ); + $oldtitle = mosGetParam( $_POST, 'oldtitle', null ); + + $row = new mosCategory( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + if (!$row->check()) { + echo "\n"; + exit(); + } + + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "section='$row->section'" ); + + if ( $oldtitle ) { + if ($oldtitle != $row->title) { + $database->setQuery( "UPDATE #__menu SET name='$row->title' WHERE name='$oldtitle' AND type='content_category'" ); + $database->query(); + } + } + + // Update Section Count + if ($row->section != 'com_contact_details' && + $row->section != 'com_newsfeeds' && + $row->section != 'com_weblinks') { + $query = "UPDATE #__sections SET count=count+1" + . "\n WHERE id = '$row->section'" + ; + $database->setQuery( $query ); + } + + if (!$database->query()) { + echo "\n"; + exit(); + } + + switch ( $task ) { + case 'go2menu': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); + break; + + case 'go2menuitem': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $menuid ); + break; + + case 'menulink': + menuLink( $row->id ); + break; + + case 'apply': + $msg = 'Changes to Category saved'; + mosRedirect( 'index2.php?option=com_categories§ion='. $redirect .'&task=editA&hidemainmenu=1&id='. $row->id, $msg ); + break; + + case 'save': + default: + $msg = 'Category saved'; + mosRedirect( 'index2.php?option=com_categories§ion='. $redirect, $msg ); + break; + } +} + +/** +* Deletes one or more categories from the categories table +* @param string The name of the category section +* @param array An array of unique category id numbers +*/ +function removeCategories( $section, $cid ) { + global $database; + + if (count( $cid ) < 1) { + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + //Get Section ID prior to removing Category, in order to update counts + //$database->setQuery( "SELECT section FROM #__categories WHERE id IN ($cids)" ); + //$secid = $database->loadResult(); + + if (intval( $section ) > 0) { + $table = 'content'; + } else if (strpos( $section, 'com_' ) === 0) { + $table = substr( $section, 4 ); + } else { + $table = $section; + } + + $query = "SELECT c.id, c.name, COUNT(s.catid) AS numcat" + . "\n FROM #__categories AS c" + . "\n LEFT JOIN #__$table AS s ON s.catid=c.id" + . "\n WHERE c.id IN ($cids)" + . "\n GROUP BY c.id" + ; + $database->setQuery( $query ); + + if (!($rows = $database->loadObjectList())) { + echo "\n"; + } + + $err = array(); + $cid = array(); + foreach ($rows as $row) { + if ($row->numcat == 0) { + $cid[] = $row->id; + } else { + $err[] = $row->name; + } + } + + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__categories WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + } + } + + if (count( $err )) { + $cids = implode( "\', \'", $err ); + $msg = 'Category(s): '. $cids .' cannot be removed as they contain records'; + mosRedirect( 'index2.php?option=com_categories§ion='. $section .'&mosmsg='. $msg ); + } + + mosRedirect( 'index2.php?option=com_categories§ion='. $section ); +} + +/** +* Publishes or Unpublishes one or more categories +* @param string The name of the category section +* @param integer A unique category id (passed from an edit form) +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The name of the current user +*/ +function publishCategories( $section, $categoryid=null, $cid=null, $publish=1 ) { + global $database, $my; + + if (!is_array( $cid )) { + $cid = array(); + } + if ($categoryid) { + $cid[] = $categoryid; + } + + if (count( $cid ) < 1) { + $action = $publish ? T_('publish') : T_('unpublish'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "UPDATE #__categories SET published='$publish'" + . "\nWHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosCategory( $database ); + $row->checkin( $cid[0] ); + } + + mosRedirect( 'index2.php?option=com_categories§ion='. $section ); +} + +/** +* Cancels an edit operation +* @param string The name of the category section +* @param integer A unique category id +*/ +function cancelCategory() { + global $database; + + $redirect = mosGetParam( $_POST, 'redirect', '' ); + + $row = new mosCategory( $database ); + $row->bind( $_POST ); + $row->checkin(); + mosRedirect( 'index2.php?option=com_categories§ion='. $redirect ); +} + +/** +* Moves the order of a record +* @param integer The increment to reorder by +*/ +function orderCategory( $uid, $inc ) { + global $database; + + $row = new mosCategory( $database ); + $row->load( $uid ); + $row->move( $inc, "section='$row->section'" ); + mosRedirect( 'index2.php?option=com_categories§ion='. $row->section ); +} + +/** +* Form for moving item(s) to a specific menu +*/ +function moveCategorySelect( $option, $cid, $sectionOld ) { + global $database; + + $redirect = mosGetParam( $_POST, 'section', 'content' );; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + + ## query to list selected categories + $cids = implode( ',', $cid ); + $query = "SELECT a.name, a.section FROM #__categories AS a WHERE a.id IN ( ". $cids ." )"; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + ## query to list items from categories + $query = "SELECT a.title FROM #__content AS a WHERE a.catid IN ( ". $cids ." ) ORDER BY a.catid, a.title"; + $database->setQuery( $query ); + $contents = $database->loadObjectList(); + + ## query to choose section to move to + $query = "SELECT a.name AS `text`, a.id AS `value` FROM #__sections AS a WHERE a.published = '1' ORDER BY a.name"; + $database->setQuery( $query ); + $sections = $database->loadObjectList(); + + // build the html select list + $SectionList = mosHTML::selectList( $sections, 'sectionmove', 'class="inputbox" size="10"', 'value', 'text', null ); + + categories_html::moveCategorySelect( $option, $cid, $SectionList, $items, $sectionOld, $contents, $redirect ); +} + + +/** +* Save the item(s) to the menu selected +*/ +function moveCategorySave( $cid, $sectionOld ) { + global $database; + + $sectionMove = mosGetParam( $_REQUEST, 'sectionmove', '' ); + + $cids = implode( ',', $cid ); + $total = count( $cid ); + + $query = "UPDATE #__categories SET section = '". $sectionMove ."' " + . "WHERE id IN ( ". $cids ." )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + $query = "UPDATE #__content SET sectionid = '". $sectionMove ."' " + . "WHERE catid IN ( ". $cids ." )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + $sectionNew = new mosSection ( $database ); + $sectionNew->load( $sectionMove ); + + $msg = $total ." Categories moved to ". $sectionNew->name; + mosRedirect( 'index2.php?option=com_categories§ion='. $sectionOld .'&mosmsg='. $msg ); +} + +/** +* Form for copying item(s) to a specific menu +*/ +function copyCategorySelect( $option, $cid, $sectionOld ) { + global $database; + + $redirect = mosGetParam( $_POST, 'section', 'content' );; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + + ## query to list selected categories + $cids = implode( ',', $cid ); + $query = "SELECT a.name, a.section FROM #__categories AS a WHERE a.id IN ( ". $cids ." )"; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + ## query to list items from categories + $query = "SELECT a.title, a.id FROM #__content AS a WHERE a.catid IN ( ". $cids ." ) ORDER BY a.catid, a.title"; + $database->setQuery( $query ); + $contents = $database->loadObjectList(); + + ## query to choose section to move to + $query = "SELECT a.name AS `text`, a.id AS `value` FROM #__sections AS a WHERE a.published = '1' ORDER BY a.name"; + $database->setQuery( $query ); + $sections = $database->loadObjectList(); + + // build the html select list + $SectionList = mosHTML::selectList( $sections, 'sectionmove', 'class="inputbox" size="10"', 'value', 'text', null ); + + categories_html::copyCategorySelect( $option, $cid, $SectionList, $items, $sectionOld, $contents, $redirect ); +} + + +/** +* Save the item(s) to the menu selected +*/ +function copyCategorySave( $cid, $sectionOld ) { + global $database; + + $sectionMove = mosGetParam( $_REQUEST, 'sectionmove', '' ); + $contentid = mosGetParam( $_REQUEST, 'item', '' ); + $total = count( $contentid ); + + $category = new mosCategory ( $database ); + foreach( $cid as $id ) { + $category->load( $id ); + $category->id = NULL; + $category->title = "Copy of ".$category->title; + $category->name = "Copy of ".$category->name; + $category->section = $sectionMove; + if (!$category->check()) { + echo "\n"; + exit(); + } + + if (!$category->store()) { + echo "\n"; + exit(); + } + $category->checkin(); + // stores original catid + $newcatids[]["old"] = $id; + // pulls new catid + $newcatids[]["new"] = $category->id; + } + + $content = new mosContent ( $database ); + foreach( $contentid as $id) { + $content->load( $id ); + $content->id = NULL; + $content->sectionid = $sectionMove; + $content->hits = 0; + foreach( $newcatids as $newcatid ) { + if ( $content->catid == $newcatid["old"] ) { + $content->catid = $newcatid["new"]; + } + } + if (!$content->check()) { + echo "\n"; + exit(); + } + + if (!$content->store()) { + echo "\n"; + exit(); + } + $content->checkin(); + } + + $sectionNew = new mosSection ( $database ); + $sectionNew->load( $sectionMove ); + + $msg = sprintf(Tn_('%d Category copied to %s', '%d Categories copied to %s', $total), $total, $sectionNew->name); + mosRedirect( 'index2.php?option=com_categories§ion='. $sectionOld .'&mosmsg='. $msg ); +} + +/** +* changes the access level of a record +* @param integer The increment to reorder by +*/ +function accessMenu( $uid, $access, $section ) { + global $database; + + $row = new mosCategory( $database ); + $row->load( $uid ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + mosRedirect( 'index2.php?option=com_categories§ion='. $section ); +} + +function menuLink( $id ) { + global $database; + + $category = new mosCategory( $database ); + $category->bind( $_POST ); + $category->checkin(); + + $redirect = mosGetParam( $_POST, 'redirect', '' ); + $menu = mosGetParam( $_POST, 'menuselect', '' ); + $name = mosGetParam( $_POST, 'link_name', '' ); + $sectionid = mosGetParam( $_POST, 'sectionid', '' ); + $type = mosGetParam( $_POST, 'link_type', '' ); + + switch ( $type ) { + case 'content_category': + $link = 'index.php?option=com_content&task=category§ionid='. $sectionid .'&id='. $id; + $menutype = T_('Content Category Table'); + break; + + case 'content_blog_category': + $link = 'index.php?option=com_content&task=blogcategory&id='. $id; + $menutype = T_('Content Category Blog'); + break; + + case 'content_archive_category': + $link = 'index.php?option=com_content&task=archivecategory&id='. $id; + $menutype = T_('Content Category Blog Archive'); + break; + + case 'contact_category_table': + $link = 'index.php?option=com_contact&catid='. $id; + $menutype = T_('Contact Category Table'); + break; + + case 'newsfeed_category_table': + $link = 'index.php?option=com_newsfeeds&catid='. $id; + $menutype = T_('News Feed Category Table'); + break; + + case 'weblink_category_table': + $link = 'index.php?option=com_weblinks&catid='. $id; + $menutype = T_('Web Link Category Table'); + break; + + default:; + } + + $row = new mosMenu( $database ); + $row->menutype = $menu; + $row->name = $name; + $row->type = $type; + $row->published = 1; + $row->componentid = $id; + $row->link = $link; + $row->ordering = 9999; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "menutype='". $menu ."'" ); + + $msg = sprintf(T_('%s ( %s ) in menu: %s successfully created'),$name, $menutype,$menu); + mosRedirect( 'index2.php?option=com_categories§ion='. $redirect .'&task=editA&hidemainmenu=1&id='. $id, $msg ); +} + +function saveOrder( &$cid, $section ) { + global $database; + $order = mosGetParam( $_POST, 'order', array(0) ); + $row = new mosCategory( $database ); + $sections = array(); + // update ordering values + foreach ($cid as $i=>$ciditem) { + $row->load( $ciditem ); + if ($row->ordering != $order[$i]) { + $row->ordering = $order[$i]; + if (!$row->store()) { + echo "\n"; + exit(); + } + // remember to updateOrder this group + $sections[$row->section] = $row->id; + } + } + // execute updateOrder for each group + foreach ($sections as $section=>$rowid) { + $row->updateOrder("section='$section'"); + } // foreach + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_categories§ion='. $section, $msg ); +} // saveOrder + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_categories/index.html 4.6-complete/uploadfiles/administrator/components/com_categories/index.html --- 4.6rc2/uploadfiles/administrator/components/com_categories/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_categories/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_categories/toolbar.categories.html.php 4.6-complete/uploadfiles/administrator/components/com_categories/toolbar.categories.html.php --- 4.6rc2/uploadfiles/administrator/components/com_categories/toolbar.categories.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_categories/toolbar.categories.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,118 @@ + 0 ) ) { + mosMenuBar::customX( 'moveselect', 'move.png', 'move_f2.png', T_('Move'), true ); + mosMenuBar::spacer(); + mosMenuBar::customX( 'copyselect', 'copy.png', 'copy_f2.png', T_('Copy'), true ); + mosMenuBar::spacer(); + } + mosMenuBar::editListX(); + mosMenuBar::spacer(); + mosMenuBar::deleteList(); + mosMenuBar::spacer(); + + $section=''; + + if (strstr($GLOBALS['section'], 'com_contact')){ + $section = 'contact.'; + } + if (strstr($GLOBALS['section'], 'com_newsfeeds')){ + $section = 'newsfeeds.'; + } + if (strstr($GLOBALS['section'], 'com_weblinks')){ + $section = 'weblinks.'; + } + mosMenuBar::help( $section.'manager' ); + mosMenuBar::endTable(); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_categories/toolbar.categories.php 4.6-complete/uploadfiles/administrator/components/com_categories/toolbar.categories.php --- 4.6rc2/uploadfiles/administrator/components/com_categories/toolbar.categories.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_categories/toolbar.categories.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,37 @@ +getPath( 'toolbar_html' ) ); + +switch ($task){ + case 'new': + case 'edit': + case 'editA': + TOOLBAR_categories::_EDIT(); + break; + + case 'moveselect': + TOOLBAR_categories::_MOVE(); + break; + + case 'copyselect': + TOOLBAR_categories::_COPY(); + break; + + default: + TOOLBAR_categories::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_checkin/admin.checkin.html.php 4.6-complete/uploadfiles/administrator/components/com_checkin/admin.checkin.html.php --- 4.6rc2/uploadfiles/administrator/components/com_checkin/admin.checkin.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_checkin/admin.checkin.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,15 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_checkin/admin.checkin.php 4.6-complete/uploadfiles/administrator/components/com_checkin/admin.checkin.php --- 4.6rc2/uploadfiles/administrator/components/com_checkin/admin.checkin.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_checkin/admin.checkin.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,97 @@ +acl_check( 'administration', 'config', 'users', $my->usertype )) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} +?> + + + + +
    + + + + + + + +setQuery( "SELECT checked_out, editor FROM $tn WHERE checked_out > 0" ); + } else { + $database->setQuery( "SELECT checked_out FROM $tn WHERE checked_out > 0" ); + } + $res = $database->query(); + $num = $database->getNumRows( $res ); + + if ($foundE) { + $database->setQuery( "UPDATE $tn SET checked_out=0, checked_out_time='00:00:00', editor=NULL WHERE checked_out > 0" ); + } else { + $database->setQuery( "UPDATE $tn SET checked_out=0, checked_out_time='0000-00-00 00:00:00' WHERE checked_out > 0" ); + } + $res = $database->query(); + + if ($res == 1) { + if ($num > 0) { + echo ""; + echo "\n "; + echo "\n "; + echo "\n "; + echo "\n "; + echo "\n"; + } else { + echo ""; + echo "\n "; + echo "\n "; + echo "\n "; + echo "\n "; + echo "\n"; + } + $k = 1 - $k; + } + } +} +?> + + + +
     
    ".T_('Checking table')." - $tn".sprintf(Tn_('Checked in %d item','Checked in %d items', $num), $num)."\"tick\" 
    ".T_('Checking table')." - $tn".sprintf(Tn_('Checked in %d item','Checked in %d items', $num), $num)."  
    diff -ruN 4.6rc2/uploadfiles/administrator/components/com_checkin/index.html 4.6-complete/uploadfiles/administrator/components/com_checkin/index.html --- 4.6rc2/uploadfiles/administrator/components/com_checkin/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_checkin/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_checkin/toolbar.checkin.html.php 4.6-complete/uploadfiles/administrator/components/com_checkin/toolbar.checkin.html.php --- 4.6rc2/uploadfiles/administrator/components/com_checkin/toolbar.checkin.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_checkin/toolbar.checkin.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_checkin/toolbar.checkin.php 4.6-complete/uploadfiles/administrator/components/com_checkin/toolbar.checkin.php --- 4.6rc2/uploadfiles/administrator/components/com_checkin/toolbar.checkin.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_checkin/toolbar.checkin.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ +getPath( 'toolbar_html' ) ); + +switch ($task){ + default: + TOOLBAR_checkin::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_comment/admin.comment.html.php 4.6-complete/uploadfiles/administrator/components/com_comment/admin.comment.html.php --- 4.6rc2/uploadfiles/administrator/components/com_comment/admin.comment.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_comment/admin.comment.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,173 @@ + +
    + + + + + + +
    + + + + + +
    + + + + + + + + + + + article_link = 'index2.php?option=com_comment&task=editA&hidemainmenu=1&id='. $row->id; + + echo ""; + echo ""; + echo ""; + echo ""; + + if(strlen($row->comments) > $admin_comments_length) { + $row->comments = substr($row->comments,0,$admin_comments_length-3); + $row->comments .= "..."; + } + + echo ""; + echo ""; + echo ""; + + $task = $row->published ? 'unpublish' : 'publish'; + $img = $row->published ? 'publish_g.png' : 'publish_x.png'; + + ?> + + + + +
    #
    ".$pageNav->rowNumber( $i )."".$row->name."$row->comments$row->startdate$row->articleid
    + + getListFooter(); ?> + + + + +
    + + + + + + + + +
    id ? 'Edit' : 'Add';?>
    + + + + + + + + + + + + + + + + + + + + + + + +
    : + +
    : + +
    : + +
    : + +
    + + + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_comment/admin.comment.php 4.6-complete/uploadfiles/administrator/components/com_comment/admin.comment.php --- 4.6rc2/uploadfiles/administrator/components/com_comment/admin.comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_comment/admin.comment.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,338 @@ +getPath( 'admin_html' ) ); + +switch ($task) { + + case "new": + editComment( $option, 0 ); + break; + + case "edit": + editComment( $option, $cid[0] ); + break; + + case 'editA': + editComment( $option, intval( $id ) ); + break; + + case "save": + saveComment( $option ); + break; + + case "remove": + removeComments( $cid, $option ); + break; + + case "publish": + publishComments( $cid, 1, $option ); + break; + + case "unpublish": + publishComments( $cid, 0, $option ); + break; + + case "settings": + showConfig( $option ); + break; + + case "savesettings": + $allow_comments_in_sections = implode(',',$_POST['mcselections']); + saveConfig ($option, $auto_publish_comments, $allow_anonymous_entries, $notify_new_entries, $allow_comments_in_sections, $comments_per_page, $admin_comments_length); + break; + + default: + showComments( $option ); + break; + +} + +/** + * @param option + * @return list of comments + */ +function showComments ( $option ) { + global $database, $mainframe; + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', 10 ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + $where = array(); + if ($search) { + $where[] = "LOWER(comments) LIKE '%$search%'"; + } + $database->setQuery( "SELECT count(*) FROM #__comment AS a" . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") ); + $total = $database->loadResult(); + echo $database->getErrorMsg(); + include_once( "includes/pageNavigation.php" ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + $database->setQuery( "SELECT * FROM #__comment" + . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") + . "\nORDER BY id DESC" + . "\nLIMIT $pageNav->limitstart,$pageNav->limit" + ); + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + HTML_comment::showComments( $option, $rows, $search, $pageNav ); +} + +/** + * @param option + * @param id + * @return edit box for article or new comment box + */ +function editComment( $option, $uid ) { + global $database, $my; + $row = new moscomment( $database ); + $row->load( $uid ); + $contentitem[] = mosHTML::makeOption( '0', 'Select Content Item' ); + $database->setQuery( "SELECT id AS value, title AS text FROM #__content ORDER BY title" ); + $contentitem = array_merge( $contentitem, $database->loadObjectList() ); + if (count( $contentitem ) < 1) { + mosRedirect( "index2.php?option=com_sections&scope=content", 'You must add sections first.' ); + } + $clist = mosHTML::selectList( $contentitem, 'articleid', 'class="inputbox" size="1"', 'value', 'text', intval( $row->articleid ) ); + if ($uid) { + $row->checkout( $my->id ); + } else { + $row->published = 0; + } + $publist = mosHTML::yesnoRadioList( 'published', 'class="inputbox"', $row->published ); + HTML_comment::editComment( $option, $row, $clist, $publist ); +} + +/** + * @param option + * @return saves comment + */ +function saveComment( $option ) { + global $database; + $row = new moscomment( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + $row->startdate = date( "Y-m-d H:i:s" ); + $row->ip = getenv('REMOTE_ADDR'); + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->updateOrder( "articleid='$row->articleid'" ); + mosRedirect( "index2.php?option=$option" ); +} + + +/** + * @param cid + * @param publish + * @param option + * @return publishes / unpublishes article comment + */ +function publishComments( $cid=null, $publish=1, $option ) { + global $database; + if (!is_array( $cid ) || count( $cid ) < 1) { + $action = $publish ? 'publish' : 'unpublish'; + echo "\n"; + exit; + } + $cids = implode( ',', $cid ); + $database->setQuery( "UPDATE #__comment SET published='$publish' WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + mosRedirect( "index2.php?option=$option" ); +} + +/** + * @param option + * @return builds admin configuration options + */ +function showConfig( $option ) { + global $mosConfig_absolute_path, $database, $mosConfig_mailfrom; + require($mosConfig_absolute_path."/administrator/components/com_comment/config.comment.php"); + ?> + +
    + startPane( "_comment" ); + $gbtabs->startTab("General","General-page"); + ?> + + + + + + + + + + + + + + + + + + + + + +
    : + Choose which section(s) should + use the comment system. Hold down [CTRL] to make multiple selections.
    : + +
    : + +
    : + +
    + endTab(); + $gbtabs->startTab("Notification","Notification-page"); + ?> + + + + + + + + + + + +
    : + +
    :
    + endTab(); + $gbtabs->startTab("Admin","Admin-page"); + ?> + + + + + + +
    : + +
    + endTab(); + $gbtabs->endPane(); + ?> + + + + +
    + "; + if ($fp = fopen("$configfile", "w")) { + fputs($fp, $config, strlen($config)); + fclose ($fp); + } + mosRedirect("index2.php?option=$option&task=settings", "Settings saved"); +} + +/** + * @param cid + * @param option + * @return deletes selected article + */ +function removeComments( $cid, $option ) { + global $database; + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__comment WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + } + } + mosRedirect( "index2.php?option=$option" ); +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_comment/class.comment.php 4.6-complete/uploadfiles/administrator/components/com_comment/class.comment.php --- 4.6rc2/uploadfiles/administrator/components/com_comment/class.comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_comment/class.comment.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,41 @@ +mosDBTable( '#__comment', 'id', $db ); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_comment/comment.xml 4.6-complete/uploadfiles/administrator/components/com_comment/comment.xml --- 4.6rc2/uploadfiles/administrator/components/com_comment/comment.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_comment/comment.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,57 @@ + + + Comment + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + Adds a commenting feature to articles within selected sections + + comment.php + + + + DROP TABLE IF EXISTS `#__comment` + + CREATE TABLE `#__comment` ( + `id` int(10) NOT NULL auto_increment, + `articleid` int(10) NOT NULL default '0', + `ip` varchar(15) NOT NULL default '', + `name` varchar(30) NOT NULL default '', + `comment` text NOT NULL, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`id`) + ) TYPE=MyISAM; + + + + + + DELETE FROM `#__comment` + DROP TABLE `#__comment` + + + install.comment.php + uninstall.comment.php + + Comment + + View Comments + Edit Settings + + + admin.comment.html.php + admin.comment.php + class.comment.php + config.comment.php + install.comment.php + toolbar.comment.html.php + toolbar.comment.php + uninstall.comment.php + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_comment/config.comment.php 4.6-complete/uploadfiles/administrator/components/com_comment/config.comment.php --- 4.6rc2/uploadfiles/administrator/components/com_comment/config.comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_comment/config.comment.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,8 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_comment/toolbar.comment.html.php 4.6-complete/uploadfiles/administrator/components/com_comment/toolbar.comment.html.php --- 4.6rc2/uploadfiles/administrator/components/com_comment/toolbar.comment.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_comment/toolbar.comment.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,60 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_comment/toolbar.comment.php 4.6-complete/uploadfiles/administrator/components/com_comment/toolbar.comment.php --- 4.6rc2/uploadfiles/administrator/components/com_comment/toolbar.comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_comment/toolbar.comment.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,36 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + + case "new": + case "edit": + case "editA": + TOOLBAR_MenuComment::FILE_MENU(); + break; + + case "settings": + TOOLBAR_MenuComment::CONFIG_MENU(); + break; + + default: + TOOLBAR_MenuComment::DEFAULT_MENU(); + break; + +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_config/admin.config.html.php 4.6-complete/uploadfiles/administrator/components/com_config/admin.config.html.php --- 4.6rc2/uploadfiles/administrator/components/com_config/admin.config.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_config/admin.config.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,772 @@ + + +
    + + + + + + + + + + + +
    + + '.T_('Writeable').'' : ' '.T_('Unwriteable').'' ?> + + + + + + + +
    +startPane("configPane"); + $tabs->startTab(T_("Site"),"site-page"); +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    *Requires the GD image library.
    +
    + +
    +endTab(); + $tabs->startTab(T_('Locale'),"Locale-page"); +?> + + + + + + + + + + + + + + + + + + + + + +
    + +
    +endTab(); + $tabs->startTab(T_('Content'),"content-page"); +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +"; + echo mosToolTip(T_('Option not available as /media directory not writable')); + echo ""; + } else { +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    * *

     
     
     
     
     
     
    +endTab(); + $tabs->startTab(T_("Database"),"db-page"); +?> + + + + + + + + + + + + + + + + + + + + + +
    + +   +
    +endTab(); + $tabs->startTab(T_('Server'),"server-page"); +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +config_fileperms!='') { + $mode = 1; + $flags = octdec($row->config_fileperms); + } // if +?> + + + + + +config_dirperms!='') { + $mode = 1; + $flags = octdec($row->config_dirperms); + } // if +?> + + + + +
    config_path; ?> 
     
    + + +  
    + +    + +  
     
    + + +  
    +
    + + + + + + + + + + > + + + +
    />
    /> + + + +
    +
    +
     
    +
    + + + + + + + + + + > + + + +
    />
    /> + + + +
    +
    +
     
    +endTab(); + $tabs->startTab(T_('Metadata'),"metadata-page"); +?> + + + + + + + + + + + + + + + + + +
    + +     + +
    + +     + +
    +endTab(); + $tabs->startTab(T_('Mail'),"mail-page"); +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    +endTab(); + $tabs->startTab(T_("Cache"),"cache-page"); +?> + + config_cachepath)) { + ?> + + + + + + + + + + + + + + + + +
     
    + +config_cachepath)) { + echo mosToolTip(T_('Current cache is directory is Writeable')); + } else { + echo mosWarning(T_('The cache directory is UNWRITEABLE - please set this directory to CHMOD755 before turning on the cache')); + } +?>  
     
    + endTab(); + $tabs->startTab(T_('Statistics'),"stats-page"); + ?> + + + + + + + + + + + + + + + + +
     
    + endTab(); + $tabs->startTab(T_('SEO'),"seo-page"); + ?> + + + + + + + + + + + + + + + + +
      
     
    +endTab(); + $tabs->endPane(); +?> + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_config/admin.config.php 4.6-complete/uploadfiles/administrator/components/com_config/admin.config.php --- 4.6rc2/uploadfiles/administrator/components/com_config/admin.config.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_config/admin.config.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,566 @@ +acl_check( 'administration', 'config', 'users', $my->usertype )) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +class mosConfig extends mosDBTable { + /** @var int */ + var $config_offline=null; + /** @var string */ + var $config_host=null; + /** @var string */ + var $config_user=null; + /** @var string */ + var $config_password=null; + /** @var string */ + var $config_db=null; + /** @var string */ + var $config_dbprefix=null; + /** @var string */ + var $config_path=null; + /** @var string */ + var $config_live_site=null; + /** @var string */ + var $config_sitename=null; + /** @var int */ + var $config_auth=null; + /** @var int */ + var $config_lifetime=null; + /** @var string */ + var $config_offline_message=null; + /** @var string */ + var $config_error_message=null; + /** @var int */ + var $config_useractivation=null; + /** @var string */ + var $config_use_captcha=0; + /** @var int */ + var $config_uniquemail=null; + /** @var string */ + var $config_metadesc=null; + /** @var string */ + var $config_metakeys=null; + /** @var int */ + var $config_metaauthor=null; + /** @var int */ + var $config_metatitle=null; + /** @var int */ + var $config_debug=0; + /** @var string */ + var $config_lang=null; + /** @var string */ + var $config_locale_debug=0; + /** @var string */ + var $config_locale_use_gettext=0; + /** @var string */ + var $config_locale=null; + /** @var int */ + var $config_offset=null; + /** @var int */ + var $config_hideauthor=null; + /** @var int */ + var $config_hidecreate=null; + /** @var int */ + var $config_hidemodify=null; + /** @var int */ + var $config_hidepdf=null; + /** @var int */ + var $config_hideprint=null; + /** @var int */ + var $config_hideemail=null; + /** @var int */ + var $config_enable_log_items=null; + /** @var int */ + var $config_enable_log_searches=null; + /** @var int */ + var $config_enable_stats=null; + /** @var int */ + var $config_sef=0; + /** @var int */ + var $config_vote=0; + /** @var int */ + var $config_gzip=0; + /** @var int */ + var $config_multipage_toc=0; + /** @var int */ + var $config_allowUserRegistration=0; + /** @var int */ + var $config_error_reporting=0; + /** @var int */ + var $config_register_globals=0; + /** @var int */ + var $config_link_titles=0; + /** @var int */ + var $config_list_limit=0; + /** @var int */ + var $config_caching=0; + /** @var string */ + var $config_cachepath=null; + /** @var string */ + var $config_cachetime=null; + /** @var string */ + var $config_mailer=null; + /** @var string */ + var $config_mailfrom=null; + /** @var string */ + var $config_fromname=null; + /** @var string */ + var $config_sendmail='/usr/sbin/sendmail'; + /** @var string */ + var $config_smtpauth=0; + /** @var string */ + var $config_smtpuser=null; + /** @var string */ + var $config_smtppass=null; + /** @var string */ + var $config_smtphost=null; + /** @var string */ + var $_alias=null; + /** @var int */ + var $config_back_button=0; + /** @var int */ + var $config_item_navigation=0; + /** @var int */ + var $config_ml_support=0; + /** @var string */ + var $config_secret=null; + /** @var int */ + var $config_pagetitles=1; + /** @var int */ + var $config_readmore=1; + /** @var int */ + var $config_hits=1; + /** @var int */ + var $config_icons=1; + /** @var string */ + var $config_favicon=null; + /** @var string */ + var $config_fileperms='0644'; + /** @var string */ + var $config_dirperms='0755'; + /** @var string */ + var $config_helpurl=''; + + function mosConfig() { + $this->_alias = array( + 'config_offline' =>'mosConfig_offline', + 'config_host' =>'mosConfig_host', + 'config_user' =>'mosConfig_user', + 'config_password' =>'mosConfig_password', + 'config_db' =>'mosConfig_db', + 'config_dbprefix' =>'mosConfig_dbprefix', + 'config_path' =>'mosConfig_absolute_path', + 'config_live_site' =>'mosConfig_live_site', + 'config_sitename' =>'mosConfig_sitename', + 'config_auth' =>'mosConfig_shownoauth', + 'config_useractivation' =>'mosConfig_useractivation', + 'config_uniquemail' =>'mosConfig_uniquemail', + 'config_use_captcha' =>'mosConfig_usecaptcha', + 'config_offline_message' =>'mosConfig_offline_message', + 'config_error_message' =>'mosConfig_error_message', + 'config_debug' =>'mosConfig_debug', + 'config_lifetime' =>'mosConfig_lifetime', + 'config_metadesc' =>'mosConfig_MetaDesc', + 'config_metakeys' =>'mosConfig_MetaKeys', + 'config_metaauthor' =>'mosConfig_MetaAuthor', + 'config_metatitle' =>'mosConfig_MetaTitle', + 'config_lang' =>'mosConfig_lang', + 'config_locale' =>'mosConfig_locale', + 'config_locale_debug' =>'mosConfig_locale_debug', + 'config_locale_use_gettext' =>'mosConfig_locale_use_gettext', + 'config_offset' =>'mosConfig_offset', + 'config_hideauthor' =>'mosConfig_hideAuthor', + 'config_hidecreate' =>'mosConfig_hideCreateDate', + 'config_hidemodify' =>'mosConfig_hideModifyDate', + 'config_hidepdf' =>'mosConfig_hidePdf', + 'config_hideprint' =>'mosConfig_hidePrint', + 'config_hideemail' =>'mosConfig_hideEmail', + 'config_enable_log_items' =>'mosConfig_enable_log_items', + 'config_enable_log_searches' =>'mosConfig_enable_log_searches', + 'config_enable_stats' =>'mosConfig_enable_stats', + 'config_sef' =>'mosConfig_sef', + 'config_vote' =>'mosConfig_vote', + 'config_gzip' =>'mosConfig_gzip', + 'config_multipage_toc' =>'mosConfig_multipage_toc', + 'config_allowUserRegistration' =>'mosConfig_allowUserRegistration', + 'config_link_titles' =>'mosConfig_link_titles', + 'config_error_reporting' =>'mosConfig_error_reporting', + 'config_register_globals' =>'mosConfig_register_globals', + 'config_list_limit' =>'mosConfig_list_limit', + 'config_caching' =>'mosConfig_caching', + 'config_cachepath' =>'mosConfig_cachepath', + 'config_cachetime' =>'mosConfig_cachetime', + 'config_mailer' =>'mosConfig_mailer', + 'config_mailfrom' =>'mosConfig_mailfrom', + 'config_fromname' =>'mosConfig_fromname', + 'config_sendmail' =>'mosConfig_sendmail', + 'config_smtpauth' =>'mosConfig_smtpauth', + 'config_smtpuser' =>'mosConfig_smtpuser', + 'config_smtppass' =>'mosConfig_smtppass', + 'config_smtphost' =>'mosConfig_smtphost', + 'config_back_button' =>'mosConfig_back_button', + 'config_item_navigation' =>'mosConfig_item_navigation', + 'config_secret' =>'mosConfig_secret', + 'config_pagetitles' =>'mosConfig_pagetitles', + 'config_readmore' =>'mosConfig_readmore', + 'config_hits' =>'mosConfig_hits', + 'config_icons' =>'mosConfig_icons', + 'config_favicon' =>'mosConfig_favicon', + 'config_fileperms' =>'mosConfig_fileperms', + 'config_dirperms' =>'mosConfig_dirperms', + 'config_ml_support' =>'mosConfig_mbf_content', + 'config_helpurl' =>'mosConfig_helpurl' + ); + } + + function getVarText() { + $txt = ''; + foreach ($this->_alias as $k=>$v) { + $txt .= "\$$v = '".addslashes( $this->$k )."';\n"; + } + return $txt; + } + + function bindGlobals() { + foreach ($this->_alias as $k=>$v) { + if(isset($GLOBALS[$v])) + $this->$k = $GLOBALS[$v]; + } + } +} + +require_once( str_replace('\\','/',dirname(__FILE__)) . '/admin.config.html.php' ); +$confightml = new HTML_config(); + + +switch ( $task ) { + case 'apply': + case 'save': + saveconfig( $task ); + break; + + case 'cancel': + mosRedirect( 'index2.php' ); + break; + + default: + showconfig($confightml, $database, $option); + break; +} + + +function showconfig($confightml, &$database, $option) { + global $database, $mosConfig_absolute_path; + $row = new mosConfig(); + $row->bindGlobals(); + + // compile list of the languages + $langs = array(); + // menuitems appears never to be used - so commented out by Martin Brampton 15 Dec 2005 +// $menuitems = array(); + + if ($handle=opendir( "$mosConfig_absolute_path/language/" )) { + $i=0; + while (false !== ($file = readdir($handle))) { + if (!strcasecmp(substr($file,-4),".xml") && $file <> "." && $file <> ".." && strcasecmp(substr($file,-11),".ignore.php")) { + $langs[] = mosHTML::makeOption( substr($file,0,-4) ); + } + } + } + + // sort list of languages + sort($langs); + reset($langs); + + // compile list of the editors + $query = "SELECT id AS value, name AS text" + . "\n FROM #__mambots" + . "\n WHERE folder='editors' AND published >= 0" + . "\n ORDER BY ordering, name" + ; + $database->setQuery( $query ); + $edits = $database->loadObjectList(); + + $query = "SELECT id" + . "\n FROM #__mambots" + . "\n WHERE folder='editors' AND published = 1" + . "\n LIMIT 1" + ; + $database->setQuery( $query ); + $editor = $database->loadResult(); + + $lists = array(); + // build the html select list + $lists['editor'] = mosHTML::selectList( $edits, 'editor', 'class="inputbox" size="1"', 'value', 'text', $editor ); + + // build the html select list + $lists['lang'] = mosHTML::selectList( $langs, 'config_lang', 'class="inputbox" size="1"', 'value', 'text', $row->config_lang ); + // make a generic -24 - 24 list + for ($i=-12;$i<=12;$i++) { + $timeoffset[] = mosHTML::makeOption( $i, $i ); + } + + // menuitems appears not to be used anywhere - so commented out Martin Brampton 15 Dec 2005 + // get list of menuitems +// $query = "SELECT id AS value, name AS text FROM #__menu" +// . "\n WHERE (type='content_section' OR type='components' OR type='content_typed')" +// . "\n AND published=1" +// . "\n AND access=0" +// . "\n ORDER BY name" +// ; +// $database->setQuery( $query ); +// $menuitems = array_merge( $menuitems, $database->loadObjectList() ); + + $show_hide = array( + mosHTML::makeOption( 1, T_('Hide') ), + mosHTML::makeOption( 0, T_('Show') ), + ); + + $show_hide_r = array( + mosHTML::makeOption( 0, T_('Hide') ), + mosHTML::makeOption( 1, T_('Show') ), + ); + + $list_length = array( + mosHTML::makeOption( 5, 5 ), + mosHTML::makeOption( 10, 10 ), + mosHTML::makeOption( 15, 15 ), + mosHTML::makeOption( 20, 20 ), + mosHTML::makeOption( 25, 25 ), + mosHTML::makeOption( 30, 30 ), + mosHTML::makeOption( 50, 50 ), + ); + + $errors = array( + mosHTML::makeOption( -1, T_('System Default') ), + mosHTML::makeOption( 0, T_('None') ), + mosHTML::makeOption( E_ERROR|E_WARNING|E_PARSE, T_('Simple') ), + mosHTML::makeOption( E_ALL , T_('Maximum') ) + ); + + $register_globals = array( + mosHTML::makeOption( 1, T_('On') ), + mosHTML::makeOption( 0, T_('Off') ), + ); + $locale_debug = array( + mosHTML::makeOption( 1, T_('On') ), + mosHTML::makeOption( 0, T_('Off') ), + ); + $locale_use_gettext = array( + mosHTML::makeOption( 1, T_('Yes') ), + mosHTML::makeOption( 0, T_('No') ), + ); + + $mailer = array( + mosHTML::makeOption( 'mail', T_('PHP mail function'), true ), + mosHTML::makeOption( 'sendmail', T_('Sendmail'), true ), + mosHTML::makeOption( 'smtp', T_('SMTP Server'), true ) + ); + + // build the html select lists + $lists['offline'] = mosHTML::yesnoRadioList( 'config_offline', 'class="inputbox"', $row->config_offline ); + + $lists['auth'] = mosHTML::yesnoRadioList( 'config_auth', 'class="inputbox"', $row->config_auth ); + + $lists['metaauthor'] = mosHTML::yesnoRadioList( 'config_metaauthor', 'class="inputbox"', $row->config_metaauthor ); + + $lists['metatitle'] = mosHTML::yesnoRadioList( 'config_metatitle', 'class="inputbox"', $row->config_metatitle ); + + $lists['useractivation'] = mosHTML::yesnoRadioList( 'config_useractivation', 'class="inputbox"', $row->config_useractivation ); + + $lists['uniquemail'] = mosHTML::yesnoRadioList( 'config_uniquemail', 'class="inputbox"', $row->config_uniquemail ); + + $lists['usecaptcha'] = mosHTML::yesnoRadioList( 'config_use_captcha', 'class="inputbox"', $row->config_use_captcha ); + + $lists['allowuserregistration'] = mosHTML::yesnoRadioList( 'config_allowUserRegistration', 'class="inputbox"', $row->config_allowUserRegistration ); + + $lists['debug'] = mosHTML::yesnoRadioList( 'config_debug', 'class="inputbox"', $row->config_debug ); + + $lists['offset'] = mosHTML::selectList( $timeoffset, 'config_offset', 'class="inputbox" size="1"', 'value', 'text', $row->config_offset ); + + $lists['hideauthor'] = mosHTML::RadioList( $show_hide, 'config_hideauthor', 'class="inputbox"', $row->config_hideauthor, 'value', 'text' ); + + $lists['hidecreate'] = mosHTML::RadioList( $show_hide, 'config_hidecreate', 'class="inputbox"', $row->config_hidecreate, 'value', 'text' ); + + $lists['hidemodify'] = mosHTML::RadioList( $show_hide, 'config_hidemodify', 'class="inputbox"', $row->config_hidemodify, 'value', 'text' ); + + if (is_writable( "$mosConfig_absolute_path/media/" )) { + $lists['hidepdf'] = mosHTML::RadioList( $show_hide, 'config_hidepdf', 'class="inputbox"', $row->config_hidepdf, 'value', 'text' ); + } else { + $lists['hidepdf'] = ''.T_('Yes').''; + } + + $lists['hideprint'] = mosHTML::RadioList( $show_hide, 'config_hideprint', 'class="inputbox"', $row->config_hideprint, 'value', 'text' ); + + $lists['hideemail'] = mosHTML::RadioList( $show_hide, 'config_hideemail', 'class="inputbox"', $row->config_hideemail, 'value', 'text' ); + + $lists['log_items'] = mosHTML::yesnoRadioList( 'config_enable_log_items', 'class="inputbox"', $row->config_enable_log_items ); + + $lists['log_searches'] = mosHTML::yesnoRadioList( 'config_enable_log_searches', 'class="inputbox"', $row->config_enable_log_searches ); + + $lists['enable_stats'] = mosHTML::yesnoRadioList( 'config_enable_stats', 'class="inputbox"', $row->config_enable_stats ); + + $lists['sef'] = mosHTML::yesnoRadioList( 'config_sef', 'class="inputbox" onclick="javascript: if (document.adminForm.config_sef[1].checked) { alert(\''.T_('Remember to rename htaccess.txt to .htaccess').'\') }"', $row->config_sef ); + + $lists['vote'] = mosHTML::RadioList( $show_hide_r, 'config_vote', 'class="inputbox"', $row->config_vote, 'value', 'text' ); + + $lists['gzip'] = mosHTML::yesnoRadioList( 'config_gzip', 'class="inputbox"', $row->config_gzip ); + + $lists['multipage_toc'] = mosHTML::RadioList( $show_hide_r, 'config_multipage_toc', 'class="inputbox"', $row->config_multipage_toc, 'value', 'text' ); + + $lists['pagetitles'] = mosHTML::yesnoRadioList( 'config_pagetitles', 'class="inputbox"', $row->config_pagetitles ); + + $lists['error_reporting'] = mosHTML::selectList( $errors, 'config_error_reporting', 'class="inputbox" size="1"', 'value', 'text', $row->config_error_reporting ); + + $lists['register_globals'] = mosHTML::RadioList( $register_globals, 'config_register_globals', 'class="inputbox" size="1"', $row->config_register_globals, 'value', 'text' ); + + $lists['locale_debug'] = mosHTML::RadioList( $locale_debug, 'config_locale_debug', 'class="inputbox" size="1"', $row->config_locale_debug, 'value', 'text' ); + + $disabled = (extension_loaded('gettext')) ? '' : 'disabled="disabled" '; + $lists['locale_use_gettext'] = mosHTML::RadioList( $locale_use_gettext, 'config_locale_use_gettext', $disabled.'class="inputbox" size="1"', $row->config_locale_use_gettext, 'value', 'text' ); + + $lists['link_titles'] = mosHTML::yesnoRadioList( 'config_link_titles', 'class="inputbox"', $row->config_link_titles ); + + $lists['caching'] = mosHTML::yesnoRadioList( 'config_caching', 'class="inputbox"', $row->config_caching ); + + $lists['mailer'] = mosHTML::selectList( $mailer, 'config_mailer', 'class="inputbox" size="1"', 'value', 'text', $row->config_mailer ); + + $lists['smtpauth'] = mosHTML::yesnoRadioList( 'config_smtpauth', 'class="inputbox"', $row->config_smtpauth ); + + $lists['list_length'] = mosHTML::selectList( $list_length, 'config_list_limit', 'class="inputbox" size="1"', 'value', 'text', ( $row->config_list_limit ? $row->config_list_limit : 50 ) ); + + $lists['back_button'] = mosHTML::RadioList( $show_hide_r, 'config_back_button', 'class="inputbox"', $row->config_back_button, 'value', 'text' ); + + $lists['item_navigation'] = mosHTML::RadioList( $show_hide_r, 'config_item_navigation', 'class="inputbox"', $row->config_item_navigation, 'value', 'text' ); + + $lists['ml_support'] = mosHTML::yesnoRadioList( 'config_ml_support', 'class="inputbox" onclick="javascript: if (document.adminForm.config_ml_support[1].checked) { alert(\''.T_('Remember to install the MambelFish component.').'\') }"', $row->config_ml_support ); + + $lists['readmore'] = mosHTML::RadioList( $show_hide_r, 'config_readmore', 'class="inputbox"', $row->config_readmore, 'value', 'text' ); + + $lists['hits'] = mosHTML::RadioList( $show_hide_r, 'config_hits', 'class="inputbox"', $row->config_hits, 'value', 'text' ); + + $lists['icons'] = mosHTML::RadioList( $show_hide_r, 'config_icons', 'class="inputbox"', $row->config_icons, 'value', 'text' ); + +// $lists['favicon'] = mosHTML::RadioList( $show_hide_r, 'config_icons', 'class="inputbox"', $row->config_icons, 'value', 'text' ); + + $confightml->showconfig( $row, $lists, $option ); +} + +function saveconfig( $task ) { + global $database, $mosConfig_absolute_path; + + $row = new mosConfig(); + if (!$row->bind( $_POST )) { + mosRedirect( "index2.php", $row->getError() ); + } + + $editor = intval( mosGetParam( $_POST, 'editor', 0 ) ); + if ($editor > 0) { + $query = "UPDATE #__mambots" + . "\n SET published = 0" + . "\n WHERE published >= 0 AND folder='editors'" + ; + $database->setQuery( $query ); + $database->query() or die( $database->getErrorMsg() ); + + $query = "UPDATE #__mambots" + . "\n SET published = 1" + . "\n WHERE id = $editor" + ; + $database->setQuery( $query ); + $database->query() or die( $database->getErrorMsg() ); + } + + $config = "getVarText(); + //$config .= "setlocale (LC_TIME, \$mosConfig_locale);\n"; + $config .= '?>'; + + $fname = '../configuration.php'; + $enable_write = mosGetParam($_POST,'enable_write',0); + $oldperms = fileperms($fname); + if ($enable_write) @chmod($fname, $oldperms | 0222); + if ( $fp = fopen($fname, 'w') ) { + fputs($fp, $config, strlen($config)); + fclose($fp); + if ($enable_write) { + @chmod($fname, $oldperms); + } else { + if (mosGetParam($_POST,'disable_write',0)) + @chmod($fname, $oldperms & 0777555); + } // if + + $msg = T_('The Configuration Details have been updated'); + + // apply file and directory permissions if requested by user + $applyFilePerms = mosGetParam($_POST,'applyFilePerms',0) && $row->config_fileperms!=''; + $applyDirPerms = mosGetParam($_POST,'applyDirPerms',0) && $row->config_dirperms!=''; + if ($applyFilePerms || $applyDirPerms) { + $mosrootfiles = array( + 'administrator', + 'cache', + 'components', + 'editor', + 'help', + 'images', + 'includes', + 'parameters', + 'installation', + 'language', + 'mambots', + 'media', + 'modules', + 'templates', + 'CHANGELOG', + 'configuration.php', + 'htaccess.txt', + 'index.php', + 'index2.php', + 'index3.php', + 'INSTALL', + 'LICENSE', + 'mainbody.php', + 'offline.php', + 'page404.php', + 'pathway.php', + 'README', + 'robots.txt' + ); + $filemode = NULL; + if ($applyFilePerms) $filemode = octdec($row->config_fileperms); + $dirmode = NULL; + if ($applyDirPerms) $dirmode = octdec($row->config_dirperms); + foreach ($mosrootfiles as $file) + mosChmodRecursive($mosConfig_absolute_path.'/'.$file, $filemode, $dirmode); + } // if + + switch ( $task ) { + case 'apply': + mosRedirect( 'index2.php?option=com_config&hidemainmenu=1', $msg ); + break; + + case 'save': + default: + mosRedirect( 'index2.php', $msg ); + break; + } + } else { + if ($enable_write) @chmod($fname, $oldperms); + mosRedirect( 'index2.php', T_('An Error Has Occurred! Unable to open config file to write!') ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_config/index.html 4.6-complete/uploadfiles/administrator/components/com_config/index.html --- 4.6rc2/uploadfiles/administrator/components/com_config/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_config/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_config/toolbar.config.html.php 4.6-complete/uploadfiles/administrator/components/com_config/toolbar.config.html.php --- 4.6rc2/uploadfiles/administrator/components/com_config/toolbar.config.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_config/toolbar.config.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,29 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_config/toolbar.config.php 4.6-complete/uploadfiles/administrator/components/com_config/toolbar.config.php --- 4.6rc2/uploadfiles/administrator/components/com_config/toolbar.config.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_config/toolbar.config.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + default: + TOOLBAR_config::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_contact/admin.contact.html.php 4.6-complete/uploadfiles/administrator/components/com_contact/admin.contact.html.php --- 4.6rc2/uploadfiles/administrator/components/com_contact/admin.contact.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_contact/admin.contact.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,418 @@ + +
    + + + + + + + +
    + + + + + + + +
    + + + + + + + + + + + + id; + + $img = $row->published ? 'tick.png' : 'publish_x.png'; + $task = $row->published ? 'unpublish' : 'publish'; + $alt = $row->published ? 'Published' : 'Unpublished'; + + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + + $row->cat_link = 'index2.php?option=com_categories§ion=com_contacts&task=editA&hidemainmenu=1&id='. $row->catid; + $row->user_link = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->user_id; + ?> + "> + + + + + + + + + + +
    + # + + + + + + + + + + + + +
    + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->name; + } else { + ?> + + name; ?> + + + + + <?php echo $alt; ?> + + + orderUpIcon( $i, ( $row->catid == @$rows[$i-1]->catid ) ); ?> + + orderDownIcon( $i, $n, ( $row->catid == @$rows[$i+1]->catid ) ); ?> + + + category; ?> + + + + user; ?> + +
    + getListFooter(); ?> + + + + + +
    + image == '') { + $row->image = 'blank.png'; + } + + $tabs = new mosTabs(0); + + mosMakeHtmlSafe( $row, ENT_QUOTES, 'misc' ); + ?> + + +
    + + + + + +
    + + + id ? T_('Edit') : T_('New');?> + +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    +
    + startPane("content-pane"); + $tabs->startTab("Publishing","publish-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
      + +
    + endTab(); + $tabs->startTab(T_("Images"),"images-page"); + ?> + + + + + + + + + + + + +
    + +
    + : + + +
    + + +
    + endTab(); + $tabs->startTab(T_("Parameters"),"params-page"); + ?> + + + + + + + + + + +
    + +
    + * * +

    +
    + render();?> +
    + endTab(); + $tabs->endPane(); + ?> +
    + + + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_contact/admin.contact.php 4.6-complete/uploadfiles/administrator/components/com_contact/admin.contact.php --- 4.6rc2/uploadfiles/administrator/components/com_contact/admin.contact.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_contact/admin.contact.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,302 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) + | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_contact' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$id = mosGetParam($_GET, 'id', 0); +$cid = mosGetParam($_POST, 'cid', array(0)); +if (!is_array( $cid )) $cid = array(0); + +switch ($task) { + + case 'new': + editContact( '0', $option); + break; + + case 'edit': + editContact( $cid[0], $option ); + break; + + case 'editA': + editContact( $id, $option ); + break; + + case 'save': + saveContact( $option ); + break; + + case 'remove': + removeContacts( $cid, $option ); + break; + + case 'publish': + changeContact( $cid, 1, $option ); + break; + + case 'unpublish': + changeContact( $cid, 0, $option ); + break; + + case 'orderup': + orderContacts( $cid[0], -1, $option ); + break; + + case 'orderdown': + orderContacts( $cid[0], 1, $option ); + break; + + case 'cancel': + cancelContact(); + break; + + default: + showContacts( $option ); + break; +} + +/** +* List the records +* @param string The current GET/POST option +*/ +function showContacts( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $catid = $mainframe->getUserStateFromRequest( "catid{$option}", 'catid', 0 ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + if ( $search ) { + $where[] = "cd.name LIKE '%$search%'"; + } + if ( $catid ) { + $where[] = "cd.catid = '$catid'"; + } + if ( isset( $where ) ) { + $where = "\n WHERE ". implode( ' AND ', $where ); + } else { + $where = ''; + } + + // get the total number of records + $database->setQuery( "SELECT COUNT(*) FROM #__contact_details AS cd $where" ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + // get the subset (based on limits) of required records + $query = "SELECT cd.*, cc.title AS category, u.name AS user, v.name as editor" + . "\n FROM #__contact_details AS cd" + . "\n LEFT JOIN #__categories AS cc ON cc.id = cd.catid" + . "\n LEFT JOIN #__users AS u ON u.id = cd.user_id" + . "\n LEFT JOIN #__users AS v ON v.id = cd.checked_out" + . $where + . "\n ORDER BY cd.catid, cd.ordering, cd.name ASC" + . "\n LIMIT $pageNav->limitstart, $pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + // build list of categories + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['catid'] = mosAdminMenus::ComponentCategory( 'catid', 'com_contact_details', intval( $catid ), $javascript ); + + HTML_contact::showcontacts( $rows, $pageNav, $search, $option, $lists ); +} + +/** +* Creates a new or edits and existing user record +* @param int The id of the record, 0 if a new entry +* @param string The current GET/POST option +*/ +function editContact( $id, $option ) { + global $database, $my; + global $mosConfig_absolute_path; + + $row = new mosContact( $database ); + // load the row from the db table + $row->load( $id ); + + if ($id) { + // do stuff for existing records + $row->checkout($my->id); + } else { + // do stuff for new records + $row->imagepos = 'top'; + $row->ordering = 0; + $row->published = 1; + } + $lists = array(); + + // build the html select list for ordering + $query = "SELECT ordering AS value, name AS text" + . "\n FROM #__contact_details" + . "\n WHERE published >= 0" + . "\n AND catid = '$row->catid'" + . "\n ORDER BY ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $id, $query, 1 ); + + // build list of users + $lists['user_id'] = mosAdminMenus::UserSelect( 'user_id', $row->user_id, 1 ); + // build list of categories + $lists['catid'] = mosAdminMenus::ComponentCategory( 'catid', 'com_contact_details', intval( $row->catid ) ); + // build the html select list for images + $lists['image'] = mosAdminMenus::Images( 'image', $row->image ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + // build the html radio buttons for published + $lists['published'] = mosHTML::yesnoradioList( 'published', '', $row->published ); + // build the html radio buttons for default + $lists['default_con'] = mosHTML::yesnoradioList( 'default_con', '', $row->default_con ); + + // get params definitions + $file = $mosConfig_absolute_path .'/administrator/components/com_contact/contact_items.xml'; + $params =& new mosAdminParameters( $row->params, $file, 'component' ); + + HTML_contact::editcontact( $row, $lists, $option, $params ); +} + +/** +* Saves the record from an edit form submit +* @param string The current GET/POST option +*/ +function saveContact( $option ) { + global $database; + + $row = new mosContact( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + // save params + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ( $params as $k=>$v) { + $txt[] = "$k=$v"; + } + $row->params = implode( "\n", $txt ); + } + + // pre-save checks + if (!$row->check()) { + echo "\n"; + exit(); + } + + // save the changes + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder(); + if ($row->default_con) { + $database->setQuery( "UPDATE #__contact_details SET default_con='0' WHERE id <> $row->id AND default_con='1'" ); + $database->query(); + } + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* Removes records +* @param array An array of id keys to remove +* @param string The current GET/POST option +*/ +function removeContacts( &$cid, $option ) { + global $database; + + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__contact_details WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + } + } + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* Changes the state of one or more content pages +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The current option +*/ +function changeContact( $cid=null, $state=0, $option ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $state == 1 ? 'publish' : 'unpublish'; + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $database->setQuery( "UPDATE #__contact_details SET published='$state'" + . "\nWHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosContact( $database ); + $row->checkin( intval( $cid[0] ) ); + } + + mosRedirect( "index2.php?option=$option" ); +} + +/** JJC +* Moves the order of a record +* @param integer The increment to reorder by +*/ +function orderContacts( $uid, $inc, $option ) { + global $database; + + $row = new mosContact( $database ); + $row->load( $uid ); + $row->move( $inc, "published >= 0" ); + + mosRedirect( "index2.php?option=$option" ); +} + +/** PT +* Cancels editing and checks in the record +*/ +function cancelContact() { + global $database; + + $row = new mosContact( $database ); + $row->bind( $_POST ); + $row->checkin(); + mosRedirect('index2.php?option=com_contact'); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_contact/contact.xml 4.6-complete/uploadfiles/administrator/components/com_contact/contact.xml --- 4.6rc2/uploadfiles/administrator/components/com_contact/contact.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_contact/contact.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,74 @@ + + + Contact + Mambo Project + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This component shows a listing of Contact Information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_contact/contact_items.xml 4.6-complete/uploadfiles/administrator/components/com_contact/contact_items.xml --- 4.6rc2/uploadfiles/administrator/components/com_contact/contact_items.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_contact/contact_items.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,107 @@ + + + Contact Items + Mambo Project + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Parameters for individual Contact Items + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_contact/index.html 4.6-complete/uploadfiles/administrator/components/com_contact/index.html --- 4.6rc2/uploadfiles/administrator/components/com_contact/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_contact/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_contact/toolbar.contact.html.php 4.6-complete/uploadfiles/administrator/components/com_contact/toolbar.contact.html.php --- 4.6rc2/uploadfiles/administrator/components/com_contact/toolbar.contact.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_contact/toolbar.contact.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,57 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_contact/toolbar.contact.php 4.6-complete/uploadfiles/administrator/components/com_contact/toolbar.contact.php --- 4.6rc2/uploadfiles/administrator/components/com_contact/toolbar.contact.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_contact/toolbar.contact.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,29 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + case 'new': + case 'edit': + case 'editA': + TOOLBAR_contact::_EDIT(); + break; + + default: + TOOLBAR_contact::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_containers/admin.containers.html.php 4.6-complete/uploadfiles/administrator/components/com_containers/admin.containers.html.php --- 4.6rc2/uploadfiles/administrator/components/com_containers/admin.containers.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_containers/admin.containers.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,259 @@ +repository =& $controller->repository; + $this->clist = $clist; + } + + function displayIcons ($object, $iconList) { + if (is_object($object)) $icon = $object->icon; + else $icon = ''; + ?> + +
    +   + + + + + + +
    + +
    +
    pageNav->writeLimitBox(); ?> + + onChange="document.adminForm.submit();" /> +
    '.$this->clist.'
    +   + + clist; ?> +
    + + + + blankRow(); + $this->containerSelectBox(); + } + + function publishedBox (&$object) { + ?> + + + tickBox($object, 'published'); ?> + + act&task=edit&cfid=$id"; + if ($containerid) $url .= "&containerid=$containerid"; + return $url; + } + + function legalTypeList ($current) { + $alternatives = explode(',',_REMOS_LEGAL_TYPES); + foreach ($alternatives as $one) { + if ($one == $current) $mark = 'selected=\'selected\''; + else $mark = ''; + echo ""; + } + } + +} + +class listContainersHTML extends containersAdminHTML { + + function columnHeads ($containers, $descendants) { + $this->listHeadingStart(count($containers)); + $this->headingItem('30%', T_('Title')); + if ($this->clist) { + $this->headingItem('5%', 'ID'); + if (!$descendants) { + $this->headingItem('5%', T_('Reorder'), 2); + $this->headingItem('2%', T_('Order')); + ?> + + headingItem('25%', T_('Top level container')); + $this->headingItem('25%', T_('Immediate container')); + } + $this->headingItem('7%', T_('Published')); + echo ''; + } + + function filecount ($container) { + if ($container->filecount) { + $link = ""; + $link .= $container->filecount; + $link .= ''; + return $link; + } + else return '0'; + } + + function listLine ($container, $descendants, $i, $k, $n) { + global $mosConfig_live_site; + ?> + "> + + + clist) { ?> + + '.$this->pageNav->orderUpIcon( $i ); ?> + + + + + published==1) { ?> + + + + + + + formStart(T_('Containers'), mamboCore::get('mosConfig_live_site').'/administrator/images/asterisk.png'); + $this->blankRow(); + $this->listHeader($descendants, $search); + echo '
    +
    + <?php echo $title; ?> +   +
    +
    +   +
    + <?php echo T_('Save Order'); ?> +
    + + + + name; ?> + + id; ?> + pageNav->orderDownIcon( $i, $n ); ?> + + + '; } ?> + getCategoryName();?>getFamilyNames();?>PublishedPublished
    '; + $this->columnHeads($containers, $descendants); + $n = count($containers); + $k = 0; + foreach ($containers as $i=>$container) { + $this->listLine($container, $descendants, $i, $k, $n); + $k = 1 - $k; + } + $this->listFormEnd(); + } +} + +class editContainersHTML extends containersAdminHTML { + + function selectList ($title, $selector, $redstar) { + $this->inputTop ($title, $redstar); + ?> +
    + +
    + $name == $i) echo '" checked="checked" />'; + else echo '" />'; + echo $updown[$i]; + } + ?> +
    + +
    + + + + + + + + + + + + +
    + + [ ] + + [ title; ?> ] + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + id; + + $row->sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->sectionid; + $row->cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; + + $now = date( "Y-m-d H:i:s" ); + if ( $now <= $row->publish_up && $row->state == "1" ) { + $img = 'publish_y.png'; + $alt = T_('Published'); + } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { + $img = 'publish_g.png'; + $alt = T_('Published'); + } else if ( $now > $row->publish_down && $row->state == "1" ) { + $img = 'publish_r.png'; + $alt = T_('Expired'); + } elseif ( $row->state == "0" ) { + $img = "publish_x.png"; + $alt = T_('Unpublished'); + } + $times = ''; + if (isset($row->publish_up)) { + if ($row->publish_up == '0000-00-00 00:00:00') { + $times .= ""; + } else { + $times .= ""; + } + } + if (isset($row->publish_down)) { + if ($row->publish_down == '0000-00-00 00:00:00') { + $times .= ""; + } else { + $times .= ""; + } + } + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. $row->author .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = $row->author; + } + } + + $date = mosFormatDate( $row->created, '%x' ); + + $access = mosCommonHTML::AccessProcessing( $row, $i ); + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + ?> + "> + + + + + + + + + + + + + + + + + + + + +
    + # + + + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + + + + + +
    ".T_('Start:')." ".T_('Always')."
    Start: $row->publish_up
    ".T_('Finish:')." ".T_('No Expiry')."
    ".T_('Finish:')." $row->publish_down
    + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->title; + } else { + ?> + + title, ENT_QUOTES); ?> + + + + ')"> + <?php echo $alt; ?> + + + + <?php echo ( $row->frontpage ) ? T_('Yes') : T_('No');?> + + + orderUpIcon( $i, ($row->catid == @$rows[$i-1]->catid) ); ?> + + orderDownIcon( $i, $n, ($row->catid == @$rows[$i+1]->catid) ); ?> + + + + + + id; ?> + + + section_name; ?> + + + + name; ?> + + + + + +
    + + getListFooter(); ?> + + + + + + + + + + + +
    + + + + + + + + + + + + + + +
    + + [ ] + + [ title; ?> ] + + + + + + + +
    + + + +
    + + + + + + + + + + + + + cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. $row->author .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = $row->author; + } + } + + $date = mosFormatDate( $row->created, '%x' ); + ?> + "> + + + + + + + + + +
    + # + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + +
    + rowNumber( $i ); ?> + + id ); ?> + + title; ?> + + + + + name; ?> + + + + + +
    + + getListFooter(); ?> + + + + + + + + +
    + $row is passed with the id + * property set to 0. + * @param mosContent The category object + * @param string The html for the groups select list + */ + function editContent( &$row, $section, &$lists, &$sectioncategories, &$images, &$params, $option, $redirect, &$menus ) { + global $mosConfig_live_site; + + mosMakeHtmlSafe( $row ); + + $create_date = null; + if (intval( $row->created ) <> 0) { + $create_date = mosFormatDate( $row->created, '%A, %d %B %Y %H:%M', '0' ); + } + $mod_date = null; + if (intval( $row->modified ) <> 0) { + $mod_date = mosFormatDate( $row->modified, '%A, %d %B %Y %H:%M', '0' ); + } + + $tabs = new mosTabs(1); + + + // used to hide "Reset Hits" when hits = 0 + if ( !$row->hits ) { + $visibility = "style='display: none; visbility: hidden;'"; + } else { + $visibility = ""; + } + + mosCommonHTML::loadOverlib(); + mosCommonHTML::loadCalendar(); + ?> + + + +
    + + + + + +
    + + + id ? T_('Edit') : T_('New');?> + + id ) { + ?> + + [ ] + + + +
    + + + + +
    +
    + +
    +
    + +
    +
    + + + + + + +
    + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + +
    + + + + + + + +
    +
    + () +
    introtext , 'introtext', '100%;', '200', '75', '20' ) ; ?> +
    + () +
    fulltext , 'fulltext', '100%;', '350', '75', '30' ) ; ?> +
    +
    +
    + + + + +
    + + + + + + +
    + startPane("content-pane"); + $tabs->startTab(T_("Publishing"),"publish-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + frontpage ? 'checked="checked"' : ''; ?> /> +
    + + + state ? 'checked="checked"' : ''; ?> /> +
    + + +
    + + + +
    + + +
    +
    + + + + +
    + + + + +
    + + + + +
    +
    + + id ) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + id; ?> +
    + + + state > 0 ? T_('Published') : ($row->state < 0 ? T_('Archived') : T_('Draft Unpublished'));?> +
    + + + : + + hits;?> +
    > + +
    +
    + + + : + + version;?> +
    + + + + + created ? "$create_date
    ".T_('By')."$row->creator" : "New document"; ?> +
    + + + + + modified ? "$mod_date
    ".T_('By')."$row->modifier" : "Not modified";?> +
    + endTab(); + $tabs->startTab(T_("Images"),"images-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + +
    +
    + endTab(); + $tabs->startTab(T_("Parameters"),"params-page"); + ?> + + + + + + + + + + +
    + +
    + * * +

    +
    + render();?> +
    + endTab(); + $tabs->startTab(T_("Meta Info"),"metadata-page"); + ?> + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    + +
    + +
    + endTab(); + $tabs->startTab(T_("Link to Menu"),"link-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +

    +
    + + + +
    + + + +
    + + +
    + +
    + +
    +
    + endTab(); + $tabs->endPane(); + ?> +
    +
    +
    +
    + +
    + + + + + + + + + + + + + +
    +
    + + + + +
    + +
    + +
    + + + + + +
    + +
    + +

    +
    + +
    + "; + foreach ( $items as $item ) { + echo "
  • ". $item->title ."
  • "; + } + echo ""; + ?> +
    +

    + + + + + "; + } + ?> +
    + + +
    +
    + + + + +
    + +
    + +
    + + + + + +
    + +
    + +

    +
    + +
    + "; + foreach ( $items as $item ) { + echo "
  • ". $item->title ."
  • "; + } + echo ""; + ?> +
    +

    + + + + + "; + } + ?> +
    + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_content/admin.content.php 4.6-complete/uploadfiles/administrator/components/com_content/admin.content.php --- 4.6rc2/uploadfiles/administrator/components/com_content/admin.content.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_content/admin.content.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,1202 @@ +getPath( 'admin_html' ) ); +require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); + +$sectionid = mosGetParam( $_REQUEST, 'sectionid', 0 ); +$id = mosGetParam( $_REQUEST, 'id', '' ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ($task) { + case 'clean_cache': + mosCache::cleanCache( 'com_content' ); + mosRedirect( 'index2.php', 'Cache cleaned' ); + break; + + case 'new': + editContent( 0, $sectionid, $option ); + break; + + case 'edit': + editContent( $id, $sectionid, $option ); + break; + + case 'editA': + editContent( $cid[0], '', $option ); + break; + + case 'go2menu': + case 'go2menuitem': + case 'resethits': + case 'menulink': + case 'apply': + case 'save': + mosCache::cleanCache( 'com_content' ); + saveContent( $sectionid, $task ); + break; + + case 'remove': + removeContent( $cid, $sectionid, $option ); + break; + + case 'publish': + changeContent( $cid, 1, $option ); + break; + + case 'unpublish': + changeContent( $cid, 0, $option ); + break; + + case 'toggle_frontpage': + toggleFrontPage( $cid, $sectionid, $option ); + break; + + case 'archive': + changeContent( $cid, -1, $option ); + break; + + case 'unarchive': + changeContent( $cid, 0, $option ); + break; + + case 'cancel': + cancelContent(); + break; + + case 'orderup': + orderContent( $cid[0], -1, $option ); + break; + + case 'orderdown': + orderContent( $cid[0], 1, $option ); + break; + + case 'showarchive': + viewArchive( $sectionid, $option ); + break; + + case 'movesect': + moveSection( $cid, $sectionid, $option ); + break; + + case 'movesectsave': + moveSectionSave( $cid, $sectionid, $option ); + break; + + case 'copy': + copyItem( $cid, $sectionid, $option ); + break; + + case 'copysave': + copyItemSave( $cid, $sectionid, $option ); + break; + + case 'accesspublic': + accessMenu( $cid[0], 0, $option ); + break; + + case 'accessregistered': + accessMenu( $cid[0], 1, $option ); + break; + + case 'accessspecial': + accessMenu( $cid[0], 2, $option ); + break; + + case 'saveorder': + saveOrder( $cid ); + break; + + default: + viewContent( $sectionid, $option ); + break; +} + +/** +* Compiles a list of installed or defined modules +* @param database A database connector object +*/ +function viewContent( $sectionid, $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $catid = $mainframe->getUserStateFromRequest( "catid{$option}{$sectionid}", 'catid', 0 ); + $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}{$sectionid}", 'filter_authorid', 0 ); + $filter_sectionid = $mainframe->getUserStateFromRequest( "filter_sectionid{$option}{$sectionid}", 'filter_sectionid', 0 ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}{$sectionid}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}{$sectionid}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + $redirect = $sectionid; + $filter = ''; //getting a undefined variable error + + if ( $sectionid == 0 ) { + // used to show All content items + $where = array( + "c.state >= 0", + "c.catid=cc.id", + "cc.section=s.id", + "s.scope='content'", + ); + $order = "\n ORDER BY s.title, c.catid, cc.ordering, cc.title, c.ordering"; + $all = 1; + //$filter = "\n , #__sections AS s WHERE s.id = c.section"; + + if ($filter_sectionid > 0) { + $filter = "\nWHERE cc.section=$filter_sectionid"; + } + $section->title = T_('All Content Items'); + $section->id = 0; + } else { + $where = array( + "c.state >= 0", + "c.catid=cc.id", + "cc.section=s.id", + "s.scope='content'", + "c.sectionid='$sectionid'" + ); + $order = "\n ORDER BY cc.ordering, cc.title, c.ordering"; + $all = NULL; + $filter = "\n WHERE cc.section = '$sectionid'"; + $section = new mosSection( $database ); + $section->load( $sectionid ); + } + + // used by filter + if ( $filter_sectionid > 0 ) { + $where[] = "c.sectionid = '$filter_sectionid'"; + } + if ( $catid > 0 ) { + $where[] = "c.catid = '$catid'"; + } + if ( $filter_authorid > 0 ) { + $where[] = "c.created_by = '$filter_authorid'"; + } + + if ( $search ) { + $where[] = "LOWER( c.title ) LIKE '%$search%'"; + } + + // get the total number of records + $database->setQuery( "SELECT count(*) FROM #__content AS c, #__categories AS cc, #__sections AS s" + . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") + ); + $total = $database->loadResult(); + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT c.*, g.name AS groupname, cc.name, u.name AS editor, f.content_id AS frontpage, s.title AS section_name, v.name AS author" + . "\n FROM #__categories AS cc, #__sections AS s, #__content AS c" + . "\n LEFT JOIN #__groups AS g ON g.id = c.access" + . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" + . "\n LEFT JOIN #__users AS v ON v.id = c.created_by" + . "\n LEFT JOIN #__content_frontpage AS f ON f.content_id = c.id" + . ( count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : '' ) + . $order + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + // get list of categories for dropdown filter + $query = "SELECT cc.id AS value, cc.title AS text, section" + . "\n FROM #__categories AS cc" + . "\n INNER JOIN #__sections AS s ON s.id=cc.section " + . $filter + . "\n ORDER BY s.ordering, cc.ordering" + ; + $lists['catid'] = filterCategory( $query, $catid ); + + // get list of sections for dropdown filter + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['sectionid'] = mosAdminMenus::SelectSection( 'filter_sectionid', $filter_sectionid, $javascript ); + + // get list of Authors for dropdown filter + $query = "SELECT c.created_by AS value, u.name AS text" + . "\n FROM #__content AS c" + . "\n INNER JOIN #__sections AS s ON s.id = c.sectionid" + . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" + . "\n WHERE c.state <> '-1'" + . "\n AND c.state <> '-2'" + . "\n GROUP BY u.name" + . "\n ORDER BY u.name" + ; + $authors[] = mosHTML::makeOption( '0', T_('- All Authors -') ); + $database->setQuery( $query ); + $authors = array_merge( $authors, $database->loadObjectList() ); + $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); + + HTML_content::showContent( $rows, $section, $lists, $search, $pageNav, $all, $redirect ); +} + +/** +* Shows a list of archived content items +* @param int The section id +*/ +function viewArchive( $sectionid, $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $catid = $mainframe->getUserStateFromRequest( "catidarc{$option}{$sectionid}", 'catid', 0 ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "viewarc{$option}{$sectionid}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "searcharc{$option}{$sectionid}", 'search', '' ); + $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}{$sectionid}", 'filter_authorid', 0 ); + $filter_sectionid = $mainframe->getUserStateFromRequest( "filter_sectionid{$option}{$sectionid}", 'filter_sectionid', 0 ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + $redirect = $sectionid; + + if ( $sectionid == 0 ) { + $where = array( + "c.state = -1", + "c.catid=cc.id", + "cc.section=s.id", + "s.scope='content'" + ); + $filter = "\n , #__sections AS s WHERE s.id = c.section"; + $all = 1; + } else { + $where = array( + "c.state = -1", + "c.catid=cc.id", + "cc.section=s.id", + "s.scope='content'", + "c.sectionid='$sectionid'" + ); + $filter = "\n WHERE section = '$sectionid'"; + $all = NULL; + } + + // used by filter + if ( $filter_sectionid > 0 ) { + $where[] = "c.sectionid = '$filter_sectionid'"; + } + if ( $filter_authorid > 0 ) { + $where[] = "c.created_by = '$filter_authorid'"; + } + if ($catid > 0) { + $where[] = "c.catid='$catid'"; + } + if ($search) { + $where[] = "LOWER(c.title) LIKE '%$search%'"; + } + + // get the total number of records + $query = "SELECT count(*)" + . "FROM #__content AS c, #__categories AS cc, #__sections AS s" + . ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ) + ; + $database->setQuery( $query ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT c.*, g.name AS groupname, cc.name, v.name AS author" + . "\n FROM #__categories AS cc, #__sections AS s, #__content AS c" + . "\n LEFT JOIN #__groups AS g ON g.id = c.access" + . "\n LEFT JOIN #__users AS v ON v.id = c.created_by" + . ( count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : '' ) + . "\n ORDER BY c.catid, c.ordering" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return; + } + + // get list of categories for dropdown filter + $query = "SELECT c.id AS value, c.title AS text" + . "\n FROM #__categories AS c" + . $filter + . "\n ORDER BY c.ordering" + ; + $lists['catid'] = filterCategory( $query, $catid ); + + // get list of sections for dropdown filter + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['sectionid'] = mosAdminMenus::SelectSection( 'filter_sectionid', $filter_sectionid, $javascript ); + + $section = new mosSection( $database ); + $section->load( $sectionid ); + + // get list of Authors for dropdown filter + $query = "SELECT c.created_by AS value, u.name AS text" + . "\n FROM #__content AS c" + . "\n INNER JOIN #__sections AS s ON s.id = c.sectionid" + . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" + . "\n WHERE c.state = '-1'" + . "\n GROUP BY u.name" + . "\n ORDER BY u.name" + ; + $authors[] = mosHTML::makeOption( '0', T_('- All Authors -') ); + $database->setQuery( $query ); + $moreauthors = $database->loadObjectList(); + if ($moreauthors) $authors = array_merge( $authors, $moreauthors ); + $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); + + HTML_content::showArchive( $rows, $section, $lists, $search, $pageNav, $option, $all, $redirect ); +} + +/** +* Compiles information to add or edit the record +* @param database A database connector object +* @param integer The unique id of the record to edit (0 if new) +* @param integer The id of the content section +*/ +function editContent( $uid=0, $sectionid=0, $option ) { + global $database, $my, $mainframe; + global $mosConfig_absolute_path, $mosConfig_live_site, $mosConfig_offset; + + $redirect = mosGetParam( $_POST, 'redirect', '' ); + if ( !$redirect ) { + $redirect = $sectionid; + } + + // load the row from the db table + $row = new mosContent( $database ); + $row->load( $uid ); + + if ($uid) { + $sectionid = $row->sectionid; + if ($row->state < 0) { + mosRedirect( 'index2.php?option=com_content§ionid='. $row->sectionid, T_('You cannot edit an archived item') ); + } + } + + if ( $sectionid == 0 ) { + $where = "\n WHERE section NOT LIKE '%com_%'"; + } else { + $where = "\n WHERE section='$sectionid'"; + } + + // get the type name - which is a special category + if ($row->sectionid){ + $query = "SELECT name FROM #__sections WHERE id=$row->sectionid"; + $database->setQuery( $query ); + $section = $database->loadResult(); + $contentSection = $section; + } else { + $query = "SELECT name FROM #__sections WHERE id=$sectionid"; + $database->setQuery( $query ); + $section = $database->loadResult(); + $contentSection = $section; + } + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + mosRedirect( 'index2.php?option=com_content', sprintf(T_('The module %s is currently being edited by another administrator'), $row->title) ); + } + + if ($uid) { + $row->checkout( $my->id ); + if (trim( $row->images )) { + $row->images = explode( "\n", $row->images ); + } else { + $row->images = array(); + } + + $row->created = mosFormatDate( $row->created, '%Y-%m-%d %H:%M:%S' ); + $row->modified = mosFormatDate( $row->modified, '%Y-%m-%d %H:%M:%S' ); + $row->publish_up = mosFormatDate( $row->publish_up, '%Y-%m-%d %H:%M:%S' ); + + if (trim( $row->publish_down ) == '0000-00-00 00:00:00') { + $row->publish_down = T_('Never'); + } + + $query = "SELECT name from #__users" + . "\n WHERE id=$row->created_by" + ; + $database->setQuery( $query ); + $row->creator = $database->loadResult(); + + $query = "SELECT name from #__users" + . "\n WHERE id=$row->modified_by" + ; + $database->setQuery( $query ); + $row->modifier = $database->loadResult(); + + $query = "SELECT content_id from #__content_frontpage" + . "\n WHERE content_id=$row->id" + ; + $database->setQuery( $query ); + $row->frontpage = $database->loadResult(); + + // get list of links to this item + $_and = "\n AND componentid = ". $row->id; + $menus = mosAdminMenus::Links2Menu( 'content_item_link', $_and ); + } else { + $row->sectionid = $sectionid; + $row->version = 0; + $row->state = 1; + $row->ordering = 0; + $row->images = array(); + //$row->publish_up = date( 'Y-m-d', time() ); + $row->publish_up = date( 'Y-m-d', time() + $mosConfig_offset * 60 * 60 ); + $row->publish_down = T_('Never'); + $row->catid = NULL; + $row->creator = ''; + $row->modifier = ''; + $row->frontpage = 0; + $menus = array(); + } + + $javascript = "onchange=\"changeDynaList( 'catid', sectioncategories, document.adminForm.sectionid.options[document.adminForm.sectionid.selectedIndex].value, 0, 0);\""; + + $query = "SELECT s.id AS value, s.title AS text" + . "\n FROM #__sections AS s" + . "\n ORDER BY s.ordering"; + $database->setQuery( $query ); + + $sections = $database->loadObjectList(); + + if ( $sectionid == 0 ) { + if ($sections) { + array_unshift ($sections, mosHTML::makeOption( '-1', T_('Select Section'))); + } else { + $sections[] = mosHTML::makeOption( '-1', T_('Add Section(s) First') ); + } + $lists['sectionid'] = mosHTML::selectList( $sections, 'sectionid', 'class="inputbox" size="1" '. $javascript, 'value', 'text' ); + } else { + $lists['sectionid'] = mosHTML::selectList( $sections, 'sectionid', 'class="inputbox" size="1" '. $javascript, 'value', 'text', intval( $row->sectionid)); + } + + $sectioncategories = array(); + $sectioncategories[-1] = array(); + $sectioncategories[-1][] = mosHTML::makeOption( '-1', T_('Select Category') ); + if ($sections) foreach($sections as $section) { + $sectioncategories[$section->value] = array(); + $query = "SELECT id AS value, name AS text" + . "\n FROM #__categories" + . "\n WHERE section='$section->value'" + . "\n ORDER BY ordering"; + $database->setQuery( $query ); + $rows2 = $database->loadObjectList(); + if ($rows2) foreach($rows2 as $row2) $sectioncategories[$section->value][] = mosHTML::makeOption( $row2->value, $row2->text ); + else $sectioncategories[$section->value][] = mosHTML::makeOption( "-1", T_('Add Categories First') ); + } + + // get list of categories + if ( !$row->catid && !$row->sectionid ) { + $categories[] = mosHTML::makeOption( '-1', T_('Select Category') ); + $lists['catid'] = mosHTML::selectList( $categories, 'catid', 'class="inputbox" size="1"', 'value', 'text' ); + } else { + $query = "SELECT id AS value, name AS text" + . "\n FROM #__categories" + . $where + . "\n ORDER BY ordering"; + $database->setQuery( $query ); + $categories[] = mosHTML::makeOption( '-1', T_('Select Category') ); + $categories = array_merge( $categories, $database->loadObjectList() ); + $lists['catid'] = mosHTML::selectList( $categories, 'catid', 'class="inputbox" size="1"', 'value', 'text', intval( $row->catid ) ); + } + + // build the html select list for ordering + $query = "SELECT ordering AS value, title AS text" + . "\n FROM #__content" + . "\n WHERE catid='$row->catid'" + . "\n AND state >= 0" + . "\n ORDER BY ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $uid, $query, 1 ); + + // calls function to read image from directory + $pathA = $mosConfig_absolute_path .'/images/stories'; + $pathL = $mosConfig_live_site .'/images/stories'; + $images = array(); + $folders = array(); + $folders[] = mosHTML::makeOption( '/' ); + mosAdminMenus::ReadImages( $pathA, '/', $folders, $images ); + + // list of folders in images/stories/ + $lists['folders'] = mosAdminMenus::GetImageFolders( $folders, $pathL ); + // list of images in specfic folder in images/stories/ + $lists['imagefiles'] = mosAdminMenus::GetImages( $images, $pathL ); + // list of saved images + $lists['imagelist'] = mosAdminMenus::GetSavedImages( $row, $pathL ); + + // build list of users + $active = ( intval( $row->created_by ) ? intval( $row->created_by ) : $my->id ); + $lists['created_by'] = mosAdminMenus::UserSelect( 'created_by', $active ); + // build the select list for the image position alignment + $lists['_align'] = mosAdminMenus::Positions( '_align' ); + // build the select list for the image caption alignment + $lists['_caption_align'] = mosAdminMenus::Positions( '_caption_align' ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + // build the html select list for menu selection + $lists['menuselect'] = mosAdminMenus::MenuSelect( ); + + // build the select list for the image caption position + $pos[] = mosHTML::makeOption( 'bottom', T_('Bottom') ); + $pos[] = mosHTML::makeOption( 'top', T_('Top') ); + $lists['_caption_position'] = mosHTML::selectList( $pos, '_caption_position', 'class="inputbox" size="1"', 'value', 'text' ); + + + // get params definitions + $params =& new mosAdminParameters( $row->attribs, $mainframe->getPath( 'com_xml', 'com_content' ), 'component' ); + + HTML_content::editContent( $row, $contentSection, $lists, $sectioncategories, $images, $params, $option, $redirect, $menus ); +} + +/** +* Saves the content item an edit form submit +* @param database A database connector object +*/ +function saveContent( $sectionid, $task ) { + global $database, $my, $mainframe, $mosConfig_offset; + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + $menuid = mosGetParam( $_POST, 'menuid', 0 ); + + $row = new mosContent( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + $isNew = ( $row->id < 1 ); + if ($isNew) { + //$row->created = $row->created ? $row->created : date( "Y-m-d H:i:s" ); + $row->created = $row->created ? mosFormatDate( $row->created, '%Y-%m-%d %H:%M:%S', -$mosConfig_offset * 60 * 60 ) : date( "Y-m-d H:i:s" ); + $row->created_by = $row->created_by ? $row->created_by : $my->id; + } else { + $row->modified = date( "Y-m-d H:i:s" ); + $row->modified_by = $my->id; + //$row->created = $row->created ? $row->created : date( "Y-m-d H:i:s" ); + $row->created = $row->created ? mosFormatDate( $row->created, '%Y-%m-%d %H:%M:%S', -$mosConfig_offset ) : date( "Y-m-d H:i:s" ); + $row->created_by = $row->created_by ? $row->created_by : $my->id; + } + + if (strlen(trim( $row->publish_up )) <= 10) { + $row->publish_up .= " 00:00:00"; + } + $row->publish_up = mosFormatDate($row->publish_up, '%Y-%m-%d %H:%M:%S', -$mosConfig_offset ); + + if (trim( $row->publish_down ) == T_("Never")) { + $row->publish_down = "0000-00-00 00:00:00"; + } + + $row->state = mosGetParam( $_REQUEST, 'published', 0 ); + + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ( $params as $k=>$v) { + $txt[] = "$k=$v"; + } + $row->attribs = implode( "\n", $txt ); + } + + // code cleaner for xhtml transitional compliance + $row->introtext = str_replace( '
    ', '
    ', $row->introtext ); + $row->fulltext = str_replace( '
    ', '
    ', $row->fulltext ); + + // remove
    take being automatically added to empty fulltext + $length = strlen( $row->fulltext ) < 9; + $search = strstr( $row->fulltext, '
    '); + if ( $length && $search ) { + $row->fulltext = NULL; + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + $row->version++; + if (!$row->store()) { + echo "\n"; + exit(); + } + + // manage frontpage items + require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); + $fp = new mosFrontPage( $database ); + + if (mosGetParam( $_REQUEST, 'frontpage', 0 )) { + + // toggles go to first place + if (!$fp->load( $row->id )) { + // new entry + $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$row->id','1')" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $fp->ordering = 1; + } + } else { + // no frontpage mask + if (!$fp->delete( $row->id )) { + $msg .= $fp->stderr(); + } + $fp->ordering = 0; + } + $fp->updateOrder(); + + $row->checkin(); + $row->updateOrder( "catid='$row->catid' AND state >= 0" ); + + $redirect = mosGetParam( $_POST, 'redirect', $sectionid ); + switch ( $task ) { + case 'go2menu': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); + break; + + case 'go2menuitem': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $menuid ); + break; + + case 'menulink': + menuLink( $redirect, $row->id ); + break; + + case 'resethits': + resethits( $redirect, $row->id ); + break; + + case 'apply': + $msg = T_('Successfully Saved changes to Item: '). $row->title; + mosRedirect( 'index2.php?option=com_content§ionid='. $redirect .'&task=edit&hidemainmenu=1&id='. $row->id, $msg ); + + case 'save': + default: + $msg = T_('Successfully Saved Item: '). $row->title; + mosRedirect( 'index2.php?option=com_content§ionid='. $redirect, $msg ); + + break; + } +} + +/** +* Changes the state of one or more content pages +* @param string The name of the category section +* @param integer A unique category id (passed from an edit form) +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The name of the current user +*/ +function changeContent( $cid=null, $state=0, $option ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $state == 1 ? T_('publish') : ($state == -1 ? T_('archive') : T_('unpublish')); + echo "\n"; + exit; + } + + $total = count ( $cid ); + $cids = implode( ',', $cid ); + + $database->setQuery( "UPDATE #__content SET state='$state'" + . "\nWHERE id IN ($cids) AND (checked_out=0 OR (checked_out='".$my->id."'))" + ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosContent( $database ); + $row->checkin( $cid[0] ); + } + + if ( $state == "-1" ) { + $msg = sprintf(Tn_('%d Item successfully Archived', '%d Items successfully Archived',$total),$total); + } else if ( $state == "1" ) { + $msg = sprintf(Tn_('%d Item successfully Published', '%d Items successfully Published',$total),$total); + } else if ( $state == "0" ) { + $msg = sprintf(Tn_('%d Item successfully Unpublished', '%d Items successfully Unpublished',$total),$total); + } + + $redirect = mosGetParam( $_POST, 'redirect', $row->sectionid ); + $task = mosGetParam( $_POST, 'returntask', '' ); + if ( $task ) { + $task = '&task='. $task; + } else { + $task = ''; + } + + mosRedirect( 'index2.php?option='. $option . $task .'§ionid='. $redirect .'&mosmsg='. $msg ); +} + +/** +* Changes the state of one or more content pages +* @param string The name of the category section +* @param integer A unique category id (passed from an edit form) +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The name of the current user +*/ +function toggleFrontPage( $cid, $section, $option ) { + global $database, $my, $mainframe; + + if (count( $cid ) < 1) { + echo "\n"; + exit; + } + + $msg = ''; + require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); + + $fp = new mosFrontPage( $database ); + foreach ($cid as $id) { + // toggles go to first place + if ($fp->load( $id )) { + if (!$fp->delete( $id )) { + $msg .= $fp->stderr(); + } + $fp->ordering = 0; + } else { + // new entry + $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$id','0')" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $fp->ordering = 0; + } + $fp->updateOrder(); + } + + mosRedirect( 'index2.php?option='. $option .'§ionid='. $section, $msg ); +} + +function removeContent( &$cid, $sectionid, $option ) { + global $database, $mainframe; + + $total = count( $cid ); + if ( $total < 1) { + echo "\n"; + exit; + } + + $state = '-2'; + $ordering = '0'; + //seperate contentids + $cids = implode( ',', $cid ); + $query = "UPDATE #__content SET state = '". $state ."', ordering = '". $ordering ."'" + . "\n WHERE id IN ( ". $cids ." )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $msg = sprintf(Tn_('%d Item sent to the Trash', '%d Items sent to the Trash',$total),$total); + $return = mosGetParam( $_POST, 'returntask', '' ); + mosRedirect( 'index2.php?option='. $option .'&task='. $return .'§ionid='. $sectionid, $msg ); +} + +/** +* Cancels an edit operation +*/ +function cancelContent( ) { + global $database; + + $row = new mosContent( $database ); + $row->bind( $_POST ); + $row->checkin(); + + $redirect = mosGetParam( $_POST, 'redirect', 0 ); + mosRedirect( 'index2.php?option=com_content§ionid='. $redirect ); +} + +/** +* Moves the order of a record +* @param integer The increment to reorder by +*/ +function orderContent( $uid, $inc, $option ) { + global $database; + + $row = new mosContent( $database ); + $row->load( $uid ); + $row->move( $inc, "catid='$row->catid' AND state >= 0" ); + + $redirect = mosGetParam( $_POST, 'redirect', $row->sectionid ); + + mosRedirect( 'index2.php?option='. $option .'§ionid='. $redirect ); +} + +/** +* Form for moving item(s) to a different section and category +*/ +function moveSection( $cid, $sectionid, $option ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + + //seperate contentids + $cids = implode( ',', $cid ); + // Content Items query + $query = "SELECT a.title" + . "\n FROM #__content AS a" + . "\n WHERE ( a.id IN (". $cids .") )" + . "\n ORDER BY a.title" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + $database->setQuery( + $query = "SELECT CONCAT_WS( ', ', s.id, c.id ) AS `value`, CONCAT_WS( '/', s.name, c.name ) AS `text`" + . "\n FROM #__sections AS s" + . "\n INNER JOIN #__categories AS c ON c.section = s.id" + . "\n WHERE s.scope = 'content'" + . "\n ORDER BY s.name, c.name" + ); + $rows = $database->loadObjectList(); + // build the html select list + $sectCatList = mosHTML::selectList( $rows, 'sectcat', 'class="inputbox" size="8"', 'value', 'text', null ); + + HTML_content::moveSection( $cid, $sectCatList, $option, $sectionid, $items ); +} + +/** +* Save the changes to move item(s) to a different section and category +*/ +function moveSectionSave( &$cid, $sectionid, $option ) { + global $database, $my; + + $sectcat = mosGetParam( $_POST, 'sectcat', '' ); + list( $newsect, $newcat ) = explode( ',', $sectcat ); + + if (!$newsect && !$newcat ) { + mosRedirect( "index.php?option=com_content§ionid=$sectionid&mosmsg=".T_('An error has occurred')."" ); + } + + // find section name + $query = "SELECT a.name" + . "\n FROM #__sections AS a" + . "\n WHERE a.id = ". $newsect ."" + ; + $database->setQuery( $query ); + $section = $database->loadResult(); + + // find category name + $query = "SELECT a.name" + . "\n FROM #__categories AS a" + . "\n WHERE a.id = ". $newcat ."" + ; + $database->setQuery( $query ); + $category = $database->loadResult(); + + $total = count( $cid ); + $cids = implode( ',', $cid ); + + $row = new mosContent( $database ); + // update old orders - put existing items in last place + foreach ($cid as $id) { + $row->load( intval( $id ) ); + $row->ordering = 0; + $row->store(); + $row->updateOrder( "catid='$row->catid' AND state >= 0" ); + } + + $query = "UPDATE #__content SET sectionid = '". $newsect ."', catid='". $newcat ."'" + . "\n WHERE id IN ($cids)" + . "\n AND ( checked_out='0' OR ( checked_out='". $my->id ."') )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + // update new orders - put items in last place + foreach ($cid as $id) { + $row->load( intval( $id ) ); + $row->ordering = 0; + $row->store(); + $row->updateOrder( "catid='". $row->catid ."' AND state >= 0" ); + } + + $msg = sprintf(Tn_('%d Item successfully moved to Section: %s, Category: %s', '%d Items successfully moved to Section: %s, Category: %s',$total),$total, $section, $category); + mosRedirect( 'index2.php?option='. $option .'§ionid='. $sectionid .'&mosmsg='. $msg ); +} + + +/** +* Form for copying item(s) +**/ +function copyItem( $cid, $sectionid, $option ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + + //seperate contentids + $cids = implode( ',', $cid ); + ## Content Items query + $query = "SELECT a.title" + . "\n FROM #__content AS a" + . "\n WHERE ( a.id IN (". $cids .") )" + . "\n ORDER BY a.title" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + ## Section & Category query + $query = "SELECT CONCAT_WS(',',s.id,c.id) AS `value`, CONCAT_WS(' // ', s.name, c.name) AS `text`" + . "\n FROM #__sections AS s" + . "\n INNER JOIN #__categories AS c ON c.section = s.id" + . "\n WHERE s.scope='content'" + . "\n ORDER BY s.name, c.name" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + // build the html select list + $sectCatList = mosHTML::selectList( $rows, 'sectcat', 'class="inputbox" size="10"', 'value', 'text', NULL ); + + HTML_content::copySection( $option, $cid, $sectCatList, $sectionid, $items ); +} + + +/** +* saves Copies of items +**/ +function copyItemSave( $cid, $sectionid, $option ) { + global $database, $my; + + $sectcat = mosGetParam( $_POST, 'sectcat', '' ); + //seperate sections and categories from selection + $sectcat = explode( ',', $sectcat ); + list( $newsect, $newcat ) = $sectcat; + + if ( !$newsect && !$newcat ) { + mosRedirect( 'index.php?option=com_content§ionid='. $sectionid .'&mosmsg='.urlencode(T_('An error has occurred'))); + } + + // find section name + $query = "SELECT a.name" + . "\n FROM #__sections AS a" + . "\n WHERE a.id = ". $newsect ."" + ; + $database->setQuery( $query ); + $section = $database->loadResult(); + + // find category name + $query = "SELECT a.name" + . "\n FROM #__categories AS a" + . "\n WHERE a.id = ". $newcat ."" + ; + $database->setQuery( $query ); + $category = $database->loadResult(); + + $total = count( $cid ); + for ( $i = 0; $i < $total; $i++ ) { + $row = new mosContent( $database ); + + // main query + $query = "SELECT a.* FROM #__content AS a" + . "\n WHERE a.id = ". $cid[$i] .""; + ; + $database->setQuery( $query ); + $item = $database->loadObjectList(); + + // values loaded into array set for store + $row->id = NULL; + $row->sectionid = $newsect; + $row->catid = $newcat; + $row->hits = '0'; + $row->ordering = '0'; + $row->title = $item[0]->title; + $row->title_alias = $item[0]->title_alias; + $row->introtext = $item[0]->introtext; + $row->fulltext = $item[0]->fulltext; + $row->state = $item[0]->state; + $row->mask = $item[0]->mask; + $row->created = $item[0]->created; + $row->created_by = $item[0]->created_by; + $row->created_by_alias = $item[0]->created_by_alias; + $row->modified = $item[0]->modified; + $row->modified_by = $item[0]->modified_by; + $row->checked_out = $item[0]->checked_out; + $row->checked_out_time = $item[0]->checked_out_time; + $row->frontpage_up = $item[0]->frontpage_up; + $row->frontpage_down = $item[0]->frontpage_down; + $row->publish_up = $item[0]->publish_up; + $row->publish_down = $item[0]->publish_down; + $row->images = $item[0]->images; + $row->attribs = $item[0]->attribs; + $row->version = $item[0]->parentid; + $row->parentid = $item[0]->parentid; + $row->metakey = $item[0]->metakey; + $row->metadesc = $item[0]->metadesc; + $row->access = $item[0]->access; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->updateOrder( "catid='". $row->catid ."' AND state >= 0" ); + } + + $msg = sprintf(Tn_('%d Item successfully copied to Section: %s, Category: %s', '%d Items successfully copied to Section: %s, Category: %s',$total),$total, $section, $category); + mosRedirect( 'index2.php?option='. $option .'§ionid='. $sectionid .'&mosmsg='. $msg ); +} + +/** +* Function to reset Hit count of a content item +* PT +*/ +function resethits( $redirect, $id ) { + global $database; + + $row = new mosContent($database); + $row->Load($id); + $row->hits = "0"; + $row->store(); + $row->checkin(); + + $msg = T_('Successfully Reset Hit count'); + mosRedirect( 'index2.php?option=com_content§ionid='. $redirect .'&task=edit&hidemainmenu=1&id='. $id, $msg ); +} + +/** +* @param integer The id of the content item +* @param integer The new access level +* @param string The URL option +*/ +function accessMenu( $uid, $access, $option ) { + global $database; + + $row = new mosContent( $database ); + $row->load( $uid ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + $redirect = mosGetParam( $_POST, 'redirect', $row->sectionid ); + + mosRedirect( 'index2.php?option='. $option .'§ionid='. $redirect ); +} + +function filterCategory( $query, $active=NULL ) { + global $database; + + $categories[] = mosHTML::makeOption( '0', T_('- All Categories -') ); + $database->setQuery( $query ); + $categories = array_merge( $categories, $database->loadObjectList() ); + + $category = mosHTML::selectList( $categories, 'catid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $active ); + + return $category; +} + +function menuLink( $redirect, $id ) { + global $database; + + $menu = mosGetParam( $_POST, 'menuselect', '' ); + $link = mosGetParam( $_POST, 'link_name', '' ); + + $row = new mosMenu( $database ); + $row->menutype = $menu; + $row->name = $link; + $row->type = 'content_item_link'; + $row->published = 1; + $row->componentid = $id; + $row->link = 'index.php?option=com_content&task=view&id='. $id; + $row->ordering = 9999; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "menutype='$row->menutype' AND parent='$row->parent'" ); + + $msg = sprintf(T_('%s (Link - Static Content) in menu: %s successfully created'),$link, $menu); + mosRedirect( 'index2.php?option=com_content§ionid='. $redirect .'&task=edit&hidemainmenu=1&id='. $id, $msg ); +} + +function go2menu() { + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); +} + +function go2menuitem() { + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + $id = mosGetParam( $_POST, 'menuid', 0 ); + + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $id ); +} + +function saveOrder( &$cid ) { + global $database; + $order = mosGetParam( $_POST, 'order', array(0) ); + $redirect = mosGetParam( $_POST, 'redirect', 0 ); + $rettask = mosGetParam( $_POST, 'returntask', '' ); + $row = new mosContent( $database ); + $categories = array(); + // update ordering values + foreach ($cid as $i=>$ciditem) { + $row->load( $ciditem ); + if ($row->ordering != $order[$i]) { + $row->ordering = $order[$i]; + if (!$row->store()) { + echo "\n"; + exit(); + } + // remember to updateOrder this group + $categories[$row->catid] = $row->id; + } + } + // execute updateOrder for each group + foreach ($categories as $catid=>$rowid) { + $row->updateOrder("catid = $catid AND state >= 0"); + } // foreach + + $msg = T_('New ordering saved'); + switch ( $rettask ) { + case 'showarchive': + mosRedirect( 'index2.php?option=com_content&task=showarchive§ionid='. $redirect, $msg ); + break; + + default: + mosRedirect( 'index2.php?option=com_content§ionid='. $redirect, $msg ); + break; + } // switch +} // saveOrder +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_content/content.xml 4.6-complete/uploadfiles/administrator/components/com_content/content.xml --- 4.6rc2/uploadfiles/administrator/components/com_content/content.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_content/content.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,84 @@ + + + Content Page + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This shows a single content page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_content/index.html 4.6-complete/uploadfiles/administrator/components/com_content/index.html --- 4.6rc2/uploadfiles/administrator/components/com_content/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_content/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_content/toolbar.content.html.php 4.6-complete/uploadfiles/administrator/components/com_content/toolbar.content.html.php --- 4.6rc2/uploadfiles/administrator/components/com_content/toolbar.content.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_content/toolbar.content.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,93 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_content/toolbar.content.php 4.6-complete/uploadfiles/administrator/components/com_content/toolbar.content.php --- 4.6rc2/uploadfiles/administrator/components/com_content/toolbar.content.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_content/toolbar.content.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,44 @@ +getPath( 'toolbar_html' ) ); + +switch ($task) { + case 'new': + case 'new_content_typed': + case 'new_content_section': + case 'edit': + case 'editA': + case 'edit_content_typed': + TOOLBAR_content::_EDIT( ); + break; + + case 'showarchive': + TOOLBAR_content::_ARCHIVE(); + break; + + case 'movesect': + TOOLBAR_content::_MOVE(); + break; + + case 'copy': + TOOLBAR_content::_COPY(); + break; + + default: + TOOLBAR_content::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_frontpage/admin.frontpage.html.php 4.6-complete/uploadfiles/administrator/components/com_frontpage/admin.frontpage.html.php --- 4.6rc2/uploadfiles/administrator/components/com_frontpage/admin.frontpage.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_frontpage/admin.frontpage.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,232 @@ + +
    + + + + + + + + + + + +
    + + + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + sectionid == 0 && !$row->catid == 0){ + $link = 'index2.php?option=com_content§ionid=0&task=edit&hidemainmenu=1&id='. $row->id; + $row->sect_link = 'index2.php?option=com_sections&task=editA&hidemainmenu=1&id='. $row->sectionid; + $row->cat_link = 'index2.php?option=com_categories&task=editA&hidemainmenu=1&id='. $row->catid; + } else { + $link = 'index2.php?option=com_typedcontent&task=edit&hidemainmenu=1&id='. $row->id; + $row->sect_name = 'Static Content'; + $row->name = 'Static Content'; + $row->sect_link = 'index2.php?option=com_typedcontent'; + $row->cat_link = 'index2.php?option=com_typedcontent'; + } + + + + + $now = date( "Y-m-d H:i:s" ); + if ( $now <= $row->publish_up && $row->state == "1" ) { + $img = 'publish_y.png'; + $alt = T_('Published'); + } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { + $img = 'publish_g.png'; + $alt = T_('Published'); + } else if ( $now > $row->publish_down && $row->state == "1" ) { + $img = 'publish_r.png'; + $alt = T_('Expired'); + } elseif ( $row->state == "0" ) { + $img = "publish_x.png"; + $alt = T_('Unpublished'); + } + + $times = ''; + if ( isset( $row->publish_up ) ) { + if ( $row->publish_up == '0000-00-00 00:00:00' ) { + $times .= ''; + } else { + $times .= ''; + } + } + if ( isset( $row->publish_down ) ) { + if ( $row->publish_down == '0000-00-00 00:00:00' ) { + $times .= ''; + } else { + $times .= ''; + } + } + + $access = mosCommonHTML::AccessProcessing( $row, $i ); + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. $row->author .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = $row->author; + } + } + ?> + "> + + + + + + + + + + + + + + + +
    + # + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + +
    '.T_('Start:').' '.T_('Always').'
    '.T_('Start:').' '. $row->publish_up .'
    '.T_('Finish:').' '.T_('No Expiry').'
    '.T_('Finish:').' '. $row->publish_down .'
    + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->title; + } else { + ?> + + title; ?> + + + + ')"> + <?php echo $alt;?> + + + orderUpIcon( $i ); ?> + + orderDownIcon( $i, $n ); ?> + + + + + + + sect_name; ?> + + + + name; ?> + + + +
    + + getListFooter(); + mosCommonHTML::ContentLegend(); + ?> + + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_frontpage/admin.frontpage.php 4.6-complete/uploadfiles/administrator/components/com_frontpage/admin.frontpage.php --- 4.6rc2/uploadfiles/administrator/components/com_frontpage/admin.frontpage.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_frontpage/admin.frontpage.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,299 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) + | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_frontpage' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +// call +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$task = mosGetParam( $_REQUEST, 'task', array(0) ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ($task) { + case 'publish': + changeFrontPage( $cid, 1, $option ); + break; + + case 'unpublish': + changeFrontPage( $cid, 0, $option ); + break; + + case 'archive': + changeFrontPage( $cid, -1, $option ); + break; + + case 'remove': + removeFrontPage( $cid, $option ); + break; + + case 'orderup': + orderFrontPage( $cid[0], -1, $option ); + break; + + case 'orderdown': + orderFrontPage( $cid[0], 1, $option ); + break; + + case 'saveorder': + saveOrder( $cid ); + break; + + case 'accesspublic': + accessMenu( $cid[0], 0 ); + break; + + case 'accessregistered': + accessMenu( $cid[0], 1 ); + break; + + case 'accessspecial': + accessMenu( $cid[0], 2 ); + break; + + default: + viewFrontPage( $option ); + break; +} + + +/** +* Compiles a list of frontpage items +*/ +function viewFrontPage( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $catid = $mainframe->getUserStateFromRequest( "catid{$option}", 'catid', 0 ); + $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}", 'filter_authorid', 0 ); + $filter_sectionid = $mainframe->getUserStateFromRequest( "filter_sectionid{$option}", 'filter_sectionid', 0 ); + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + $where = array( + "c.state >= 0" + ); + + // used by filter + if ( $filter_sectionid > 0 ) { + $where[] = "c.sectionid = '$filter_sectionid'"; + } + if ( $catid > 0 ) { + $where[] = "c.catid = '$catid'"; + } + if ( $filter_authorid > 0 ) { + $where[] = "c.created_by = '$filter_authorid'"; + } + + if ($search) { + $where[] = "LOWER(c.title) LIKE '%$search%'"; + } + + // get the total number of records + $query = "SELECT count(*)" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" + . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = c.id" + . (count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ) + ; + $database->setQuery( $query ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT c.*, g.name AS groupname, cc.name, s.name AS sect_name, u.name AS editor, f.ordering AS fpordering, v.name AS author" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" + . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = c.id" + . "\n INNER JOIN #__groups AS g ON g.id = c.access" + . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" + . "\n LEFT JOIN #__users AS v ON v.id = c.created_by" + . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") + . "\n ORDER BY f.ordering" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + // get list of categories for dropdown filter + $query = "SELECT cc.id AS value, cc.title AS text, section" + . "\n FROM #__categories AS cc" + . "\n INNER JOIN #__sections AS s ON s.id=cc.section " + . "\n ORDER BY s.ordering, cc.ordering" + ; + $categories[] = mosHTML::makeOption( '0', T_('- All Categories -')); + $database->setQuery( $query ); + $categories = array_merge( $categories, $database->loadObjectList() ); + $lists['catid'] = mosHTML::selectList( $categories, 'catid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $catid ); + + // get list of sections for dropdown filter + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['sectionid'] = mosAdminMenus::SelectSection( 'filter_sectionid', $filter_sectionid, $javascript ); + + // get list of Authors for dropdown filter + $query = "SELECT c.created_by AS value, u.name AS text" + . "\n FROM #__content AS c" + . "\n INNER JOIN #__sections AS s ON s.id = c.sectionid" + . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" + . "\n WHERE c.state <> '-1'" + . "\n AND c.state <> '-2'" + . "\n GROUP BY u.name" + . "\n ORDER BY u.name" + ; + $authors[] = mosHTML::makeOption( '0', T_('- All Authors -') ); + $database->setQuery( $query ); + $authors = array_merge( $authors, (array)$database->loadObjectList() ); + $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); + + HTML_content::showList( $rows, $search, $pageNav, $option, $lists ); +} + +/** +* Changes the state of one or more content pages +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +*/ +function changeFrontPage( $cid=null, $state=0, $option ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $publish == 1 ? T_('publish') : ($publish == -1 ? T_('archive') : T_('unpublish')); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "UPDATE #__content SET state='$state'" + . "\n WHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosContent( $database ); + $row->checkin( $cid[0] ); + } + + mosRedirect( "index2.php?option=$option" ); +} + +function removeFrontPage( &$cid, $option ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + $fp = new mosFrontPage( $database ); + foreach ($cid as $id) { + if (!$fp->delete( $id )) { + echo "\n"; + exit(); + } + $obj = new mosContent( $database ); + $obj->load( $id ); + $obj->mask = 0; + if (!$obj->store()) { + echo "\n"; + exit(); + } + } + $fp->updateOrder(); + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* Moves the order of a record +* @param integer The increment to reorder by +*/ +function orderFrontPage( $uid, $inc, $option ) { + global $database; + + $fp = new mosFrontPage( $database ); + $fp->load( $uid ); + $fp->move( $inc ); + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* @param integer The id of the content item +* @param integer The new access level +* @param string The URL option +*/ +function accessMenu( $uid, $access ) { + global $database; + + $row = new mosContent( $database ); + $row->load( $uid ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + mosRedirect( 'index2.php?option=com_frontpage' ); +} + +function saveOrder( &$cid ) { + global $database; + + $total = count( $cid ); + $order = mosGetParam( $_POST, 'order', array(0) ); + + for( $i=0; $i < $total; $i++ ) { + $query = "UPDATE #__content_frontpage SET ordering='$order[$i]' WHERE content_id = $cid[$i]"; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + // update ordering + $row = new mosFrontPage( $database ); + $row->load( $cid[$i] ); + $row->updateOrder(); + } + + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_frontpage', $msg ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_frontpage/frontpage.xml 4.6-complete/uploadfiles/administrator/components/com_frontpage/frontpage.xml --- 4.6rc2/uploadfiles/administrator/components/com_frontpage/frontpage.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_frontpage/frontpage.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,127 @@ + + + Frontpage + Mambo Project + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This component shows all the published content items from your site marked Show on Frontpage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_frontpage/index.html 4.6-complete/uploadfiles/administrator/components/com_frontpage/index.html --- 4.6rc2/uploadfiles/administrator/components/com_frontpage/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_frontpage/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_frontpage/toolbar.frontpage.html.php 4.6-complete/uploadfiles/administrator/components/com_frontpage/toolbar.frontpage.html.php --- 4.6rc2/uploadfiles/administrator/components/com_frontpage/toolbar.frontpage.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_frontpage/toolbar.frontpage.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,31 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_frontpage/toolbar.frontpage.php 4.6-complete/uploadfiles/administrator/components/com_frontpage/toolbar.frontpage.php --- 4.6rc2/uploadfiles/administrator/components/com_frontpage/toolbar.frontpage.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_frontpage/toolbar.frontpage.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,29 @@ +getPath( 'toolbar_html' ) ); +require_once( $mainframe->getPath( 'toolbar_default' ) ); + +$act = mosGetParam( $_REQUEST, 'act', '' ); +if ($act) { + $task = $act; +} + +switch ($task) { + default: + TOOLBAR_FrontPage::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/admin.installer.html.php 4.6-complete/uploadfiles/administrator/components/com_installer/admin.installer.html.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/admin.installer.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/admin.installer.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,395 @@ +'; + echo '' . $folder . '/'; + echo ''; + echo is_writable( $GLOBALS['mosConfig_absolute_path'] . '/' . $folder ) ? ''.T_('Writeable').'' : ''.T_('Unwriteable').'' . ''; + echo ''; +} + +/** +* @package Mambo +*/ +class HTML_installer { + + function showInstallForm( $title, $option, $element, $client = "", $p_startdir = "", $backLink="" ) { + ?> + +
    + + + + + +
    + + + +
    + + + + + + + + +
    + +
    + + + +
    + + + + + +
    +
    + + + +
    + + + + + + + +
    + +
    +   +   + +
    + + + + + +
    +
    + +
    + + + + + + + +
    + +
    +   +   + +
    + + + + +
    +
    + +
    + name as $i) $addon_count++; + ?> + + + + + + + + + + + + + + + + + + + + type[$counter]=='Mambot') { ?> + + + + + + + + + + + + + type[$counter]=='Component') { ?> + + + + + + + + + + + + + type[$counter]=='Module') { ?> + + + + + + + + + name as $i) $exaddon_count++; + ?> + + + + + + + + + + + + + + + type[$counter]=='Mambot') { + //If we are here then 3rd party mambots exist + $exmambot_count = 1; + ?> + + + + + + + + + + + + + + + + + + type[$counter]=='Component') { + //If we are here then 3rd party components exist + $excomponent_count = 1; + ?> + + + + + + + + + + + + + + + + + + type[$counter]=='Module') { + //If we are here then 3rd party modules exist + $exmodule_count = 1; + ?> + + + + + + + + + + + + + +
    +
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    +
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + +
    name[$counter] ?>
    desc[$counter] ?>
    author[$counter] ?>
    version[$counter] ?>
    + + + + +
    +
    + ' + .T_('Sorry, it seems that The Source is not available').''; + } + + /** + * @param string + * @param string + * @param string + * @param string + */ + function showInstallMessage ($messages, $title, $return) { + global $PHP_SELF; + if (!$return) $return = mamboCore::get('mosConfig_live_site').'/administrator/index2.php'; + ?> + + + + +
    + +
    + + + level) { + case _MOS_ERROR_INFORM: + $colour = 'green'; + $level = 'Information: '; + break; + case _MOS_ERROR_WARN: + $colour = 'red'; + $level = 'Warning: '; + break; + case _MOS_ERROR_SEVERE: + $colour = 'red'; + $level = 'Severe: '; + break; + case _MOS_ERROR_FATAL: + $colour = 'red'; + $level = 'Fatal: '; + break; + } + ?> + + + + + + + +
    + text; ?> +
    + [  ] +
    + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/admin.installer.php 4.6-complete/uploadfiles/administrator/components/com_installer/admin.installer.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/admin.installer.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/admin.installer.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,449 @@ +getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$element = mosGetParam( $_REQUEST, 'element', '' ); +$client = mosGetParam( $_REQUEST, 'client', '' ); +// ensure user has access to this function +if (!$acl->acl_check( 'administration', 'install', 'users', $my->usertype, $element . 's', 'all' ) ) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +// map the element to the required derived class +$classMap = array( + 'universal' => 'mosInstaller', + 'component' => 'mosInstaller', + 'language' => 'mosInstaller', + 'mambot' => 'mosInstaller', + 'module' => 'mosInstaller', + 'template' => 'mosInstaller', + 'include' => 'mosInstaller', + 'parameters' => 'mosInstaller' +); + +if (array_key_exists ( $element, $classMap )) { +// require_once( $mainframe->getPath( 'installer_class', $element ) ); + + switch ($task) { + + case 'uploadfile': + uploadPackage( $classMap[$element], $option, $element, $client ); + break; + + case 'installfromdir': + installFromDirectory( $classMap[$element], $option, $element, $client ); + break; + + case 'installfromurl': + installFromUrl ($classMap[$element], $option, $element, $client); + break; + + case 'thesource': + HTML_installer::theSourceForm($option, $element, $client); + break; + + case 'addon': + HTML_installer::AddonForm($classMap[$element], $option, $element, $client); + break; + + case 'remove': + $uninstaller = $element.'_uninstall'; + if (is_callable($uninstaller)) { + $cid = mosGetParam($_REQUEST, 'cid', array(0)); + if (is_array($cid) AND isset($cid[0])) { + $uninstaller ($cid[0], $option, $client); + exit (); + } + mosRedirect(returnTo($option, $element, $client), T_('There was nothing selected to be uninstalled') ); + } + else mosRedirect(returnTo($option, $element, $client), T_('Uninstaller not found for element [%s]') ); + break; + + default: + $path = $mosConfig_absolute_path . "/administrator/components/com_installer/$element/$element.php"; + + if (file_exists( $path )) { + require $path; + } else { + echo sprintf(T_('Installer not found for element [%s]'), $element); + } + break; + } +} +else { + echo sprintf(T_('Installer not available for element [%s]'), $element); +} + + +function returnTo ($option, $element, $client) { + switch ($element) { + case 'template': + return "index2.php?option=com_templates&client=$client"; + case 'language': + return "index2.php?option=com_languages"; + default: + return "index2.php?option=$option&element=$element"; + } +} + +/** +* @param string The class name for the installer +* @param string The URL option +* @param string The element name +*/ +function uploadPackage( $installerClass, $option, $element, $client ) { + global $mainframe; + + // Check if file uploads are enabled + if (!(bool)ini_get('file_uploads')) { + $message = new mosError (T_('The installer can\'t continue before file uploads are enabled. Please use the install from directory method.'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Installer - Error'), returnTo( $option, $element, $client )); + exit(); + } + + // Check that the zlib is available + if(!extension_loaded('zlib')) { + $message = new mosError (T_('The installer can\'t continue before zlib is installed'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Installer - Error'), returnTo( $option, $element, $client )); + exit(); + } + + $userfile = mosGetParam( $_FILES, 'userfile', null ); + + if (!$userfile) { + $message = new mosError (T_('No file selected'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Upload new module - error'), returnTo($option, $element, $client)); + exit(); + } + + $userfile_name = $userfile['name']; + + if (uploadFile( $userfile['tmp_name'], $userfile['name'], $message )) { + $installer =& new $installerClass(); + if (!$installer->extractArchive( $userfile['name'] )) { + $installer->cleanUpInstall(); + HTML_installer::showInstallMessage( $installer->getErrors(), sprintf(T_('Upload %s - Upload Failed'), $element), + returnTo( $option, $element, $client ) ); + } + $ret = $installer->install(); + $installer->cleanUpInstall(); + HTML_installer::showInstallMessage( $installer->getErrors(), T_('Upload ').$element.' - '.($ret ? T_('Success') : T_('Failed')), + returnTo( $option, $element, $client ) ); + } + else HTML_installer::showInstallMessage( $message, sprintf(T_('Upload %s - Upload Error'), $element), + returnTo( $option, $element, $client ) ); +} + +/** +* Install a template from a directory +* @param string The URL option +*/ +function installFromDirectory( $installerClass, $option, $element, $client ) { + $userfile = mosGetParam( $_REQUEST, 'userfile', '' ); + if (!$userfile) { + mosRedirect( "index2.php?option=$option&element=module", T_('Please select a directory') ); + } + $path = mosPathName( $userfile ); + if (!is_dir( $path )) { + $path = dirname( $path ); + } + $installer =& new $installerClass(); + $ret = $installer->install( $path ); + $installer->cleanUpInstall(); + HTML_installer::showInstallMessage( $installer->getErrors(), T_('Install new ').$element.' - '.($ret ? T_('Success') : T_('Error')), + returnTo( $option, $element, $client ) ); +} +/** +* Install a template from an HTTP URL +* @param string The URL option +*/ +function installFromUrl( $installerClass, $option, $element, $client ) { + // Check that the zlib is available + if(!extension_loaded('zlib')) { + $message = new mosError (T_('The installer can\'t continue before zlib is installed'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, 'Installer - Error', returnTo( $option, $element, $client )); + exit(); + } + $userurl = mosGetParam( $_REQUEST, 'userurl', '' ); + if (!$userurl) { + $message = new mosError (T_('Please select an HTTP URL'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Installer - Error'), returnTo($option, $element, $client)); + } + foreach ($userurl as $value) { + $url_data = parse_url($value); + if (isset($url_data['path'])) $userfilename = basename($url_data['path']); + else $userfilename = ''; + if (!$userfilename) { + $message = new mosError (T_('The URL did not define a file name'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Installer - Error'), returnTo($option, $element, $client)); + } + if (uploadUrl($value, $userfilename, $message )) { + $installer = new $installerClass(); + if (!$installer->extractArchive($userfilename)) { + $installer->cleanUpInstall(); + HTML_installer::showInstallMessage( $installer->getErrors(), T_('Upload ').$element.' - '.T_('Failed'), + returnTo( $option, $element, $client ) ); + } + $ret = $installer->install(); + $installer->cleanUpInstall(); + HTML_installer::showInstallMessage( $installer->getErrors(), T_('Upload ').$element.' - '.($ret ? T_('Success') : T_('Failed')), + returnTo( $option, $element, $client ) ); + } else { + HTML_installer::showInstallMessage( $message, T_('Upload ').$element.' - '.T_('Error'), + returnTo( $option, $element, $client ) ); + } +} +} +/** +* @param string The name of the php (temporary) uploaded file +* @param string The name of the file to put in the temp directory +* @param string The message to return +*/ +function uploadFile( $filename, $userfile_name, &$error ) { + global $mosConfig_absolute_path; + $baseDir = mosPathName( $mosConfig_absolute_path . '/media' ); + + if (file_exists( $baseDir )) { + if (is_writable( $baseDir )) { + if (move_uploaded_file( $filename, $baseDir . $userfile_name )) { + if (mosChmod( $baseDir . $userfile_name )) { + return true; + } else { + $msg = T_('Failed to change the permissions of the uploaded file.'); + } + } else { + $msg = T_('Failed to move uploaded file to /media directory.'); + } + } else { + $msg = T_('Upload failed as /media directory is not writable.'); + } + } else { + $msg = T_('Upload failed as /media directory does not exist.'); + } + $error = new mosError ($msg, _MOS_ERROR_FATAL); + return false; +} +/** +* @param string The name of the php (temporary) uploaded file +* @param string The name of the file to put in the temp directory +* @param string The message to return +*/ +function uploadUrl( $userurl, $userfilename, &$error ) { + global $mosConfig_absolute_path; + $baseDir = mosPathName( $mosConfig_absolute_path . '/media' ); + if (file_exists( $baseDir )) { + if (is_writable( $baseDir )) { + if ($fpin = fopen($userurl, 'rb') AND is_resource($fpin)) { + if ($fpout = fopen($baseDir.$userfilename, 'wb') AND is_resource($fpout)) { + while (!feof($fpin)) { + $data = fgets($fpin, 1024); + fwrite($fpout, $data); + } + fclose($fpout); + fclose($fpin); + if (mosChmod( $baseDir.$userfilename )) return true; + else $msg = T_('Failed to change the permissions of the uploaded file.'); + } + else $msg = T_('Failed to open the local file from the URL.'); + } + else $msg = T_('Failed to open the specified URL.'); + } + else $msg = T_('Upload failed as /media directory is not writable.'); + } + else $msg = T_('Upload failed as /media directory does not exist.'); + $error = new mosError ($msg, _MOS_ERROR_FATAL); + return false; +} + + /** + * Component uninstall method + * @param int The id of the module + * @param string The URL option + * @param int The client id + */ + function component_uninstall( $cid, $option, $client=0 ) { + $database =& mamboDatabase::getInstance(); + $sql = "SELECT * FROM #__components WHERE id=$cid"; + $database->setQuery($sql); + if (!$database->loadObject( $row )) { + $message = new mosError ($database->stderr(true), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Uninstall - error'), "index2.php?option=$option&element=component"); + exit(); + } + if ($row->iscore) { + $message = new mosError (sprintf(T_('Component %s is a core component, and can not be uninstalled.
    You need to unpublish it if you don\'t want to use it'), $row->name), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, 'Uninstall - error', "index2.php?option=$option&element=component"); + exit(); + } + // Try to find the XML file + $here = mosPathName( mamboCore::get('mosConfig_absolute_path').'/administrator/components/'.$row->option ); + $filesindir = mosReadDirectory($here, '.xml$'); + if (count($filesindir) > 0) { + $allerrors = new mosErrorSet(); + foreach ($filesindir as $file) { + $parser =& new mosUninstallXML ($here.$file); + $parser->uninstall(); + $allerrors->mergeAnother($parser->errors); + } + $ret = ($allerrors->getMaxLevel() < _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage( $allerrors->getErrors(), T_('Uninstall component - ').($ret ? T_('Success') : T_('Error')), + returnTo( $option, 'component', $client ) ); + } + else { + $com_name = $row->option; + $dir = new mosDirectory(mosPathName(mamboCore::get('mosConfig_absolute_path').'/components/'.$com_name)); + $dir->deleteAll(); + $dir = new mosDirectory(mosPathName(mamboCore::get('mosConfig_absolute_path').'/administrator/components/'.$com_name)); + $dir->deleteAll(); + $sql = "DELETE FROM #__components WHERE `option`='$com_name'"; + $database->setQuery($sql); + $database->query(); + $message = new mosError (T_('Uninstaller could not find XML file, but cleaned database'), _MOS_ERROR_WARN); + HTML_installer::showInstallMessage($message, T_('Uninstall ').T_('component - ').T_('Success'), returnTo($option, 'component', $client)); + } + exit(); + } + + /** + * Module uninstall method + * @param int The id of the module + * @param string The URL option + * @param int The client id + */ + function module_uninstall( $id, $option, $client=0 ) { + $database =& mamboDatabase::getInstance(); + $mosConfig_absolute_path = mamboCore::get('mosConfig_absolute_path'); + $query = "SELECT module, iscore, client_id FROM #__modules WHERE id = '$id'"; + $database->setQuery( $query ); + $database->loadObject( $row ); + if ($row->iscore) { + $message = new mosError (sprintf(T_('%s is a core module, and can not be uninstalled.
    You need to unpublish it if you don\'t want to use it'), $row->title), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, 'Uninstall - error', returnTo( $option, 'module', $row->client_id ? '' : 'admin' ) ); + exit(); + } + $query = "DELETE FROM #__modules_menu WHERE moduleid=$id"; + $database->setQuery( $query ); + if (!$database->query()) { + $msg = $database->stderr; + die( $msg ); + } + if ( $row->client_id ) $basepath = $mosConfig_absolute_path . '/administrator/modules/'; + else $basepath = $mosConfig_absolute_path . '/modules/'; + $xmlfile = $basepath . $row->module . '.xml'; + $parser =& new mosUninstallXML ($xmlfile); + $parser->uninstall(); + $ret = ($parser->errors->getMaxLevel() < _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage( $parser->errors->getErrors(), T_('Uninstall module - ').($ret ? T_('Success') : T_('Error')), + returnTo( $option, 'module', $client ) ); + exit (); + } + + /** + * Mambot install method + * @param int The id of the module + * @param string The URL option + * @param int The client id + */ + function mambot_uninstall( $id, $option, $client=0 ) { + $database =& mamboDatabase::getInstance(); + $mosConfig_absolute_path = mamboCore::get('mosConfig_absolute_path'); + $database->setQuery( "SELECT name, folder, element, iscore FROM #__mambots WHERE id = $id" ); + $database->loadObject( $row ); + if ($database->getErrorNum()) { + $message = new mosError ($database->stderr(), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Uninstall - error'), + returnTo( $option, 'mambot', $client ) ); + exit(); + } + if ($row == null) { + $message = new mosError (T_('Invalid object id'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Uninstall - error'), returnTo($option, 'mambot', $client)); + exit(); + } + if (trim( $row->folder ) == '') { + $message = new mosError (T_('Folder field empty, cannot remove files'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Uninstall - error'), returnTo($option, 'mambot', $client)); + exit(); + } + $xmlfile = $mosConfig_absolute_path.'/mambots/'.$row->folder.'/'.$row->element.'.xml'; + if (file_exists($xmlfile)) { + $parser =& new mosUninstallXML ($xmlfile); + $ret = $parser->uninstall(); + $showerrors = $parser->getErrors(); + } + else { + $database->setQuery("DELETE FROM #__mambots WHERE id = $id"); + $ret = $database->query(); + $showerrors = new mosError (T_('Uninstaller did its best with no XML file present'), _MOS_ERROR_WARN); + } + HTML_installer::showInstallMessage( $showerrors, T_('Uninstall mambot - ').($ret ? T_('Success') : T_('Error')), + returnTo( $option, 'mambot', $client ) ); + exit (); + } + + /** + * Template uninstall method + * @param int The id of the module + * @param string The URL option + * @param int The client id + */ + function template_uninstall( $id, $option, $client=0 ) { + $id = str_replace( array( '\\', '/' ), '', $id ); + $mosConfig_absolute_path = mamboCore::get('mosConfig_absolute_path'); + // Find if normal or admin template and delete corresponding files & directories + if ($client=='admin') { + $basepath = mamboCore::get('mosConfig_absolute_path').'/administrator/templates/' . $id; + } + else { + $basepath = mamboCore::get('mosConfig_absolute_path').'/templates/' . $id; + } + //Use $basepath to remove the template files and directory + $tdir = new mosDirectory($basepath); + $tdir->deleteAll(); + + $message = new mosError (T_('Uninstall template - '), _MOS_ERROR_INFORM); + HTML_installer::showInstallMessage($message, T_('Success'), returnTo($option, 'template', $client)); + exit (); + } + + /** + * Language uninstall method + * @param int The id of the module + * @param string The URL option + * @param int The client id + */ + function language_uninstall( $id, $option, $client=0 ) { + $id = str_replace( array( '\\', '/' ), '', $id ); + $basepath = mamboCore::get('mosConfig_absolute_path').'/language/'; + $xmlfile = $basepath . $id . '.xml'; + // see if there is an xml install file, must be same name as element + if (file_exists( $xmlfile )) { + $parser =& new mosUninstallXML ($xmlfile); + $parser->uninstall(); + $ret = ($parser->errors->getMaxLevel() < _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage( $parser->errors->getErrors(), T_('Uninstall language - ').($ret ? T_('Success') : T_('Error')), + returnTo( $option, 'language', $client ) ); + } + else { + $message = new mosError (T_('Language id empty, cannot remove files'), _MOS_ERROR_FATAL); + HTML_installer::showInstallMessage($message, T_('Uninstall - error'), "index2.php?option=com_languages"); + } + exit(); + } + + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/component/component.html.php 4.6-complete/uploadfiles/administrator/components/com_installer/component/component.html.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/component/component.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/component/component.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,109 @@ + +
    + + + + +
    + +
    + + + + + + + + + + + + + "> + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    + + + name; ?> + + + link != "" ? $row->link : " "; ?> + + author != "" ? $row->author : " "; ?> + + version != "" ? $row->version : " "; ?> + + creationdate != "" ? $row->creationdate : " "; ?> + + authorEmail != "" ? $row->authorEmail : " "; ?> + + authorUrl != "" ? "authorUrl, 0, 7) == 'http://' ? $row->authorUrl : 'http://'.$row->authorUrl). "\" target=\"_blank\">$row->authorUrl" : " ";?> +
    + +
    + + + + + +
    + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/component/component.php 4.6-complete/uploadfiles/administrator/components/com_installer/component/component.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/component/component.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/component/component.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,64 @@ +acl_check( 'administration', 'install', 'users', $my->usertype, $element . 's', 'all' ) ) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'installer_html', 'component' ) ); + +showInstalledComponents( $option ); + +/** +* @param string The URL option +*/ +function showInstalledComponents( $option ) { + global $database, $mosConfig_absolute_path; + + $database->setQuery( "SELECT *" + . "\n FROM #__components" + . "\n WHERE parent = 0 AND iscore = 0" + . "\n ORDER BY name" + ); + $rows = $database->loadObjectList(); + + // Read the component dir to find components + $componentBaseDir = mosPathName($mosConfig_absolute_path.'/administrator/components'); + $componentDirs = mosReadDirectory( $componentBaseDir ); + + $n = count( $rows ); + for ($i = 0; $i < $n; $i++) { + $row =& $rows[$i]; + + $dirName = mosPathName($componentBaseDir.$row->option); + $xmlFilesInDir = mosReadDirectory( $dirName, '.xml$' ); + foreach ($xmlFilesInDir as $xmlfile) { + // Read the file to see if it's a valid component XML file + $parser =& new mosXMLDescription($dirName.$xmlfile); + if ($parser->getType() != 'component') continue; + $row->creationdate = $parser->getCreationDate('component'); + $row->author = $parser->getAuthor('component'); + $row->copyright = $parser->getCopyright('component'); + $row->authorEmail = $parser->getAuthorEmail('component'); + $row->authorUrl = $parser->getAuthorUrl('component'); + $row->version = $parser->getVersion('component'); + $row->mosname = strtolower( str_replace( " ", "_", $row->name ) ); + } + } + + HTML_component::showInstalledComponents( $rows, $option ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/component/index.html 4.6-complete/uploadfiles/administrator/components/com_installer/component/index.html --- 4.6rc2/uploadfiles/administrator/components/com_installer/component/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/component/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/index.html 4.6-complete/uploadfiles/administrator/components/com_installer/index.html --- 4.6rc2/uploadfiles/administrator/components/com_installer/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/installer.class.php 4.6-complete/uploadfiles/administrator/components/com_installer/installer.class.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/installer.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/installer.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,726 @@ +opentags[1] AND ($last == null OR $last == $this->opentags[2])) return true; + else return false; + } + + function element_mosinstall ($attrs) { + if (isset($attrs['TYPE'])) { + $this->type = $attrs['TYPE']; + $method = 'init_'.$attrs['TYPE']; + $setup = array (&$this, $method); + if (is_callable($setup)) $this->$method($attrs); + else $this->errors->addErrorDetails(sprintf(T_('XML error in %s: no handler %s'), $this->xmlfile, $method), _MOS_ERROR_FATAL); + } + else $this->errors->addErrorDetails(sprintf(T_('XML error in %s: mosinstall has no type'), $this->xmlfile), _MOS_ERROR_FATAL); + } + + function end_element_mosinstall () { + if ($this->name = $this->getName($this->type)); + elseif ($this->type != 'params') $this->errors->addErrorDetails(sprintf(T_('XML Error in %s: install has no name'), $this->xmlfile), _MOS_ERROR_FATAL); + } + + function element_filename ($attrs) { + if ($this->type == 'language') $this->language_attrs = $attrs; + elseif (isset($attrs[$this->special_attr])) $this->special_filetitle = $attrs[$this->special_attr]; + } + + function end_element_filename () { + if ($this->special_filetitle) $this->special_file = array($this->special_filetitle, $this->chardata); + $this->special_filetitle = ''; + if ($this->type == 'language') $this->files[] = array($this->language_attrs, $this->chardata); + elseif ($this->tagNestIs('FILES', 'MOSINSTALL')) $this->files[] = $this->chardata; + elseif ($this->tagNestIs('REMOVE_FILES', 'MOSINSTALL')) $this->rem_files[] = $this->chardata; + elseif ($this->tagNestIs('IMAGES', 'MOSINSTALL')) $this->images[] = $this->chardata; + elseif ($this->tagNestIs('FILES', 'ADMINISTRATION')) $this->admin_files[] = $this->chardata; + elseif ($this->tagNestIs('IMAGES', 'ADMINISTRATION')) $this->admin_images[] = $this->chardata; + elseif ($this->tagNestIs('MEDIA', 'MOSINSTALL')) $this->media[] = $this->chardata; + elseif ($this->tagNestIs('CSS', 'MOSINSTALL')) $this->css[] = $this->chardata; + } + + function element_query ($attrs) { + if (isset($attrs['ID'])) $this->queryid = $attrs['ID']; + } + + function element_menu ($attrs) { + if ($this->type != 'component') { + $this->errors->addErrorDetails(sprintf(T_('XML error in %s: MENU found, but this is not component XML'), $this->xmlfile), _MOS_ERROR_WARNING); + return; + } + if ($this->tagNestIs('SUBMENU', 'ADMINISTRATION')) { + if (isset($attrs['ACT'])) $this->subact = '&act='.$attrs['ACT']; + elseif (isset($attrs['TASK'])) $this->subact = '&task='.$attrs['TASK']; + elseif (isset($attrs['LINK'])) $this->subact = $attrs['LINK']; + } + } + + function end_element_menu (){ + if ($this->tagNestIs('ADMINISTRATION')) $this->mainmenu = $this->chardata; + elseif ($this->tagNestIs('SUBMENU', 'ADMINISTRATION')) $this->submenus[] = array ($this->chardata, $this->subact); + $this->subact = ''; + } + + function end_element_installfile () { + $this->installfile = $this->chardata; + } + + function end_element_uninstallfile (){ + $this->uninstallfile = $this->chardata; + } + + function init_component ($attrs) { + } + + function init_module ($attrs) { + $this->special_attr = 'MODULE'; + if (isset($attrs['CLIENT'])) $this->client = $attrs['CLIENT']; + } + + function init_mambot ($attrs) { + $this->special_attr = 'MAMBOT'; + if (isset($attrs['GROUP'])) { + $this->group = $attrs['GROUP']; + } + else $this->errors->addErrorDetails(sprintf(T_('XML Error in %s: Mambot does not have a group specified'), $this->xmlfile), _MOS_ERROR_FATAL); + } + + function init_template ($attrs) { + if (isset($attrs['CLIENT'])) $this->client = $attrs['CLIENT']; + } + + function init_language ($attrs) { + } + + function init_params ($attrs) { + } + + function init_include($attrs) { + } + + function init_parameter($attrs) { + } + + function init_patch ($attrs) { + } + +} + +class mosInstallXML extends mosCommonInstallXML { + + function install () { + if ($this->errors->getMaxLevel() >= _MOS_ERROR_FATAL) return; + $method = 'install_'.$this->type; + $setup = array (&$this, $method); + if (is_callable($setup)) $this->$method(); + else $this->errors->addErrorDetails(sprintf(T_('XML error in %s: no installer %s'), $this->xmlfile, $method), _MOS_ERROR_FATAL); + if ($this->errors->getMaxLevel() >= _MOS_ERROR_FATAL) { + $killmethod = 'kill_'.$this->type; + $killer = array (&$this, $killmethod); + if (is_callable($killer)) $this->$killmethod(); + } + } + + function end_element_query () { + if ($this->tagNestIs('QUERIES', 'INSTALL')) $this->queries[] = array ($this->chardata, $this->queryid); + $this->queryid = 0; + } + + function createDirectories ($name) { + if ($this->admin_dir) { + $adirectory = new mosDirectory ($this->admin_dir); + $type = $this->type; + if (!$adirectory->createFresh()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: unable to create admin directory for %s %s'), $this->xmlfile, $type, $name), _MOS_ERROR_SEVERE); + return false; + } + } + if ($this->user_dir) { + $udirectory = new mosDirectory ($this->user_dir); + if (!$udirectory->createFresh()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: unable to create user directory for %s %s'), $this->xmlfile, $type, $name), _MOS_ERROR_SEVERE); + return false; + } + return true; + } + } + + function createComponentMenu ($item, $name, $toplevel=0) { + $text = $item[0]; + $database =& mamboDatabase::getInstance(); + $component =& new mosComponent($database); + $component->name = $component->admin_menu_alt = $text; + if ($toplevel == 0) $component->link = "option=$name"; + $component->menuid = 0; + $component->parent = $toplevel; + $component->iscore = 0; + $component->admin_menu_link = "option=$name"; + if ($toplevel AND ($linkdetail = $item[1])) { + if ($linkdetail[0] == '&') $component->admin_menu_link .= $linkdetail; + else $component->admin_menu_link = $linkdetail; + } + $component->option = $name; + $component->ordering = $toplevel ? $this->submenuordering++ : 0; + $component->admin_menu_img = 'js/ThemeOffice/component.png'; + $component->params = ''; + if ($component->store()) return $component->id; + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: writing component menu SQL error %s'), $this->xmlfile, $database->stderr(true)), _MOS_ERROR_FATAL); + return 0; + } + + function install_component (){ + $com_name = 'com_'.str_replace(' ', '', strtolower($this->name)); + $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/components/'.$com_name); + $this->admin_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/administrator/components/'.$com_name); + $database =& mamboDatabase::getInstance(); + $sql = "SELECT COUNT(id) FROM #__components WHERE `option`='$com_name'"; + $database->setQuery($sql); + if ($count = $database->loadResult()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s already installed'), $this->xmlfile, 'component', $com_name), _MOS_ERROR_FATAL); + return; + } + if (!$this->createDirectories($com_name)) return; + $fmanager =& mosFileManager::getInstance(); + $here = mosPathName(dirname($this->xmlfile)); + $fmanager->forceCopy($this->xmlfile, $this->admin_dir.basename($this->xmlfile)); + foreach ($this->files as $ufile) $fmanager->forceCopy($here.$ufile, $this->user_dir.$ufile); + foreach ($this->images as $uimage) $fmanager->forceCopy($here.$uimage, $this->user_dir.$uimage); + foreach ($this->admin_files as $afile) $fmanager->forceCopy($here.$afile, $this->admin_dir.$afile); + foreach ($this->admin_images as $aimage) $fmanager->forceCopy($here.$aimage, $this->admin_dir.$aimage); + if ($this->installfile) $fmanager->forceCopy($here.$this->installfile, $this->admin_dir.$this->installfile); + if ($this->uninstallfile) $fmanager->forceCopy($here.$this->uninstallfile, $this->admin_dir.$this->uninstallfile); + foreach ($this->queries as $query) { + $database->setQuery($query[0]); + if (!$database->query()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s SQL error %s'), $this->xmlfile, 'component', $com_name, $database->stderr(true)), _MOS_ERROR_FATAL); + } + } + if ($this->mainmenu) { + $topid = $this->createComponentMenu (array($this->mainmenu), $com_name); + foreach ($this->submenus as $submenu) { + $this->createComponentMenu ($submenu, $com_name, $topid); + } + } + if ($this->installfile) { + $ifile = mosPathName($this->admin_dir).$this->installfile; + if (is_file($ifile)) { + global $mosConfig_absolute_path, $mosConfig_live_site, $acl, $database; + require_once($ifile); + com_install(); + } + } + $this->errors->addErrorDetails($this->getDescription('component'), _MOS_ERROR_INFORM); + } + + function install_module () { + if (!is_array($this->special_file)) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: no file identified as the %s'), $this->xmlfile, 'module'), _MOS_ERROR_FATAL); + return; + } + $special = $this->special_file[0]; + $database =& mamboDatabase::getInstance(); + $client_id = $this->client == 'administrator' ? 1 : 0; + $sql = "SELECT COUNT(id) FROM #__modules WHERE module='$special' AND client_id='$client_id'"; + $database->setQuery($sql); + if ($database->loadResult()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s already installed'), $this->xmlfile, 'module', $com_name), _MOS_ERROR_FATAL); + return; + } + if ($client_id) $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/administrator/modules/'); + else $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/modules'); + $fmanager =& mosFileManager::getInstance(); + $here = mosPathName(dirname($this->xmlfile)); + $fmanager->forceCopy($this->xmlfile, $this->user_dir.basename($this->xmlfile)); + foreach ($this->files as $ufile) $fmanager->forceCopy($here.$ufile, $this->user_dir.$ufile); + foreach ($this->images as $uimage) $fmanager->forceCopy($here.$uimage, $this->user_dir.$uimage); + $module =& new mosModule($database); + $module->title = $this->name; + $module->ordering = 99; + $module->position = 'left'; + $module->showtitle = 1; + $module->iscore = 0; + $module->access = $client_id ? 99 : 0; + $module->client_id = $client_id; + $module->module = $special; + $module->content = ''; // double check the last chance at wush to be here at SG new SVN + $module->params = ''; + $module->store(); + if ($module->store()) $this->errors->addErrorDetails($this->getDescription('module'), _MOS_ERROR_INFORM); + else { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s SQL error %s'), $this->xmlfile, 'mambot', $this->name, $database->stderr(true)), _MOS_ERROR_FATAL); + } + + $database->setQuery("INSERT INTO #__modules_menu VALUES ('$module->id', 0)"); + if (!$database->query()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s SQL error %s'), $this->xmlfile, 'module', $this->name, $database->stderr(true)), _MOS_ERROR_FATAL); + } + //$this->errors->addErrorDetails($this->getDescription('module'), _MOS_ERROR_INFORM); + } + + function install_mambot () { + if (!is_array($this->special_file)) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: no file identified as the %s'), $this->xmlfile, 'mambot'), _MOS_ERROR_FATAL); + return; + } + $database =& mamboDatabase::getInstance(); + $name = $this->name; + $sql = "SELECT COUNT(id) FROM #__mambots WHERE element='$name'"; + $database->setQuery($sql); + if ($database->loadResult()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s already installed'), $this->xmlfile, 'mambot', $this->name), _MOS_ERROR_FATAL); + return; + } + $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/mambots/'.$this->group); + $fmanager =& mosFileManager::getInstance(); + $here = mosPathName(dirname($this->xmlfile)); + $fmanager->forceCopy($this->xmlfile, $this->user_dir.basename($this->xmlfile)); + foreach ($this->files as $ufile) $fmanager->forceCopy($here.$ufile, $this->user_dir.$ufile); + foreach ($this->images as $uimage) $fmanager->forceCopy($here.$uimage, $this->user_dir.$uimage); + $mambot =& new mosMambot($database); + $mambot->name = $this->name; + $mambot->ordering = 0; + $mambot->folder = $this->group; + $mambot->iscore = 0; + $mambot->access = 0; + $mambot->client_id = 0; + $mambot->element = $this->special_file[0]; + $mambot->params = ''; + if ($mambot->store()) $this->errors->addErrorDetails($this->getDescription('mambot'), _MOS_ERROR_INFORM); + else { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s SQL error %s'), $this->xmlfile, 'mambot', $this->name, $database->stderr(true)), _MOS_ERROR_FATAL); + } + } + + function install_template () { + $client_id = $this->client == 'administrator' ? 1 : 0; + if ($client_id) $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/administrator/templates/'); + else $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/templates/'.str_replace(' ', '_', strtolower($this->name))); + if (file_exists($this->user_dir)) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s already installed'), $this->xmlfile, 'template', $this->name), _MOS_ERROR_FATAL); + return; + } + $fmanager =& mosFileManager::getInstance(); + $here = mosPathName(dirname($this->xmlfile)); + $fmanager->forceCopy($this->xmlfile, $this->user_dir.basename($this->xmlfile)); + foreach ($this->files as $ufile) $fmanager->forceCopy($here.$ufile, $this->user_dir.$ufile); + foreach ($this->images as $uimage) $fmanager->forceCopy($here.$uimage, $this->user_dir.$uimage); + foreach ($this->css as $acss) $fmanager->forceCopy($here.$acss, $this->user_dir.$acss); + $mediadir = mamboCore::get('mosConfig_absolute_path').'/images/stories/'; + foreach ($this->media as $simage) $fmanager->forceCopy($here.$simage, $mediadir.$simage); + $this->errors->addErrorDetails($this->getDescription('template'), _MOS_ERROR_INFORM); + } + + function install_language () { + $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/language'); + $fmanager =& mosFileManager::getInstance(); + $here = mosPathName(dirname($this->xmlfile)); + $fmanager->forceCopy($this->xmlfile, $this->user_dir.basename($this->xmlfile)); + $lang = substr(basename($this->xmlfile), 0, -4); + foreach ($this->files as $ufile) { + $file = str_replace('language', '', $ufile[1]); + $fmanager->forceCopy($here.$file, $this->user_dir.$file); + } + $this->errors->addErrorDetails($this->getDescription('language'), _MOS_ERROR_INFORM); + } + + function install_include () { + $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/includes'); + $this->admin_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/administrator/includes'); + $fmanager =& mosFileManager::getInstance(); + $here = mosPathName(dirname($this->xmlfile)); + foreach ($this->files as $ufile) $fmanager->lightCopy($here.$ufile, $this->user_dir.$ufile); + foreach ($this->admin_files as $afile) $fmanager->lightCopy($here.$afile, $this->admin_dir.$afile); + } + + function install_parameter () { + $database =& mamboDatabase::getInstance(); + $name = $this->name; + $sql = "SELECT COUNT(id) FROM #__parameters WHERE param_name='$name'"; + $database->setQuery($sql); + if ($database->loadResult()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s already installed'), $this->xmlfile, 'parameter', $this->name), _MOS_ERROR_FATAL); + return; + } + $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/parameters/'); + $fmanager =& mosFileManager::getInstance(); + $xmlfile = $this->xmlfile; + $filexmlfile = basename($xmlfile); + $fmanager->forceCopy($xmlfile, $this->user_dir.basename($filexmlfile)); + $sql = "INSERT INTO #__parameters (param_name, param_file, param_version, params) VALUES ('$name', '$filexmlfile', '', '')"; + $database->setQuery($sql); + if (!$database->query()) { + $this->errors->addErrorDetails(sprintf(T_('Installer error with %s: %s %s SQL error %s'), $xmlfile, 'parameter', $name, $database->stderr(true)), _MOS_ERROR_FATAL); + } + $this->errors->addErrorDetails($this->getDescription('parameter'), _MOS_ERROR_INFORM); + } + + function install_patch () { + $permit_problem = false; + $fmanager =& mosFileManager::getInstance(); + $here = mosPathName(dirname($this->xmlfile)); + $basedir = mosPathName(mamboCore::get('mosConfig_absolute_path')); + foreach ($this->files as $file) { + if (!$fmanager->acceptCopy($basedir.$file) OR (file_exists($basedir.$file) AND !is_writable($basedir.$file))) { + $this->errors->addErrorDetails(sprintf(T_('Patch install error with %s: cannot write %s'), $this->xmlfile, $basedir.$file), _MOS_ERROR_WARN); + $permit_problem = true; + } + } + foreach ($this->rem_files as $file) { + if (!is_writable($basedir.$file)) { + $this->errors->addErrorDetails(sprintf(T_('Patch install error with %s: cannot delete %s'), $this->xmlfile, $basedir.$file), _MOS_ERROR_WARN); + $permit_problem = true; + } + } + if ($permit_problem) { + $this->errors->addErrorDetails(sprintf(T_('Patch install error with %s: file permissions prevent patch application'), $this->xmlfile), _MOS_ERROR_FATAL); + return; + } + foreach ($this->rem_files as $file) { + if (!@unlink($basedir.$file)) { + $this->errors->addErrorDetails(sprintf(T_('Patch install error with %s: failed to delete %s'), $this->xmlfile, $basedir.$file), _MOS_ERROR_WARN); + $permit_problem = true; + } + } + foreach ($this->files as $file) { + if (!$fmanager->forceCopy($here.$file, $basedir.$file)) { + $this->errors->addErrorDetails(sprintf(T_('Patch install error with %s: failed to write %s'), $this->xmlfile, $basedir.$file), _MOS_ERROR_WARN); + $permit_problem = true; + } + } + if ($permit_problem) $this->errors->addErrorDetails(sprintf(T_('Patch install error with %s: check was OK, but application failed'), $this->xmlfile), _MOS_ERROR_FATAL); + else $this->errors->addErrorDetails(sprintf(T_('Patch install %s: completed successfully'), $this->xmlfile), _MOS_ERROR_INFORM); + } + + function kill_component () { + if (isset($this->user_dir)) { + $dir = new mosDirectory($this->user_dir); + $dir->deleteAll(); + } + if (isset($this->admin_dir)) { + $dir = new mosDirectory($this->admin_dir); + $dir->deleteAll(); + } + $com_name = 'com_'.strtolower($this->name); + $sql = "DELETE FROM #__components WHERE `option`='$com_name'"; + $database =& mamboDatabase::getInstance(); + $database->setQuery($sql); + $database->query(); + } + + function kill_module () { + $name = $this->name; + $sql = "DELETE FROM #__modules WHERE title='$name'"; + $database =& mamboDatabase::getInstance(); + $database->setQuery($sql); + $database->query(); + } + + function kill_mambot () { + $name = $this->name; + $sql = "DELETE FROM #__mambots WHERE name='$name'"; + $database =& mamboDatabase::getInstance(); + $database->setQuery($sql); + $database->query(); + } + + function kill_template () { + if (isset($this->user_dir)) { + $dir = new mosDirectory($this->user_dir); + $dir->deleteAll(); + } + } + + function kill_language () { + } + + function kill_include () { + } + + function kill_parameter () { + $database =& mamboDatabase::getInstance(); + $name = $this->name; + $sql = "DELETE FROM #__parameters WHERE param_name='$name'"; + $database->setQuery($sql); + $database->query(); + } + + function kill_patch () { + } + +} + + +class mosUninstallXML extends mosCommonInstallXML { + + function uninstall () { + $method = 'uninstall_'.$this->type; + $setup = array (&$this, $method); + if (is_callable($setup)) $this->$method(); + else $this->errors->addErrorDetails(sprintf(T_('Uninstaller error with %s: no uninstaller %s'), $this->xmlfile, $method), _MOS_ERROR_FATAL); + if ($this->errors->getMaxLevel() >= _MOS_ERROR_FATAL) return false; + return true; + } + + function end_element_query () { + if ($this->tagNestIs('QUERIES', 'UNINSTALL')) $this->queries[] = array ($this->chardata, $this->queryid); + $this->queryid = 0; + } + + function deleteFileSet ($files, $rootdir) { + $dirs = array(); + $fmanager =& mosFileManager::getInstance(); + foreach ($files as $file) { + $parts = split ('/', $file); + if (count($parts) > 1 AND !in_array($parts[0], $dirs)) $dirs[] = $parts[0]; + $fmanager->deleteFile($rootdir.'/'.$file); + } + foreach ($dirs as $dir) { + $dirobj = new mosDirectory($rootdir.'/'.$dir); + $dirobj->deleteAll(); + } + } + + + function uninstall_component (){ + $com_name = 'com_'.str_replace(' ', '', strtolower($this->getName('component'))); + $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/components/'.$com_name); + $this->admin_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/administrator/components/'.$com_name); + if ($this->uninstallfile) { + $ufile = mosPathName($this->admin_dir).$this->uninstallfile; + if (is_file($ufile)) { + require_once($ufile); + com_uninstall(); + } + } + $database =& mamboDatabase::getInstance(); + foreach ($this->queries as $query) { + $database->setQuery($query[0]); + if (!$database->query()) { + $this->errors->addErrorDetails(sprintf(T_('Uninstaller error with %s: %s %s SQL error %s'), $this->xmlfile, 'component', $com_name, $database->stderr(true)), _MOS_ERROR_SEVERE); + } + } + $udir = new mosDirectory($this->user_dir); + $udir->deleteAll(); + $adir = new mosDirectory($this->admin_dir); + $adir->deleteAll(); + $sql = "DELETE FROM #__components WHERE `option`='$com_name'"; + $database->setQuery($sql); + if (!$database->query()) { + $this->errors->addErrorDetails(sprintf(T_('Uninstaller error with %s: %s %s not fully deleted from database'), $this->xmlfile, 'component', $com_name), _MOS_ERROR_SEVERE); + return; + } + $this->errors->addErrorDetails($this->getDescription('component'), _MOS_ERROR_INFORM); + } + + function uninstall_module () { + $client_id = $this->client == 'administrator' ? 1 : 0; + if ($client_id) $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/administrator/modules/'); + else $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/modules'); + $this->deleteFileSet($this->files, $this->user_dir); + $this->deleteFileSet($this->images, $this->user_dir); + if (!is_array($this->special_file)) { + $this->errors->addErrorDetails(sprintf(T_('Uninstaller error with %s: no file identified as the %s'), $this->xmlfile, 'module'), _MOS_ERROR_FATAL); + return; + } + $special = $this->special_file[0]; + $database =& mamboDatabase::getInstance(); + $name = $this->getName('module'); + $sql = "DELETE FROM #__modules WHERE module='$special' AND client_id='$client_id'"; + $database->setQuery($sql); + if (!$database->query()) { + $this->errors->addErrorDetails(sprintf(T_('Uninstaller error with %s: %s %s not fully deleted from database'), $this->xmlfile, 'module', $name), _MOS_ERROR_SEVERE); + return; + } + $fmanager =& mosFileManager::getInstance(); + $fmanager->deleteFile($this->xmlfile); + $this->errors->addErrorDetails($this->getDescription('module'), _MOS_ERROR_INFORM); + } + + function uninstall_mambot () { + $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/mambots/'.$this->group); + $this->deleteFileSet($this->files, $this->user_dir); + $this->deleteFileSet($this->images, $this->user_dir); + $database =& mamboDatabase::getInstance(); + $name = $this->getName('mambot'); + $element = $this->special_file[0]; + $group = $this->group; + $sql = "DELETE FROM #__mambots WHERE element='$element' AND folder='$group'"; + $database->setQuery($sql); + if (!$database->query()) { + $this->errors->addErrorDetails(sprintf(T_('Uninstaller error with %s: %s %s not fully deleted from database'), $this->xmlfile, 'mambot', $name), _MOS_ERROR_SEVERE); + return; + } + $fmanager =& mosFileManager::getInstance(); + $fmanager->deleteFile($this->xmlfile); + $this->errors->addErrorDetails($this->getDescription('mambot'), _MOS_ERROR_INFORM); + } + + /** + * This routine is not called - uninstalling templates is done by just deleting + * the whole directory. It might be better to manage the uninstall via the XML. + * Just deleting the template leaves all the files in the "media" directory. + * But the following code has never been tested. + **/ + function uninstall_template () { + $name = str_replace(' ', '_', strtolower($this->getName('template'))); + $client_id = $this->client == 'administrator' ? 1 : 0; + if ($client_id) $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/administrator/templates/'); + else $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/templates/'.$name); + $userdir = new mosDirectory($this->user_dir); + $userdir->deleteAll(); + $mediadir = mamboCore::get('mosConfig_absolute_path').'/images/stories/'; + $this->deleteFileSet($this->media, $mediadir); + $fmanager =& mosFileManager::getInstance(); + $fmanager->deleteFile($this->xmlfile); + $this->errors->addErrorDetails($this->getDescription('template'), _MOS_ERROR_INFORM); + } + + function uninstall_language () { + $this->user_dir = mosPathName(mamboCore::get('mosConfig_absolute_path').'/language/'); + $fmanager =& mosFileManager::getInstance(); + $here = mosPathName(dirname($this->xmlfile)); + $fmanager->deleteFile($this->user_dir.basename($this->xmlfile)); + foreach ($this->files as $ufile) $fmanager->deleteFile($this->user_dir.$ufile); + $this->errors->addErrorDetails($this->getDescription('language'), _MOS_ERROR_INFORM); + } + + function uninstall_params () { + } + +} + +/** +* Installer class +* @package Mambo +* @subpackage Installer +* @abstract +*/ +class mosInstaller { + var $archiveName = ''; + var $extractDir = ''; + var $cleanDir = ''; + var $errors = ''; + + function mosInstaller () { + $this->errors = new mosErrorSet(); + } + + /** + * Extracts the package archive file + * @return boolean True on success, False on error + */ + function extractArchive($filename) { + $mosConfig_absolute_path = mamboCore::get('mosConfig_absolute_path'); + $base_Dir = mosPathName($mosConfig_absolute_path.'/media'); + $this->archiveName = $base_Dir.$filename; + $tmpdir = uniqid('install_'); + $this->extractDir = $this->cleanDir = mosPathName($base_Dir.uniqid('install_')); + if (eregi( '.zip$', $filename )) { + // Extract functions + require_once( $mosConfig_absolute_path . '/administrator/includes/pcl/pclzip.lib.php' ); + require_once( $mosConfig_absolute_path . '/administrator/includes/pcl/pclerror.lib.php' ); + //require_once( $mosConfig_absolute_path . '/administrator/includes/pcl/pcltrace.lib.php' ); + //require_once( $mosConfig_absolute_path . '/administrator/includes/pcl/pcltar.lib.php' ); + $zipfile = new PclZip( $this->archiveName ); + $ret = $zipfile->extract( PCLZIP_OPT_PATH, $this->extractDir ); + if($ret == 0) { + $this->errors->addErrorDetails(sprintf(T_('Installer unrecoverable ZIP error %s in %s'), $zipfile->errorName(true), $this->archiveName), _MOS_ERROR_FATAL); + return false; + } + } else { + require_once( $mosConfig_absolute_path . '/includes/Archive/Tar.php' ); + $archive =& new Archive_Tar( $this->archiveName ); + $archive->setErrorHandling( PEAR_ERROR_PRINT ); + + if (!$archive->extractModify( $this->extractDir, '' )) { + $this->errors->addErrorDetails(sprintf(T_('Installer unrecoverable TAR error in %s'), $this->archiveName), _MOS_ERROR_FATAL); + return false; + } + } + // Try to find the correct install dir. in case that the package have subdirs + // Save the install dir for later cleanup + $dir =& new mosDirectory($this->extractDir); + $singledir = $dir->soleDir(); + if ($singledir) $this->extractDir = mosPathName($this->extractDir.$singledir); + return true; + } + /** + * Custom install method + * @param boolean True if installing from directory + */ + function install($p_fromdir = null) { + if (!is_null($p_fromdir)) $this->extractDir = $p_fromdir; + $here = $this->extractDir; + $installdir =& new mosDirectory($here); + $xmlfiles =& $installdir->listFiles('.xml$'); + foreach ($xmlfiles as $file) { + $parser = new mosInstallXML ($here.$file); + $parser->install(); + $this->errors->mergeAnother($parser->errors); + if ($parser->errors->getMaxLevel() >= _MOS_ERROR_FATAL) return false; + } + return true; + } + + function cleanUpInstall () { + if ($this->archiveName) { + $fmanager =& mosFileManager::getInstance(); + $fmanager->deleteFile($this->archiveName); + } + if ($this->cleanDir) { + $edir =& new mosDirectory ($this->cleanDir); + $edir->deleteAll(); + } + } + + function getErrors () { + return $this->errors->getErrors(); + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/language/index.html 4.6-complete/uploadfiles/administrator/components/com_installer/language/index.html --- 4.6rc2/uploadfiles/administrator/components/com_installer/language/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/language/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/language/language.php 4.6-complete/uploadfiles/administrator/components/com_installer/language/language.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/language/language.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/language/language.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,29 @@ +acl_check( 'administration', 'install', 'users', $my->usertype, $element . 's', 'all' ) ) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +$backlink = ''.T_('Back to Language Manager').''; +HTML_installer::showInstallForm( T_('Install new Language - Site'), $option, 'language', '', dirname(__FILE__), $backlink ); +?> + + +
    \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/mambot/index.html 4.6-complete/uploadfiles/administrator/components/com_installer/mambot/index.html --- 4.6rc2/uploadfiles/administrator/components/com_installer/mambot/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/mambot/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/mambot/mambot.html.php 4.6-complete/uploadfiles/administrator/components/com_installer/mambot/mambot.html.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/mambot/mambot.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/mambot/mambot.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,127 @@ + + + + + + + + +
    + +
    + +

    +
    + +
    + + + + + + + + + + + + + "> + + + + + + + + + + +
    + + + + + + + + + + + + + +
    + + + name; ?> + + + folder; ?> + + author != '' ? $row->author : " "; ?> + + version != '' ? $row->version : " "; ?> + + creationdate != '' ? $row->creationdate : " "; ?> + + authorEmail != '' ? $row->authorEmail : " "; ?> + + authorUrl != "" ? "authorUrl, 0, 7) == 'http://' ? $row->authorUrl : 'http://'.$row->authorUrl). "\" target=\"_blank\">$row->authorUrl" : " ";?> +
    + + + + + +
    + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/mambot/mambot.php 4.6-complete/uploadfiles/administrator/components/com_installer/mambot/mambot.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/mambot/mambot.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/mambot/mambot.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,93 @@ +acl_check( 'administration', 'install', 'users', $my->usertype, $element . 's', 'all' ) ) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'installer_html', 'mambot' ) ); + +showInstalledMambots( $option ); + +function showInstalledMambots( $_option ) { + global $database, $mosConfig_absolute_path; + + $database->setQuery( "SELECT id, name, folder, element, client_id" + . "\n FROM #__mambots" + . "\n WHERE iscore='0'" + . "\n ORDER BY folder, name" + ); + $rows = $database->loadObjectList(); + + // path to mambot directory + $mambotBaseDir = mosPathName($mosConfig_absolute_path.'/mambots'); + + $id = 0; + $n = count( $rows ); + for ($i = 0; $i < $n; $i++) { + $row =& $rows[$i]; + // xml file for module + $xmlfile = mosPathName ($mambotBaseDir.$row->folder).$row->element.".xml"; + + if (file_exists( $xmlfile )) { + $parser =& new mosXMLDescription($xmlfile); + if ($parser->getType() != 'mambot') continue; + $row->creationdate = $parser->getCreationDate('mambot'); + $row->author = $parser->getAuthor('mambot'); + $row->copyright = $parser->getCopyright('mambot'); + $row->authorEmail = $parser->getAuthorEmail('mambot'); + $row->authorUrl = $parser->getAuthorUrl('mambot'); + $row->version = $parser->getVersion('mambot'); + +/* $xmlDoc =& new DOMIT_Lite_Document(); + $xmlDoc->resolveErrors( true ); + if (!$xmlDoc->loadXML( $xmlfile, false, true )) { + continue; + } + + $element = &$xmlDoc->documentElement; + + if ($element->getTagName() != 'mosinstall') { + continue; + } + if ($element->getAttribute( "type" ) != "mambot") { + continue; + } + + $element = &$xmlDoc->getElementsByPath('creationDate', 1); + $row->creationdate = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath('author', 1); + $row->author = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath('copyright', 1); + $row->copyright = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath('authorEmail', 1); + $row->authorEmail = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath('authorUrl', 1); + $row->authorUrl = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath('version', 1); + $row->version = $element ? $element->getText() : ''; +*/ + } + } + + HTML_mambot::showInstalledMambots($rows, $_option, $id, $xmlfile ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/module/index.html 4.6-complete/uploadfiles/administrator/components/com_installer/module/index.html --- 4.6rc2/uploadfiles/administrator/components/com_installer/module/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/module/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/module/module.html.php 4.6-complete/uploadfiles/administrator/components/com_installer/module/module.html.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/module/module.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/module/module.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,114 @@ + +
    + + + + + + + + + +
    + + + + + +
    + +

    +
    + + + + + + + + + + + + + "> + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    + module; ?> + client_id == "0" ? T_('Site') : T_('Administrator'); ?> + + author != "" ? $row->author : " "; ?> + + version != "" ? $row->version : " "; ?> + + creationdate != "" ? $row->creationdate : " "; ?> + + authorEmail != "" ? $row->authorEmail : " "; ?> + + authorUrl != "" ? "authorUrl, 0, 7) == 'http://' ? $row->authorUrl : 'http://'.$row->authorUrl) ."\" target=\"_blank\">$row->authorUrl" : " "; ?> +
    + +
    + + + + + +
    + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/module/module.php 4.6-complete/uploadfiles/administrator/components/com_installer/module/module.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/module/module.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/module/module.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,115 @@ +acl_check( 'administration', 'install', 'users', $my->usertype, $element . 's', 'all' ) ) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'installer_html', 'module' ) ); + +showInstalledModules( $option ); + +/** +* @param string The URL option +*/ +function showInstalledModules( $_option ) { + global $database, $mosConfig_absolute_path; + + $filter = mosGetParam( $_POST, 'filter', '' ); + $select[] = mosHTML::makeOption( '', T_('All') ); + $select[] = mosHTML::makeOption( '0', T_('Site Modules') ); + $select[] = mosHTML::makeOption( '1', T_('Admin Modules') ); + $lists['filter'] = mosHTML::selectList( $select, 'filter', 'class="inputbox" size="1" onchange="document.adminForm.submit();"', 'value', 'text', $filter ); + if ( $filter == NULL ) { + $_and = ''; + } else if ( !$filter ) { + $_and = "\n AND client_id = '0'"; + } else if ( $filter ) { + $_and = "\n AND client_id = '1'"; + } + + $database->setQuery( "SELECT id, module, client_id" + . "\n FROM #__modules" + . "\n WHERE module LIKE 'mod_%' AND iscore='0'" + . $_and + . "\n GROUP BY module, client_id" + . "\n ORDER BY client_id, module" + ); + $rows = $database->loadObjectList(); + + $n = count( $rows ); + for ($i = 0; $i < $n; $i++) { + $row =& $rows[$i]; + + // path to module directory + if ($row->client_id == "1"){ + $moduleBaseDir = mosPathName($mosConfig_absolute_path.'/administrator/modules'); + } else { + $moduleBaseDir = mosPathName($mosConfig_absolute_path.'/modules'); + } + + // xml file for module + $xmlfile = $moduleBaseDir.$row->module.".xml"; + + if (file_exists( $xmlfile )) { + $parser =& new mosXMLDescription($xmlfile); + if ($parser->getType() != 'module') continue; + $row->creationdate = $parser->getCreationDate('module'); + $row->author = $parser->getAuthor('module'); + $row->copyright = $parser->getCopyright('module'); + $row->authorEmail = $parser->getAuthorEmail('module'); + $row->authorUrl = $parser->getAuthorUrl('module'); + $row->version = $parser->getVersion('module'); +/* + $xmlDoc =& new DOMIT_Lite_Document(); + $xmlDoc->resolveErrors( true ); + if (!$xmlDoc->loadXML( $xmlfile, false, true )) { + continue; + } + + $element = &$xmlDoc->documentElement; + + if ($element->getTagName() != 'mosinstall') { + continue; + } + if ($element->getAttribute( "type" ) != "module") { + continue; + } + + $element = &$xmlDoc->getElementsByPath( 'creationDate', 1 ); + $row->creationdate = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath( 'author', 1 ); + $row->author = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath( 'copyright', 1 ); + $row->copyright = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath( 'authorEmail', 1 ); + $row->authorEmail = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath( 'authorUrl', 1 ); + $row->authorUrl = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath( 'version', 1 ); + $row->version = $element ? $element->getText() : ''; +*/ + } + } + + HTML_module::showInstalledModules( $rows, $_option, $xmlfile, $lists ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/template/index.html 4.6-complete/uploadfiles/administrator/components/com_installer/template/index.html --- 4.6rc2/uploadfiles/administrator/components/com_installer/template/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/template/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/template/template.php 4.6-complete/uploadfiles/administrator/components/com_installer/template/template.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/template/template.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/template/template.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,38 @@ +acl_check( 'administration', 'install', 'users', $my->usertype, $element . 's', 'all' ) ) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +$client = mosGetParam( $_REQUEST, 'client', '' ); + +$userfile = mosGetParam( $_REQUEST, 'userfile', dirname( __FILE__ ) ); +$userfile = mosPathName( $userfile ); + +HTML_installer::showInstallForm( T_('Install new Template').' [ ' . ($client == 'admin' ? T_('Administrator') : T_('Site')) .' ]', + $option, 'template', $client, $userfile, + ''.T_('Back to Templates').'' +); +?> + + +
    diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/toolbar.installer.html.php 4.6-complete/uploadfiles/administrator/components/com_installer/toolbar.installer.html.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/toolbar.installer.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/toolbar.installer.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,41 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/toolbar.installer.php 4.6-complete/uploadfiles/administrator/components/com_installer/toolbar.installer.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/toolbar.installer.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/toolbar.installer.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,32 @@ +getPath( 'toolbar_html' ) ); + +switch ($task){ + case "new": + TOOLBAR_installer::_NEW(); + break; + + default: + $element = mosGetParam( $_REQUEST, 'element', '' ); + if ($element == 'component' || $element == 'module' || $element == 'mambot') { + TOOLBAR_installer::_DEFAULT2($element); + } else { + TOOLBAR_installer::_DEFAULT(); + } + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_installer/universal/universal.php 4.6-complete/uploadfiles/administrator/components/com_installer/universal/universal.php --- 4.6rc2/uploadfiles/administrator/components/com_installer/universal/universal.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_installer/universal/universal.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,46 @@ +acl_check( 'administration', 'install', 'users', $my->usertype, $element . 's', 'all' ) ) { +// mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +//} + +require_once( $mainframe->getPath( 'installer_html', 'component' ) ); + +$suppress_install = false; +if (!$suppress_install) { +HTML_installer::showInstallForm( T_('Install Mambo plugin (component, module, mambot, template, include, parameter, composite)'), $option, 'universal', '', dirname(__FILE__) ); +?> + + +
    + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/apply.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/apply.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/apply.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/apply.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,59 @@ +setproperty('mode', 'po'); + $catalog->setproperty('lang', $lang); + $catalog->load(); + + $catalog->setComments($_POST['comments']); + $catalog->setHeaders($_POST['headers']); + + foreach ($_POST as $key => $value) { + if (preg_match('/^([a-z]+)[_]?([0-9]+)?_([0-9]+)$/', $key, $matches)) { + switch ($matches[1]) + { + case 'msgid': + $messages[$matches[3]]['msgid'] = $value; + break; + case 'msgid_plural': + $messages[$matches[3]]['msgid_plural'] = $value; + break; + case 'msgstr': + if ($matches[2] != '') { + $messages[$matches[3]]['msgstr'][$matches[2]] = stripslashes($value); + } else { + $messages[$matches[3]]['msgstr'] = stripslashes($value); + } + break; + case 'fuzzy': + $messages[$matches[3]]['fuzzy'] = $value == 'true' ? true : false; + break; + } + } + } + foreach ($messages as $index => $arr) { + if (strcmp($catalog->strings[$index]->msgid, $arr['msgid']) == 0) { + $catalog->strings[$index]->setmsgstr($arr['msgstr']); + if ($arr['fuzzy']) { + $catalog->strings[$index]->setfuzzy($arr['fuzzy']); + } + } + } + $catalog->save(); + + if ($request->get('act') == 'catalogs') { + $request->set('domain', $domain); + } + $controller->view('edit'); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/auto_translate.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/auto_translate.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/auto_translate.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/auto_translate.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,63 @@ +setproperty('mode', 'po'); + $catalog->setproperty('lang', $lang); + $catalog->load(); + + $catalog->setComments($_POST['comments']); + $catalog->setHeaders($_POST['headers']); + + foreach ($_POST as $key => $value) { + if (preg_match('/^([a-z]+)[_]?([0-9]+)?_([0-9]+)$/', $key, $matches)) { + switch ($matches[1]) + { + case 'msgid': + $messages[$matches[3]]['msgid'] = $value; + break; + case 'msgid_plural': + $messages[$matches[3]]['msgid_plural'] = $value; + break; + case 'msgstr': + if ($matches[2] != '') { + $messages[$matches[3]]['msgstr'][$matches[2]] = stripslashes($value); + } else { + $messages[$matches[3]]['msgstr'] = stripslashes($value); + } + break; + case 'fuzzy': + $messages[$matches[3]]['fuzzy'] = $value == 'true' ? true : false; + break; + } + } + } + foreach ($messages as $index => $arr) { + if (strcmp($catalog->strings[$index]->msgid, $arr['msgid']) == 0) { + $catalog->strings[$index]->setmsgstr($arr['msgstr']); + if ($arr['fuzzy']) { + $catalog->strings[$index]->setfuzzy($arr['fuzzy']); + } + } + } + $catalog->save(); + + $gettext_admin = new PHPGettextAdmin(); + $gettext_admin->update_translation($domain, $textdomain, $lang); + + if ($request->get('act') == 'catalogs') { + $request->set('domain', $domain); + } + $controller->view('edit'); + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/cancel.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/cancel.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/cancel.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/cancel.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,13 @@ +redirect('index', mosGetParam($_REQUEST, 'act', $act)); + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/convert.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/convert.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/convert.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/convert.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,37 @@ +load(); + $language->charset = $to_charset; + $language->save(); + + $gettext_admin = new PHPGettextAdmin(); + foreach ($language->files as $arr) { + $gettext_admin->convert_charset($arr['domain'], $textdomain, $lang, $from_charset, $to_charset); + $gettext_admin->message_format($arr['domain'], $textdomain, $lang); + } + + #return $controller->redirect('index', 'language'); + + $request->set('task', 'edit'); + $request->set('act', 'language'); + $request->set('lang', $lang); + $controller->view('edit'); + # + + /*$admin = new PHPGettextAdmin(); + $admin->convert_encoding($catalog, $from, $to); + dump(iconv_get_encoding());*/ + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/default.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/default.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/default.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/default.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,32 @@ +session(); + + + while(!feof($fp)){ + $buffer = fgets($fp,4096); + if (strstr($buffer,"\$mosConfig_lang =")){ + $config .= "\$mosConfig_lang = \"{$lang}\";\n"; + } else { + $config .= $buffer; + } + } + fclose($fp); + if ($fp = fopen("../configuration.php","w")){ + fputs($fp, $config, strlen($config)); + fclose($fp); + $session['mosmsg'] = T_('Default Language succesfully updated!'); + } else { + $session['mosmsg'] = T_('Error! Make sure that configuration.php is writeable.'); + } + return $controller->redirect(); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/edit.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/edit.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/edit.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/edit.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,12 @@ +get('act') == 'catalogs') { + $request->set('domain', $_REQUEST['domain']); + } + $controller->view('edit'); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/export.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/export.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/export.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/export.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,31 @@ +load(true); + $zipfile = "$root/language/MamboLanguage_$lang.zip"; + $archive = new PclZip($zipfile); + $archive->create( "$root/language/$lang.xml", PCLZIP_OPT_REMOVE_PATH, $root.'/language'); + $archive->add("$root/language/glossary/$lang.po", PCLZIP_OPT_REMOVE_PATH, $root.'/language'); + foreach ($language->files as $file) { + $archive->add($root.'/'.$file['filename'], PCLZIP_OPT_REMOVE_PATH, $root.'/language'); + } + + /*$zip = new PclZip("$root/MamboLanguage_$lang.zip"); + dump($zip->extract()); + dump($zip); ;*/ + header("Content-Type: application/octet-stream"); + header("Content-Disposition: attachment; filename=MamboLanguage_$lang.zip"); + #header("Content-length: ".filesize($zipfile)); + readfile($zipfile); + exit(0); + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/extract.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/extract.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/extract.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/extract.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,188 @@ +redirect('index', 'language'); + }/**/ + + set_time_limit(300); + if (!file_exists("$dir/installation.pot")) { + $this->extract('installation', array($path.'/installation')); + } + if (!file_exists("$dir/frontend.pot")) { + $this->extract('frontend', $frontpaths); + } + if (!file_exists("$dir/administrator.pot")) { + $this->extract('administrator', $adminpaths); + } + + foreach ($components as $name => $dirs) { + if (!file_exists("$dir/$name.pot")) { + $this->extract($name, $dirs); + } + } + $controller->redirect('index', 'language'); + #$controller->view('language'); + + } + + function extract($domain, $scandirs, $language='untranslated') + { + + $path = mamboCore::get('rootPath'); + $textdomain = $path.'/language'; + + if (!file_exists("$textdomain/$language/$domain.pot")) { + $catalog = new PHPGettext_Catalog($domain, $textdomain); + $catalog->setproperty('mode', _MODE_POT_); + $catalog->setproperty('lang', $language); + $headers = $this->header(); + $catalog->setproperty('comments', $headers[0]); + $catalog->setproperty('headers', $headers[1]); + $catalog->save(); + } + + $this->scan_xml($domain, $textdomain, $scandirs, $language); + + $gettext_admin = new PHPGettextAdmin(); + $cwd = getcwd(); + chdir($path); + + $php_sources = array(); + if (is_array($scandirs)) { + foreach ($scandirs as $subdir) { + $php_sources = array_merge($php_sources, $this->read_dir($subdir, 'php')); + } + } else { + $php_sources = $this->read_dir($scandirs, 'php'); + } + $gettext_admin->xgettext($domain, $textdomain, $php_sources, $language); + + chdir($cwd); + + return true; + } + + function scan_xml($domain, $path, $scandirs, $language='untranslated') + { + $catalog = new PHPGettext_Catalog($domain, $path); + $catalog->setproperty('mode', _MODE_POT_); + $catalog->setproperty('lang', $language); + $catalog->load(); + $xml_sources = array(); + if (is_array($scandirs)) { + foreach ($scandirs as $subdir) { + $xml_sources = array_merge($xml_sources, $this->read_dir($subdir, 'xml')); + } + } else { + $xml_sources = $this->read_dir($scandirs, 'xml'); + } + + if (count($xml_sources) > 0) { + $strings = array(); + foreach ($xml_sources as $file) { + $p = xml_parser_create(); + xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0); + xml_parser_set_option($p, XML_OPTION_SKIP_WHITE, 1); + xml_parse_into_struct($p, file_get_contents(mamboCore::get('rootPath').'/'.$file), $values); + xml_parser_free($p); + foreach($values as $key => $value) + { + switch ($value['tag']) + { + case 'name': + case 'description': + case 'option': + if (isset($value['value']) && strlen($value['value']) >=1) $strings[$file][] = $value['value']; + break; + case 'param': + if (isset($value['attributes']) && $value['attributes']['type'] != 'spacer') { + if (isset($value['attributes']['label'])) $strings[$file][] = $value['attributes']['label']; + if (isset($value['attributes']['description'])) $strings[$file][] = $value['attributes']['description']; + } + break; + } + } + if (is_array($strings[$file])) + $strings[$file] = array_values(array_unique($strings[$file])); + } + foreach ($strings as $file => $str) { + foreach ($str as $msg) + $messages[trim($msg)][] = '#: '.$file; + } + foreach ($messages as $msgid => $comments) { + if (!empty($msgid)) + $catalog->addentry($msgid, null, null, $comments);#($msgid, $msgid_plural=null, $msgstr=null, $comments=array()) + } + $catalog->save(); + } + } + + function read_dir($dir, $filetype='php') + { + static $root_path; + if (is_null($root_path)) + $root_path = str_replace( '\\', '/', mamboCore::get('rootPath') ); + $array = array(); + $d = dir($dir); + while (false !== ($entry = $d->read())) { + if($entry!='.' && $entry!='..') { + $entry = "$dir/$entry"; + $entry = str_replace( '\\', '/', $entry ); + if(is_dir($entry)) { + $array = array_merge($array, $this->read_dir($entry, $filetype)); + } elseif (preg_match('/.'.$filetype.'$/', $entry)) { + $array[] = str_replace($root_path.'/', '', $entry); + } + } + } + $d->close(); + return $array; + } + + function header($charset='utf-8', $plurals='nplurals=2; plural=n == 1 ? 0 : 1;'){ + $year = date('Y'); + $comments = <<, $year# +# +#, fuzzy +EOT; + $comments = explode("\n", $comments); + $headers = array( + 'Project-Id-Version' => 'Mambo 4.6', + 'Report-Msgid-Bugs-To' => 'translation@mambo-foundation.org', + 'POT-Creation-Date' => date('Y-m-d h:iO'), + 'PO-Revision-Date' => date('Y-m-d h:iO'), + 'Last-Translator' => 'Translation ', + 'Language-Team' => 'Translation ', + 'MIME-Version' => '1.0', + 'Content-Type' => 'text/plain; charset='.$charset, + 'Content-Transfer-Encoding' => '8bit', + 'Plural-Forms' => $plurals + ); + return array($comments, $headers); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/index.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/index.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/index.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/index.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,9 @@ +view(mosGetParam($_REQUEST, 'act', 'language')); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/new.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/new.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/new.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/new.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,9 @@ +view('edit'); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/publish.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/publish.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/publish.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/publish.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,45 @@ + $value) + { + if ($value['tag'] == 'param') { + $name = $value['attributes']['name']; + $language[$name] = $value['attributes']['default']; + } + } + while(!feof($fp)){ + $buffer = fgets($fp,4096); + if (strstr($buffer,"\$mosConfig_lang =")){ + $config .= "\$mosConfig_lang = \"{$lang[0]}\";\n"; + } elseif (strstr($buffer,"\$mosConfig_locale =")){ + $config .= "\$mosConfig_locale = \"{$language['locale']}\";\n"; + } else { + $config .= $buffer; + } + } + fclose($fp); + if ($fp = fopen("../configuration.php","w")){ + fputs($fp, $config, strlen($config)); + fclose($fp); + $request->setAttribute('msg', T_('Configuration succesfully updated!')); + } else { + $request->setAttribute('msg', T_('Error! Make sure that configuration.php is writeable.')); + } + return $controller->redirect(); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/remove.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/remove.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/remove.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/remove.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ +rmdir($langpath.$_POST['lang']); + } + $controller->redirect('index', mosGetParam($_REQUEST, 'act', 'language')); + } + function rmdir($dir) { + if($files = glob($dir."/*")){ + foreach($files as $file) { + is_dir($file)? $this->rmdir($file) : unlink($file); + } + } + rmdir($dir); + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/save.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/save.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/save.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/save.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,175 @@ +updatelanguage($lang); + return $controller->redirect('index', 'language'); + } + else { + $this->createlanguage($iso639, $iso3166); + $request->set('task', 'edit'); + $request->set('act', 'language'); + $request->set('lang', $lang); + return $controller->forward('edit'); + } + break; + + case 'catalogs': + default: + $this->updatecatalog(); + return $controller->redirect('index', 'catalogs'); + break; + } + } + + + + function createLanguage($iso639, $iso3166) { + $locales = mamboLanguage::getLocales(); + $default = $locales['locales'][$iso639]; + $lang = $iso639; + $lang .= strlen($iso3166) == 2 ? '_'.$iso3166 : ''; + $language =& new mamboLanguage($lang); + foreach ($default as $k => $v) { + if (in_array($k, array_keys(get_class_vars(get_class($language))))) { + $language->$k = $v; + } + } + foreach ($_POST as $k => $v) { + if (in_array($k, array_keys(get_class_vars(get_class($language))))) { + $language->$k = $v; + } + } + $language->name = $lang; + $language->description = $language->title.' Locale'; + if (!empty($language->territory)) $language->description .= ' For '.$language->territory; + $language->locale = $lang.'.'.$language->charset.','.$lang.','.$iso639.','.strtolower($language->title); + $language->creationdate = date('d-m-Y'); + $language->author = 'Mambo Foundation Inc.'; + $language->authorurl = 'http://www.mambo-foundation.org'; + $language->authoremail = 'translation@mambo-foundation.org'; + $language->copyright = '(C) 2005 - 2006 Mambo Foundation Inc.'; + $language->license = 'http://www.gnu.org/copyleft/gpl.html GNU/GPL'; + $language->setPlurals($_POST['plural_form']); + + $textdomain = rtrim($language->path, '\/'); + $dir = $textdomain.'/'.$language->name; + $untranslated = $textdomain.'/untranslated'; + $charset = $language->charset; + $langfiles = mosReadDirectory($untranslated,'.pot$'); + @mkdir($dir); + @mkdir($dir.'/LC_MESSAGES'); + + $gettext_admin = new PHPGettextAdmin(); + foreach ($langfiles as $domain) { + $domain = substr($domain,0,-4); + if (file_exists("$textdomain/glossary/$lang.$charset.po")) { + copy("$textdomain/glossary/$lang.$charset.po", "$dir/$lang.po"); + $gettext_admin->initialize_translation($domain, $textdomain, $lang, $charset); + $gettext_admin->compile($lang, $textdomain, $charset); + } else { + copy("$untranslated/$domain.pot", "$dir/$domain.po"); + } + } + if (!file_exists("$textdomain/$lang/$lang.po")) { + @copy("$textdomain/glossary/untranslated.pot", "$textdomain/$lang/$lang.po"); + } + $language->save(); + } + + function updatelanguage($lang) + { + + $language =& new mamboLanguage($lang); + $language->load(); + foreach ($_POST as $k => $v) { + if (in_array($k, array_keys(get_class_vars(get_class($language))))) { + $language->$k = $v; + } + } + $language->setPlurals($_POST['plural_form']); + $language->save(); + } + + function updatecatalog($compile = true, $add_to_dict = true) + { + + $domain = $_POST['domain']; + $textdomain = $_POST['textdomain']; + $lang = $_POST['lang']; + + $catalog = new PHPGettext_catalog($domain, $textdomain); + $catalog->setproperty('mode', 'po'); + $catalog->setproperty('lang', $lang); + $catalog->load(); + + $catalog->setComments($_POST['comments']); + $catalog->setHeaders($_POST['headers']); + + foreach ($_POST as $key => $value) { + if (preg_match('/^([a-z]+)[_]?([0-9]+)?_([0-9]+)$/', $key, $matches)) { + switch ($matches[1]) + { + case 'msgid': + $messages[$matches[3]]['msgid'] = $value; + break; + case 'msgid_plural': + $messages[$matches[3]]['msgid_plural'] = $value; + break; + case 'msgstr': + if (!empty($messages[$matches[3]]['msgid_plural'])) { + + if ($matches[2] != '') { + $messages[$matches[3]]['msgstr'][$matches[2]] = stripslashes($value); + } else { + $messages[$matches[3]]['msgstr'][0] = stripslashes($value); + $messages[$matches[3]]['msgstr'][1] = ''; + } + } else { + $messages[$matches[3]]['msgstr'] = stripslashes($value); + } + break; + case 'fuzzy': + $messages[$matches[3]]['fuzzy'] = $value == 'true' ? true : false; + break; + } + } + } + foreach ($messages as $index => $arr) { + if (strcmp($catalog->strings[$index]->msgid, $arr['msgid']) == 0) { + $catalog->strings[$index]->setmsgstr($arr['msgstr']); + if ($arr['fuzzy']) { + $catalog->strings[$index]->setfuzzy($arr['fuzzy']); + } + } + } + $catalog->save(); + + + $gettext_admin = new PHPGettextAdmin(); + $gettext_admin->add_to_dict($domain, $textdomain, $lang); + $catalog->load(); + + if ($compile) { + $catalog->setproperty('mode', 'mo'); + $catalog->save(); + } + $language = new mamboLanguage($lang); + $language->save(); + } +} + + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/sort.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/sort.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/sort.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/sort.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,13 @@ +session(); + $session['col'] = $_REQUEST['col']; + $session['asc'] = $_REQUEST['asc']; + $controller->view('catalogs'); + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/translate.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/translate.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/translate.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/translate.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,12 @@ +session(); + $session['lang'] = $_REQUEST['lang']; + $controller->redirect('index', 'catalogs'); + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/actions/update.action.php 4.6-complete/uploadfiles/administrator/components/com_languages/actions/update.action.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/actions/update.action.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/actions/update.action.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,31 @@ +get('lang'); + $language = new mamboLanguage($lang); + $language->save(); + $language->load(true); + $domain = $_POST['domain']; + $textdomain = mamboCore::get('rootPath')."/language"; + $gettext_admin = new PHPGettextAdmin(true); + $create_dict = false; + + if (!file_exists("$textdomain/glossary/$lang.$language->charset.po")) { + $create_dict = true; + } + + $gettext_admin->add_to_dict($domain, $textdomain, $lang, $language->charset); + $gettext_admin->message_format($domain, $textdomain, $lang); + $gettext_admin->compile($lang, $textdomain, $language->charset); +/* + $request->set('task', 'index'); + $request->set('act', 'catalogs'); + $request->set('lang', $lang); + $controller->view('catalogs'); + */ + return $controller->redirect('index', 'catalogs'); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/admin.languages.class.php 4.6-complete/uploadfiles/administrator/components/com_languages/admin.languages.class.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/admin.languages.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/admin.languages.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,321 @@ +name = $name; + $this->attributes = array(); + } + function set($var, $value) + { + $this->vars[$var] = $value; + } + function get($var=null) + { + return is_null($var) ? $this->vars : $this->vars[$var]; + } + function addFromRequest($var, $global='request'){ + switch (strtolower($global)) + { + case 'get': + $this->vars[$var] = mosGetParam($_GET, $var); + break; + case 'post': + $this->vars[$var] = mosGetParam($_POST, $var); + break; + case 'cookie': + $this->vars[$var] = mosGetParam($_COOKIE, $var); + break; + case 'request': + $this->vars[$var] = mosGetParam($_REQUEST, $var); + break; + default: + trigger_error('Invalid Request Array', E_USER_ERROR); + break; + } + } + function setByRef($var, &$value) + { + $this->vars[$var] = &$value; + } + function &getByRef($var) + { + return $this->vars[$var]; + } + function &session($reset = false) + { + $name = '__' . $this->name . '_session'; + if (!isset($_SESSION[$name]) || $reset) { + $_SESSION[$name] = array(); + } + return $_SESSION[$name]; + } + function &getInstance($name) + { + static $requests; + if (!isset($requests[$name])) { + $requests[$name] = new Request($name); + } + return $requests[$name]; + } +} + +class Controller +{ + var $name; + var $dir; + var $request; + var $action; + var $renderer; + + + function Controller($name) + { + $this->name = $name; + $this->request =& Request::getInstance($name); + $this->renderer =& Renderer::getInstance(); + $this->renderer->setdir(dirname(__FILE__).DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.'templates'); + } + + function forward($actionname) + { + if (!$actionname) return $this->view('index'); + + $actionfile = dirname(__FILE__)."/actions/$actionname.action.php"; + $actionclass = $actionname.'Action'; + if (file_exists($actionfile)) include($actionfile); + else return trigger_error("Action file '$actionfile' not found.", E_USER_ERROR); + if (class_exists($actionclass)) $action = new $actionclass(); + else return trigger_error("Action class '$actionclass' not found.", E_USER_ERROR); + $action->execute($this, $this->request); + } + + + function view($viewname) + { + $viewfile = dirname(__FILE__)."/views/$viewname.view.php"; + $viewclass = $viewname.'View'; + if (file_exists($viewfile)) include($viewfile); + #else return trigger_error("View file '$viewfile' not found.", E_USER_ERROR); + if (class_exists($viewclass)) $view = new $viewclass($this); + else return trigger_error("View class '$viewclass' not found.", E_USER_ERROR); + $view->render($this->renderer, $this->request); + } + function redirect($task=null, $act=null) + { + $url = $_SERVER['PHP_SELF'].'?option='.$this->name; + $url .= !is_null($task) ? '&task='.$task : ''; + $url .= !is_null($act) ? '&act='.$act : ''; + if (headers_sent()) { + echo ""; + } else { + #if (ob_get_contents()) while (@ob_end_clean()); // clear output buffer if one exists + header( "Location: $url" ); + } + exit; + } +} + +class Action +{ + var $view; + + function Action() + { + } + function execute(&$controller, &$request) + { + return trigger_error('Action::execute() must be overridden.', E_USER_ERROR); + } + function setView($view) + { + $this->viewname = $view; + } + function getView() + { + return $this->view; + } +} + +class View +{ + var $controller; + + function View(&$controller){ + $this->controller = $controller; + } + function render(&$request, &$renderer) + { + return trigger_error('View::render() must be overridden'); + } +} + +class Renderer +{ + + var $dir; + var $vars = array(); + var $engine = 'php'; + var $template = ''; + var $debug = 0; + + function Renderer(){} + + function &getInstance($type = 'php') { + static $renderer; + if (is_null($renderer[$type])) { + if ($type == 'php') { + $renderer[$type] = new Renderer(); + } else { + $classname = $type . 'Renderer'; + if (class_exists($classname)) + $renderer[$type] = new $classname(); + } + } + return $renderer[$type]; + } + + function display($template, $return = false){ + if ($template == NULL){ + return trigger_error('A template has not been specified', E_USER_ERROR); + } + $this->template = $this->dir . $template; + if ($this->debug) echo nl2br($this->template."\n"); + + if (is_readable($this->template)) { + extract($this->getvars()); + if ($return) { + ob_start(); + include_once($this->template); + $ret = ob_get_contents(); + ob_end_clean(); + return $ret; + } else { + include_once($this->template); + } + } else { + return trigger_error("Template file $template does not exist or is not readable", E_USER_ERROR); + } + return false; + } + + function fetch($template){ + return $this->display($template, true); + } + + function &getengine(){ + return $this->engine; + } + + function addvar($key, $value){ + $this->vars[$key] = $value; + } + + function addbyref ($key, &$value) { + $this->vars[$key] = $value; + } + + function getvars($name = false){ + return (isset($this->vars[$name])) ? $this->vars[$name] : $this->vars; + } + + function setdir($dir){ + $this->dir = (substr($dir, -1) == DIRECTORY_SEPARATOR) ? $dir : $dir.DIRECTORY_SEPARATOR; + } + + function getdir(){ + return $this->dir; + } + + function settemplate($template){ + $this->template = $template; + } +} + +class XMLUtils +{ + function parse_into_array($xml) { + $p = xml_parser_create(); + xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0); + xml_parser_set_option($p, XML_OPTION_SKIP_WHITE, 1); + xml_parse_into_struct($p, $xml, $values); + xml_parser_free($p); + $current = $prev = array(); + $xmlarray =& $current; + foreach($values as $key => $value) { + $index = count($xmlarray); + switch ($value['type']) + { + case 'open': + $xmlarray[$index] = array(); + $xmlarray[$index]['tag'] = isset($value["tag"]) ? $value["tag"] : null; + $xmlarray[$index]['value'] = isset($value["value"]) ? $value["value"] : null; + $xmlarray[$index]['attributes'] = isset($value["attributes"]) ? $value["attributes"] : null; + $xmlarray[$index]['nodes'] = array(); + $prev[count($prev)] = &$xmlarray; + $xmlarray = &$xmlarray[$index]['nodes']; + break; + case 'complete': + $xmlarray[$index] = array(); + $xmlarray[$index]['tag'] = isset($value["tag"]) ? $value["tag"] : null; + $xmlarray[$index]['value'] = isset($value["value"]) ? $value["value"] : null; + $xmlarray[$index]['attributes'] = isset($value["attributes"]) ? $value["attributes"] : null; + break; + case 'close': + $xmlarray = &$prev[count($prev) - 1]; + unset($prev[count($prev) - 1]); + break; + } + } + return $xmlarray; + } + function parse_file_into_array($file) { + return XMLUtils::parse_into_array(file_get_contents($file)); + } + + function array_to_xml($array, $encoding='utf-8') { + $xml = "\n"; + if ((!empty($array)) AND (is_array($array))) { + foreach ($array as $key => $value) { + switch ($value["type"]) { + case "open": + $xml .= str_repeat("\t", $value["level"] - 1); + $xml .= "<" . strtolower($value["tag"]); + if (isset($value["attributes"])) { + foreach ($value["attributes"] as $k => $v) { + $xml .= sprintf(' %s="%s"', strtolower($k), $v); + } + } + $xml .= ">\n"; + break; + case "complete": + $xml .= str_repeat("\t", $value["level"] - 1); + $xml .= "<" . strtolower($value["tag"]); + if (isset($value["attributes"])) { + foreach ($value["attributes"] as $k => $v) { + $xml .= sprintf(' %s="%s"', strtolower($k), $v); + } + } + $xml .= ">"; + $xml .= isset($value['value']) ? $value['value'] : false; + $xml .= "\n"; + break; + case "close": + $xml .= str_repeat("\t", $value["level"] - 1); + $xml .= "\n"; + break; + default: + break; + } + } + } + return $xml; + } +} + + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/admin.languages.php 4.6-complete/uploadfiles/administrator/components/com_languages/admin.languages.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/admin.languages.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/admin.languages.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,58 @@ + + * @copyright (C) 2005 - 2006 Mambo Foundation Inc. + * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL * + * + * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure + * that Mambo remained free Open Source software owned and managed by the community. + * Mambo is Free Software + */ + +/** ensure this file is being included by a parent file */ +defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); + +// ensure user has access to this component +if (!$acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_languages' ) ) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once(mamboCore::get('rootPath').'/includes/phpgettext/error.php'); +require_once(mamboCore::get('rootPath').'/includes/phpgettext/phpgettext.catalog.php'); +require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'admin.languages.class.php'); + +$include_path = ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.dirname(__FILE__)); + +$request =& Request::getInstance('com_languages'); +$session =& $request->session(); +if (isset($session['mosmsg'])) { + $request->set('mosmsg', $session['mosmsg']); + unset($session['mosmsg']); +} + +$lang = $session['lang'] = mosGetParam($_POST, 'lang', isset($session['lang']) ? $session['lang'] : mamboCore::get('mosConfig_lang')); +$mamboLanguage =& new mamboLanguage($lang); +$languages = $mamboLanguage->getLanguages(); +$task = mosGetParam($_REQUEST, 'task', 'index'); +$act = mosGetParam($_REQUEST, 'act' , 'language'); + +$request->set('task', $task); +$request->set('act', $act); +$request->set('lang', $lang); +$request->set('languages', $languages); + + +$renderer =& Renderer::getInstance(); +foreach ($request->get() as $key => $value) { + $renderer->addvar($key, $value); +} + +$controller = new Controller('com_languages'); +$controller->forward($task); +ini_set('include_path', $include_path); + +#dump($_REQUEST); + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/index.html 4.6-complete/uploadfiles/administrator/components/com_languages/index.html --- 4.6rc2/uploadfiles/administrator/components/com_languages/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/languages.js 4.6-complete/uploadfiles/administrator/components/com_languages/languages.js --- 4.6rc2/uploadfiles/administrator/components/com_languages/languages.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/languages.js 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,60 @@ + + +function update(value, is_plural, nplural) +{ + var row_id = document.getElementById('row_id'); + if(is_plural) { + var trans = document.getElementById('msgstr_'+nplural+'_'+row_id.value); + trans.value = value; + if(nplural == 0) display = value; + } else { + var trans = document.getElementById('msgstr_'+row_id.value); + var transspan = document.getElementById('msgstr_'+row_id.value+'_span'); + trans.value = value; + display = value; + } + transspan = document.getElementById('msgstr_'+row_id.value+'_span'); + transspan.innerHTML = display; +} +function translate(id, is_plural, nplurals){ + + var singular = document.getElementById('singular'); + var plural = document.getElementById('plural'); + var row_id = document.getElementById('row_id'); + row_id.value = id; + if(is_plural) { + plural.style.display = 'block'; + singular.style.display = 'none'; + msgid = document.getElementById('msgid_'+id); + original = document.getElementById('p_msgid'); + original.value = msgid.value; + msgid_plural = document.getElementById('msgid_plural_'+id); + original_plural = document.getElementById('p_msgid_plural'); + original_plural.value = msgid_plural.value; + for(a = 0; a < nplurals; a++) { + msgstr = document.getElementById('msgstr_'+a+'_'+id); + translation = document.getElementById('p_msgstr_'+a); + translation.value = msgstr.value + } + } else { + plural.style.display = 'none'; + singular.style.display = 'block'; + msgid = document.getElementById('msgid_'+id); + original = document.getElementById('s_msgid'); + original.value = msgid.value; + msgstr = document.getElementById('msgstr_'+id); + translation = document.getElementById('s_msgstr'); + translation.value = msgstr.value; + } + +} + +function togglefuzzy(img, checkbox) { + if(checkbox.value == 'false') { + checkbox.value = 'true'; + img.src = 'images/publish_x.png'; + } else if(checkbox.value == 'true') { + checkbox.value = 'false'; + img.src = 'images/tick.png'; + } +} diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/tables.js 4.6-complete/uploadfiles/administrator/components/com_languages/tables.js --- 4.6rc2/uploadfiles/administrator/components/com_languages/tables.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/tables.js 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,144 @@ + + function dump(variable) { + if(!variable) return false; + debugwin = window.open('', 'debugwin', 'left=0,top=0,width=300,height=700,scrollbars=yes,status=no,resizable=yes'); + debugwin.document.write("Javascript Debug Window"); + debugwin.document.write("Variable information for variable: "+typeof(variable)+" ("+variable.constructor+")
    "); + for (var prop in variable) { + debugwin.document.writeln('"'+prop+'" => ' + variable[prop] + '
    '); + } + debugwin.document.close(); + } + function isset(variable){return(typeof(window.variable)!='undefined');} + + function Table(tblid) + { + var tbl = document.getElementById(tblid); + var rows = tbl.tBodies[0].rows; + var active_row = null; + var handlers = new Array(); + tbl.init = function() { + for (var i = 0; i < rows.length; i++) { + rows[i].parity = i % 2; + rows[i].default_class = rows[i].className; + rows[i].onmouseover = function(){ + if (active_row != this) { + this.style.backgroundColor = '#6699cc'; + this.className = 'hover'; + } + }; + rows[i].onmouseout = function () { + if (active_row != this) { + this.style.backgroundColor = this.parity ? '#F5F5F5' : '#ffffff'; + this.className = this.default_class; + } + }; + rows[i].onmousedown = function () { + if (active_row == this) { + active_row = null; + this.onmouseover(); + } + else { + var last_active = active_row; + active_row = this; + if (last_active != null) { + last_active.onmouseout(); + } + active_row.style.backgroundColor = '#4C7DAB'; + active_row.className = 'active'; + } + }; + rows[i].ischecked = function() { + var checkbox = this.getElementsByTagName('input')[0]; + if (checkbox.checked) { + checkbox.checked = false; + document.adminForm.boxchecked.value = 0; + } else { + checkbox.checked = true; + document.adminForm.boxchecked.value = 1; + } + }; + rows[i].onmouseout(); + } + } + + this.makeSortable = function(idxSort,sortProps){ + var arrMethods = sortProps.split(","); + var arrHead = tbl.getElementsByTagName('thead')[0].getElementsByTagName('th'); + var arrow = document.createElement("span"); + for(var i=0;i 0) ? '  ↑' : '  ↓'; + this.appendChild(arrow); + for(var i=0;ibCell)?dir:(aCellrequest = $_REQUEST; + } + function display($method = null) + { + $task = isset($_REQUEST['task']) && !empty($_REQUEST['task']) ? $_REQUEST['task'] : 'index'; + if($task == 'index' && isset($_REQUEST['act'])) $task = $_REQUEST['act']; + if (is_null($method))$method = $task; + if (in_array($method, array_keys($this->map)))$method = $this->map[$method]; + if ($method && strlen($method) > 2 && method_exists($this, $method)) + return $this->$method(); + return false; + } + function _default(){} +} + +class languagesToolbar extends ToolBar { + + var $map = array('index' => 'language','extract' => 'language', 'sort' => 'catalogs', 'new' => 'newlang', 'save' => 'edit', 'auto_translate' => 'edit', 'convert' => 'edit', 'apply' => 'edit'); + + function edit() { + mosMenuBar::startTable(); + if ($this->request['act'] != 'catalogs') { + #mosMenuBar::custom( 'translate', 'edit.png', 'edit_f2.png', T_('Manage Translations'), false ); + #mosMenuBar::spacer(); + } else { + mosMenuBar::custom( 'auto_translate', 'copy.png', 'copy_f2.png', T_('Auto Translate'), false ); + mosMenuBar::spacer(20); + mosMenuBar::apply(); + mosMenuBar::spacer(); + } + mosMenuBar::save(); + mosMenuBar::spacer(); + mosMenuBar::cancel(); + mosMenuBar::spacer(); + #mosMenuBar::help( 'screen.languages.edit' ); + mosMenuBar::endTable(); + } + function update() { + mosMenuBar::startTable(); + mosMenuBar::cancel(); + mosMenuBar::spacer(); + #mosMenuBar::help( 'screen.languages.update' ); + mosMenuBar::endTable(); + } + + function language() { + mosMenuBar::startTable(); + if (!is_dir(mamboCore::get('rootPath').'/language/untranslated')) { + mosMenuBar::customX( 'extract', 'query.png', 'query.png', T_('Scan Sources'), false ); + mosMenuBar::spacer(50); + } + mosMenuBar::custom( 'translate', 'edit.png', 'edit_f2.png', T_('Manage Translations'), true ); + mosMenuBar::spacer(); + mosMenuBar::custom( 'export', 'upload.png', 'upload_f2.png', T_('Export')); + mosMenuBar::spacer(); + mosMenuBar::addNewX(); + mosMenuBar::spacer(); + mosMenuBar::editListX( 'edit' ); + mosMenuBar::spacer(); + mosMenuBar::deleteList(); + mosMenuBar::spacer(); + #mosMenuBar::help( 'screen.languages.language' ); + mosMenuBar::endTable(); + } + + function newlang() { + mosMenuBar::startTable(); + mosMenuBar::save(); + mosMenuBar::spacer(); + mosMenuBar::cancel(); + mosMenuBar::spacer(); + #mosMenuBar::help( 'screen.languages.main' ); + mosMenuBar::endTable(); + } + + function catalogs() + { + mosMenuBar::startTable(); + mosMenuBar::customX( 'update', 'publish.png', 'publish_f2.png', T_('Update'), false ); + mosMenuBar::spacer(); + mosMenuBar::editListX( 'edit' ); + mosMenuBar::spacer(); + mosMenuBar::cancel(); + mosMenuBar::spacer(); + #mosMenuBar::help( 'screen.languages.main' ); + mosMenuBar::endTable(); + } +} + +$toolbar = new languagesToolbar('languages'); +$toolbar->display(); + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/catalogs.view.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/catalogs.view.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/catalogs.view.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/catalogs.view.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,27 @@ +get('lang'); + $language =& new mamboLanguage($lang); + $language->load(true); + $session =& $request->session(); + $col = isset($session['col']) ? $session['col'] : 'domain'; + $asc = isset($session['asc']) ? $session['asc'] : 1; + $order = array(); + $files = $language->files; + // Obtain a list of columns + foreach ($files as $key => $row) { + $order[$key] = $row[$col]; + } + array_multisort($order, $asc == 1 ? SORT_ASC : SORT_DESC, $files); + $renderer->addvar('col', $col); + $renderer->addvar('asc', $asc); + $renderer->addvar('rows', $files); + $renderer->addvar('header', sprintf(T_('Manage Translations: %s'), $lang)); + $renderer->addvar('content', $renderer->fetch('catalogs.tpl.php')); + $renderer->display('form.tpl.php'); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/edit.view.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/edit.view.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/edit.view.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/edit.view.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,110 @@ +get('task'); + $act = $request->get('act'); + + foreach ($request->get() as $key => $value) $renderer->addvar($key, $value); + switch ($act) + { + case 'language': + if ($task == 'new')$this->newlanguage($renderer, $request); + else $this->editlanguage($renderer, $request); + break; + + case 'catalogs': + default: + $this->editcatalog($renderer, $request); + break; + } + $renderer->display('form.tpl.php'); + } + + + function newlanguage(&$renderer, &$request) { + $locales = getlocales(); + $header = T_('Language').' : '.T_('New language').''; + $renderer->addvar('header', $header); + $renderer->addvar('locales', $locales['locales']); + $renderer->addvar('territories', $locales['territories'] ); + $renderer->addvar('codesets', $locales['codesets']); + $renderer->addvar('dateformats', $locales['dateformats']); + $renderer->addvar('directions', $locales['directions']); + $renderer->addvar('plural_forms', $locales['plural_forms']); + $renderer->addvar('content', $renderer->fetch('langform.tpl.php')); + } + + function editlanguage(&$renderer, &$request) { + + $lang = isset($_REQUEST['lang']) ? $_REQUEST['lang'] : $request->get('lang'); + $language =& new mamboLanguage($lang); + $header = T_('Language').' : '.T_('Edit language') . " [ {$language->title} ] ".''; + $renderer->addvar('header', $header); + $renderer->addvar('language', $language); + $renderer->addvar('plurals', $this->plurals()); + $renderer->addvar('content', $renderer->fetch('langform.tpl.php')); + } + + function editcatalog(&$renderer, &$request) { + $lang = $request->get('lang'); + $language = new mamboLanguage($lang); + $domain = $request->get('domain'); + $catalog = new PHPGettext_catalog($domain, mamboCore::get('rootPath')."/language"); + $catalog->setproperty('mode', _MODE_PO_); + $catalog->setproperty('lang', $lang); + $catalog->load(); + $nplurals = 2; + $_VERSION = new version(); + + + if (strpos($catalog->headers['Last-Translator'], 'FULL NAME')) { + $catalog->headers['Last-Translator'] = "Translation "; + } + if (strpos($catalog->headers['Language-Team'], 'LANGUAGE')) { + $catalog->headers['Language-Team'] = "Translation "; + } + $catalog->headers['Project-Id-Version'] = $_VERSION->PRODUCT.' '.$_VERSION->RELEASE; + $catalog->headers['Report-Msgid-Bugs-To'] = 'translation@mambo-foundation.org'; + $catalog->headers['Plural-Forms'] = $language->plural_form['expression']; + $catalog->headers['Content-Type'] = 'text/plain; charset='.$language->charset; + $renderer->addvar('header', sprintf(T_('Translate Catalog: %s [%s]'),$domain, $lang)); + $renderer->addvar('nplurals', $language->plural_form['nplurals']); + $renderer->addbyref('catalog', $catalog); + $renderer->addvar('domain', $domain); + $renderer->addvar('content', $renderer->fetch('editcatalog.tpl.php')); + } + + + + + function plurals() { + return array( + array('Two forms, singular used for one only', 'nplurals=2; plural=n != 1;', array('danish','dutch','english','german','norwegian','swedish','estonian','finnish','greek','hebrew','italian','portuguese','spanish')), + array('One single form', 'nplurals=1; plural=0;', array('Hungarian','Japanese','Korean','Turkish')), + array('Two forms, singular used for zero and one', 'nplurals=2; plural=n>1;', array('french','brazilian portuguese')), + array('Three forms, special case for zero', 'nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;', array('Latvian')), + array('Three forms, special cases for one and two', 'nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;', array('Gaeilge')), + array('Three forms, special case for numbers ending in 1[2-9]', 'nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;', array('lithuanian')), + array('Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]', 'nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;', explode(',', 'croatian,czech,russian,slovak,ukrainian')), + array('Three forms, special case for one and some numbers ending in 2, 3, or 4', 'nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;', array('polish')), + array('Four forms, special case for one and all numbers ending in 02, 03, or 04', 'nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;', array('slovenian')) + ); + } +} + + +if (!function_exists('array_combine')) { + function array_combine($a, $b) { + $c = array(); + if (is_array($a) && is_array($b)) + while (list(, $va) = each($a)) + if (list(, $vb) = each($b)) + $c[$va] = $vb; + else + break 1; + return $c; + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/index.view.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/index.view.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/index.view.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/index.view.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,39 @@ +getType() != 'language') continue; + $row = new StdClass(); + $row->id = $rowid; + $row->language = substr($xmlfile,0,-4); + $row->name = $parser->getName('language'); + $row->creationdate = $parser->getCreationDate('language'); + $row->author = $parser->getAuthor('language'); + $row->copyright = $parser->getCopyright('language'); + $row->authorEmail = $parser->getAuthorEmail('language'); + $row->authorUrl = $parser->getAuthorUrl('language'); + $row->version = $parser->getVersion('language'); + $row->checked_out = 0; + $row->mosname = strtolower( str_replace( " ", "_", $row->name ) ); + $row->published = (mamboCore::get('mosConfig_lang') == $row->language) ? 1 : 0; + $rows[] = $row; + $rowid++; + + + } + + $renderer->addvar('rows', $rows); + $renderer->addvar('content', $renderer->fetch('table.tpl.php')); + $renderer->display('form.tpl.php'); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/language.view.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/language.view.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/language.view.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/language.view.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,11 @@ +addvar('rows', array_values($request->get('languages'))); + $renderer->addvar('content', $renderer->fetch('languages.tpl.php')); + $renderer->display('form.tpl.php'); + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/catalogs.tpl.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/catalogs.tpl.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/catalogs.tpl.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/catalogs.tpl.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + +
    + +
    + + + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/edit.tpl.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/edit.tpl.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/edit.tpl.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/edit.tpl.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,98 @@ + + + + + + + +
    + + + +
    +startPane('language-pane'); $tabs->startTab(T_('Details'), 'details');?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + +
    + + +
    + + +
    + + +
    + + +
    + + +
    + endTab(); + + + $tabs->endPane(); ?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/editcatalog.tpl.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/editcatalog.tpl.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/editcatalog.tpl.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/editcatalog.tpl.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,144 @@ + + + + + + + + + +
    +startPane("catalog"); +$tabs->startTab(T_("Messages"),"messages"); +?> + + + + + + + +
    + + + + + + + +
    +
    + + +strings as $id => $message) :?> + comments)) { + $ref = ''; + $tt = ''; + foreach($message->comments as $comment) { + if(strncmp($comment, "#: ",3) == 0) + $ref .= ltrim(trim($comment), '#: ')."\n"; + $tt .= ltrim(trim($comment),'#: ')."
    "; + } + $tip = mosToolTip( $tt); + } + $is_plural = strlen($message->msgid_plural) > 1 ? 1 : 0; + ?> + " id="row_" onclick="translate(, , )"> + + + + + + + +
    + <?php echo ( $message->is_fuzzy ) ? T_('Verify Translation') : T_('Translation OK');?> + + + + + + + msgid; ?> + + + + + + + + + msgstr[0] : $message->msgstr;?> + + +
    + +
    +endTab(); $tabs->startTab(T_('Headers'),"headers");?> + +\n\t\n\t\n"; + echo $str; +} +?> + +
    +headers as $key => $value) { + $disabled = ($key == 'POT-Creation-Date') ? 'readonly="readonly"' : ''; + $str = "
    \n\t\n
    +endTab(); $tabs->startTab(T_('Comments'),"comments"); ?> + + +
    + +
    +endTab(); $tabs->endPane(); ?> +
    + + + + +
    +
    +
    +
    +
    +
    +
    + + +
    \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/form.tpl.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/form.tpl.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/form.tpl.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/form.tpl.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,55 @@ + + + + + +
    +
    + + + + + + + + + + +
    + +
    +
    + +
    \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/langform.tpl.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/langform.tpl.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/langform.tpl.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/langform.tpl.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + +
    + +
    : + +
    : + + +
    + + + + + + + + + + +startPane("editlanguage"); +$tabs->startTab(T_("Details"),"details"); + +?> + + + + + + + territory)) : ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      
    : + + title; ?> +
    : + + territory; ?> +
    :
    + +
    charset; ?>
    + +
    +
    : + +
    : + +
    : + +
    : + +
    : + +
    + +
    + + +
    + + +
    +endTab(); $tabs->startTab(T_('Days'),"days"); ?> + + + days as $kd => $day): ?> + + + + + +
      
    + + + +
    +endTab(); $tabs->startTab(T_('Months'),"months"); ?> + + + months as $km => $month): ?> + + + + + +
      
    + + + +
    +endTab(); $tabs->endPane(); ?> + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/languages.tpl.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/languages.tpl.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/languages.tpl.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/languages.tpl.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     
    + + + title; ?> + + territory ?> + + name) ? 1 : 0; ?> + + <?php echo ( $default ) ? T_('Yes') : T_('No');?> + + + charset ?> + + version; ?> + + creationdate; ?> +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/table.tpl.php 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/table.tpl.php --- 4.6rc2/uploadfiles/administrator/components/com_languages/views/templates/table.tpl.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_languages/views/templates/table.tpl.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + + + +
    + + + +
    + + + + + + + + + + + + "> + + + + + + + + + +
    +   + + + + + + + + + + + + +
    + + + name;?> + + <?php echo ( $row->published ) ? T_('Yes') : T_('No');?> + + + version; ?> + + creationdate; ?> + + author; ?> + + authorEmail; ?> +
    \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_login/index.html 4.6-complete/uploadfiles/administrator/components/com_login/index.html --- 4.6rc2/uploadfiles/administrator/components/com_login/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_login/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_login/login.xml 4.6-complete/uploadfiles/administrator/components/com_login/login.xml --- 4.6rc2/uploadfiles/administrator/components/com_login/login.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_login/login.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,58 @@ + + + Contact Items + Mambo Project + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Parameters for individual Contact Items + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mambots/admin.mambots.html.php 4.6-complete/uploadfiles/administrator/components/com_mambots/admin.mambots.html.php --- 4.6rc2/uploadfiles/administrator/components/com_mambots/admin.mambots.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mambots/admin.mambots.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,302 @@ + +
    + + + + + + + + +
    + [ ] + + + + + + +
    + + + + + + + + + + + + + + + id; + + $access = mosCommonHTML::AccessProcessing( $row, $i ); + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + $published = mosCommonHTML::PublishedProcessing( $row, $i ); + ?> + "> + + + + + + + + + + + + +
    # + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + +
    rowNumber( $i ); ?> + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->name; + } else { + ?> + + name; ?> + + + + + + orderUpIcon( $i, ($row->folder == @$rows[$i-1]->folder && $row->ordering > -10000 && $row->ordering < 10000) ); ?> + + orderDownIcon( $i, $n, ($row->folder == @$rows[$i+1]->folder && $row->ordering > -10000 && $row->ordering < 10000) ); ?> + + + + + + folder;?> + + element;?> +
    + + getListFooter(); ?> + + + + + + +
    + $row is passed with the id + * property set to 0. + * @param mosCategory The category object + * @param array

    The modules of the left side. The array elements are in the form + * $leftorder[order] = label + * where order is the module order from the db table and label is a + * text label associciated with the order.

    + * @param array See notes for leftorder + * @param array An array of select lists + * @param object Parameters + */ + function editMambot( &$row, &$lists, &$params, $option ) { + global $mosConfig_live_site; + + $row->nameA = ''; + if ( $row->id ) { + $row->nameA = '[ '. $row->name .' ]'; + } + ?> + + + + + + +
    + + + id ? T_('Edit') : T_('New');?> + + nameA; ?> +
    + +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + .php +
    + + + +
    + + + +
    + + + +
      + +
    + + + description; ?> +
    +
    + + + + + + + +
    + +
    + id ) { + echo $params->render(); + } else { + echo ''.T_('No Parameters').''; + } + ?> +
    +
    + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mambots/admin.mambots.php 4.6-complete/uploadfiles/administrator/components/com_mambots/admin.mambots.php --- 4.6rc2/uploadfiles/administrator/components/com_mambots/admin.mambots.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mambots/admin.mambots.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,431 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'mambots', 'all' ) +| $acl->acl_check( 'administration', 'install', 'users', $my->usertype, 'mambots', 'all' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); + +$client = mosGetParam( $_REQUEST, 'client', '' ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ( $task ) { + + case 'new': + case 'edit': + editMambot( $option, $cid[0], $client ); + break; + + case 'editA': + editMambot( $option, $id, $client ); + break; + + case 'save': + case 'apply': + saveMambot( $option, $client, $task ); + break; + + case 'remove': + removeMambot( $cid, $option, $client ); + break; + + case 'cancel': + cancelMambot( $option, $client ); + break; + + case 'publish': + case 'unpublish': + publishMambot( $cid, ($task == 'publish'), $option, $client ); + break; + + case 'orderup': + case 'orderdown': + orderMambot( $cid[0], ($task == 'orderup' ? -1 : 1), $option, $client ); + break; + + case 'accesspublic': + case 'accessregistered': + case 'accessspecial': + accessMenu( $cid[0], $task, $option, $client ); + break; + + case 'saveorder': + saveOrder( $cid ); + break; + + default: + viewMambots( $option, $client ); + break; +} + +/** +* Compiles a list of installed or defined modules +*/ +function viewMambots( $option, $client ) { + global $database, $mainframe, $mosConfig_list_limit; + global $mosConfig_absolute_path; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $filter_type = $mainframe->getUserStateFromRequest( "filter_type{$option}{$client}", 'filter_type', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}{$client}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + if ($client == 'admin') { + $where[] = "m.client_id = '1'"; + $client_id = 1; + } else { + $where[] = "m.client_id = '0'"; + $client_id = 0; + } + + // used by filter + if ( $filter_type ) { + $where[] = "m.folder = '$filter_type'"; + } + if ( $search ) { + $where[] = "LOWER( m.name ) LIKE '%$search%'"; + } + + // get the total number of records + $query = "SELECT count(*) FROM #__mambots As m ". ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ); + $database->setQuery( $query ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT m.*, u.name AS editor, g.name AS groupname" + . "\n FROM #__mambots AS m" + . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" + . "\n LEFT JOIN #__groups AS g ON g.id = m.access" + . ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ) + . "\n GROUP BY m.id" + . "\n ORDER BY m.folder ASC, m.ordering ASC, m.name ASC" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + // get list of Positions for dropdown filter + $query = "SELECT folder AS value, folder AS text" + . "\n FROM #__mambots" + . "\n WHERE client_id = '$client_id'" + . "\n GROUP BY folder" + . "\n ORDER BY folder" + ; + $types[] = mosHTML::makeOption( '0', T_('- All Types -') ); + $database->setQuery( $query ); + $types = array_merge( $types, $database->loadObjectList() ); + $lists['type'] = mosHTML::selectList( $types, 'filter_type', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_type ); + + HTML_modules::showMambots( $rows, $client, $pageNav, $option, $lists, $search ); +} + +/** +* Saves the module after an edit form submit +*/ +function saveMambot( $option, $client, $task ) { + global $database; + + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ($params as $k=>$v) { + $txt[] = "$k=$v"; + } + + $_POST['params'] = mosParameters::textareaHandling( $txt ); + } + + $row = new mosMambot( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + if ($client == 'admin') { + $where = "client_id='1'"; + } else { + $where = "client_id='0'"; + } + $row->updateOrder( "folder='$row->folder' AND ordering > -10000 AND ordering < 10000 AND ($where)" ); + + switch ( $task ) { + case 'apply': + $msg = sprintf(T_('Successfully Saved changes to Mambot: %s'), $row->name); + mosRedirect( 'index2.php?option='. $option .'&client='. $client .'&task=editA&hidemainmenu=1&id='. $row->id, $msg ); + + case 'save': + default: + $msg = sprintf(T_('Successfully Saved Mambot: %s'), $row->name); + mosRedirect( 'index2.php?option='. $option .'&client='. $client, $msg ); + break; + } +} + +/** +* Compiles information to add or edit a module +* @param string The current GET/POST option +* @param integer The unique id of the record to edit +*/ +function editMambot( $option, $uid, $client ) { + global $database, $my, $mainframe; + global $mosConfig_absolute_path; + + $lists = array(); + $row = new mosMambot($database); + + // load the row from the db table + $row->load( $uid ); + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ($client == 'admin') { + $where = "client_id='1'"; + } else { + $where = "client_id='0'"; + } + + // get list of groups + if ($row->access == 99 || $row->client_id == 1) { + $lists['access'] = T_('Administrator').''; + } else { + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + } + + if ($uid) { + $row->checkout( $my->id ); + + if ( $row->ordering > -10000 && $row->ordering < 10000 ) { + // build the html select list for ordering + $query = "SELECT ordering AS value, name AS text" + . "\n FROM #__mambots" + . "\n WHERE folder='$row->folder'" + . "\n AND published > 0" + . "\n AND $where" + . "\n AND ordering > -10000" + . "\n AND ordering < 10000" + . "\n ORDER BY ordering" + ; + $order = mosGetOrderingList( $query ); + $lists['ordering'] = mosHTML::selectList( $order, 'ordering', 'class="inputbox" size="1"', 'value', 'text', intval( $row->ordering ) ); + } else { + $lists['ordering'] = ''.T_('This mambot cannot be reordered'); + } + $lists['folder'] = ''. $row->folder; + + // xml file for module + $xmlfile = $mosConfig_absolute_path . '/mambots/' .$row->folder . '/' . $row->element .'.xml'; + $xmlparser =& new mosXMLDescription ($xmlfile); + $row->description = $xmlparser->getDescription('mambot'); + } else { + $row->folder = ''; + $row->ordering = 999; + $row->published = 1; + $row->description = ''; + + $folders = mosReadDirectory( $mosConfig_absolute_path . '/mambots/' ); + $folders2 = array(); + foreach ($folders as $folder) { + if (is_dir( $mosConfig_absolute_path . '/mambots/' . $folder ) && ( $folder <> 'CVS' ) ) { + $folders2[] = mosHTML::makeOption( $folder ); + } + } + $lists['folder'] = mosHTML::selectList( $folders2, 'folder', 'class="inputbox" size="1"', 'value', 'text', null ); + $lists['ordering'] = ''.T_('New items default to the last place. Ordering can be changed after this item is saved.').''; + } + + $lists['published'] = mosHTML::yesnoRadioList( 'published', 'class="inputbox"', $row->published ); + + // get params definitions + $params =& new mosAdminParameters( $row->params, $mainframe->getPath( 'bot_xml', $row->folder.'/'.$row->element ), 'mambot' ); + + HTML_modules::editMambot( $row, $lists, $params, $option ); +} + +/** +* Deletes one or more mambots +* +* Also deletes associated entries in the #__mambots table. +* @param array An array of unique category id numbers +*/ +function removeMambot( &$cid, $option, $client ) { + global $database, $my; + + if (count( $cid ) < 1) { + echo "\n"; + exit; + } + + mosRedirect( 'index2.php?option=com_installer&element=mambot&client='. $client .'&task=remove&cid[]='. $cid[0] ); +} + +/** +* Publishes or Unpublishes one or more modules +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +*/ +function publishMambot( $cid=null, $publish=1, $option, $client ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $publish ? T_('publish') : T_('unpublish'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "UPDATE #__mambots SET published='$publish'" + . "\n WHERE id IN ($cids)" + . "\n AND (checked_out=0 OR (checked_out='$my->id'))" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosMambot( $database ); + $row->checkin( $cid[0] ); + } + + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); +} + +/** +* Cancels an edit operation +*/ +function cancelMambot( $option, $client ) { + global $database; + + $row = new mosMambot( $database ); + $row->bind( $_POST ); + $row->checkin(); + + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); +} + +/** +* Moves the order of a record +* @param integer The unique id of record +* @param integer The increment to reorder by +*/ +function orderMambot( $uid, $inc, $option, $client ) { + global $database; + + // Currently Unsupported + if ($client == 'admin') { + $where = "client_id='1'"; + } else { + $where = "client_id='0'"; + } + $row = new mosMambot( $database ); + $row->load( $uid ); + $row->move( $inc, "folder='$row->folder' AND ordering > -10000 AND ordering < 10000 AND ($where)" ); + + mosRedirect( 'index2.php?option='. $option ); +} + +/** +* changes the access level of a record +* @param integer The increment to reorder by +*/ +function accessMenu( $uid, $access, $option, $client ) { + global $database; + + switch ( $access ) { + case 'accesspublic': + $access = 0; + break; + + case 'accessregistered': + $access = 1; + break; + + case 'accessspecial': + $access = 2; + break; + } + + $row = new mosMambot( $database ); + $row->load( $uid ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + mosRedirect( 'index2.php?option='. $option ); +} + +function saveOrder( &$cid ) { + global $database; + $order = mosGetParam( $_POST, 'order', array(0) ); + $row = new mosMenu( $database ); + $folders = array(); + // update ordering values + foreach ($cid as $i=>$ciditem) { + $row->load( $ciditem ); + if ($row->ordering != $order[$i]) { + $row->ordering = $order[$i]; + if (!$row->store()) { + echo "\n"; + exit(); + } + // remember to updateOrder this group + $folders[$row->folder][$row->client_id] = $row->id; + } + } + // execute updateOrder for each group + foreach ($folders as $folder=>$clients) { + foreach ($clients as $client=>$rowid) { + $row->updateOrder("folder = '$folder' AND ordering > -10000 AND ordering < 10000 AND client_id = '$client'"); + } + } // foreach + + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_mambots', $msg ); +} // saveOrder + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mambots/index.html 4.6-complete/uploadfiles/administrator/components/com_mambots/index.html --- 4.6rc2/uploadfiles/administrator/components/com_mambots/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mambots/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mambots/toolbar.mambots.html.php 4.6-complete/uploadfiles/administrator/components/com_mambots/toolbar.mambots.html.php --- 4.6rc2/uploadfiles/administrator/components/com_mambots/toolbar.mambots.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mambots/toolbar.mambots.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,64 @@ +setQuery('select element from #__mambots where id = '.$cid); + $result = $database->loadResult(); + mosMenuBar::help( $result ? $result : 'edit' ); + } + mosMenuBar::endTable(); + } + + function _DEFAULT() { + mosMenuBar::startTable(); + mosMenuBar::publishList(); + mosMenuBar::spacer(); + mosMenuBar::unpublishList(); + mosMenuBar::spacer(); + mosMenuBar::addNewX(); + mosMenuBar::spacer(); + mosMenuBar::editListX(); + mosMenuBar::spacer(); + mosMenuBar::deleteList(); + mosMenuBar::spacer(); + mosMenuBar::help( 'manager' ); + mosMenuBar::endTable(); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mambots/toolbar.mambots.php 4.6-complete/uploadfiles/administrator/components/com_mambots/toolbar.mambots.php --- 4.6rc2/uploadfiles/administrator/components/com_mambots/toolbar.mambots.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mambots/toolbar.mambots.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,29 @@ +getPath( 'toolbar_html' ) ); +switch ($task) { + + case 'new': + case 'edit': + case 'editA': + TOOLBAR_modules::_EDIT(); + break; + + default: + TOOLBAR_modules::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_massmail/admin.massmail.html.php 4.6-complete/uploadfiles/administrator/components/com_massmail/admin.massmail.html.php --- 4.6rc2/uploadfiles/administrator/components/com_massmail/admin.massmail.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_massmail/admin.massmail.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,106 @@ + + + +
    + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + : + + +
    + + + +
    + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_massmail/admin.massmail.php 4.6-complete/uploadfiles/administrator/components/com_massmail/admin.massmail.php --- 4.6rc2/uploadfiles/administrator/components/com_massmail/admin.massmail.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_massmail/admin.massmail.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,110 @@ +acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_massmail' )) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); + +switch ($task) { + case 'send': + sendMail(); + break; + + case 'cancel': + mosRedirect( 'index2.php' ); + break; + + default: + messageForm( $option ); + break; +} + +function messageForm( $option ) { + global $acl; + + $gtree = array( + mosHTML::makeOption( 0, T_('- All User Groups -') ) + ); + + // get list of groups + $lists = array(); + $gtree = array_merge( $gtree, $acl->get_group_children_tree( null, 'USERS', false ) ); + $lists['gid'] = mosHTML::selectList( $gtree, 'mm_group', 'size="10"', 'value', 'text', 0 ); + + HTML_massmail::messageForm( $lists, $option ); +} + +function sendMail() { + global $database, $my, $acl; + global $mosConfig_sitename; + global $mosConfig_mailfrom, $mosConfig_fromname; + + $mode = mosGetParam( $_POST, 'mm_mode', 0 ); + $subject = mosGetParam( $_POST, 'mm_subject', '' ); + $gou = mosGetParam( $_POST, 'mm_group', NULL ); + $recurse = mosGetParam( $_POST, 'mm_recurse', 'NO_RECURSE' ); + // pulls message inoformation either in text or html format + if ( $mode ) { + $message_body = $_POST['mm_message']; + } else { + // automatically removes html formatting + $message_body = mosGetParam( $_POST, 'mm_message', '' ); + } + $message_body = stripslashes( $message_body ); + + if (!$message_body || !$subject || $gou === null) { + $msg = T_('Please fill in the form correctly'); + mosRedirect( 'index2.php?option=com_massmail&mosmsg='.$msg ); + } + + // get users in the group out of the acl + $to = $acl->get_group_objects( $gou, 'ARO', $recurse ); + + $rows = array(); + if ( count( $to['users'] ) || $gou === '0' ) { + // Get sending email address + $query = "SELECT email FROM #__users WHERE id='$my->id'"; + $database->setQuery( $query ); + $my->email = $database->loadResult(); + + // Get all users email and group except for senders + $query = "SELECT email FROM #__users" + . "\n WHERE id != '$my->id'" + . ( $gou !== '0' ? " AND id IN (" . implode( ',', $to['users'] ) . ")" : '' ) + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + // Build e-mail message format + $message_header = sprintf( T_("This is an email from '%s' + +Message: +"), $mosConfig_sitename ); + $message = $message_header . $message_body; + $subject = $mosConfig_sitename. ' / '. stripslashes( $subject); + + //Send email + foreach ($rows as $row) { + mosMail( $mosConfig_mailfrom, $mosConfig_fromname, $row->email, $subject, $message, $mode ); + } + } + + $msg = sprintf(Tn_('E-mail sent to %d user.', 'E-mail sent to %d users.', count($rows)), count($rows)); + mosRedirect( 'index2.php?option=com_massmail', $msg ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_massmail/index.html 4.6-complete/uploadfiles/administrator/components/com_massmail/index.html --- 4.6rc2/uploadfiles/administrator/components/com_massmail/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_massmail/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_massmail/massmail.xml 4.6-complete/uploadfiles/administrator/components/com_massmail/massmail.xml --- 4.6rc2/uploadfiles/administrator/components/com_massmail/massmail.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_massmail/massmail.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,13 @@ + + + Mass Mail + Mambo Project + February 2005 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.1 + This component allows you to send a mass email to certain user groups + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_massmail/toolbar.massmail.html.php 4.6-complete/uploadfiles/administrator/components/com_massmail/toolbar.massmail.html.php --- 4.6rc2/uploadfiles/administrator/components/com_massmail/toolbar.massmail.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_massmail/toolbar.massmail.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,30 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_massmail/toolbar.massmail.php 4.6-complete/uploadfiles/administrator/components/com_massmail/toolbar.massmail.php --- 4.6rc2/uploadfiles/administrator/components/com_massmail/toolbar.massmail.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_massmail/toolbar.massmail.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + default: + TOOLBAR_massmail::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_media/admin.media.html.php 4.6-complete/uploadfiles/administrator/components/com_media/admin.media.html.php --- 4.6rc2/uploadfiles/administrator/components/com_media/admin.media.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_media/admin.media.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,435 @@ + + + + + + + +
    + + + + + + + + + + + + +
    + + + + + + + +
    + + + + + +
    + + + Up
    + +
    +
    +
    + + + + + + + + + + + + +
    +   + = +
    +
    + +
    +
    + + + +
    + + + + + + + + +
    + + + + + +
    + '; + echo ''; + } + + function draw_table_footer() { + echo ''; + echo ''; + } + + function show_image($img, $file, $info, $size, $listdir) { + global $mosConfig_live_site; + + $img_file = basename($img); + $img_url = $mosConfig_live_site.'/images/stories'.$listdir.'/'.$img_file; + + $filesize = HTML_Media::parse_size($size); + ?> + + + + + + + + + + + +
    + alt=" - " border="0">
    + + + + + +
    + <?php echo T_('Code'); ?> + <?php echo T_('Delete'); ?>
    + + + + + + + + + + + + + +
    + + <?php echo $dir; ?> + +
    + + + + +
    + <?php echo T_('Delete'); ?>
    + + + + + + + + + + + + + + +
    + + <?php echo $doc; ?> +
    + + + + + +
    + <?php echo T_('Code'); ?> + <?php echo T_('Delete'); ?>
    + + = 1024 && $size < 1024*1024) + { + return sprintf('%01.2f',$size/1024.0).' Kb'; + } + else + { + return sprintf('%01.2f',$size/(1024.0*1024)).' Mb'; + } + } + + function imageResize($width, $height, $target) { + + //takes the larger size of the width and height and applies the + //formula accordingly...this is so this script will work + //dynamically with any size image + + if ($width > $height) { + $percentage = ($target / $width); + } else { + $percentage = ($target / $height); + } + + //gets the new value and applies the percentage, then rounds the value + $width = round($width * $percentage); + $height = round($height * $percentage); + + //returns the new sizes in html image tag format...this is so you + //can plug this function inside an image tag and just get the + + return "width=\"$width\" height=\"$height\""; + + } + + function num_files($dir) + { + $total = 0; + + if(is_dir($dir)) + { + $d = @dir($dir); + + while (false !== ($entry = $d->read())) + { + //echo $entry."
    "; + if(substr($entry,0,1) != '.') { + $total++; + } + } + $d->close(); + } + return $total; + } + + + function imageStyle($listdir){ + + ?> + + + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_media/admin.media.php 4.6-complete/uploadfiles/administrator/components/com_media/admin.media.php --- 4.6rc2/uploadfiles/administrator/components/com_media/admin.media.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_media/admin.media.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,359 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) + | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_media' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +//require_once( $mainframe->getPath( 'class' ) ); + +$cid = mosGetParam( $_POST, 'cid', array(0) ); +$foldername = mosGetParam($_POST, 'foldername', ''); +$listdir = mosGetParam($_REQUEST, 'listdir', ''); +$dirPath = mosGetParam($_POST, 'dirPath', ''); +$task = mosGetParam($_REQUEST, 'task', ''); + + +if (!is_array( $cid )) { + $cid = array(0); +} + +if (is_int(strpos ($listdir, "..")) && $listdir<>'') { + mosRedirect( "index2.php?option=com_media&listdir=".$_POST['dirPath'], T_("NO HACKING PLEASE") ); + } + +switch ($task) { + + case "upload": + upload(); + showMedia($dirPath); + break; + + case "newdir": + if (ini_get('safe_mode')=="On") { + mosRedirect( "index2.php?option=com_media&listdir=".$_POST['dirPath'], T_("Directory creation not allowed while running in SAFE MODE as this can cause problems.") ); + } + else { + create_folder($foldername,$dirPath); + } + showMedia($dirPath); + break; + + case "delete": + delete_file($delFile,$listdir); + showMedia($listdir); + break; + + case "deletefolder": + delete_folder($delFolder,$listdir); + showMedia($listdir); + break; + + case "list": + listImages($listdir); + break; + + default: + showMedia($listdir); + break; +} + + + + +function delete_file($delfile, $listdir) +{ + global $mosConfig_absolute_path; + $del_image = $mosConfig_absolute_path."/images/stories".$listdir."/".$delfile; + unlink($del_image); +} + +function create_folder($folder_name,$dirPath) +{ + global $mosConfig_absolute_path; + + if(strlen($folder_name) >0) + { + if (eregi("[^0-9a-zA-Z_]", $folder_name)) { + mosRedirect( "index2.php?option=com_media&listdir=".$_POST['dirPath'], T_("Directory name must only contain alphanumeric characters and no spaces please.") ); + } + $folder = $mosConfig_absolute_path."/images/stories".$dirPath."/".$folder_name; + if(!is_dir($folder) && !is_file($folder)) + { + mosMakePath($folder); + $fp = fopen($folder."/index.html", "w" ); + fwrite( $fp, "\n\n\n" ); + fclose( $fp ); + mosChmod($folder."/index.html"); + $refresh_dirs = true; + } + } +} + +function delete_folder($delFolder,$listdir) +{ + global $mosConfig_absolute_path; + + $del_html = $mosConfig_absolute_path.'/images/stories'.$listdir.$delFolder.'/index.html'; + $del_folder = $mosConfig_absolute_path.'/images/stories'.$listdir.$delFolder; + + $entry_count = 0; + $dir = opendir( $del_folder ); + while ( $entry = readdir( $dir )) + { + if( $entry != "." & $entry != ".." & strtolower($entry) != "index.html" ) + $entry_count++; + } + closedir( $dir ); + + if( $entry_count < 1 ) + { + @unlink($del_html); + rmdir($del_folder); + } else { + echo ''.T_('Unable to delete: not empty!').''; + } +} + +function upload(){ + + global $mosConfig_absolute_path; + + if(isset($_FILES['upload']) && is_array($_FILES['upload']) && isset($_POST['dirPath'])) + { + $dirPathPost = $_POST['dirPath']; + + if(strlen($dirPathPost) > 0) + { + if(substr($dirPathPost,0,1)=='/') + $IMG_ROOT .= $dirPathPost; + else + $IMG_ROOT = $dirPathPost; + } + + if(strrpos($IMG_ROOT, '/')!= strlen($IMG_ROOT)-1) + $IMG_ROOT .= '/'; + + do_upload( $_FILES['upload'], $mosConfig_absolute_path.'/images/stories/'.$dirPathPost.'/'); + } +} + +function do_upload($file, $dest_dir) +{ + global $clearUploads; + + if (file_exists($dest_dir.$file['name'])) { + mosRedirect( "index2.php?option=com_media&listdir=".$_POST['dirPath'], T_("Upload FAILED. File already exists") ); + } + + if ((strcasecmp(substr($file['name'],-4),".gif")) && (strcasecmp(substr($file['name'],-4),".jpg")) && (strcasecmp(substr($file['name'],-4),".png")) && (strcasecmp(substr($file['name'],-4),".bmp")) &&(strcasecmp(substr($file['name'],-4),".doc")) && (strcasecmp(substr($file['name'],-4),".xls")) && (strcasecmp(substr($file['name'],-4),".ppt")) && (strcasecmp(substr($file['name'],-4),".swf")) && (strcasecmp(substr($file['name'],-4),".pdf"))) { + mosRedirect( "index2.php?option=com_media&listdir=".$_POST['dirPath'], T_("Only files of type gif, png, jpg, bmp, pdf, swf, doc, xls or ppt can be uploaded") ); + } + + if (!move_uploaded_file($file['tmp_name'], $dest_dir.strtolower($file['name']))){ + mosRedirect( "index2.php?option=com_media&listdir=".$_POST['dirPath'], T_("Upload FAILED") ); + } + else { + mosChmod($dest_dir.strtolower($file['name'])); + mosRedirect( "index2.php?option=com_media&listdir=".$_POST['dirPath'], T_("Upload complete") ); + } + + $clearUploads = true; +} + +function recursive_listdir($base) { + static $filelist = array(); + static $dirlist = array(); + + if(is_dir($base)) { + $dh = opendir($base); + while (false !== ($dir = readdir($dh))) { + if (is_dir($base ."/". $dir) && $dir !== '.' && $dir !== '..' && strtolower($dir) !== 'cvs') { + $subbase = $base ."/". $dir; + $dirlist[] = $subbase; + $subdirlist = recursive_listdir($subbase); + } + } + closedir($dh); + } + return $dirlist; + } + + +/** +* Show media manager +* @param string The image directory to display +*/ +function showMedia($listdir) { + + global $mosConfig_absolute_path, $mosConfig_live_site; + + // get list of directories + $imgFiles = recursive_listdir( $mosConfig_absolute_path."/images/stories" ); + $images = array(); + $folders = array(); + $folders[] = mosHTML::makeOption( "/" ); + foreach ($imgFiles as $file) { + $folders[] = mosHTML::makeOption( substr($file,strlen($mosConfig_absolute_path."/images/stories")) ); + } + if (is_array($folders)) { + sort( $folders ); + } + // create folder selectlist + $dirPath = mosHTML::selectList( $folders, 'dirPath', "class=\"inputbox\" size=\"1\" " + ."onchange=\"goUpDir()\" ", + 'value', 'text', $listdir ); + + HTML_Media::showMedia($dirPath,$listdir); +} + + +/** +* Build imagelist +* @param string The image directory to display +*/ +function listImages($listdir) { + global $mosConfig_absolute_path, $mosConfig_live_site; + + // get list of images + $d = @dir($mosConfig_absolute_path."/images/stories/".$listdir); + + if($d) + { + + //var_dump($d); + $images = array(); + $folders = array(); + $docs = array(); + + while (false !== ($entry = $d->read())) + { + $img_file = $entry; + if(is_file($mosConfig_absolute_path."/images/stories".$listdir.'/'.$img_file) && substr($entry,0,1) != '.' && strtolower($entry) !== 'index.html') + { + if (eregi( "bmp|gif|jpg|png", $img_file )) { + $image_info = @getimagesize($mosConfig_absolute_path."/images/stories/".$listdir.'/'.$img_file); + $file_details['file'] = $mosConfig_absolute_path."/images/stories".$listdir."/".$img_file; + $file_details['img_info'] = $image_info; + $file_details['size'] = filesize($mosConfig_absolute_path."/images/stories".$listdir."/".$img_file); + $images[$entry] = $file_details; + } + else { + // file is document + $docs[$entry] = $img_file; + } + } + else if(is_dir($mosConfig_absolute_path."/images/stories/".$listdir.'/'.$img_file) && substr($entry,0,1) != '.' && strtolower($entry) !== 'cvs') + { + $folders[$entry] = $img_file; + } + } + $d->close(); + + HTML_Media::imageStyle($listdir); + + if(count($images) > 0 || count($folders) > 0 || count($docs) > 0) + { + //now sort the folders and images by name. + ksort($images); + ksort($folders); + ksort($docs); + + + HTML_Media::draw_table_header(); + + for($i=0; $i'; + if(is_dir($dir)) + { + $d = @dir($dir); + + while (false !== ($entry = $d->read())) + { + //echo "#".$entry.'
    '; + if($entry != '.' && $entry != '..') + { + $node = $dir.'/'.$entry; + //echo "NODE:".$node; + if(is_file($node)) { + //echo " - is file
    "; + unlink($node); + } + else if(is_dir($node)) { + //echo " - is Dir
    "; + rm_all_dir($node); + } + } + } + $d->close(); + + rmdir($dir); + } + //echo "RM: $dir
    "; +} + + + + + +} + + + + +?> Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/btnBack.gif and 4.6-complete/uploadfiles/administrator/components/com_media/images/btnBack.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/btnFolderUp.gif and 4.6-complete/uploadfiles/administrator/components/com_media/images/btnFolderUp.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/con_info.png and 4.6-complete/uploadfiles/administrator/components/com_media/images/con_info.png differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/doc_16.png and 4.6-complete/uploadfiles/administrator/components/com_media/images/doc_16.png differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/dots.gif and 4.6-complete/uploadfiles/administrator/components/com_media/images/dots.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/edit_pencil.gif and 4.6-complete/uploadfiles/administrator/components/com_media/images/edit_pencil.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/edit_trash.gif and 4.6-complete/uploadfiles/administrator/components/com_media/images/edit_trash.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/folder.gif and 4.6-complete/uploadfiles/administrator/components/com_media/images/folder.gif differ diff -ruN 4.6rc2/uploadfiles/administrator/components/com_media/images/index.html 4.6-complete/uploadfiles/administrator/components/com_media/images/index.html --- 4.6rc2/uploadfiles/administrator/components/com_media/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_media/images/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/noimages.gif and 4.6-complete/uploadfiles/administrator/components/com_media/images/noimages.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/pdf_16.png and 4.6-complete/uploadfiles/administrator/components/com_media/images/pdf_16.png differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/swf_16.png and 4.6-complete/uploadfiles/administrator/components/com_media/images/swf_16.png differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/uploading.gif and 4.6-complete/uploadfiles/administrator/components/com_media/images/uploading.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_media/images/xls_16.png and 4.6-complete/uploadfiles/administrator/components/com_media/images/xls_16.png differ diff -ruN 4.6rc2/uploadfiles/administrator/components/com_media/index.html 4.6-complete/uploadfiles/administrator/components/com_media/index.html --- 4.6rc2/uploadfiles/administrator/components/com_media/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_media/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_media/media.xml 4.6-complete/uploadfiles/administrator/components/com_media/media.xml --- 4.6rc2/uploadfiles/administrator/components/com_media/media.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_media/media.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,13 @@ + + + Media Manager + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This component manages site media + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_media/toolbar.media.html.php 4.6-complete/uploadfiles/administrator/components/com_media/toolbar.media.html.php --- 4.6rc2/uploadfiles/administrator/components/com_media/toolbar.media.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_media/toolbar.media.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,36 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_media/toolbar.media.php 4.6-complete/uploadfiles/administrator/components/com_media/toolbar.media.php --- 4.6rc2/uploadfiles/administrator/components/com_media/toolbar.media.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_media/toolbar.media.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,24 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + + default: + TOOLBAR_media::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menumanager/admin.menumanager.html.php 4.6-complete/uploadfiles/administrator/components/com_menumanager/admin.menumanager.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menumanager/admin.menumanager.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menumanager/admin.menumanager.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,438 @@ + + + +
    + + + + +
    + +
    + + + + + + + + + + + + + limitstart) + $start = $pageNav->limitstart; + $count = count($menus)-$start; + if ($pageNav->limit) + if ($count > $pageNav->limit) + $count = $pageNav->limit; + for ($m = $start; $m < $start+$count; $m++) { + $menu = $menus[$m]; + $link = 'index2.php?option=com_menumanager&task=edit&hidemainmenu=1&menu='. $menu->type; + $linkA = 'index2.php?option=com_menus&menutype='. $menu->type; + ?> + "> + + + + + + + + + + +
    # + + + + + + + + + + + + +
    + limitstart;?> + + + + + type; ?> + + + + + + + published; + ?> + + unpublished; + ?> + + trash; + ?> + + modules; + ?> +
    + getListFooter(); ?> + + + + + +
    + menutype ? 0 : 1; + ?> + + +
    + + + + +
    + +
    + + + + + + + + + + + + + + + +
    + + + + +
    + + + + +


    + + + * * +

    + Site Modules'); ?> +
    +
    +
    +

    + + + + + + + + + + + + + + + + +
    + +
    + + + + +
    + +
    + +
    + + + + + + + + + + +
    + + +
      + +
    1. + + + title; ?> + + +
    2. + + +
    + +
    + +
    +
      + +
    1. + + name; ?> + +
    2. + + +
    +
    + * Delete this Menu,
    ALL its Menu Items and the Module(s) associated with it'); ?> * +


    + +
     
    +

    + + + + + +
    + + +
    + + + + +
    + +
    + +
    + + + + + + + + + + +
    + +
    + +


    + +
    + +

    +
    + + + +
    + + + + + +

    + + + +
    +
      + +
    1. + + name; ?> + +
    2. + + +
    +
    +
     
    +

    + + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menumanager/admin.menumanager.php 4.6-complete/uploadfiles/administrator/components/com_menumanager/admin.menumanager.php --- 4.6rc2/uploadfiles/administrator/components/com_menumanager/admin.menumanager.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menumanager/admin.menumanager.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,542 @@ +acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_menumanager' )) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); + +$menu = mosGetParam( $_GET, 'menu', '' ); +$task = mosGetParam( $_REQUEST, 'task', array(0) ); +$type = mosGetParam( $_POST, 'type', '' ); +$cid = mosGetParam( $_POST, 'cid', '' ); + +switch ($task) { + case 'new': + editMenu( $option, '' ); + break; + + case 'edit': + if ( !$menu ) { + $menu = $cid[0]; + } + editMenu( $option, $menu ); + break; + + case 'savemenu': + saveMenu(); + break; + + case 'deleteconfirm': + deleteconfirm( $option, $cid ); + break; + + case 'deletemenu': + deleteMenu( $option, $cid, $type ); + break; + + case 'copyconfirm': + copyConfirm( $option, $cid[0] ); + break; + + case 'copymenu': + copyMenu( $option, $cid, $type ); + break; + + case 'cancel': + cancelMenu( $option ); + break; + + default: + showMenu( $option ); + break; +} + + +/** +* Compiles a list of menumanager items +*/ +function showMenu( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{". $option ."}limitstart", 'limitstart', 0 ); + + $menuTypes = mosAdminMenus::menutypes(); + $total = count( $menuTypes ); + $i = 0; + foreach ( $menuTypes as $a ) { + $menus[$i]->type = $a; + + // query to get number of modules for menutype + $query = "SELECT count( id )" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + . "\n AND params LIKE '%$a%'" + ; + $database->setQuery( $query ); + $modules = $database->loadResult(); + + if ( !$modules ) { + $modules = '-'; + } + $menus[$i]->modules = $modules; + + $i++; + } + + // Query to get published menu item counts + $query = "SELECT a.menutype, count( a.menutype ) as num" + . "\n FROM #__menu AS a" + . "\n WHERE a.published = 1" + . "\n GROUP BY a.menutype" + . "\n ORDER BY a.menutype" + ; + $database->setQuery( $query ); + $published = $database->loadObjectList(); + + // Query to get unpublished menu item counts + $query = "SELECT a.menutype, count( a.menutype ) as num" + . "\n FROM #__menu AS a" + . "\n WHERE a.published = 0" + . "\n GROUP BY a.menutype" + . "\n ORDER BY a.menutype" + ; + $database->setQuery( $query ); + $unpublished = $database->loadObjectList(); + if (!$unpublished) $unpublished = array(); + + // Query to get trash menu item counts + $query = "SELECT a.menutype, count( a.menutype ) as num" + . "\n FROM #__menu AS a" + . "\n WHERE a.published = -2" + . "\n GROUP BY a.menutype" + . "\n ORDER BY a.menutype" + ; + $database->setQuery( $query ); + $trash = $database->loadObjectList(); + if (!$trash) $trash = array(); + + for( $i = 0; $i < $total; $i++ ) { + // adds published count + foreach ( $published as $count ) { + if ( $menus[$i]->type == $count->menutype ) { + $menus[$i]->published = $count->num; + } + } + if ( @!$menus[$i]->published ) { + $menus[$i]->published = '-'; + } + // adds unpublished count + foreach ( $unpublished as $count ) { + if ( $menus[$i]->type == $count->menutype ) { + $menus[$i]->unpublished = $count->num; + } + } + if ( @!$menus[$i]->unpublished ) { + $menus[$i]->unpublished = '-'; + } + // adds trash count + foreach ( $trash as $count ) { + if ( $menus[$i]->type == $count->menutype ) { + $menus[$i]->trash = $count->num; + } + } + if ( @!$menus[$i]->trash ) { + $menus[$i]->trash = '-'; + } + } + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + HTML_menumanager::show( $option, $menus, $pageNav ); +} + + +/** +* Edits a mod_mainmenu module +* +* @param option options for the edit mode +* @param cid menu id +*/ +function editMenu( $option, $menu ) { + global $database; + + if( $menu ) { + $row->menutype = $menu; + } else { + $row = new mosModule( $database ); + // setting default values + $row->menutype = ''; + $row->iscore = 0; + $row->published = 0; + $row->position = 'left'; + $row->module = 'mod_mainmenu'; + } + + HTML_menumanager::edit( $row, $option ); +} + +/** +* Creates a new mod_mainmenu module, which makes the menu visible +* this is a workaround until a new dedicated table for menu management can be created +*/ +function saveMenu() { + global $database; + + $menutype = mosGetParam( $_POST, 'menutype', '' ); + $old_menutype = mosGetParam( $_POST, 'old_menutype', '' ); + $new = mosGetParam( $_POST, 'new', 1 ); + + // block to stop renaming of 'mainmenu' menutype + if ( $old_menutype == 'mainmenu' ) { + if ( $menutype <> 'mainmenu' ) { + echo "\n"; + exit; + } + } + + // check for unique menutype for new menus + $query = "SELECT params" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + ; + $database->setQuery( $query ); + $menus = $database->loadResultArray(); + foreach ( $menus as $menu ) { + $pparser = new mosParameters($menu); + $params = $pparser->getParams(); + if ( $params->menutype == $menutype ) { + echo "\n"; + exit; + } + } + + switch ( $new ) { + case 1: + // create a new module for the new menu + $row = new mosModule( $database ); + $row->bind( $_POST ); + + $row->params = 'menutype='. $menutype; + + // check then store data in db + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + + $row->checkin(); + $row->updateOrder( "position='". $row->position ."'" ); + + // module assigned to show on All pages by default + // ToDO: Changed to become a mambo db-object + $query = "INSERT INTO #__modules_menu VALUES ( $row->id, 0 )"; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $msg = sprintf(T_('New Menu created [ %s ]'), $menutype); + break; + + default: + // change menutype being of all mod_mainmenu modules calling old menutype + $query = "SELECT id" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + . "\n AND params LIKE '%$old_menutype%'" + ; + $database->setQuery( $query ); + $modules = $database->loadResultArray(); + + foreach ( $modules as $module ) { + $row = new mosModule( $database ); + $row->load( $module ); + + $save = 0; + $pparser = new mosParameters($row->params); + $params = $pparser->getParams(); + if ( $params->menutype == $old_menutype ) { + $params->menutype = $menutype; + $save = 1; + } + + // save changes to module 'menutype' param + if ( $save ) { + $txt = array(); + foreach ( $params as $k=>$v) { + $txt[] = "$k=$v"; + } + $row->params = implode( "\n", $txt ); + + // check then store data in db + if ( !$row->check() ) { + echo "\n"; + exit(); + } + if ( !$row->store() ) { + echo "\n"; + exit(); + } + + $row->checkin(); + } + } + + // change menutype of all menuitems using old menutype + if ( $menutype <> $old_menutype ) { + $query = "UPDATE #__menu SET menutype = '$menutype' WHERE menutype = '$old_menutype'"; + $database->setQuery( $query ); + $database->query(); + } + + $msg = T_('Menu Items & Modules updated'); + break; + } + + mosRedirect( 'index2.php?option=com_menumanager', $msg ); +} + +/** +* Compiles a list of the items you have selected to permanently delte +*/ +function deleteConfirm( $option, $types ) { + global $database; + + if ( in_array('mainmenu', $types )) { + $types = array_diff($types, array('mainmenu')); + echo "\n"; + } + + $menus = implode("','",$types); + // list of menu items to delete + $query = "SELECT a.name, a.id" + . "\n FROM #__menu AS a" + . "\n WHERE ( a.menutype IN ( '$menus' ) )" + . "\n ORDER BY a.name" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + foreach ($types as $type) { + // list of modules to delete + $query = "SELECT id" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + . "\n AND params LIKE '%$type%'" + ; + $database->setQuery( $query ); + $mods = $database->loadResultArray(); + foreach ( $mods as $module ) { + $row = new mosModule( $database ); + $row->load( $module ); + $pparser = new mosParameters($row->params); + $params = $pparser->getParams(); + if ( $params->menutype == $type ) { + $mid[] = $module; + } + } + } + + @$mids = implode( ',', $mid ); + $query = "SELECT id, title" + . "\n FROM #__modules" + . "\n WHERE id IN ( $mids )" + ; + $database->setQuery( $query ); + @$modules = $database->loadObjectList(); + + HTML_menumanager::showDelete( $option, $type, $items, $modules ); +} + +/** +* Deletes menu items(s) you have selected +*/ +function deleteMenu( $option, $cid, $type ) { + global $database; + + if ( $type == 'mainmenu' ) { + echo "\n"; + exit(); + } + + + $mids = mosGetParam( $_POST, 'mids', 0 ); + if ( is_array( $mids ) ) { + $mids = implode( ',', $mids ); + } + // delete menu items + $query = "DELETE FROM #__menu" + . "\n WHERE ( id IN ( $mids ) )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit; + } + + if ( is_array( $cid ) ) { + $cids = implode( ',', $cid ); + } else { + $cids = $cid; + } + + // checks whether any modules to delete + if ( $cids ) { + // delete modules + $database->setQuery( "DELETE FROM #__modules WHERE id IN ( $cids )" ); + if ( !$database->query() ) { + echo "\n"; + exit; + } + // delete all module entires in mos_modules_menu + $database->setQuery( "DELETE FROM #__modules_menu WHERE moduleid IN ( ". $cids ." )" ); + if ( !$database->query() ) { + echo "\n"; + exit; + } + + // reorder modules after deletion + $mod = new mosModule( $database ); + $mod->ordering = 0; + $mod->updateOrder( "position='left'" ); + $mod->updateOrder( "position='right'" ); + } + + $msg = 'Menu Deleted'; + mosRedirect( 'index2.php?option=' . $option, $msg ); +} + + +/** +* Compiles a list of the items you have selected to Copy +*/ +function copyConfirm( $option, $type ) { + global $database; + + // Content Items query + $query = "SELECT a.name, a.id" + . "\n FROM #__menu AS a" + . "\n WHERE ( a.menutype IN ( '". $type ."' ) )" + . "\n ORDER BY a.name" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + HTML_menumanager::showCopy( $option, $type, $items ); +} + + +/** +* Copies a complete menu, all its items and creates a new module, using the name speified +*/ +function copyMenu( $option, $cid, $type ) { + global $database; + + $menu_name = mosGetParam( $_POST, 'menu_name', 'New Menu' ); + $module_name = mosGetParam( $_POST, 'module_name', 'New Module' ); + + // check for unique menutype for new menu copy + $query = "SELECT params" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + ; + $database->setQuery( $query ); + $menus = $database->loadResultArray(); + foreach ( $menus as $menu ) { + $pparser = new mosParameters($menu); + $params = $pparser->getParams(); + if ( $params->menutype == $menu_name ) { + echo "\n"; + exit; + } + } + + // copy the menu items + $mids = mosGetParam( $_POST, 'mids', '' ); + $total = count( $mids ); + $copy = new mosMenu( $database ); + $original = new mosMenu( $database ); + sort( $mids ); + $a_ids = array(); + + foreach( $mids as $mid ) { + $original->load( $mid ); + $copy = $original; + $copy->id = NULL; + $copy->parent = $a_ids[$original->parent]; + $copy->menutype = $menu_name; + + if ( !$copy->check() ) { + echo "\n"; + exit(); + } + if ( !$copy->store() ) { + echo "\n"; + exit(); + } + $a_ids[$original->id] = $copy->id; + } + + // create the module copy + $row = new mosModule( $database ); + $row->load( 0 ); + $row->title = $module_name; + $row->iscore = 0; + $row->published = 1; + $row->position = 'left'; + $row->module = 'mod_mainmenu'; + $row->params = 'menutype='. $menu_name; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "position='". $row->position ."'" ); + // module assigned to show on All pages by default + // ToDO: Changed to become a mambo db-object + $query = "INSERT INTO #__modules_menu VALUES ( $row->id, 0 )"; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $msg = sprintf(Tn_('Copy of Menu `%s` created, consisting of %d item', 'Copy of Menu `%s` created, consisting of %d items', $total), $type, $total); + mosRedirect( 'index2.php?option=' . $option, $msg ); +} + +/** +* Cancels an edit operation +* @param option options for the operation +*/ +function cancelMenu( $option ) { + mosRedirect( 'index2.php?option=' . $option . '&task=view' ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menumanager/index.html 4.6-complete/uploadfiles/administrator/components/com_menumanager/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menumanager/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menumanager/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menumanager/menumanager.xml 4.6-complete/uploadfiles/administrator/components/com_menumanager/menumanager.xml --- 4.6rc2/uploadfiles/administrator/components/com_menumanager/menumanager.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menumanager/menumanager.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,12 @@ + + + Menu Manager + Mambo Project + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This component manages your Menus. + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menumanager/toolbar.menumanager.html.php 4.6-complete/uploadfiles/administrator/components/com_menumanager/toolbar.menumanager.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menumanager/toolbar.menumanager.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menumanager/toolbar.menumanager.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,70 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menumanager/toolbar.menumanager.php 4.6-complete/uploadfiles/administrator/components/com_menumanager/toolbar.menumanager.php --- 4.6rc2/uploadfiles/administrator/components/com_menumanager/toolbar.menumanager.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menumanager/toolbar.menumanager.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,42 @@ +getPath( 'toolbar_html' ) ); +//require_once( $mainframe->getPath( 'toolbar_default' ) ); + +$act = mosGetParam( $_REQUEST, 'act', '' ); +if ($act) { + $task = $act; +} + +switch ($task) { + case "new": + case "edit": + TOOLBAR_menumanager::_NEWMENU($task); + break; + + case "copyconfirm": + TOOLBAR_menumanager::_COPYMENU(); + break; + + case "deleteconfirm": + TOOLBAR_menumanager::_DELETE(); + break; + + default: + TOOLBAR_menumanager::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/admin.menus.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/admin.menus.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/admin.menus.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/admin.menus.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,470 @@ + +
    + + + + + + + + + + + + + +
    + [ %s ]'), $menutype) ?> + + + + + + + + +
    + * * +
    + + * * + +
    + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + +
    + # + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + +
    + limitstart;?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->treename; + } else { + $link = 'index2.php?option=com_menus&menutype='. $row->menutype .'&task=edit&id='. $row->id . '&hidemainmenu=1'; + ?> + + treename; ?> + + + + + + orderUpIcon( $i ); ?> + + orderDownIcon( $i, $n ); ?> + + + + + + id; ?> + + descrip, '', 280, 'tooltip.png', $row->type, $row->edit ); + ?> + + componentid; ?> +
    + + getListFooter(); ?> + + + + + + +
    + +
    + + + + + +
    + + + +
    + + + + + + +
    +
    + + + type; + ?> + "> + + + + + +
    + + + + name; ?> + + + descrip, $row->name, 250 ); + ?> +
    +
    +
    + + + type; + ?> + "> + + + + + +
    + + + + name; ?> + + + descrip, $row->name, 250 ); + ?> +
    +
    + * +
    +
    + + + type; + ?> + "> + + + + + +
    + + + + name; ?> + + + descrip, $row->name, 250 ); + ?> +
    +
    +
    + + + type; + ?> + "> + + + + + +
    + + + + name; ?> + + + descrip, $row->name, 250 ); + ?> +
    +
    +
    + + + + + + + + +
    + +
    +
    + + + + +
    + +
    + +
    + + + + + + +
    + +
    + +

    +
    + + + +
    +
      + +
    1. + name; ?> +
    2. + +
    +
    +

    + + + + + + "; + } + ?> +
    + +
    +
    + + + + +
    + +
    + +
    + + + + + + +
    + + + +
    + +

    +
    + + + +
    +
      + +
    1. + name; ?> +
    2. + +
    +
    +

    + + + + + + "; + } + ?> +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/admin.menus.php 4.6-complete/uploadfiles/administrator/components/com_menus/admin.menus.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/admin.menus.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/admin.menus.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,739 @@ +getPath( 'admin_html' ) ); + +$id = intval( mosGetParam( $_GET, 'id', 0 ) ); +$type = mosGetParam( $_REQUEST, 'type', false ); +$menutype = mosGetParam( $_REQUEST, 'menutype', 'mainmenu' ); +$task = mosGetParam( $_REQUEST, 'task', '' ); +$access = mosGetParam( $_POST, 'access', '' ); +$utaccess = mosGetParam( $_POST, 'utaccess', '' ); +$ItemName = mosGetParam( $_POST, 'ItemName', '' ); +$menu = mosGetParam( $_POST, 'menu', '' ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); + +$path = $mosConfig_absolute_path .'/administrator/components/com_menus/'; + +if (!is_array( $cid )) { + $cid = array(0); +} + + +switch ($task) { + case 'new': + addMenuItem( $cid, $menutype, $option, $task ); + break; + + case 'edit': + $cid[0] = ( $id ? $id : $cid[0] ); + $menu = new mosMenu( $database ); + if ( $cid[0] ) { + $menu->load( $cid[0] ); + } else { + $menu->type = $type; + } + + if ( $menu->type ) { + $type = $menu->type; + require( $path . $menu->type .'/'. $menu->type .'.menu.php' ); + } + break; + + case 'save': + case 'apply': + require( $path . $type .'/'. $type .'.menu.php' ); + break; + + case 'publish': + case 'unpublish': + if ($msg = publishMenuSection( $cid, ($task == 'publish') )) { + // proceed no further if the menu item can't be published + mosRedirect( 'index2.php?option=com_menus&menutype='. $menutype .'&mosmsg= '.$msg ); + } else { + mosRedirect( 'index2.php?option=com_menus&menutype='. $menutype ); + } + break; + + case 'remove': + if ($msg = TrashMenusection( $cid )) { + mosRedirect( 'index2.php?option=com_menus&menutype='. $menutype .'&mosmsg= '.$msg ); + } else { + mosRedirect( 'index2.php?option=com_menus&menutype='. $menutype ); + } + break; + + case 'cancel': + cancelMenu( $option ); + break; + + case 'orderup': + orderMenu( $cid[0], -1, $option ); + break; + + case 'orderdown': + orderMenu( $cid[0], 1, $option ); + break; + + case 'accesspublic': + accessMenu( $cid[0], 0, $option, $menutype ); + break; + + case 'accessregistered': + accessMenu( $cid[0], 1, $option, $menutype ); + break; + + case 'accessspecial': + accessMenu( $cid[0], 2, $option, $menutype ); + break; + + case 'movemenu': + moveMenu( $option, $cid, $menutype ); + break; + + case 'movemenusave': + moveMenuSave( $option, $cid, $menu, $menutype ); + break; + + case 'copymenu': + copyMenu( $option, $cid, $menutype ); + break; + + case 'copymenusave': + copyMenuSave( $option, $cid, $menu, $menutype ); + break; + + case 'cancelcopymenu': + case 'cancelmovemenu': + viewMenuItems( $menutype, $option ); + break; + + case 'saveorder': + saveOrder( $cid, $menutype ); + break; + + default: + $type = trim( mosGetParam( $_REQUEST, 'type', null ) ); + if ($type) { + // adding a new item - type selection form + require( $path . $type .'/'. $type .'.menu.php' ); + } else { + viewMenuItems( $menutype, $option ); + } + break; +} + +/** +* Shows a list of items for a menu +*/ +function viewMenuItems( $menutype, $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart$menutype", 'limitstart', 0 ); + $levellimit = $mainframe->getUserStateFromRequest( "view{$option}limit$menutype", 'levellimit', 10 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}$menutype", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + // select the records + // note, since this is a tree we have to do the limits code-side + if ($search) { + $query = "SELECT m.id" + . "\n FROM #__menu AS m" + //. "\n LEFT JOIN #__content AS c ON c.id = m.componentid AND type='content_typed'" + . "\n WHERE menutype='$menutype'" + . "\n AND LOWER(m.name) LIKE '%" . strtolower( $search ) . "%'" + ; + $database->setQuery( $query ); + $search_rows = $database->loadResultArray(); + } + + $query = "SELECT m.*, u.name AS editor, g.name AS groupname, c.publish_up, c.publish_down, com.name AS com_name" + . "\n FROM #__menu AS m" + . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" + . "\n LEFT JOIN #__groups AS g ON g.id = m.access" + . "\n LEFT JOIN #__content AS c ON c.id = m.componentid AND m.type='content_typed'" + . "\n LEFT JOIN #__components AS com ON com.id = m.componentid AND m.type='components'" + . "\n WHERE m.menutype='$menutype'" + . "\n AND m.published != -2" + . "\n ORDER BY parent,ordering" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + // establish the hierarchy of the menu + $children = array(); + // first pass - collect children + if ($rows) foreach ($rows as $v ) { + $pt = $v->parent; + $list = @$children[$pt] ? $children[$pt] : array(); + array_push( $list, $v ); + $children[$pt] = $list; + } + // second pass - get an indent list of the items + $list = mosTreeRecurse( 0, '', array(), $children, max( 0, $levellimit-1 ) ); + // eventually only pick out the searched items. + if ($search) { + $list1 = array(); + + foreach ($search_rows as $sid ) { + foreach ($list as $item) { + if ($item->id == $sid) { + $list1[] = $item; + } + } + } + // replace full list with found items + $list = $list1; + } + + $total = count( $list ); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $levellist = mosHTML::integerSelectList( 1, 20, 1, 'levellimit', 'size="1" onchange="document.adminForm.submit();"', $levellimit ); + + // slice out elements based on limits + $list = array_slice( $list, $pageNav->limitstart, $pageNav->limit ); + + $i = 0; + foreach ( $list as $mitem ) { + $edit = ''; + switch ( $mitem->type ) { + case 'separator': + case 'component_item_link': + break; + + case 'url': + if ( eregi( 'index.php\?', $mitem->link ) ) { + if ( !eregi( 'Itemid=', $mitem->link ) ) { + $mitem->link .= '&Itemid='. $mitem->id; + } + } + break; + + case 'newsfeed_link': + $edit = 'index2.php?option=com_newsfeeds&task=edit&hidemainmenu=1A&id=' . $mitem->componentid; + $list[$i]->descrip = 'Edit this News Feed'; + $mitem->link .= '&Itemid='. $mitem->id; + break; + + case 'contact_item_link': + $edit = 'index2.php?option=com_contact&task=editA&hidemainmenu=1&id=' . $mitem->componentid; + $list[$i]->descrip = 'Edit this Contact'; + $mitem->link .= '&Itemid='. $mitem->id; + break; + + case 'content_item_link': + $edit = 'index2.php?option=com_content&task=edit&hidemainmenu=1&id=' . $mitem->componentid; + $list[$i]->descrip = 'Edit this Content'; + break; + + case 'content_typed': + $edit = 'index2.php?option=com_typedcontent&task=edit&hidemainmenu=1&id='. $mitem->componentid; + $list[$i]->descrip = 'Edit this Static Content'; + break; + + default: + $mitem->link .= '&Itemid='. $mitem->id; + break; + } + $list[$i]->link = $mitem->link; + $list[$i]->edit = $edit; + $i++; + } + + $i = 0; + foreach ( $list as $row ) { + // pulls name and description from menu type xml + $row = ReadMenuXML( $row->type, $row->com_name ); + $list[$i]->type = $row[0]; + if (!isset($list[$i]->descrip)) $list[$i]->descrip = $row[1]; + $i++; + } + + HTML_menusections::showMenusections( $list, $pageNav, $search, $levellist, $menutype, $option ); +} + +/** +* Displays a selection list for menu item types +*/ +function addMenuItem( &$cid, $menutype, $option, $task ) { + global $mosConfig_absolute_path; + + $types = array(); + + // list of directories + $dirs = mosReadDirectory( $mosConfig_absolute_path .'/administrator/components/com_menus' ); + + // load files for menu types + foreach ( $dirs as $dir ) { + // needed within menu type .php files + $type = $dir; + $dir = $mosConfig_absolute_path .'/administrator/components/com_menus/'. $dir; + if ( is_dir( $dir ) ) { + $files = mosReadDirectory( $dir, ".\.menu\.php$" ); + foreach ($files as $file) { + require_once( "$dir/$file" ); + // type of menu type + $types[]->type = $type; + } + } + } + + $i = 0; + foreach ( $types as $type ) { + // pulls name and description from menu type xml + $row = ReadMenuXML( $type->type ); + $types[$i]->name = $row[0]; + $types[$i]->descrip = $row[1]; + $types[$i]->group = $row[2]; + $i++; + } + + // sort array of objects alphabetically by name of menu type + SortArrayObjects( $types, 'name', 1 ); + + // split into Content + $i = 0; + foreach ( $types as $type ) { + if ( strstr( $type->group, 'Content' ) ) { + $types_content[] = $types[$i]; + } + $i++; + } + + // split into Links + $i = 0; + foreach ( $types as $type ) { + if ( strstr( $type->group, 'Link' ) ) { + $types_link[] = $types[$i]; + } + $i++; + } + + // split into Component + $i = 0; + foreach ( $types as $type ) { + if ( strstr( $type->group, 'Component' ) ) { + $types_component[] = $types[$i]; + } + $i++; + } + + // split into Other + $i = 0; + foreach ( $types as $type ) { + if ( strstr( $type->group, 'Other' ) || !$type->group ) { + $types_other[] = $types[$i]; + } + $i++; + } + + HTML_menusections::addMenuItem( $cid, $menutype, $option, $types_content, $types_component, $types_link, $types_other ); +} + + +/** +* Generic function to save the menu +*/ +function saveMenu( $option, $task='save' ) { + global $database; + + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ($params as $k=>$v) { + $txt[] = "$k=$v"; + } + $_POST['params'] = mosParameters::textareaHandling( $txt ); + } + + $row = new mosMenu( $database ); + + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "menutype='$row->menutype' AND parent='$row->parent'" ); + + $msg = 'Menu item Saved'; + switch ( $task ) { + case 'apply': + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype .'&task=edit&id='. $row->id . '&hidemainmenu=1' , $msg ); + break; + + case 'save': + default: + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype, $msg ); + break; + } +} + +/** +* Publishes or Unpublishes one or more menu sections +* @param database A database connector object +* @param string The name of the category section +* @param array An array of id numbers +* @param integer 0 if unpublishing, 1 if publishing +*/ +function publishMenuSection( $cid=null, $publish=1 ) { + global $database, $mosConfig_absolute_path; + + if (!is_array( $cid ) || count( $cid ) < 1) { + $pub = $publish ? T_('publish') : T_('unpublish'); + return sprintf(T_('Select an item to %s'), $pub); + } + + $menu = new mosMenu( $database ); + foreach ($cid as $id) { + $menu->load( $id ); + $menu->published = $publish; + + if (!$menu->check()) { + return $menu->getError(); + } + if (!$menu->store()) { + return $menu->getError(); + } + + if ($menu->type) { + $database = &$database; + $task = $publish ? 'publish' : 'unpublish'; + require( $mosConfig_absolute_path . '/administrator/components/com_menus/' . $menu->type . '/' . $menu->type . '.menu.php' ); + } + } + return null; +} + +/** +* Trashes a menu record +*/ +function TrashMenuSection( $cid=NULL ) { + global $database; + + $state = "-2"; + //seperate contentids + $cids = implode( ',', $cid ); + $query = "UPDATE #__menu SET published = '". $state ."', ordering = '0'" + . "\n WHERE id IN ( ". $cids ." )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $total = count( $cid ); + $msg = sprintf(Tn_("%d Item sent to the Trash", "%d Items sent to the Trash", $total), $total); + return $msg; +} + +/** +* Cancels an edit operation +*/ +function cancelMenu( $option ) { + global $database; + + $menu = new mosMenu( $database ); + $menu->bind( $_POST ); + $menuid = mosGetParam( $_POST, 'menuid', 0 ); + if ( $menuid ) { + $menu->id = $menuid; + } + $menu->checkin(); +/* + if ( $menu->type == 'content_typed' ) { + $contentid = mosGetParam( $_POST, 'id', 0 ); + $content = new mosContent( $database ); + $content->load( $contentid ); + $content->checkin(); + } +*/ + mosRedirect( 'index2.php?option='. $option .'&menutype='. $menu->menutype ); +} + +/** +* Moves the order of a record +* @param integer The increment to reorder by +*/ +function orderMenu( $uid, $inc, $option ) { + global $database; + + $row = new mosMenu( $database ); + $row->load( $uid ); + $row->move( $inc, 'menutype="'. $row->menutype .'" AND parent="'. $row->parent .'"' ); + + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype ); +} + + +/** +* changes the access level of a record +* @param integer The increment to reorder by +*/ +function accessMenu( $uid, $access, $option, $menutype ) { + global $database; + + $menu = new mosMenu( $database ); + $menu->load( $uid ); + $menu->access = $access; + + if (!$menu->check()) { + return $menu->getError(); + } + if (!$menu->store()) { + return $menu->getError(); + } + + mosRedirect( 'index2.php?option='. $option .'&menutype='. $menutype ); +} + +/** +* Form for moving item(s) to a specific menu +*/ +function moveMenu( $option, $cid, $menutype ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + + ## query to list selected menu items + $cids = implode( ',', $cid ); + $query = "SELECT a.name FROM #__menu AS a WHERE a.id IN ( ". $cids ." )"; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + ## query to choose menu + $query = "SELECT a.params FROM #__modules AS a WHERE a.module = 'mod_mainmenu' ORDER BY a.title"; + $database->setQuery( $query ); + $modules = $database->loadObjectList(); + + foreach ( $modules as $module) { + $pparser = new mosParameters($module->params); + $params = $pparser->getParams(); + // adds menutype to array + $type = trim( @$params->menutype ); + $menu[] = mosHTML::makeOption( $type, $type ); + } + // build the html select list + $MenuList = mosHTML::selectList( $menu, 'menu', 'class="inputbox" size="10"', 'value', 'text', null ); + + HTML_menusections::moveMenu( $option, $cid, $MenuList, $items, $menutype ); +} + +/** +* Add all descendants to list of meni id's +*/ +function addDescendants($id, &$cid) +{ + global $database; + + $database->setQuery("SELECT id FROM #__menu WHERE parent=$id"); + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo "\n"; + exit(); + } // if + foreach ($rows as $row) { + $found = false; + foreach ($cid as $idx) + if ($idx == $row->id) { + $found = true; + break; + } // if + if (!$found) $cid[] = $row->id; + addDescendants($row->id, $cid); + } // foreach +} // addDescendants + +/** +* Save the item(s) to the menu selected +*/ +function moveMenuSave( $option, $cid, $menu, $menutype ) { + global $database, $my; + + // add all decendants to the list + foreach ($cid as $id) addDescendants($id, $cid); + + $row = new mosMenu( $database ); + $ordering = 1000000; + $firstroot = 0; + foreach ($cid as $id) { + $row->load( $id ); + + // is it moved together with his parent? + $found = false; + if ($row->parent != 0) + foreach ($cid as $idx) + if ($idx == $row->parent) { + $found = true; + break; + } // if + if (!$found) { + $row->parent = 0; + $row->ordering = $ordering++; + if (!$firstroot) $firstroot = $row->id; + } // if + + $row->menutype = $menu; + if ( !$row->store() ) { + echo "\n"; + exit(); + } // if + } // foreach + + if ($firstroot) { + $row->load( $firstroot ); + $row->updateOrder( "menutype='". $row->menutype ."' AND parent='". $row->parent ."'" ); + } // if + + $msg = sprintf(Tn_('%d Menu Item moved to %s', '%d Menu Items moved to %s', count($cid)), count($cid), $menu); + mosRedirect( 'index2.php?option='. $option .'&menutype='. $menutype .'&mosmsg='. $msg ); +} // moveMenuSave + +/** +* Form for copying item(s) to a specific menu +*/ +function copyMenu( $option, $cid, $menutype ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + + ## query to list selected menu items + $cids = implode( ',', $cid ); + $query = "SELECT a.name FROM #__menu AS a WHERE a.id IN ( ". $cids ." )"; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + $menuTypes = mosAdminMenus::menutypes(); + + foreach ( $menuTypes as $menuType ) { + $menu[] = mosHTML::makeOption( $menuType, $menuType ); + } + // build the html select list + $MenuList = mosHTML::selectList( $menu, 'menu', 'class="inputbox" size="10"', 'value', 'text', null ); + + HTML_menusections::copyMenu( $option, $cid, $MenuList, $items, $menutype ); +} + +/** +* Save the item(s) to the menu selected +*/ +function copyMenuSave( $option, $cid, $menu, $menutype ) { + global $database; + + $curr = new mosMenu( $database ); + $cidref = array(); + foreach( $cid as $id ) { + $curr->load( $id ); + $curr->id = NULL; + if ( !$curr->store() ) { + echo "\n"; + exit(); + } + $cidref[] = array($id, $curr->id); + } + foreach ( $cidref as $ref ) { + $curr->load( $ref[1] ); + if ($curr->parent!=0) { + $found = false; + foreach ( $cidref as $ref2 ) + if ($curr->parent == $ref2[0]) { + $curr->parent = $ref2[1]; + $found = true; + break; + } // if + if (!$found && $curr->menutype!=$menu) + $curr->parent = 0; + } // if + $curr->menutype = $menu; + $curr->ordering = '9999'; + if ( !$curr->store() ) { + echo "\n"; + exit(); + } + $curr->updateOrder( "menutype='". $curr->menutype ."' AND parent='". $curr->parent ."'" ); + } // foreach + $msg = sprintf(Tn_('%d Menu Item Copied to %s', '%d Menu Items Copied to %s', count($cid)), count($cid), $menu); + mosRedirect( 'index2.php?option='. $option .'&menutype='. $menutype .'&mosmsg='. $msg ); +} + +function ReadMenuXML( $type, $component=-1 ) { + global $mosConfig_absolute_path; + + // xml file for module + $xmlfile = $mosConfig_absolute_path .'/administrator/components/com_menus/'. $type .'/'. $type .'.xml'; + $parser = new mosXMLDescription ($xmlfile); + $name = $parser->getName('menu'); + $descrip = $parser->getDescription('menu'); + $group = $parser->getGroup('menu'); + + if ( ( $component <> -1 ) && ( $name == 'Component') ) { + $name .= ' - '. $component; + } + + $row[0] = $name; + $row[1] = $descrip; + $row[2] = $group; + + return $row; +} + +function saveOrder( &$cid, $menutype ) { + global $database; + $order = mosGetParam( $_POST, 'order', array(0) ); + $row = new mosMenu( $database ); + $parents = array(); + // update ordering values + foreach ($cid as $i=>$ciditem) { + $row->load( $ciditem ); + if ($row->ordering != $order[$i]) { + $row->ordering = $order[$i]; + if (!$row->store()) { + echo "\n"; + exit(); + } + // remember to updateOrder this group + $parents[$row->parent] = $row->id; + } + } + // execute updateOrder for each group + foreach ($parents as $parent=>$rowid) { + $row->updateOrder("menutype = '$menutype' AND parent = '$parent' AND published >= 0"); + } // foreach + + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_menus&menutype='. $menutype, $msg ); +} // saveOrder + + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,88 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + // load values for new entry + $menu->type = 'component_item_link'; + $menu->menutype = $menutype; + $menu->browserNav = 0; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + if ( $uid ) { + $temp = explode( '&Itemid=', $menu->link ); + $query = "SELECT a.name" + . "\n FROM #__menu AS a" + . "\n WHERE a.link = '". $temp[0] ."'" + ; + $database->setQuery( $query ); + $components = $database->loadResult(); + $lists['components'] = $components; + $lists['components'] .= ''; + } else { + $query = "SELECT CONCAT( a.link, '&Itemid=', a.id ) AS value, a.name AS text" + . "\n FROM #__menu AS a" + . "\n WHERE a.published = '1'" + . "\n AND a.type = 'components'" + . "\n ORDER BY a.menutype, a.name" + ; + $database->setQuery( $query ); + $components = $database->loadObjectList( ); + + // Create a list of links + $lists['components'] = mosHTML::selectList( $components, 'link', 'class="inputbox" size="10"', 'value', 'text', '' ); + } + + // build html select list for target window + $lists['target'] = mosAdminMenus::Target( $menu ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid, 1 ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + component_item_link_menu_html::edit( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,155 @@ + + + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.xml 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/component_item_link.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,16 @@ + + + Link - Component Item + Component|Link + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates a link to an existing Mambo Component + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/component_item_link/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/component_item_link/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/components/components.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/components/components.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/components/components.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/components/components.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,80 @@ +load( $uid ); + + $row = new mosComponent( $database ); + // load the row from the db table + $row->load( $menu->componentid ); + + // fail if checked out not by 'me' + if ( $menu->checked_out && $menu->checked_out <> $my->id ) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + // do stuff for existing item + $menu->checkout( $my->id ); + } else { + // do stuff for new item + $menu->type = 'components'; + $menu->menutype = $menutype; + $menu->browserNav = 0; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + $query = "SELECT c.id AS value, c.name AS text, c.link" + . "\n FROM #__components AS c" + . "\n WHERE c.link <> ''" + . "\n ORDER BY c.name" + ; + $database->setQuery( $query ); + $components = $database->loadObjectList( ); + + // build the html select list for section + $lists['componentid'] = mosAdminMenus::Component( $menu, $uid ); + + // componentname + $lists['componentname'] = mosAdminMenus::ComponentName( $menu, $uid ); + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'com_xml', $row->option ), 'component' ); + + components_menu_html::edit( $menu, $components, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/components/components.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/components/components.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/components/components.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/components/components.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,172 @@ +$row is passed with the id +* property set to 0. +*/ +class components_menu_html { + + + function edit( &$menu, &$components, &$lists, &$params, $option ) { + global $mosConfig_live_site; + + if ( $menu->id ) { + $title = '[ '. $lists['componentname'] .' ]'; + } else { + $title = ''; + } + ?> + + + +
    + + + + + +
    + id ? T_('Edit') : T_('Add');?> %s'), $title) ?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
     
    +
    + + + + + + + +
    + +
    + id) { + echo $params->render(); + } else { + ?> + + +
    +
    + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/components/components.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/components/components.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/components/components.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/components/components.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,34 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/components/components.xml 4.6-complete/uploadfiles/administrator/components/com_menus/components/components.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/components/components.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/components/components.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,14 @@ + + + Component + Component + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Displays the frontend interface for a Component + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/components/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/components/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/components/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/components/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,76 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'contact_category_table'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + // build list of categories + $lists['componentid'] = mosAdminMenus::ComponentCategory( 'componentid', 'com_contact_details', intval( $menu->componentid ), NULL, 'ordering', 5, 0 ); + if ( $uid ) { + $query = "SELECT name" + . "\n FROM #__categories" + . "\n WHERE section = 'com_contact_details'" + . "\n AND published = '1'" + . "\n AND id = ". $menu->componentid + ; + $database->setQuery( $query ); + $category = $database->loadResult(); + $lists['componentid'] = ''. $category; + } + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + contact_category_table_menu_html::editCategory( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,177 @@ +$row is passed with the id +* property set to 0. +*/ +class contact_category_table_menu_html { + + function editCategory( &$menu, &$lists, &$params, $option ) { + global $mosConfig_live_site; + ?> + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + id ) { + echo mosToolTip( T_('If you leave this blank the Category name will be automatically used') ); + } + ?> +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.xml 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/contact_category_table.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + Table - Contact Category + Component + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Shows a Table view of Contact items for a particular Category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_category_table/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_category_table/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,110 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + // load values for new entry + $menu->type = 'contact_item_link'; + $menu->menutype = $menutype; + $menu->browserNav = 0; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + if ( $uid ) { + $temp = explode( 'contact_id=', $menu->link ); + $query = "SELECT *" + . "\n FROM #__contact_details AS a" + . "\n WHERE a.id = '". $temp[1] ."'" + ; + $database->setQuery( $query ); + $contact = $database->loadObjectlist(); + // outputs item name, category & section instead of the select list + $lists['contact'] = ' + + + + + + + + + +
    + '.T_('Name:').' + + '. $contact[0]->name .' +
    + '.T_('Position:').' + + '. $contact[0]->con_position .' +
    '; + $lists['contact'] .= ''; + $contacts = ''; + } else { + $query = "SELECT a.id AS value, CONCAT( a.name, ' - ',a.con_position ) AS text, a.catid " + . "\n FROM #__contact_details AS a" + . "\n INNER JOIN #__categories AS c ON a.catid = c.id" + . "\n WHERE a.published = '1'" + . "\n ORDER BY a.catid, a.name" + ; + $database->setQuery( $query ); + $contacts = $database->loadObjectList( ); + + // Create a list of links + $lists['contact'] = mosHTML::selectList( $contacts, 'contact_item_link', 'class="inputbox" size="10"', 'value', 'text', '' ); + } + + // build html select list for target window + $lists['target'] = mosAdminMenus::Target( $menu ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + contact_item_link_menu_html::edit( $menu, $lists, $params, $option, $contacts ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,160 @@ + + + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    Url: + +
    + + + +
    + + + +
    + + + +
    + + + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.xml 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/contact_item_link.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,22 @@ + + + Link - Contact Item + Component|Link + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates a link to a Published Contact Item + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/contact_item_link/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/contact_item_link/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,64 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ($uid) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'content_archive_category'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + // build the html select list for category + $lists['componentid'] = mosAdminMenus::Category( $menu, $uid ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + content_archive_category_menu_html::editCategory( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,164 @@ +$row is passed with the id +* property set to 0. +*/ +class content_archive_category_menu_html { + + function editCategory( &$menu, &$lists, &$params, $option ) { + global $mosConfig_live_site; + ?> + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + id ) { + echo mosToolTip( T_('If you leave this blank the Category name will be automatically used') ); + } + ?> +
    + +
    + +
    + +
    + +
    + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.xml 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/content_archive_category.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,115 @@ + + + Blog - Content Category Archive + Content + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Shows a listing of Content items archived for a particular category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_category/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_category/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,63 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'content_archive_section'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + // build the html select list for section + $lists['componentid'] = mosAdminMenus::Section( $menu, $uid, 1 ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + content_archive_section_menu_html::editSection( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,167 @@ +$row is passed with the id +* property set to 0. +*/ +class content_archive_section_menu_html { + + function editSection( &$menu, &$lists, &$params, $option ) { + global $mosConfig_live_site; + ?> + + +
    + + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + id ) { + echo mosToolTip( T_('If you leave this blank the Section name will be automatically used') ); + } + ?> +
    + +
    + +
    + +
    + +
    + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.xml 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/content_archive_section.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,121 @@ + + + Blog - Content Section Archive + Content + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Shows a listing of Content items archived for a particular section + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_archive_section/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_archive_section/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,146 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ($uid) { + $menu->checkout( $my->id ); + // get previously selected Categories + $params =& new mosParameters( $menu->params ); + $catids = $params->def( 'categoryid', '' ); + if ( $catids ) { + $query = "SELECT c.id AS `value`, c.section AS `id`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" + . "\n FROM #__sections AS s" + . "\n INNER JOIN #__categories AS c ON c.section = s.id" + . "\n WHERE s.scope = 'content'" + . "\n AND c.id IN ( ". $catids . ")" + . "\n ORDER BY s.name,c.name" + ; + $database->setQuery( $query ); + $lookup = $database->loadObjectList(); + } else { + $lookup = ''; + } + } else { + $menu->type = 'content_blog_category'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + $lookup = ''; + } + + // build the html select list for category + $rows[] = mosHTML::makeOption( '', 'All Categories' ); + $query = "SELECT c.id AS `value`, c.section AS `id`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" + . "\n FROM #__sections AS s" + . "\n INNER JOIN #__categories AS c ON c.section = s.id" + . "\n WHERE s.scope = 'content'" + . "\n ORDER BY s.name,c.name" + ; + $database->setQuery( $query ); + $rows = array_merge( $rows, $database->loadObjectList() ); + $category = mosHTML::selectList( $rows, 'catid[]', 'class="inputbox" size="10" multiple="multiple"', 'value', 'text', $lookup ); + $lists['categoryid'] = $category; + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + /* chipjack: passing $sectCatList (categories) instead of $slist (sections) */ + content_blog_category_html::edit( $menu, $lists, $params, $option ); + } + + function saveMenu( $option, $task ) { + global $database; + + $params = mosGetParam( $_POST, 'params', '' ); + $catids = mosGetParam( $_POST, 'catid', array() ); + $catid = implode( ',', $catids ); + + $params[categoryid] = $catid; + if (is_array( $params )) { + $txt = array(); + foreach ($params as $k=>$v) { + $txt[] = "$k=$v"; + } + $_POST['params'] = mosParameters::textareaHandling( $txt ); + } + + $row = new mosMenu( $database ); + + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + if (count($catids)==1 && $catids[0]!="") { + $row->link = str_replace("id=0","id=".$catids[0],$row->link); + $row->componentid = $catids[0]; + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "menutype='$row->menutype' AND parent='$row->parent'" ); + + $msg = 'Menu item Saved'; + switch ( $task ) { + case 'apply': + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype .'&task=edit&id='. $row->id, $msg ); + break; + + case 'save': + default: + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype, $msg ); + break; + } + } + +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,164 @@ +$row is passed with the id +* property set to 0. +*/ +class content_blog_category_html { + + function edit( &$menu, &$lists, &$params, $option ) { + /* in the HTML below, references to "section" were changed to "category" */ + global $mosConfig_live_site; + ?> + + + +
    + + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + +
    + + + + + +
    + +
    + +
    + +
    + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.xml 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/content_blog_category.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,130 @@ + + + Blog - Content Category + Content + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Displays a page of content items from multiple categories in a blog format + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_category/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_category/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,143 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ($uid) { + $menu->checkout( $my->id ); + // get previously selected Categories + $params =& new mosParameters( $menu->params ); + $secids = $params->def( 'sectionid', '' ); + if ( $secids ) { + $query = "SELECT s.id AS `value`, s.id AS `id`, s.title AS `text`" + . "\n FROM #__sections AS s" + . "\n WHERE s.scope = 'content'" + . "\n AND s.id IN ( ". $secids . ")" + . "\n ORDER BY s.name" + ; + $database->setQuery( $query ); + $lookup = $database->loadObjectList(); + } else { + $lookup = ''; + } + } else { + $menu->type = 'content_blog_section'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + $lookup = ''; + } + + // build the html select list for section + $rows[] = mosHTML::makeOption( '', T_('All Sections') ); + $query = "SELECT s.id AS `value`, s.id AS `id`, s.title AS `text`" + . "\n FROM #__sections AS s" + . "\n WHERE s.scope = 'content'" + . "\n ORDER BY s.name" + ; + $database->setQuery( $query ); + $rows = array_merge( $rows, $database->loadObjectList() ); + $section = mosHTML::selectList( $rows, 'secid[]', 'class="inputbox" size="10" multiple="multiple"', 'value', 'text', $lookup ); + $lists['sectionid'] = $section; + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + content_blog_section_html::edit( $menu, $lists, $params, $option ); + } + + function saveMenu( $option, $task ) { + global $database; + + $params = mosGetParam( $_POST, 'params', '' ); + $secids = mosGetParam( $_POST, 'secid', array() ); + $secid = implode( ',', $secids ); + + $params[sectionid] = $secid; + if (is_array( $params )) { + $txt = array(); + foreach ($params as $k=>$v) { + $txt[] = "$k=$v"; + } + $_POST['params'] = mosParameters::textareaHandling( $txt ); + } + + $row = new mosMenu( $database ); + + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + if ( count( $secids )== 1 && $secids[0] != '' ) { + $row->link = str_replace( 'id=0','id='. $secids[0], $row->link ); + $row->componentid = $secids[0]; + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "menutype='$row->menutype' AND parent='$row->parent'" ); + + $msg = 'Menu item Saved'; + switch ( $task ) { + case 'apply': + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype .'&task=edit&id='. $row->id, $msg ); + break; + + case 'save': + default: + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype, $msg ); + break; + } + } + +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,164 @@ +$row is passed with the id +* property set to 0. +*/ +class content_blog_section_html { + + function edit( &$menu, &$lists, &$params, $option ) { + /* in the HTML below, references to "section" were changed to "section" */ + global $mosConfig_live_site; + ?> + + + +
    + + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + +
    + + + + + +
    + +
    + +
    + +
    + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.xml 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/content_blog_section.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,130 @@ + + + Blog - Content Section + Content + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Displays a page of content items from multiple sections in a blog format + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_blog_section/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_blog_section/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/content_category.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/content_category.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/content_category.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/content_category.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,65 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ($uid) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'content_category'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + // build the html select list for category + $lists['componentid'] = mosAdminMenus::Category( $menu, $uid ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + content_category_menu_html::editCategory( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/content_category.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/content_category.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/content_category.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/content_category.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,178 @@ +$row is passed with the id +* property set to 0. +*/ +class content_category_menu_html { + + function editCategory( &$menu, &$lists, &$params, $option ) { + global $mosConfig_live_site; + ?> + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + id ) { + echo mosToolTip( T_('If you leave this blank the Category name will be automatically used') ); + } + ?> +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/content_category.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/content_category.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/content_category.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/content_category.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/content_category.xml 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/content_category.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/content_category.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/content_category.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,106 @@ + + + Table - Content Category + Content + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Shows a Table view of Content items for a particular Category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_category/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_category/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,160 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + // load values for new entry + $menu->type = 'content_item_link'; + $menu->menutype = $menutype; + $menu->browserNav = 0; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + if ( $uid ) { + $link = 'javascript:submitbutton( \'redirect\' );'; + + $temp = explode( 'id=', $menu->link ); + $query = "SELECT a.title, c.name AS category, s.name AS section" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__categories AS c ON a.catid = c.id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n WHERE a.id = '". $temp[1] ."'" + ; + $database->setQuery( $query ); + $content = $database->loadObjectlist(); + // outputs item name, category & section instead of the select list + $lists['content'] = ' + + + + + + + + + + + + + +
    + Item: + + + '. $content[0]->title .' + +
    + '.T_('Category:').' + + '. $content[0]->category .' +
    + '.T_('Section:').' + + '. $content[0]->section .' +
    '; + $contents = ''; + $lists['content'] .= ''; + } else { + $query = "SELECT a.id AS value, a.title AS text, a.sectionid, a.catid " + . "\n FROM #__content AS a" + . "\n INNER JOIN #__categories AS c ON a.catid = c.id" + . "\n INNER JOIN #__sections AS s ON a.sectionid = s.id" + . "\n WHERE a.state = '1'" + . "\n ORDER BY a.sectionid, a.catid, a.title" + ; + $database->setQuery( $query ); + $contents = $database->loadObjectList( ); + + foreach ( $contents as $content ) { + $database->setQuery( "SELECT s.title" + . "\n FROM #__sections AS s" + . "\n WHERE s.scope = 'content'" + . "\n AND s.id = '". $content->sectionid ."'" + ); + $section = $database->loadResult(); + + $database->setQuery( "SELECT c.title" + . "\n FROM #__categories AS c" + . "\n WHERE c.id = '". $content->catid ."'" + ); + $category = $database->loadResult(); + + $value = $content->value; + $text = $section ." - ". $category ." / ". $content->text ."    "; + + $temp[] = mosHTML::makeOption( $value, $text ); + $contents = $temp; + } + + // Create a list of links + $lists['content'] = mosHTML::selectList( $contents, 'content_item_link', 'class="inputbox" size="10"', 'value', 'text', '' ); + } + + // build html select list for target window + $lists['target'] = mosAdminMenus::Target( $menu ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + content_item_link_menu_html::edit( $menu, $lists, $params, $option, $contents ); + } + + function redirect( $id ) { + global $database; + + $menu = new mosMenu( $database ); + $menu->bind( $_POST ); + $menuid = mosGetParam( $_POST, 'menuid', 0 ); + if ( $menuid ) { + $menu->id = $menuid; + } + $menu->checkin(); + + mosRedirect( 'index2.php?option=com_content&task=edit&id='. $id ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,166 @@ + + + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,37 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.xml 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/content_item_link.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,16 @@ + + + Link - Content Item + Content|Link + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates a link to a published Content Item in full view + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_item_link/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_item_link/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/content_section.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/content_section.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/content_section.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/content_section.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,64 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'content_section'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + // build the html select list for section + $lists['componentid'] = mosAdminMenus::Section( $menu, $uid ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + content_section_menu_html::editSection( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/content_section.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/content_section.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/content_section.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/content_section.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,164 @@ +$row is passed with the id +* property set to 0. +*/ +class content_section_menu_html { + + function editSection( &$menu, &$lists, &$params, $option ) { + global $mosConfig_live_site; + ?> + + +
    + + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + id ) { + echo mosToolTip( T_('If you leave this blank the Section name will be automatically used') ); + } + ?> +
    + +
    + +
    + +
    + +
    + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + +
    + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/content_section.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/content_section.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/content_section.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/content_section.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/content_section.xml 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/content_section.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/content_section.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/content_section.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,115 @@ + + + Table - Content Section + Content + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates a listing of Content categories for a particular section + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_section/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_section/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/content_typed.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/content_typed.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/content_typed.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/content_typed.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,111 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + // load values for new entry + $menu->type = 'content_typed'; + $menu->menutype = $menutype; + $menu->browserNav = 0; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + if ( $uid ) { + $temp = explode( 'id=', $menu->link ); + $query = "SELECT a.title, a.title_alias, a.id" + . "\n FROM #__content AS a" + . "\n WHERE a.id = '". $temp[1] ."'" + ; + $database->setQuery( $query ); + $content = $database->loadObjectlist(); + // outputs item name, category & section instead of the select list + if ( $content[0]->title_alias ) { + $alias = ' ('. $content[0]->title_alias .')'; + } else { + $alias = ''; + } + $contents = ''; + $link = 'javascript:submitbutton( \'redirect\' );'; + $lists['content'] = ''; + $lists['content'] .= ''. $content[0]->title . $alias .''; + } else { + $query = "SELECT a.id AS value, CONCAT( a.title, '(', a.title_alias, ')' ) AS text" + . "\n FROM #__content AS a" + . "\n WHERE a.state = '1'" + . "\n AND a.sectionid = '0'" + . "\n AND a.catid = '0'" + . "\n ORDER BY a.id, a.title" + ; + $database->setQuery( $query ); + $contents = $database->loadObjectList( ); + + // Create a list of links + $lists['content'] = mosHTML::selectList( $contents, 'content_typed', 'class="inputbox" size="10"', 'value', 'text', '' ); + } + + // build html select list for target window + $lists['target'] = mosAdminMenus::Target( $menu ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + content_menu_html::edit( $menu, $lists, $params, $option, $contents ); + } + + function redirect( $id ) { + global $database; + + $menu = new mosMenu( $database ); + $menu->bind( $_POST ); + $menuid = mosGetParam( $_POST, 'menuid', 0 ); + if ( $menuid ) { + $menu->id = $menuid; + } + $menu->checkin(); + + mosRedirect( 'index2.php?option=com_typedcontent&task=edit&id='. $id ); + } +} + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/content_typed.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/content_typed.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/content_typed.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/content_typed.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,168 @@ +$row is passed with the id +* property set to 0. +*/ +class content_menu_html { + + function edit( &$menu, &$lists, &$params, $option, $content ) { + global $mosConfig_live_site; + ?> + + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    Url: + +
    + + + +
    + + + +
    + + + +
    + + + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/content_typed.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/content_typed.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/content_typed.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/content_typed.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,39 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/content_typed.xml 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/content_typed.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/content_typed.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/content_typed.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,16 @@ + + + Link - Static Content + Content|Link + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates a link to Static Content Item + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/content_typed/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/content_typed/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,76 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'newsfeed_category_table'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + // build list of categories + $lists['componentid'] = mosAdminMenus::ComponentCategory( 'componentid', 'com_newsfeeds', intval( $menu->componentid ), NULL, 'name', 10, 0 ); + if ( $uid ) { + $query = "SELECT name" + . "\n FROM #__categories" + . "\n WHERE section = 'com_newsfeeds'" + . "\n AND published = '1'" + . "\n AND id = ". $menu->componentid + ; + $database->setQuery( $query ); + $category = $database->loadResult(); + $lists['componentid'] = ''. $category; + } + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + newsfeed_category_table_menu_html::editCategory( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,177 @@ +$row is passed with the id +* property set to 0. +*/ +class newsfeed_category_table_menu_html { + + function editCategory( &$menu, &$lists, &$params, $option ) { + global $mosConfig_live_site; + ?> + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + id ) { + echo mosToolTip( T_('If you leave this blank the Category name will be automatically used') ); + } + ?> +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,57 @@ + + + Table - News Feed Category + Component + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Shows a Table view of News Feed items for a particular Category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,111 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + // load values for new entry + $menu->type = 'newsfeed_link'; + $menu->menutype = $menutype; + $menu->browserNav = 0; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + if ( $uid ) { + $temp = explode( 'feedid=', $menu->link ); + $query = "SELECT *, c.title AS category" + . "\n FROM #__newsfeeds AS a" + . "\n INNER JOIN #__categories AS c ON a.catid = c.id" + . "\n WHERE a.id = '". $temp[1] ."'" + ; + $database->setQuery( $query ); + $newsfeed = $database->loadObjectlist(); + // outputs item name, category & section instead of the select list + $lists['newsfeed'] = ' + + + + + + + + + +
    + '.T_('Item:').' + + '. $newsfeed[0]->name .' +
    + '.T_('Position:').' + + '. $newsfeed[0]->category .' +
    '; + $lists['newsfeed'] .= ''; + $newsfeeds = ''; + } else { + $query = "SELECT a.id AS value, CONCAT( c.title, ' - ', a.name ) AS text, a.catid " + . "\n FROM #__newsfeeds AS a" + . "\n INNER JOIN #__categories AS c ON a.catid = c.id" + . "\n WHERE a.published = '1'" + . "\n ORDER BY a.catid, a.name" + ; + $database->setQuery( $query ); + $newsfeeds = $database->loadObjectList( ); + + // Create a list of links + $lists['newsfeed'] = mosHTML::selectList( $newsfeeds, 'newsfeed_link', 'class="inputbox" size="10"', 'value', 'text', '' ); + } + + // build html select list for target window + $lists['target'] = mosAdminMenus::Target( $menu ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + newsfeed_link_menu_html::edit( $menu, $lists, $params, $option, $newsfeeds ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,159 @@ + + + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    Url: + +
    + + + +
    + + + +
    + + + +
    + + + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.xml 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/newsfeed_link/newsfeed_link.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,41 @@ + + + Link - Newsfeed + Component|Link + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates a link to an individual Published Newsfeed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/separator/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/separator/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/separator/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/separator/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/separator/separator.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/separator/separator.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/separator/separator.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/separator/separator.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,67 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ($uid) { + // do stuff for existing item + $menu->checkout( $my->id ); + + } else { + // do stuff for new item + $menu->type = 'separator'; + $menu->menutype = $menutype; + $menu->browserNav = 0; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + if ( empty( $menu->name ) ) { + $menu->name = '- - - - - - -'; + } + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + separator_menu_html::edit( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/separator/separator.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/separator/separator.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/separator/separator.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/separator/separator.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,131 @@ +$row is passed with the id +* property set to 0. +*/ +class separator_menu_html { + + function edit( $menu, $lists, $params, $option ) { + global $mosConfig_live_site; + ?> + + + +
    + + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
    + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/separator/separator.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/separator/separator.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/separator/separator.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/separator/separator.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/separator/separator.xml 4.6-complete/uploadfiles/administrator/components/com_menus/separator/separator.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/separator/separator.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/separator/separator.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,16 @@ + + + Separator / Placeholder + Other + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates a menu placeholder or separator + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/toolbar.menus.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/toolbar.menus.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/toolbar.menus.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/toolbar.menus.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,110 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/toolbar.menus.php 4.6-complete/uploadfiles/administrator/components/com_menus/toolbar.menus.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/toolbar.menus.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/toolbar.menus.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,85 @@ +getPath( 'toolbar_html' ) ); +require_once( $mainframe->getPath( 'toolbar_default' ) ); + +switch ($task) { + case 'new': + TOOLBAR_menus::_NEW(); + break; + + case 'movemenu': + TOOLBAR_menus::_MOVEMENU(); + break; + + case 'copymenu': + TOOLBAR_menus::_COPYMENU(); + break; + + case 'edit': + $cid = mosGetParam( $_POST, 'cid', array(0) ); + if (!is_array( $cid )) { + $cid = array(0); + } + $path = $mosConfig_absolute_path .'/administrator/components/com_menus/'; + + if ( $cid[0] ) { + $query = "SELECT type FROM #__menu WHERE id = $cid[0]"; + $database->setQuery( $query ); + $type = $database->loadResult(); + $item_path = $path . $type .'/'. $type .'.menubar.php'; + + if ( $type ) { + if ( file_exists( $item_path ) ) { + require_once( $item_path ); + } else { + TOOLBAR_menus::_EDIT($type); + } + } else { + echo $database->stderr(); + } + } else { + $type = mosGetParam( $_REQUEST, 'type', null ); + $item_path = $path . $type .'/'. $type .'.menubar.php'; + + if ( $type ) { + if ( file_exists( $item_path ) ) { + require_once( $item_path ); + } else { + TOOLBAR_menus::_EDIT($type); + } + } else { + TOOLBAR_menus::_EDIT($type); + } + } + break; + + default: + $type = trim( mosGetParam( $_REQUEST, 'type', null ) ); + $item_path = $path . $type .'/'. $type .'.menubar.php'; + + if ( $type ) { + if ( file_exists( $item_path ) ) { + require_once( $item_path ); + } else { + TOOLBAR_menus::_DEFAULT(); + } + } else { + TOOLBAR_menus::_DEFAULT(); + } + break; +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/url/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/url/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/url/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/url/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/url/url.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/url/url.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/url/url.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/url/url.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,66 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ($uid) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'url'; + $menu->menutype = $menutype; + $menu->browserNav = 0; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + // build html select list for target window + $lists['target'] = mosAdminMenus::Target( $menu ); + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + url_menu_html::edit( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/url/url.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/url/url.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/url/url.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/url/url.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,153 @@ +$row is passed with the id +* property set to 0. +*/ +class url_menu_html { + + function edit( $menu, $lists, $params, $option ) { + global $mosConfig_live_site; + ?> + + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/url/url.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/url/url.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/url/url.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/url/url.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/url/url.xml 4.6-complete/uploadfiles/administrator/components/com_menus/url/url.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/url/url.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/url/url.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,16 @@ + + + Link - Url + Link + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates url link + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,76 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'weblink_category_table'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + } + + // build list of categories + $lists['componentid'] = mosAdminMenus::ComponentCategory( 'componentid', 'com_weblinks', intval( $menu->componentid ), NULL, 'ordering', 5, 0 ); + if ( $uid ) { + $query = "SELECT name" + . "\n FROM #__categories" + . "\n WHERE section = 'com_weblinks'" + . "\n AND published = '1'" + . "\n AND id = ". $menu->componentid + ; + $database->setQuery( $query ); + $category = $database->loadResult(); + $lists['componentid'] = ''. $category; + } + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + + weblink_category_table_menu_html::editCategory( $menu, $lists, $params, $option ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,178 @@ +$row is passed with the id +* property set to 0. +*/ +class weblink_category_table_menu_html { + + function editCategory( &$menu, &$lists, &$params, $option ) { + global $mosConfig_live_site; + ?> + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + id ) { + echo mosToolTip( T_('If you leave this blank the Category name will be automatically used') ); + } + ?> +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + +
    + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.xml 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/weblink_category_table/weblink_category_table.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,46 @@ + + + Table - Weblink Category + Component + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Shows a Table view of Weblink items for a particular Weblink Category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/index.html 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/index.html --- 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/wrapper.class.php 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/wrapper.class.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/wrapper.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/wrapper.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,114 @@ +load( $uid ); + + // fail if checked out not by 'me' + if ($menu->checked_out && $menu->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + if ( $uid ) { + $menu->checkout( $my->id ); + } else { + $menu->type = 'wrapper'; + $menu->menutype = $menutype; + $menu->ordering = 9999; + $menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) ); + $menu->published = 1; + $menu->link = 'index.php?option=com_wrapper'; + } + + // build the html select list for ordering + $lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $menu ); + // build the html select list for paraent item + $lists['parent'] = mosAdminMenus::Parent( $menu ); + // build published button option + $lists['published'] = mosAdminMenus::Published( $menu ); + // build the url link output + $lists['link'] = mosAdminMenus::Link( $menu, $uid ); + + // get params definitions + $params =& new mosAdminParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' ); + if ( $uid ) { + $menu->url = $params->def( 'url', '' ); + } + + wrapper_menu_html::edit( $menu, $lists, $params, $option ); + } + + + function saveMenu( $option, $task ) { + global $database; + + $params = mosGetParam( $_POST, 'params', '' ); + $params[url] = mosGetParam( $_POST, 'url', '' ); + + if (is_array( $params )) { + $txt = array(); + foreach ($params as $k=>$v) { + $txt[] = "$k=$v"; + } + $_POST['params'] = mosParameters::textareaHandling( $txt ); + } + + $row = new mosMenu( $database ); + + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "menutype='$row->menutype' AND parent='$row->parent'" ); + + + $msg = 'Menu item Saved'; + switch ( $task ) { + case 'apply': + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype .'&task=edit&id='. $row->id, $msg ); + break; + + case 'save': + default: + mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype, $msg ); + break; + } + } +} + + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/wrapper.menu.html.php 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/wrapper.menu.html.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/wrapper.menu.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/wrapper.menu.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,163 @@ + + + + +
    + + + + +
    + id ? T_('Edit') : T_('Add');?> +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
     
    +
    + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/wrapper.menu.php 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/wrapper.menu.php --- 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/wrapper.menu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/wrapper.menu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/wrapper.xml 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/wrapper.xml --- 4.6rc2/uploadfiles/administrator/components/com_menus/wrapper/wrapper.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_menus/wrapper/wrapper.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,43 @@ + + + Wrapper + Other + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Creates an IFrame that will wrap an external page/site into Mambo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_messages/admin.messages.html.php 4.6-complete/uploadfiles/administrator/components/com_messages/admin.messages.html.php --- 4.6rc2/uploadfiles/administrator/components/com_messages/admin.messages.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_messages/admin.messages.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,209 @@ + +
    + + + + + + +
    +
    + + + + + + + + + + + + "> + + + + + + + + +
    # +
    limitstart;?>message_id ); ?> + subject; ?> user_from; ?>date_time; ?>state ) == "1") { + echo T_("Read"); + } else { + echo T_("Unread"); + } ?>
    + getListFooter(); ?> + + + + +
    + + + + + +
    +startPane("messages"); +$tabs->startTab(T_("General"),"general-page"); +?> +
    + + + + + + + + + + + + +
    + + +endTab(); +$tabs->endPane(); +?> + +
    + + + + + +
    + +
    + + + + + + + + + + + + + + + + + +
    user_from;?>
    date_time;?>
    subject;?>
    message );?>
    + + + + + + + +
    + + + + + + + +
    + +
    + + + + + + + + + + + + + +
    + +
    + +
    + + + +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_messages/admin.messages.php 4.6-complete/uploadfiles/administrator/components/com_messages/admin.messages.php --- 4.6rc2/uploadfiles/administrator/components/com_messages/admin.messages.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_messages/admin.messages.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,237 @@ +getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$task = trim( mosGetParam( $_REQUEST, 'task', null ) ); +$cid = mosGetParam( $_REQUEST, 'cid', array( 0 ) ); +if (!is_array( $cid )) { + $cid = array ( 0 ); +} + +switch ($task) { + case "view": + viewMessage( $cid[0], $option ); + break; + + case "new": + newMessage( $option, NULL, NULL ); + break; + + case "reply": + newMessage( + $option, + mosGetParam( $_REQUEST, 'userid', 0 ), + mosGetParam( $_REQUEST, 'subject', '' ) + ); + break; + + case "save": + saveMessage( $option ); + break; + + case "remove": + removeMessage( $cid, $option ); + break; + + case "config": + editConfig( $option ); + break; + + case "saveconfig": + saveConfig( $option ); + break; + + default: + showMessages( $option ); + break; +} + +function editConfig( $option ) { + global $database, $my; + + $database->setQuery( "SELECT cfg_name, cfg_value FROM #__messages_cfg WHERE user_id='$my->id'" ); + $data = $database->loadObjectList( 'cfg_name' ); + + $vars = array(); + $vars['lock'] = mosHTML::yesnoSelectList( "vars[lock]", 'class="inputbox" size="1"', @$data['lock']->cfg_value ); + $vars['mail_on_new'] = mosHTML::yesnoSelectList( "vars[mail_on_new]", 'class="inputbox" size="1"', @$data['mail_on_new']->cfg_value ); + + HTML_messages::editConfig( $vars, $option ); + +} + +function saveConfig( $option ) { + global $database, $my; + + $database->setQuery( "DELETE FROM #__messages_cfg WHERE user_id='$my->id'" ); + $database->query(); + + $vars = mosGetParam( $_POST, 'vars', array() ); + foreach ($vars as $k=>$v) { + $v = $database->getEscaped( $v ); + $database->setQuery( "INSERT INTO #__messages_cfg (user_id,cfg_name,cfg_value)" + . "\nVALUES ('$my->id','$k','$v')" + ); + $database->query(); + } + mosRedirect( "index2.php?option=$option" ); +} + +function newMessage( $option, $user, $subject ) { + global $database, $mainframe, $my, $acl; + + // get available backend user groups + $gid = $acl->get_group_id( 'Public Backend', 'ARO' ); + $gids = $acl->get_group_children( $gid, 'ARO', 'RECURSE' ); + $gids = implode( ',', $gids ); + + // get list of usernames + $recipients = array( mosHTML::makeOption( '0', '- Select User -' ) ); + $database->setQuery( "SELECT id AS value, username AS text FROM #__users" + ."\n WHERE gid IN ($gids)" + . "\n ORDER BY name" ); + $recipients = array_merge( $recipients, $database->loadObjectList() ); + + $recipientslist = + mosHTML::selectList( + $recipients, + 'user_id_to', + 'class="inputbox" size="1"', + 'value', + 'text', + $user + ); + HTML_messages::newMessage($option, $recipientslist, $subject ); +} + +function saveMessage( $option ) { + global $database, $mainframe, $my, $mosConfig_absolute_path; + global $mosConfig_mailfrom, $mosConfig_fromname; + + require_once($mosConfig_absolute_path."/includes/mambofunc.php"); + + $row = new mosMessage( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + if (!$row->send()) { + mosRedirect( "index2.php?option=com_messages&mosmsg=" . $row->getError() ); + } + + $msg = $row->subject.' - '.$row->message; + + $sql = "SELECT a.id, a.name, a.email" + . "\nFROM #__users AS a" + . "\nWHERE a.sendEmail = '1'" + . "\nAND a.id = '".$row->user_id_to."'" + ; + $database->setQuery( $sql ); + $rows = $database->loadObjectList(); + + if ($rows) { + foreach($rows as $row){ + $recipient = $row->email; + $subject = "New private message from ".$row->name; + mosMail($mosConfig_mailfrom, $mosConfig_fromname, $recipient, $subject, $msg); + } + } + mosRedirect( "index2.php?option=com_messages" ); +} + +function showMessages( $option ) { + global $database, $mainframe, $my, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + $wheres = array(); + $wheres[] = " a.user_id_to='$my->id'"; + + if (isset($search) && $search!= "") { + $wheres[] = "(u.username LIKE '%$search%' OR email LIKE '%$search%' OR u.name LIKE '%$search%')"; + } + + $database->setQuery( "SELECT COUNT(*)" + . "\nFROM #__messages AS a" + . "\nINNER JOIN #__users AS u ON u.id = a.user_id_from" + . ($wheres ? " WHERE " . implode( " AND ", $wheres ) : "" ) + ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $database->setQuery( "SELECT a.*, u.name AS user_from" + . "\nFROM #__messages AS a" + . "\nINNER JOIN #__users AS u ON u.id = a.user_id_from" + . ($wheres ? " WHERE " . implode( " AND ", $wheres ) : "" ) + . "\nORDER BY date_time DESC" + . "\nLIMIT $pageNav->limitstart, $pageNav->limit" + ); + + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + HTML_messages::showMessages( $rows, $pageNav, $search, $option ); +} + +function viewMessage( $uid='0', $option ) { + global $database, $my, $acl; + + $row = null; + $database->setQuery( "SELECT a.*, u.name AS user_from" + . "\nFROM #__messages AS a" + . "\nINNER JOIN #__users AS u ON u.id = a.user_id_from" + . "\nWHERE a.message_id='$uid'" + . "\nORDER BY date_time DESC" + ); + $database->loadObject( $row ); + + $database->setQuery( "UPDATE #__messages SET state='1' WHERE message_id='$uid'" ); + $database->query(); + + HTML_messages::viewMessage( $row, $option ); +} + +function removeMessage( $cid, $option ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__messages WHERE message_id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + } + } + + $limit = intval( mosGetParam( $_REQUEST, 'limit', 10 ) ); + $limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) ); + mosRedirect( "index2.php?option=$option&limit=$limit&limitstart=$limitstart" ); +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_messages/index.html 4.6-complete/uploadfiles/administrator/components/com_messages/index.html --- 4.6rc2/uploadfiles/administrator/components/com_messages/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_messages/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_messages/toolbar.messages.html.php 4.6-complete/uploadfiles/administrator/components/com_messages/toolbar.messages.html.php --- 4.6rc2/uploadfiles/administrator/components/com_messages/toolbar.messages.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_messages/toolbar.messages.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,57 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_messages/toolbar.messages.php 4.6-complete/uploadfiles/administrator/components/com_messages/toolbar.messages.php --- 4.6rc2/uploadfiles/administrator/components/com_messages/toolbar.messages.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_messages/toolbar.messages.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,38 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + + case "view": + TOOLBAR_messages::_VIEW(); + break; + + case "new": + case "edit": + case "reply": + TOOLBAR_messages::_EDIT(); + break; + + case "config": + TOOLBAR_messages::_CONFIG(); + break; + + default: + TOOLBAR_messages::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_modules/admin.modules.html.php 4.6-complete/uploadfiles/administrator/components/com_modules/admin.modules.html.php --- 4.6rc2/uploadfiles/administrator/components/com_modules/admin.modules.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_modules/admin.modules.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,407 @@ + +
    + + + + + + + + + + + +
    + [ ] + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + id; + + $access = mosCommonHTML::AccessProcessing( $row, $i ); + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + $published = mosCommonHTML::PublishedProcessing( $row, $i ); + ?> + "> + + + + + + + + + + + + + + + + +
    # + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + + + +
    + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->title; + } else { + ?> + + title; ?> + + + + + + orderUpIcon( $i, ($row->position == @$rows[$i-1]->position) ); ?> + + orderDownIcon( $i, $n, ($row->position == @$rows[$i+1]->position) ); ?> + + + + + + position; ?> + + pages )) { + echo T_('None'); + } else if ($row->pages > 0) { + echo T_('Varies'); + } else { + echo T_('All'); + } + ?> + + id;?> + + module ? $row->module : T_("User");?> +
    + + getListFooter(); ?> + + + + + + +
    + $row is passed with the id + * property set to 0. + * @param mosCategory The category object + * @param array

    The modules of the left side. The array elements are in the form + * $leftorder[order] = label + * where order is the module order from the db table and label is a + * text label associciated with the order.

    + * @param array See notes for leftorder + * @param array An array of select lists + * @param object Parameters + */ + function editModule( &$row, &$orders2, &$lists, &$params, $option ) { + global $mosConfig_live_site; + + $row->titleA = ''; + if ( $row->id ) { + $row->titleA = '[ '. $row->title .' ]'; + } + + mosCommonHTML::loadOverlib(); + ?> + + + + + +
    + + + + id ? T_('Edit') : T_('New');?> + + titleA; ?> +
    + +
    + + + + + + + module == "") { + ?> + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    +
    + + + id; ?> +
    + + + description; ?> +
    + + + + + + + + +
    + +
    + render();?> +
    +
    + + + + + + + +
    + +
    + +
    + +
    +
    + + + + + + + + +
    + +
    + + + content , 'content', '700', '350', '95', '30' ) ; ?> +
    +
    + + + + + + + + client_id || $lists['client_id'] ) { + echo ''; + } + ?> +
    + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_modules/admin.modules.php 4.6-complete/uploadfiles/administrator/components/com_modules/admin.modules.php --- 4.6rc2/uploadfiles/administrator/components/com_modules/admin.modules.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_modules/admin.modules.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,616 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'modules', 'all' ) | $acl->acl_check( 'administration', 'install', 'users', $my->usertype, 'modules', 'all' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); + +$client = mosGetParam( $_REQUEST, 'client', '' ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +$moduleid = mosGetParam( $_REQUEST, 'moduleid', null ); +if ($cid[0] == 0 && isset($moduleid) ) { + $cid[0] = $moduleid; +} + +switch ( $task ) { + case 'copy': + copyModule( $option, intval( $cid[0] ), $client ); + break; + + case 'new': + editModule( $option, 0, $client ); + break; + + case 'edit': + editModule( $option, $cid[0], $client ); + break; + + case 'editA': + editModule( $option, $id, $client ); + break; + + case 'save': + case 'apply': + mosCache::cleanCache( 'com_content' ); + saveModule( $option, $client, $task ); + break; + + case 'remove': + removeModule( $cid, $option, $client ); + break; + + case 'cancel': + cancelModule( $option, $client ); + break; + + case 'publish': + case 'unpublish': + mosCache::cleanCache( 'com_content' ); + publishModule( $cid, ($task == 'publish'), $option, $client ); + break; + + case 'orderup': + case 'orderdown': + orderModule( $cid[0], ($task == 'orderup' ? -1 : 1), $option, $client ); + break; + + case 'accesspublic': + case 'accessregistered': + case 'accessspecial': + accessMenu( $cid[0], $task, $option, $client ); + break; + + case 'saveorder': + saveOrder( $cid, $client ); + break; + + default: + viewModules( $option, $client ); + break; +} + +/** +* Compiles a list of installed or defined modules +*/ +function viewModules( $option, $client ) { + global $database, $my, $mainframe, $mosConfig_list_limit, $mosConfig_absolute_path; + + $filter_position = $mainframe->getUserStateFromRequest( "filter_position{$option}{$client}", 'filter_position', 0 ); + $filter_type = $mainframe->getUserStateFromRequest( "filter_type{$option}{$client}", 'filter_type', 0 ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}{$client}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + if ($client == 'admin') { + $where[] = "m.client_id = '1'"; + $client_id = 1; + } else { + $where[] = "m.client_id = '0'"; + $client_id = 0; + } + + // used by filter + if ( $filter_position ) { + $where[] = "m.position = '$filter_position'"; + } + if ( $filter_type ) { + $where[] = "m.module = '$filter_type'"; + } + if ( $search ) { + $where[] = "LOWER( m.title ) LIKE '%$search%'"; + } + + // get the total number of records + $query = "SELECT COUNT(*) FROM #__modules AS m ". ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ); + $database->setQuery( $query ); + $total = $database->loadResult(); + + require_once( $mosConfig_absolute_path . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $database->setQuery( "SELECT m.*, u.name AS editor, g.name AS groupname, MIN(mm.menuid) AS pages" + . "\n FROM #__modules AS m" + . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" + . "\n LEFT JOIN #__groups AS g ON g.id = m.access" + . "\n LEFT JOIN #__modules_menu AS mm ON mm.moduleid=m.id" + . ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ) + . "\n GROUP BY m.id" + . "\n ORDER BY position ASC, ordering ASC" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ); + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + // get list of Positions for dropdown filter + $query = "SELECT t.position AS value, t.position AS text" + . "\n FROM #__template_positions as t" + . "\n LEFT JOIN #__modules AS m ON m.position = t.position" + . "\n WHERE m.client_id = '$client_id'" + . "\n GROUP BY t.position" + . "\n ORDER BY t.position" + ; + $positions[] = mosHTML::makeOption( '0', T_('- All Positions -') ); + $database->setQuery( $query ); + $positions = array_merge( $positions, $database->loadObjectList() ); + $lists['position'] = mosHTML::selectList( $positions, 'filter_position', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', "$filter_position" ); + + // get list of Positions for dropdown filter + $query = "SELECT module AS value, module AS text" + . "\n FROM #__modules" + . "\n WHERE client_id = '$client_id'" + . "\n GROUP BY module" + . "\n ORDER BY module" + ; + $types[] = mosHTML::makeOption( '0', T_('- All Types -') ); + $database->setQuery( $query ); + $types = array_merge( $types, $database->loadObjectList() ); + $lists['type'] = mosHTML::selectList( $types, 'filter_type', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', "$filter_type" ); + + HTML_modules::showModules( $rows, $my->id, $client, $pageNav, $option, $lists, $search ); +} + +/** +* Compiles information to add or edit a module +* @param string The current GET/POST option +* @param integer The unique id of the record to edit +*/ +function copyModule( $option, $uid, $client ) { + global $database, $my; + + $row = new mosModule( $database ); + // load the row from the db table + $row->load( $uid ); + $row->title = 'Copy of '.$row->title; + $row->id = 0; + $row->iscore = 0; + $row->published = 0; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + if ($client == 'admin') { + $where = "client_id='1'"; + } else { + $where = "client_id='0'"; + } + $row->updateOrder( "position='$row->position' AND ($where)" ); + + $database->setQuery( "SELECT menuid FROM #__modules_menu WHERE moduleid='$uid'" ); + $rows = $database->loadResultArray(); + + foreach($rows as $menuid) { + $database->setQuery( "INSERT INTO #__modules_menu" + . "\nSET moduleid='$row->id', menuid='$menuid'" + ); + $database->query(); + } + + $msg = sprintf(T_('Module Copied [%s]'), $row->title); + mosRedirect( 'index2.php?option='. $option .'&client='. $client, $msg ); +} + +/** +* Saves the module after an edit form submit +*/ +function saveModule( $option, $client, $task ) { + global $database; + + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ($params as $k=>$v) { + $txt[] = "$k=$v"; + } + $_POST['params'] = mosParameters::textareaHandling( $txt ); + } + + $row = new mosModule( $database ); + if (!$row->bind( $_POST, 'selections' )) { + echo "\n"; + exit(); + } + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + if ($client == 'admin') { + $where = "client_id='1'"; + } else { + $where = "client_id='0'"; + } + $row->updateOrder( "position='$row->position' AND ($where)" ); + + $menus = mosGetParam( $_POST, 'selections', array() ); + + $database->setQuery( "DELETE FROM #__modules_menu WHERE moduleid='$row->id'" ); + $database->query(); + + foreach ($menus as $menuid){ + // this check for the blank spaces in the select box that have been added for cosmetic reasons + if ( $menuid <> "-999" ) { + $query = "INSERT INTO #__modules_menu SET moduleid='$row->id', menuid='$menuid'"; + $database->setQuery( $query ); + $database->query(); + } + } + + + switch ( $task ) { + case 'apply': + $msg = sprintf(T_('Successfully Saved changes to Module: %s'), $row->title) ; + mosRedirect( 'index2.php?option='. $option .'&client='. $client .'&task=editA&hidemainmenu=1&id='. $row->id, $msg ); + break; + + case 'save': + default: + $msg = sprintf(T_('Successfully Saved Module: %s'), $row->title); + mosRedirect( 'index2.php?option='. $option .'&client='. $client, $msg ); + break; + } +} + +/** +* Compiles information to add or edit a module +* @param string The current GET/POST option +* @param integer The unique id of the record to edit +*/ +function editModule( $option, $uid, $client ) { + global $database, $my, $mainframe; + global $mosConfig_absolute_path; + + $lists = array(); + $row = new mosModule( $database ); + // load the row from the db table + $row->load( $uid ); + // fail if checked out not by 'me' + if ( $row->checked_out && $row->checked_out <> $my->id ) { + echo "\n"; + exit(0); + } + + $row->content = htmlspecialchars( str_replace( '&', '&', $row->content ) ); + + if ( $uid ) { + $row->checkout( $my->id ); + } + // if a new record we must still prime the mosModule object with a default + // position and the order; also add an extra item to the order list to + // place the 'new' record in last position if desired + if ($uid == 0) { + $row->position = 'left'; + $row->showtitle = true; + //$row->ordering = $l; + $row->published = 1; + } + + + if ( $client == 'admin' ) { + $where = "client_id='1'"; + $lists['client_id'] = 1; + $path = 'mod1_xml'; + } else { + $where = "client_id='0'"; + $lists['client_id'] = 0; + $path = 'mod0_xml'; + } + + $query = "SELECT position, ordering, showtitle, title" + . "\n FROM #__modules" + . "\n WHERE ". $where + . "\n ORDER BY ordering" + ; + + $database->setQuery( $query ); + if ( !($orders = $database->loadObjectList()) ) { + echo $database->stderr(); + return false; + } + + $query = "SELECT position, description" + . "\n FROM #__template_positions" + . "\n WHERE position <> ''" + ; + $database->setQuery( $query ); + // hard code options for now + $positions = $database->loadObjectList(); + + $orders2 = array(); + $pos = array(); + foreach ($positions as $position) { + $orders2[$position->position] = array(); + $pos[] = mosHTML::makeOption( $position->position, $position->description ); + } + + $l = 0; + $r = 0; + for ($i=0, $n=count( $orders ); $i < $n; $i++) { + $ord = 0; + if (array_key_exists( $orders[$i]->position, $orders2 )) { + $ord =count( array_keys( $orders2[$orders[$i]->position] ) ) + 1; + } + + $orders2[$orders[$i]->position][] = mosHTML::makeOption( $ord, $ord.'::'.addslashes( $orders[$i]->title ) ); + } + + // build the html select list + $pos_select = 'onchange="changeDynaList(\'ordering\',orders,document.adminForm.position.options[document.adminForm.position.selectedIndex].value, originalPos, originalOrder)"'; + $active = ( $row->position ? $row->position : 'left' ); + $lists['position'] = mosHTML::selectList( $pos, 'position', 'class="inputbox" size="1" '. $pos_select, 'value', 'text', $active ); + + // get selected pages for $lists['selections'] + if ( $uid ) { + $query = 'SELECT menuid AS value FROM #__modules_menu WHERE moduleid='. $row->id; + $database->setQuery( $query ); + $lookup = $database->loadObjectList(); + } else { + $lookup = array( mosHTML::makeOption( 0, 'All' ) ); + } + + if ( $row->access == 99 || $row->client_id == 1 || $lists['client_id'] ) { + $lists['access'] = T_('Administrator').''; + $lists['showtitle'] = T_('N/A').' '; + $lists['selections'] = T_('N/A'); + } else { + if ( $client == 'admin' ) { + $lists['access'] = T_('N/A'); + $lists['selections'] = T_('N/A'); + } else { + $lists['access'] = mosAdminMenus::Access( $row ); + $lists['selections'] = mosAdminMenus::MenuLinks( $lookup, 1, 1 ); + } + $lists['showtitle'] = mosHTML::yesnoRadioList( 'showtitle', 'class="inputbox"', $row->showtitle ); + } + + // build the html select list for published + $lists['published'] = mosAdminMenus::Published( $row ); + + // xml file for module + $xmlfile = $mainframe->getPath( $path, $row->module ); + if ($xmlfile) { + $xmlparser =& new mosXMLDescription ($xmlfile); + $row->description = $xmlparser->getDescription('module'); + } else { + $row->description = ''; + } + + // get params definitions + $params =& new mosAdminParameters( $row->params, $xmlfile, 'module' ); + + HTML_modules::editModule( $row, $orders2, $lists, $params, $option ); +} + +/** +* Deletes one or more modules +* +* Also deletes associated entries in the #__module_menu table. +* @param array An array of unique category id numbers +*/ +function removeModule( &$cid, $option, $client ) { + global $database, $my; + + if (count( $cid ) < 1) { + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $database->setQuery( "SELECT id, module, title, iscore, params FROM #__modules WHERE id IN ($cids)" ); + if (!($rows = $database->loadObjectList())) { + echo "\n"; + exit; + } + + $err = array(); + $cid = array(); + foreach ($rows as $row) { + if ($row->module == '' || $row->iscore == 0) { + $cid[] = $row->id; + } else { + $err[] = $row->title; + } + // mod_mainmenu modules only deletable via Menu Manager + if ( $row->module == 'mod_mainmenu' ) { + if ( strstr( $row->params, 'mainmenu' ) ) { + echo "\n"; + exit; + } + } + } + + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__modules WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + exit; + } + $database->setQuery( "DELETE from #__modules_menu WHERE moduleid IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + exit; + } + $mod = new mosModule( $database ); + $mod->ordering = 0; + $mod->updateOrder( "position='left'" ); + $mod->updateOrder( "position='right'" ); + } + + if (count( $err )) { + $cids = addslashes( implode( "', '", $err ) ); + echo "\n"; + } + + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); +} + +/** +* Publishes or Unpublishes one or more modules +* @param array An array of unique record id numbers +* @param integer 0 if unpublishing, 1 if publishing +*/ +function publishModule( $cid=null, $publish=1, $option, $client ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $publish ? T_('publish' ): T_('unpublish'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "UPDATE #__modules SET published='$publish'" + . "\n WHERE id IN ($cids)" + . "\n AND (checked_out=0 OR (checked_out='$my->id'))" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosModule( $database ); + $row->checkin( $cid[0] ); + } + + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); +} + +/** +* Cancels an edit operation +*/ +function cancelModule( $option, $client ) { + global $database; + + $row = new mosModule( $database ); + // ignore array elements + $row->bind( $_POST, 'selections params' ); + $row->checkin(); + + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); +} + +/** +* Moves the order of a record +* @param integer The unique id of record +* @param integer The increment to reorder by +*/ +function orderModule( $uid, $inc, $option ) { + global $database; + + $client = mosGetParam( $_POST, 'client', '' ); + + $row = new mosModule( $database ); + $row->load( $uid ); + if ($client == 'admin') { + $where = "client_id='1'"; + } else { + $where = "client_id='0'"; + } + + $row->move( $inc, "position='$row->position' AND ($where)" ); + if ( $client ) { + $client = '&client=admin' ; + } else { + $client = ''; + } + + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); +} + +/** +* changes the access level of a record +* @param integer The increment to reorder by +*/ +function accessMenu( $uid, $access, $option, $client ) { + global $database; + + switch ( $access ) { + case 'accesspublic': + $access = 0; + break; + + case 'accessregistered': + $access = 1; + break; + + case 'accessspecial': + $access = 2; + break; + } + + $row = new mosModule( $database ); + $row->load( $uid ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); +} + +function saveOrder( &$cid, $client ) { + global $database; + $order = mosGetParam( $_POST, 'order', array(0) ); + $row = new mosMenu( $database ); + $positions = array(); + // update ordering values + foreach ($cid as $i=>$ciditem) { + $row->load( $ciditem ); + if ($row->ordering != $order[$i]) { + $row->ordering = $order[$i]; + if (!$row->store()) { + echo "\n"; + exit(); + } + // remember to updateOrder this group + $positions[$row->position][$row->client_id] = $row->id; + } + } + // execute updateOrder for each group + foreach ($positions as $position=>$clients) { + foreach ($clients as $client=>$rowid) { + $row->updateOrder("position = '$position' AND client_id = '$client'"); + } + } // foreach + + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_modules&client='. $client, $msg ); +} // saveOrder +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_modules/index.html 4.6-complete/uploadfiles/administrator/components/com_modules/index.html --- 4.6rc2/uploadfiles/administrator/components/com_modules/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_modules/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_modules/toolbar.modules.html.php 4.6-complete/uploadfiles/administrator/components/com_modules/toolbar.modules.html.php --- 4.6rc2/uploadfiles/administrator/components/com_modules/toolbar.modules.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_modules/toolbar.modules.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,86 @@ + + <?php echo T_('Preview') ?>
    + setQuery('select module from #__modules where id = '.$cid); + $result = substr($database->loadResult(), 4); + + mosMenuBar::help( $result ? $result : 'edit' ); + mosMenuBar::endTable(); + } + function _DEFAULT() { + mosMenuBar::startTable(); + mosMenuBar::publishList(); + mosMenuBar::spacer(); + mosMenuBar::unpublishList(); + mosMenuBar::spacer(); + mosMenuBar::custom( 'copy', 'copy.png', 'copy_f2.png', T_('Copy'), true ); + mosMenuBar::spacer(); + mosMenuBar::addNewX(); + mosMenuBar::spacer(); + mosMenuBar::editListX(); + mosMenuBar::spacer(); + mosMenuBar::deleteList(); + mosMenuBar::spacer(); + mosMenuBar::help( 'admin.manager' ); + mosMenuBar::endTable(); + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_modules/toolbar.modules.php 4.6-complete/uploadfiles/administrator/components/com_modules/toolbar.modules.php --- 4.6rc2/uploadfiles/administrator/components/com_modules/toolbar.modules.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_modules/toolbar.modules.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,46 @@ +getPath( 'toolbar_html' ) ); +switch ($task) { + + case 'editA': + case 'edit': + $cid = mosGetParam( $_POST, 'cid', 0 ); + if ( !is_array( $cid ) ){ + $mid = mosGetParam( $_POST, 'id', 0 );; + } else { + $mid = $cid[0]; + } + + $published = 0; + if ( $mid ) { + $query = "SELECT published FROM #__modules WHERE id='$mid'"; + $database->setQuery( $query ); + $published = $database->loadResult(); + } + $cur_template = $mainframe->getTemplate(); + TOOLBAR_modules::_EDIT( $cur_template, $published ); + break; + + case 'new': + TOOLBAR_modules::_NEW(); + break; + + default: + TOOLBAR_modules::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/admin.mostlyce.html.php 4.6-complete/uploadfiles/administrator/components/com_mostlyce/admin.mostlyce.html.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/admin.mostlyce.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/admin.mostlyce.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,398 @@ + + + + + + +
    + MOStlyCE Configuration : + + mostlyce_config.php is : + Writeable' : 'Unwriteable'?> + +
    + +
    + startPane("mosCE"); + $tabs->startTab(_EDITOR_OPTIONS,"editor_options"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    The URL specified in $mosConfig_live_site in configuration.php is
    + You MUST access this site from this exact URL when editing content. +
    + : +
    + : + +
    + : +
    + : +
    + : + +
    + : + + + +
    + : + +
    + : + +
    + : + +   + + +
    + : + +   + + + +
    + : + + +
    + : + + +
    + : +
    + endTab(); + $tabs->startTab(_EDITOR_LAYOUT,"editor_layout"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Preview : +
    +
    + editor_layout_row1); + foreach ($row_buttons1 as $btnImg1){ + echo''.$btnImg1.''; + }?>
    +
    + editor_layout_row2); + foreach ($row_buttons2 as $btnImg2){ + echo''.$btnImg2.''; + }?>
    +
    + editor_layout_row3); + foreach ($row_buttons3 as $btnImg3){ + echo''.$btnImg3.''; + }?>
    +
    + editor_layout_row4); + foreach ($row_buttons4 as $btnImg4){ + echo''.$btnImg4.''; + }?>
    +
    +
    + : + +  px +
    + : + +  px +
    + +
    + : +
    + : +
    + : +
    + : +
    + endTab(); + $tabs->startTab(_EDITOR_PLUGINS,"editor_plugins"); + ?> + + + + +
    Note: Disabling these may speed up the editor since there is less to load, + but it will also mean the editor has less functionality. If you disable plugins you'll probably want to + rearrange your plugin icon layout as well."; ?> +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + : + + +
    + : + + + +
    + : + + + +
    + : + + +
    + : + + +
    + : + + +
    + : + + +
    + : +
    + : +
    + : + + + +
    + : +
    + : + + + +
    + endTab(); + $tabs->startTab(_EDITOR_EDITOR_INFO,"editor_info2"); + ?> + + + + +
    + +
    + endTab(); + $tabs->endPane(); + ?> + + + +
    + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/admin.mostlyce.php 4.6-complete/uploadfiles/administrator/components/com_mostlyce/admin.mostlyce.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/admin.mostlyce.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/admin.mostlyce.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,251 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) + | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_mostlyce' ))) { + mosRedirect( 'index2.php', _NOT_AUTH ); +} +if (file_exists($mosConfig_absolute_path.'/administrator/components/com_mostlyce/language/'.$mosConfig_lang.'.php')){ + include ($mosConfig_absolute_path.'/administrator/components/com_mostlyce/language/'.$mosConfig_lang.'.php'); +}else{ + include ($mosConfig_absolute_path.'/administrator/components/com_mostlyce/language/english.php'); +} + +if (!file_exists($mosConfig_absolute_path.'/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php')){ + mosRedirect( 'index2.php', _EDITOR_NO_CONFIG); +} + +include($mosConfig_absolute_path.'/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php'); + +class mosCE_Config extends mosDBTable { + /** @var int */ + var $editor_themes=null; + var $editor_compression=null; + var $editor_lang=null; + var $editor_lang_list=null; + var $editor_width=null; + var $editor_height=null; + var $editor_css_override=null; + var $editor_custom_css=null; + var $editor_newlines=null; + var $editor_convert_urls=null; + var $editor_script_acl=null; + var $editor_script_elms; + var $editor_iframe_acl=null; + var $editor_iframe_elms; + var $editor_xtd_elms=null; + var $editor_direction=null; + var $editor_preview_bgcolor=null; + var $editor_extra_plugins=null; + var $editor_font_tools_acl=null; + var $editor_plugin_datetime_acl=null; + var $editor_plugin_dateformat=null; + var $editor_plugin_timeformat=null; + var $editor_plugin_emotions_acl=null; + var $editor_plugin_print=null; + var $editor_plugin_searchreplace=null; + var $editor_plugin_flash_acl=null; + var $editor_plugin_table_acl=null; + var $editor_plugin_spellchecker=null; + var $editor_plugin_layer=null; + var $editor_layout_row1=null; + var $editor_layout_row2=null; + var $editor_layout_row3=null; + var $editor_layout_row4=null; + var $editor_tmpl_dir=null; + + function mosCE_Config() { + $this->_alias = array( + 'editor_themes' =>'editor_themes', + 'editor_compression' =>'editor_compression', + 'editor_lang' =>'editor_lang', + 'editor_lang_list' =>'editor_lang_list', + 'editor_width' =>'editor_width', + 'editor_height' =>'editor_height', + 'editor_css_override' =>'editor_css_override', + 'editor_custom_css' =>'editor_custom_css', + 'editor_newlines' =>'editor_newlines', + 'editor_convert_urls' =>'editor_convert_urls', + 'editor_script_acl' =>'editor_script_acl', + 'editor_script_elms' =>'editor_script_elms', + 'editor_iframe_acl' =>'editor_iframe_acl', + 'editor_iframe_elms' =>'editor_iframe_elms', + 'editor_xtd_elms' =>'editor_xtd_elms', + 'editor_direction' =>'editor_direction', + 'editor_extra_plugins' =>'editor_extra_plugins', + 'editor_font_tools_acl' =>'editor_font_tools_acl', + 'editor_plugin_datetime_acl' =>'editor_plugin_datetime_acl', + 'editor_plugin_dateformat' =>'editor_plugin_dateformat', + 'editor_plugin_timeformat' =>'editor_plugin_timeformat', + 'editor_plugin_emotions_acl' =>'editor_plugin_emotions_acl', + 'editor_plugin_print' =>'editor_plugin_print', + 'editor_plugin_searchreplace' =>'editor_plugin_searchreplace', + 'editor_plugin_flash_acl' =>'editor_plugin_flash_acl', + 'editor_plugin_table_acl' =>'editor_plugin_table_acl', + 'editor_plugin_spellchecker' =>'editor_plugin_spellchecker', + 'editor_plugin_layer' =>'editor_plugin_layer', + 'editor_layout_row1' =>'editor_layout_row1', + 'editor_layout_row2' =>'editor_layout_row2', + 'editor_layout_row3' =>'editor_layout_row3', + 'editor_layout_row4' =>'editor_layout_row4', + 'editor_tmpl_dir' =>'editor_tmpl_dir' + ); + } + + function getVarText() { + $txt = ''; + foreach ($this->_alias as $k=>$v) { + $txt .= "\$$v = '".addslashes( $this->$k )."';\n"; + } + return $txt; + } + + function bindGlobals() { + foreach ($this->_alias as $k=>$v) { + if(isset($GLOBALS[$v])) + $this->$k = $GLOBALS[$v]; + else + $this->$k = ""; + } + } +} + +require_once( 'components/com_mostlyce/admin.mostlyce.html.php' ); +$confightml = new HTML_expConfig(); + +switch ($task) { + case 'save': + saveconfig(); + break; + case 'config': + showconfig($confightml, $database, $option); + break; + default: + showconfig($confightml, $database, $option); + break; +} + +function showconfig($confightml, &$database, $option) { + global $database, $mosConfig_absolute_path; + $row = new mosCE_Config(); + $row->bindGlobals(); + + // compile list of the languages + $editor_lang = array(); + + if ($handle=opendir( "$mosConfig_absolute_path/mambots/editors/mostlyce/jscripts/tiny_mce/langs/" )) { + $i=0; + while (false !== ($file = readdir($handle))) { + if ($file <> "." && $file <> "..") { + $editor_lang[] = mosHTML::makeOption( substr($file,0,-3) ); + } + } + closedir($handle); + } + + // sort list of languages + sort($editor_lang); + reset($editor_lang); + + $lists = array(); + + $editor_newlines = array( + mosHTML::makeOption( 'br', _EDITOR_BR_ELEM ), + mosHTML::makeOption( 'p', _EDITOR_P_ELEM ) + ); + + $editor_themes = array( + mosHTML::makeOption( 'advanced', _EDITOR_ADVANCED ), + mosHTML::makeOption( 'simple', _EDITOR_SIMPLE ) + ); + + $editor_compression = array( + mosHTML::makeOption( 'true', _EDITOR_ON ), + mosHTML::makeOption( 'false', _EDITOR_OFF ) + ); + + $editor_direction = array( + mosHTML::makeOption( 'ltr', _EDITOR_LTR ), + mosHTML::makeOption( 'rtl', _EDITOR_RTL ) + ); + + //No specific, used by several plugins + $editor_true_false = array( + mosHTML::makeOption( 'true', _EDITOR_YES ), + mosHTML::makeOption( 'false', _EDITOR_NO ) + ); + + $php_settings = new mosCE_Config(); + + // build the html select lists + //Standard Editor options + $lists['editor_themes'] = mosHTML::selectList( $editor_themes, 'editor_themes', 'class="inputbox" size="1"', 'value', 'text', $row->editor_themes ); + + $lists['editor_compression'] = mosHTML::selectList( $editor_compression, 'editor_compression', 'class="inputbox" size="1"', 'value', 'text', $row->editor_compression ); + + $lists['editor_lang'] = mosHTML::selectList( $editor_lang, 'editor_lang', 'class="inputbox" size="1"', 'value', 'text', $row->editor_lang ); + + $lists['editor_css_override'] = mosHTML::yesnoSelectList( 'editor_css_override', 'class="inputbox" size="1"', $row->editor_css_override ); + + $lists['editor_newlines'] = mosHTML::selectList( $editor_newlines, 'editor_newlines', 'class="inputbox" size="1"', 'value', 'text', $row->editor_newlines ); + + $lists['editor_convert_urls'] = mosHTML::selectList( $editor_true_false, 'editor_convert_urls', 'class="inputbox" size="1"', 'value', 'text', $row->editor_convert_urls ); + + $lists['editor_script_acl'] = mosHTML::selectList( $editor_true_false, 'editor_script_acl', 'class="inputbox" size="1"', 'value', 'text', $row->editor_script_acl ); + + $lists['editor_iframe_acl'] = mosHTML::selectList( $editor_true_false, 'editor_iframe_acl', 'class="inputbox" size="1"', 'value', 'text', $row->editor_iframe_acl ); + + $lists['editor_direction'] = mosHTML::selectList( $editor_direction, 'editor_direction', 'class="inputbox" size="1"', 'value', 'text', $row->editor_direction ); + + //Editor Plugin options + $lists['editor_font_tools_acl'] = mosHTML::selectList( $editor_true_false, 'editor_font_tools_acl', 'class="inputbox" size="1"', 'value', 'text', $row->editor_font_tools_acl ); + + $lists['editor_plugin_emotions_acl'] = mosHTML::selectList( $editor_true_false, 'editor_plugin_emotions_acl', 'class="inputbox" size="1"', 'value', 'text', $row->editor_plugin_emotions_acl ); + + $lists['editor_plugin_print'] = mosHTML::selectList( $editor_true_false, 'editor_plugin_print', 'class="inputbox" size="1"', 'value', 'text', $row->editor_plugin_print ); + + $lists['editor_plugin_searchreplace'] = mosHTML::selectList( $editor_true_false, 'editor_plugin_searchreplace', 'class="inputbox" size="1"', 'value', 'text', $row->editor_plugin_searchreplace ); + + $lists['editor_plugin_flash_acl'] = mosHTML::selectList( $editor_true_false, 'editor_plugin_flash_acl', 'class="inputbox" size="1"', 'value', 'text', $row->editor_plugin_flash_acl ); + + $lists['editor_plugin_datetime_acl'] = mosHTML::selectList( $editor_true_false, 'editor_plugin_datetime_acl', 'class="inputbox" size="1"', 'value', 'text', $row->editor_plugin_datetime_acl ); + + $lists['editor_plugin_table_acl'] = mosHTML::selectList( $editor_true_false, 'editor_plugin_table_acl', 'class="inputbox" size="1"', 'value', 'text', $row->editor_plugin_table_acl ); + + $lists['editor_plugin_spellchecker'] = mosHTML::selectList( $editor_true_false, 'editor_plugin_spellchecker', 'class="inputbox" size="1"', 'value', 'text', $row->editor_plugin_spellchecker ); + + $lists['editor_plugin_layer'] = mosHTML::selectList( $editor_true_false, 'editor_plugin_layer', 'class="inputbox" size="1"', 'value', 'text', $row->editor_plugin_layer ); + + $confightml->showconfig( $row, $lists, $option ); +} + +function saveconfig() { + global $database; + + $row = new mosCE_Config(); + + if (!$row->bind( $_POST )) { + mosRedirect( "index2.php?option=com_mostlyce", $row->getError() ); + } + + $config = "getVarText(); + $config .= '?>'; + + if ($fp = fopen('../mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php', 'w')) { + fputs($fp, $config, strlen($config)); + fclose ($fp); + + mosRedirect( 'index2.php?option=com_mostlyce&task=config', 'The configuration details have been updated!' ); + } else { + mosRedirect( 'index2.php?option=com_mostlyce&task=config', 'An Error Has Occurred! Unable to open config file to write!' ); + } +} +?> Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/absolute.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/absolute.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/anchor.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/anchor.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/backcolor.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/backcolor.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/bold.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/bold.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/bullist.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/bullist.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/caption.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/caption.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/charmap.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/charmap.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/cleanup.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/cleanup.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/code.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/code.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/copy.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/copy.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/cut.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/cut.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/emotions.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/emotions.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/filemanager.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/filemanager.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/flash.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/flash.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/fontselect.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/fontselect.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/fontsizeselect.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/fontsizeselect.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/forecolor.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/forecolor.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/formatselect.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/formatselect.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/fullscreen.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/fullscreen.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/help.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/help.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/hr.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/hr.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/htmltemplate.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/htmltemplate.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/image.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/image.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/imgmanager.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/imgmanager.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/indent.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/indent.gif differ diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/index.html 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/index.html --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/insertdate.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/insertdate.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/insertlayer.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/insertlayer.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/inserttime.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/inserttime.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/italic.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/italic.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/justifycenter.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/justifycenter.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/justifyfull.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/justifyfull.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/justifyleft.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/justifyleft.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/justifyright.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/justifyright.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/link.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/link.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/ltr.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/ltr.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/mosimage.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/mosimage.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/mospagebreak.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/mospagebreak.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/movebackward.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/movebackward.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/moveforward.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/moveforward.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/newdocument.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/newdocument.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/numlist.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/numlist.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/outdent.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/outdent.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/paste.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/paste.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/pastetext.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/pastetext.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/pasteword.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/pasteword.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/preview.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/preview.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/print.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/print.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/redo.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/redo.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/removeformat.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/removeformat.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/replace.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/replace.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/rtl.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/rtl.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/search.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/search.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/selectall.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/selectall.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/separator.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/separator.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/spellchecker.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/spellchecker.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/strikethrough.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/strikethrough.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/styleselect.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/styleselect.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/sub.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/sub.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/sup.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/sup.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/tablecontrols.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/tablecontrols.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/underline.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/underline.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/undo.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/undo.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/unlink.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/unlink.gif differ Binary files 4.6rc2/uploadfiles/administrator/components/com_mostlyce/images/visualaid.gif and 4.6-complete/uploadfiles/administrator/components/com_mostlyce/images/visualaid.gif differ diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/index.html 4.6-complete/uploadfiles/administrator/components/com_mostlyce/index.html --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/info/admin_info_english.txt 4.6-complete/uploadfiles/administrator/components/com_mostlyce/info/admin_info_english.txt --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/info/admin_info_english.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/info/admin_info_english.txt 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,10 @@ +MOStlyCE Admin 1.6
    + Admin Component for MOStlyCE
    +
    + Changelog from MOStlyCE Admin:
      +
    • Originally based on mosCE & mosCE Admin
    • +
    • Added the ability to toggle the editor theme (i.e.) simple or advanced
    • +
    • Added editor compression & option to enable or disable
    • +
    • Ability to enable / disable certain plugins as needed
    • +
    • Added date/time formatting option
    • +
    • Added experimental spellchecker & layer options
    • diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/info/index.html 4.6-complete/uploadfiles/administrator/components/com_mostlyce/info/index.html --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/info/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/info/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/language/english.php 4.6-complete/uploadfiles/administrator/components/com_mostlyce/language/english.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/language/english.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/language/english.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,119 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/language/index.html 4.6-complete/uploadfiles/administrator/components/com_mostlyce/language/index.html --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/language/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/language/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/mostlyce.xml 4.6-complete/uploadfiles/administrator/components/com_mostlyce/mostlyce.xml --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/mostlyce.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/mostlyce.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,96 @@ + + +mostlyce +1.7 +Sept 2006 +Chad Auld +cauld@mambo-foundation.org +http://opensourcepenguin.net +This component is released under the LGPL License + +Admin component for the MOStlyCE editor mambot. Helps customize your MOStlyCE editor installation.

      +]]> +
      + + MOStlyCE Admin + + admin.mostlyce.html.php + admin.mostlyce.php + index.html + mostlyce.xml + mostlyce_install.php + toolbar.mostlyce.html.php + toolbar.mostlyce.php + images/absolute.gif + images/anchor.gif + images/backcolor.gif + images/bold.gif + images/bullist.gif + images/caption.gif + images/charmap.gif + images/cleanup.gif + images/code.gif + images/copy.gif + images/cut.gif + images/emotions.gif + images/filemanager.gif + images/flash.gif + images/fontselect.gif + images/fontsizeselect.gif + images/forecolor.gif + images/formatselect.gif + images/fullscreen.gif + images/help.gif + images/hr.gif + images/htmltemplate.gif + images/image.gif + images/imgmanager.gif + images/indent.gif + images/index.html + images/insertdate.gif + images/insertlayer.gif + images/inserttime.gif + images/italic.gif + images/justifycenter.gif + images/justifyfull.gif + images/justifyleft.gif + images/justifyright.gif + images/link.gif + images/ltr.gif + images/mosimage.gif + images/mospagebreak.gif + images/movebackward.gif + images/moveforward.gif + images/newdocument.gif + images/numlist.gif + images/outdent.gif + images/paste.gif + images/pastetext.gif + images/pasteword.gif + images/preview.gif + images/print.gif + images/redo.gif + images/removeformat.gif + images/replace.gif + images/rtl.gif + images/search.gif + images/selectall.gif + images/separator.gif + images/spellchecker.gif + images/strikethrough.gif + images/styleselect.gif + images/sub.gif + images/sup.gif + images/tablecontrols.gif + images/underline.gif + images/undo.gif + images/unlink.gif + images/visualaid.gif + info/admin_info_english.txt + info/index.html + language/english.php + language/index.html + + +
      diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/mostlyce_install.php 4.6-complete/uploadfiles/administrator/components/com_mostlyce/mostlyce_install.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/mostlyce_install.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/mostlyce_install.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,5 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/toolbar.mostlyce.html.php 4.6-complete/uploadfiles/administrator/components/com_mostlyce/toolbar.mostlyce.html.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/toolbar.mostlyce.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/toolbar.mostlyce.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,22 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlyce/toolbar.mostlyce.php 4.6-complete/uploadfiles/administrator/components/com_mostlyce/toolbar.mostlyce.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlyce/toolbar.mostlyce.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlyce/toolbar.mostlyce.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,17 @@ +getPath( 'toolbar_html' ) ); + +//switch ( $task ) { + //case 'default': + TOOLBAR_mosceConfig::_CONFIG(); + // break; +//} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.html.php 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.html.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,229 @@ + + + + + +
      Database Backup
      +
      + + + + + + + + + + + + + + + + + +
      Where would you like to back up your Database Tables to?

      + + Display Results on the Screen
      + + Download to a file on my local computer
      + + Store the file in the backup directory on the server +
       What format would you like to save them as?

      + + As a Zip file
      + + As a BZip file
      + + As a GZip file
      + + As a SQL (plain text) file +
      + As formatted HTML

      What do you want to back up?

      + Data Only
      + Structure Only
      + Data and Structure

      +
       

      Which Database Tables would you like to back up?
      + Please note, it is highly recommended you select ALL your tables.

      + +
         
      +
      + + + + + +
      Database Restore
      + + > + + + + + + \n"; + } + } + } + } + else + { + echo "\t\t\n"; + } + @closedir($handle); + } + else + { + echo "\t\t\n"; + } + if ($uploads_okay) + { + ?> + + + + + + + + + + + + + + + +
      Existing Backups
       Backup File NameCreated Date/Time
      $file" . date("m/d/y H:i:sa", filemtime($local_backup_path . "/" . $file)) . "
      Error!
      Invalid or non-existant backup path in your configuration file :
      " . $local_backup_path . "/" . $file . "
      Error!
      Backup path in your configuration file has not been configured.

      Or alternatively, if you've downloaded a backup to your computer, you can restore from a local file :
       
       
        
      +   
       
      + + + + + + + + +
      + +
      + + + + + +
      Execute Query 
      + + + + + + + + + + + + + + + + 0) { + $n = count( $rows ); +?> + + + + +
      SQL:
      + + + Batch Mode +
      + + + + $value) { ?> + + + +"; + echo "\n "; + foreach($rows[$i] as $key => $value) { + echo "\n "; + } + echo "\n "; + } +?> +
      #
      $i$value
      +
      + + +
      + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,647 @@ +0) && (!($acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' )))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( "$mosConfig_absolute_path/administrator/includes/pcl/pclzip.lib.php" ); + +$task = mosGetParam( $_REQUEST, "task", "" ); +$file = mosGetParam( $_POST, "file", null ); +$upfile = mosGetParam($_FILES,"upfile",null); +$tables = mosGetParam( $_POST, "tables", null ); +$OutType = mosGetParam( $_POST, "OutType", null ); +$OutDest = mosGetParam( $_POST, "OutDest", null ); +$toBackUp = mosGetParam( $_POST, "toBackUp", null ); + +switch ($task) { + case "dbBackup": + dbBackup( $option); + break; + + case "doBackup": + doBackup( $tables,$OutType,$OutDest,$toBackUp,$_SERVER['HTTP_USER_AGENT'], $local_backup_path); + break; + + case "dbRestore": + dbRestore( $local_backup_path); + break; + + case "doRestore": + doRestore( $file,$upfile,$local_backup_path); + break; + + case "xquery": + xquery( $option ); + break; +} + + +function dbBackup( $p_option ) { + global $database; + + $database->setQuery( "SHOW tables" ); + $tables = $database->loadResultArray(); + $tables2 = array( mosHTML::makeOption( 'all', 'All Mambo Tables' ) ); + foreach ($tables as $table) { + $tables2[] = mosHTML::makeOption( $table ); + } + + $tablelist = mosHTML::selectList( $tables2, 'tables[]', 'class="inputbox" size="5" multiple="multiple"', + 'value', 'text', 'all' ); + + HTML_dbadmin::backupIntro( $tablelist, $p_option ); +} + +function doBackup( $tables, $OutType, $OutDest, $toBackUp, $UserAgent, $local_backup_path) { + global $database; + global $mosConfig_db, $mosConfig_sitename, $version,$option,$task; + + if (!$tables[0]) + { + HTML_dbadmin::showDbAdminMessage("Error! No database table(s) specified. Please select at least one table and re-try.

      ", "DB Admin",$option,$task); + return; + } + + /* Need to know what browser the user has to accomodate nonstandard headers */ + + if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $UserAgent)) { + $UserBrowser = "Opera"; + } + elseif (ereg('MSIE ([0-9].[0-9]{1,2})', $UserAgent)) { + $UserBrowser = "IE"; + } else { + $UserBrowser = ''; + } + + /* Determine the mime type and file extension for the output file */ + + if ($OutType == "bzip") { + $filename = $mosConfig_db . "_" . date("jmYHis") . ".bz2"; + $mime_type = 'application/x-bzip'; + } elseif ($OutType == "gzip") { + $filename = $mosConfig_db . "_" . date("jmYHis") . ".sql.gz"; + $mime_type = 'application/x-gzip'; + } elseif ($OutType == "zip") { + $filename = $mosConfig_db . "_" . date("jmYHis") . ".zip"; + $mime_type = 'application/x-zip'; + } elseif ($OutType == "html") { + $filename = $mosConfig_db . "_" . date("jmYHis") . ".html"; + $mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ? 'application/octetstream' : 'application/octet-stream'; + } else { + $filename = $mosConfig_db . "_" . date("jmYHis") . ".sql"; + $mime_type = ($UserBrowser == 'IE' || $UserBrowser == 'Opera') ? 'application/octetstream' : 'application/octet-stream'; + }; + + /* Store all the tables we want to back-up in variable $tables[] */ + + if ($tables[0] == "all") { + array_pop($tables); + $database->setQuery("SHOW tables"); + $database->query(); + $tables = array_merge($tables, $database->loadResultArray()); + } + + /* Store the "Create Tables" SQL in variable $CreateTable[$tblval] */ + if ($toBackUp!="data") + { + foreach ($tables as $tblval) + { + $database->setQuery("SHOW CREATE table $tblval"); + $database->query(); + $CreateTable[$tblval] = $database->loadResultArray(1); + } + } + + /* Store all the FIELD TYPES being backed-up (text fields need to be delimited) in variable $FieldType*/ + if ($toBackUp!="structure") + { + foreach ($tables as $tblval) + { + $database->setQuery("SHOW FIELDS FROM $tblval"); + $database->query(); + $fields = $database->loadObjectList(); + foreach($fields as $field) + { + $FieldType[$tblval][$field->Field] = preg_replace("/[(0-9)]/",'', $field->Type); + } + } + } + + /* Build the fancy header on the dump file */ + $OutBuffer = ""; + if ($OutType == 'html') { + } else { + $OutBuffer .= "#\n"; + $OutBuffer .= "# Mambo MySQL-Dump\n"; + $OutBuffer .= "# http://www.mambo-foundation.org\n"; + $OutBuffer .= "#\n"; + $OutBuffer .= "# Host: $mosConfig_sitename\n"; + $OutBuffer .= "# Generation Time: " . date("M j, Y \a\\t H:i") . "\n"; + $OutBuffer .= "# Server version: " . $database->getVersion() . "\n"; + $OutBuffer .= "# PHP Version: " . phpversion() . "\n"; + $OutBuffer .= "# Database : `" . $mosConfig_db . "`\n# --------------------------------------------------------\n"; + } + + /* Okay, here's the meat & potatoes */ + foreach ($tables as $tblval) { + if ($toBackUp != "data") { + if ($OutType == 'html') { + } else { + $OutBuffer .= "#\n# Table structure for table `$tblval`\n"; + $OutBuffer .= "#\nDROP table IF EXISTS $tblval;\n"; + $OutBuffer .= $CreateTable[$tblval][0].";\r\n"; + } + } + if ($toBackUp != "structure") { + if ($OutType == 'html') { + $OutBuffer .= "
      "; + $OutBuffer .= ""; + $database->setQuery("SELECT * FROM $tblval"); + $rows = $database->loadObjectList(); + + $OutBuffer .= ""; + if (count( $rows )) { + $OutBuffer .= ""; + foreach($rows[0] as $key => $value) { + $OutBuffer .= ""; + } + $OutBuffer .= ""; + } + + if ($rows) foreach($rows as $row) + { + $OutBuffer .= ""; + foreach (get_object_vars($row) as $key=>$value) + { + $value = addslashes( $value ); + $value = str_replace( "\n", '\r\n', $value ); + $value = str_replace( "\r", '', $value ); + + $value = htmlspecialchars( $value ); + + if (preg_match ("/\b" . $FieldType[$tblval][$key] . "\b/i", "DATE TIME DATETIME CHAR VARCHAR TEXT TINYTEXT MEDIUMTEXT LONGTEXT BLOB TINYBLOB MEDIUMBLOB LONGBLOB ENUM SET")) + { + $OutBuffer .= ""; + } + else + { + $OutBuffer .= ""; + } + } + $OutBuffer .= ""; + } + $OutBuffer .= "
      `$tblval`
      $key
      '$value'$value

      "; + } else { + $OutBuffer .= "#\n# Dumping data for table `$tblval`\n#\n"; + $database->setQuery("SELECT * FROM $tblval"); + $rows = $database->loadObjectList(); if (!$rows) $rows = array(); + foreach($rows as $row) + { + $InsertDump = "INSERT INTO $tblval VALUES ("; + //$arr = mosObjectToArray($row); + //foreach($arr as $key => $value) + foreach (get_object_vars($row) as $key=>$value) + { + $value = addslashes( $value ); + $value = str_replace( "\n", '\r\n', $value ); + $value = str_replace( "\r", '', $value ); + if (preg_match ("/\b" . $FieldType[$tblval][$key] . "\b/i", "DATE TIME DATETIME CHAR VARCHAR TEXT TINYTEXT MEDIUMTEXT LONGTEXT BLOB TINYBLOB MEDIUMBLOB LONGBLOB ENUM SET")) + { + $InsertDump .= "'$value',"; + } + else + { + $InsertDump .= "$value,"; + } + } + $OutBuffer .= rtrim($InsertDump,',') . ");\n"; + } + } + } + } + + /* Send the HTML headers */ + if ($OutDest == "remote") { + // dump anything in the buffer + @ob_end_clean(); + ob_start(); + header('Content-Type: ' . $mime_type); + header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + + if ($UserBrowser == 'IE') { + header('Content-Disposition: inline; filename="' . $filename . '"'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + } else { + header('Content-Disposition: attachment; filename="' . $filename . '"'); + header('Pragma: no-cache'); + } + } + + if ($OutDest == "screen" || $OutType == "html" ) { + if ($OutType == "html") { + echo $OutBuffer; + } else { + $OutBuffer = str_replace("<","<",$OutBuffer); + $OutBuffer = str_replace(">",">",$OutBuffer); + ?> +
      + +
      + +
      + File $local_backup_path/$filename not writable
      Please contact your admin/webmaster!

      ","DB Admin",$option,$task); + return; + } else { + fwrite($fp, $OutBuffer); + fclose($fp); + HTML_dbadmin::showDbAdminMessage("Database backup successful! Your file was saved on the server in directory :
      $local_backup_path/$filename

      ","DB Admin",$option,$task); + return; + } + } else { + echo $OutBuffer; + ob_end_flush(); + ob_start(); + // do no more + exit(); + } + break; + case "bzip" : + if (function_exists('bzcompress')) { + if ($OutDest == "local") { + $fp = fopen("$local_backup_path/$filename", "wb"); + if (!$fp) { + echo "

      Database backup FAILURE!!
      File $local_backup_path/$filename not writable
      Please contact your admin/webmaster!

      "; + } else { + fwrite($fp, bzcompress($OutBuffer)); + fclose($fp); + HTML_dbadmin::showDbAdminMessage("Database backup successful! Your file was saved on the server in directory :
      $local_backup_path/$filename

      ","DB Admin", $option,$task); + return; + } + } else { + echo bzcompress($OutBuffer); + ob_end_flush(); + ob_start(); + // do no more + exit(); + } + } else { + echo $OutBuffer; + } + break; + case "gzip" : + if (function_exists('gzencode')) { + if ($OutDest == "local") { + $fp = gzopen("$local_backup_path/$filename", "wb"); + if (!$fp) { + HTML_dbadmin::showDbAdminMessage("Database backup FAILURE!!
      File $local_backup_path/$filename not writable
      Please contact your admin/webmaster!

      ","DB Admin",$option,$task); + return; + } else { + gzwrite($fp,$OutBuffer); + gzclose($fp); + HTML_dbadmin::showDbAdminMessage("Database backup successful! Your file was saved on the server in directory :
      $local_backup_path/$filename

      ","DB Admin",$option,$task); + return; + } + } else { + echo gzencode($OutBuffer); + ob_end_flush(); + ob_start(); + // do no more + exit(); + } + } else { + echo $OutBuffer; + } + break; + case "zip" : + if (function_exists('gzcompress')) { + include "classes/zip.lib.php"; + $zipfile = new zipfile(); + $zipfile -> addFile($OutBuffer, $filename . ".sql"); + } + switch ($OutDest) { + case "local" : + $fp = fopen("$local_backup_path/$filename", "wb"); + if (!$fp) { + HTML_dbadmin::showDbAdminMessage("Database backup FAILURE!!
      File $local_backup_path/$filename not writable
      Please contact your admin/webmaster!

      ","DB Admin",$option,$task); + return; + } else { + fwrite($fp, $zipfile->file()); + fclose($fp); + HTML_dbadmin::showDbAdminMessage("Database backup successful! Your file was saved on the server in directory :
      $local_backup_path/$filename

      ","DB Admin",$option,$task); + return; + } + break; + case "remote" : + echo $zipfile->file(); + ob_end_flush(); + ob_start(); + // do no more + exit(); + break; + default : + echo $OutBuffer; + break; + } + break; + } +} + +function dbRestore( $local_backup_path) { + global $database; + + $uploads_okay = (function_exists('ini_get')) ? ((strtolower(ini_get('file_uploads')) == 'on' || ini_get('file_uploads') == 1) && intval(ini_get('upload_max_filesize'))) : (intval(@get_cfg_var('upload_max_filesize'))); + if ($uploads_okay) + { + $enctype = " enctype=\"multipart/form-data\""; + } + else + { + $enctype = ''; + } + + HTML_dbadmin::restoreIntro($enctype,$uploads_okay,$local_backup_path); +} + +function doRestore( $file, $uploadedFile, $local_backup_path ) { + global $database, $option,$task,$mosConfig_absolute_path; + + if(!is_null($uploadedFile) && is_array($uploadedFile) && $uploadedFile["name"] != "") + { + $base_Dir = $mosConfig_absolute_path . "/uploadfiles/"; + if (!move_uploaded_file($uploadedFile['tmp_name'], $base_Dir . $uploadedFile['name'])) + { + HTML_dbadmin::showDbAdminMessage("Error! could not move uploaded file.

      ","DB Admin - Restore",$option,$task); + return false; + } + + } + if ((!$file) && (!$uploadedFile['name'])) + { + HTML_dbadmin::showDbAdminMessage("Error! No restore file specified.

      ","DB Admin - Restore",$option,$task); + return; + } + + if ($file) + { + if (isset($local_backup_path)) + { + $infile = $local_backup_path . "/" . $file; + $upfileFull = $file; + $destfile = $mosConfig_absolute_path . "/uploadfiles/$file"; + + // If it's a zip file, we copy it so we can extract it + if(eregi(".\.zip$",$upfileFull)) + { + copy($infile,$destfile); + } + } + else + { + HTML_dbadmin::showDbAdminMessage("Error! Backup path in your configuration file has not been configured.

      ","DB Admin - Restore",$option,$task); + return; + } + } + else + { + + $upfileFull = $uploadedFile['name']; + $infile = $base_Dir . $uploadedFile['name']; + + } + + if (!eregi(".\.sql$",$upfileFull) && !eregi(".\.bz2$",$upfileFull) && !eregi(".\.gz$",$upfileFull) && !eregi(".\.zip$",$upfileFull)) + { + HTML_dbadmin::showDbAdminMessage("Error! Invalid file extension in input file ($upfileFull).
      Only *.sql, *.bz2, or *.gz files may be uploaded.

      ","DB Admin - Restore",$option,$task); + return; + } + + if (substr($upfileFull,-3)==".gz") + { + if (function_exists('gzinflate')) + { + $fp=fopen("$infile","rb"); + if ((!$fp) || filesize("$infile")==0) + { + HTML_dbadmin::showDbAdminMessage("Error! Unable to open input file ($infile) for reading or file contains no records.

      ","DB Admin - Restore",$option,$task); + return; + } + else + { + $content = fread($fp,filesize("$infile")); + fclose($fp); + $content = gzinflate(substr($content,10)); + } + } + else + { + HTML_dbadmin::showDbAdminMessage("Error! Unable to process gzip file as gzinflate function is unavailable.

      ","DB Admin - Restore",$option,$task); + return; + } + } + elseif (substr($upfileFull,-4)==".bz2") + { + if (function_exists('bzdecompress')) + { + $fp=fopen("$infile","rb"); + if ((!$fp) || filesize("$infile")==0) + { + HTML_dbadmin::showDbAdminMessage("Error! Unable to open input file ($infile) for reading or file contains no records.

      ","DB Admin - Restore",$option,$task); + return; + } + else + { + $content=fread($fp,filesize("$infile")); + fclose($fp); + $content=bzdecompress($content); + } + } + else + { + HTML_dbadmin::showDbAdminMessage("Error! Unable to process bzip file as bzdecompress function is unavailable.

      ","DB Admin - Restore",$option,$task); + return; + } + } + elseif (substr($upfileFull,-4)==".sql") + { +echo "trying to access $infile"; + $fp=fopen("$infile","r"); + if ((!$fp) || filesize("$infile")==0) + { + HTML_dbadmin::showDbAdminMessage("Error! Unable to open input file ($infile) for reading or file contains no records.

      ","DB Admin - Restore",$option,$task); + return; + } + else + { + $content=fread($fp,filesize("$infile")); + fclose($fp); + } + } + elseif (substr($upfileFull,-4)==".zip") + { + // unzip the file + $base_Dir = $mosConfig_absolute_path . "/uploadfiles/"; + $archivename = $base_Dir . $upfileFull; + $tmpdir = uniqid("dbrestore_"); + + $isWindows = (substr(PHP_OS, 0, 3) == 'WIN' && stristr ( $_SERVER["SERVER_SOFTWARE"], "microsoft")); + if($isWindows) + { + $extractdir = str_replace('/','\\',$base_Dir . "$tmpdir/"); + $archivename = str_replace('/','\\',$archivename); + } + else + { + $extractdir = str_replace('\\','/',$base_Dir . "$tmpdir/"); + $archivename = str_replace('\\','/',$archivename); + } + + $zipfile = new PclZip($archivename); + if($isWindows) + define('OS_WINDOWS',1); + + $ret = $zipfile->extract(PCLZIP_OPT_PATH,$extractdir); + if($ret == 0) + { + HTML_dbadmin::showDbAdminMessage("Unrecoverable error '".$zipfile->errorName(true)."'","DB Admin - Restore",$option,$task); + return false; + } + $filesinzip = $zipfile->listContent(); + if(is_array($filesinzip) && count($filesinzip) > 0) + { + $fp = fopen($extractdir . $filesinzip[0]["filename"],"r"); + $content = fread($fp,filesize($extractdir . $filesinzip[0]["filename"])); + fclose($fp); + + // Cleanup temp extract dir + deldir($extractdir); + //unlink($mosConfig_absolute_path . "uploadfiles/$file"); + + } + else + { + HTML_dbadmin::showDbAdminMessage("No SQL file found in $upfileFull","DB Admin - Restore",$option,$task); + return; + } + } + else + { + HTML_dbadmin::showDbAdminMessage("Error! Unrecognized input file type. ($infile : $upfileFull)

      ","DB Admin - Restore",$option,$task); + return; + } + + + $decodedIn = explode(chr(10),$content); + $decodedOut = ""; + $queries = 0; + + foreach ($decodedIn as $rawdata) + { + $rawdata=trim($rawdata); + if (($rawdata!="") && ($rawdata{0}!="#")) + { + $decodedOut .= $rawdata; + if (substr($rawdata,-1)==";") + { + if ((substr($rawdata,-2)==");") || (strtoupper(substr($decodedOut,0,6))!="INSERT")) + { + if (eregi('^(DROP|CREATE)[[:space:]]+(IF EXISTS[[:space:]]+)?(DATABASE)[[:space:]]+(.+)', $decodedOut)) + { + HTML_dbadmin::showDbAdminMessage("Error! Your input file contains a DROP or CREATE DATABASE statement. Please delete these statements before trying to restore the file.

      ","DB Admin - Restore",$option,$task); + return; + } + $database->setQuery($decodedOut); + $database->query(); + $decodedOut=""; + $queries++; + } + } + } + } + HTML_dbadmin::showDbAdminMessage("Success! Database has been restored to the backup you requested ($queries SQL queries processed).

      ","DB Admin - Restore",$option,$task); + return; +} + +function deldir($dir) +{ + $current_dir = opendir($dir); + while($entryname = readdir($current_dir)) + { + if(is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")) + { + deldir("${dir}/${entryname}"); + } + elseif($entryname != "." and $entryname!="..") + { + unlink("${dir}/${entryname}"); + } + } + closedir($current_dir); + rmdir($dir); +} + +function xquery( $option ) { + global $database; + + $rows = null; + $msg = ''; + $sql = trim( mosGetParam( $_POST, 'sql', '' ) ); + $batch = intval( mosGetParam( $_POST, 'batch', 0 ) ); + + $allowed = array( "CREATE", "SELECT", "INSERT", "UPDATE", "DROP", "ALTER" ); + $words = preg_split( "/\s+/", $sql ); + $cmd = strtoupper( $words[0] ); + + if ($sql == "") { + $msg = "The query was empty."; + } else if (!in_array( $cmd, $allowed)) { + $msg = "You are not permitted to execute a $cmd query"; + } else { + $database->setQuery( $sql ); + if ($batch) { + // run batch, don't abort on error + $r = $database->query_batch( false ); + } else { + $r = $database->query(); + } + if ($r) { + $msg = "The query executed successfully."; + $msg .= "
      " . intval( $database->getNumRows() ). " rows where affected."; + + if ($cmd == "SELECT") { + $rows = $database->loadObjectList(); + } + } else { + $msg = "The query was unsuccessful. It return the error code " . $database->getErrorNum(); + $msg .= "
      " . $database->getErrorMsg() . ""; + } + } + + HTML_dbadmin::xquery( $sql, $msg, $rows, $option ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/classes/zip.lib.php 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/classes/zip.lib.php --- 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/classes/zip.lib.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/classes/zip.lib.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,188 @@ + + * + * http://www.zend.com/codex.php?id=470&single=1 + * by Denis125 + * + * a patch from Peter Listiak for last modified + * date and time of the compressed file + * + * Official ZIP file format: http://www.pkware.com/appnote.txt + * + * @access public + */ +class zipfile +{ + /** + * Array to store compressed data + * + * @var array $datasec + */ + var $datasec = array(); + + /** + * Central directory + * + * @var array $ctrl_dir + */ + var $ctrl_dir = array(); + + /** + * End of central directory record + * + * @var string $eof_ctrl_dir + */ + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + + /** + * Last offset position + * + * @var integer $old_offset + */ + var $old_offset = 0; + + + /** + * Converts an Unix timestamp to a four byte DOS date and time format (date + * in high two bytes, time in low two bytes allowing magnitude comparison). + * + * @param integer the current Unix timestamp + * + * @return integer the current date in a four byte DOS format + * + * @access private + */ + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } // end if + + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } // end of the 'unix2DosTime()' method + + + /** + * Adds "file" to archive + * + * @param string file contents + * @param string name of the file in the archive (may contains the path) + * @param integer the current timestamp + * + * @access public + */ + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; // ver needed to extract + $fr .= "\x00\x00"; // gen purpose bit flag + $fr .= "\x08\x00"; // compression method + $fr .= $hexdtime; // last mod time and date + + // "local file header" segment + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); // fix crc bug + $c_len = strlen($zdata); + $fr .= pack('V', $crc); // crc32 + $fr .= pack('V', $c_len); // compressed filesize + $fr .= pack('V', $unc_len); // uncompressed filesize + $fr .= pack('v', strlen($name)); // length of filename + $fr .= pack('v', 0); // extra field length + $fr .= $name; + + // "file data" segment + $fr .= $zdata; + + // "data descriptor" segment (optional but necessary if archive is not + // served as file) + // nijel(2004-10-19): this seems not to be needed at all and causes + // problems in some cases (bug #1037737) + //$fr .= pack('V', $crc); // crc32 + //$fr .= pack('V', $c_len); // compressed filesize + //$fr .= pack('V', $unc_len); // uncompressed filesize + + // add this entry to array + $this -> datasec[] = $fr; + + // now add to central directory record + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; // version made by + $cdrec .= "\x14\x00"; // version needed to extract + $cdrec .= "\x00\x00"; // gen purpose bit flag + $cdrec .= "\x08\x00"; // compression method + $cdrec .= $hexdtime; // last mod time & date + $cdrec .= pack('V', $crc); // crc32 + $cdrec .= pack('V', $c_len); // compressed filesize + $cdrec .= pack('V', $unc_len); // uncompressed filesize + $cdrec .= pack('v', strlen($name) ); // length of filename + $cdrec .= pack('v', 0 ); // extra field length + $cdrec .= pack('v', 0 ); // file comment length + $cdrec .= pack('v', 0 ); // disk number start + $cdrec .= pack('v', 0 ); // internal file attributes + $cdrec .= pack('V', 32 ); // external file attributes - 'archive' bit set + + $cdrec .= pack('V', $this -> old_offset ); // relative offset of local header + $this -> old_offset += strlen($fr); + + $cdrec .= $name; + + // optional extra field, file comment goes here + // save to central directory + $this -> ctrl_dir[] = $cdrec; + } // end of the 'addFile()' method + + + /** + * Dumps out file + * + * @return string the zipped file + * + * @access public + */ + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . // total # of entries "on this disk" + pack('v', sizeof($this -> ctrl_dir)) . // total # of entries overall + pack('V', strlen($ctrldir)) . // size of central dir + pack('V', strlen($data)) . // offset to start of central dir + "\x00\x00"; // .zip file comment length + } // end of the 'file()' method + +} // end of the 'zipfile' class +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/index.html 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/index.html --- 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/mostlydbadmin.xml 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/mostlydbadmin.xml --- 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/mostlydbadmin.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/mostlydbadmin.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,31 @@ + + + MOStlyDBAdmin + Sept 2006 + Mambo Project + This component if released under the GNU/GPL License + core@mambo-foundation.org + mambo-foundation.org + 1.1 + + MOStlyDBAdmin is used for easy back up/restore of your database.

      It is a revival + of the dbadmin component for use in the Mambo 4.6+ core. The dbadmin + component stopped working with Mambo 4.5.3h and development appears to have ceased.

      + ]]>
      + + MOStlyDBAdmin DB Tools + + Backup Database + Restore Database + Query Database + + + admin.mostlydbadmin.html.php + admin.mostlydbadmin.php + read_me.txt + index.html + classes/zip.lib.php + + +
      diff -ruN 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/read_me.txt 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/read_me.txt --- 4.6rc2/uploadfiles/administrator/components/com_mostlydbadmin/read_me.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_mostlydbadmin/read_me.txt 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,26 @@ +// ---------------------------------------------------------------------- +// MOStlyDBAdmin +// Copyright (C) 2006 The Mambo Foundation (core@mambo-foundation.org) +// http://mambo-foundation.org +// ---------------------------------------------------------------------- +// +// LICENSE +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License (GPL) +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// To read the license please visit http://www.gnu.org/copyleft/gpl.html or +// take a look in the Doc directory +// +// ---------------------------------------------------------------------- +// MOStlyDBAdmin is based on the old dbadmin component +// Written by: Nathan Maxfield - info@gimweb.com (www.gimweb.com) +// dbadmin was also licensed under the GNU/GPL License +// ---------------------------------------------------------------------- diff -ruN 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/admin.newsfeeds.html.php 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/admin.newsfeeds.html.php --- 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/admin.newsfeeds.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/admin.newsfeeds.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,253 @@ + +
      + + + + + +
      + + + +
      + + + + + + + + + + + + + id; + + $img = $row->published ? 'tick.png' : 'publish_x.png'; + $task = $row->published ? 'unpublish' : 'publish'; + $alt = $row->published ? 'Published' : 'Unpublished'; + + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + + $row->cat_link = 'index2.php?option=com_categories§ion=com_newsfeeds&task=editA&hidemainmenu=1&id='. $row->catid; + ?> + + + + + + + + + + + + +
      + # + + + + + + + + + + + + + + +
      + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + ?> + name; ?> +  [ ] + + + name; ?> + + + + + <?php echo $alt; ?> + + + orderUpIcon( $i ); ?> + + orderDownIcon( $i, $n ); ?> + + + catname;?> + + + numarticles;?> + + cache_time;?> +
      + getListFooter(); ?> + + + + + +
      + + + +
      + + + + +
      + id ? T_('Edit') : T_('New');?> [ name;?> ] +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      +
      + + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/admin.newsfeeds.php 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/admin.newsfeeds.php --- 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/admin.newsfeeds.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/admin.newsfeeds.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,288 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) + | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_newsfeeds' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$task = mosGetParam( $_REQUEST, 'task', array(0) ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +$id = mosGetParam( $_GET, 'id', 0 ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ($task) { + + case 'new': + editNewsFeed( 0, $option ); + break; + + case 'edit': + editNewsFeed( $cid[0], $option ); + break; + + case 'editA': + editNewsFeed( $id, $option ); + break; + + case 'save': + saveNewsFeed( $option ); + break; + + case 'publish': + publishNewsFeeds( $cid, 1, $option ); + break; + + case 'unpublish': + publishNewsFeeds( $cid, 0, $option ); + break; + + case 'remove': + removeNewsFeeds( $cid, $option ); + break; + + case 'cancel': + cancelNewsFeed( $option ); + break; + + case 'orderup': + orderNewsFeed( $cid[0], -1, $option ); + break; + + case 'orderdown': + orderNewsFeed( $cid[0], 1, $option ); + break; + + default: + showNewsFeeds( $option ); + break; +} + +/** +* List the records +* @param string The current GET/POST option +*/ +function showNewsFeeds( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $catid = $mainframe->getUserStateFromRequest( "catid{$option}", 'catid', 0 ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + + // get the total number of records + $query = "SELECT count(*) FROM #__newsfeeds" + . ( $catid ? "\n WHERE catid='$catid'" : '' ) + ; + $database->setQuery( $query ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + // get the subset (based on limits) of required records + $query = "SELECT a.*, c.name AS catname, u.name AS editor" + . "\n FROM #__newsfeeds AS a" + . "\n LEFT JOIN #__categories AS c ON c.id = a.catid" + . "\n LEFT JOIN #__users AS u ON u.id = a.checked_out" + . ( $catid ? "\n WHERE a.catid='$catid'" : '' ) + . "\n ORDER BY a.ordering" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + // build list of categories + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['category'] = mosAdminMenus::ComponentCategory( 'catid', $option, $catid, $javascript ); + + HTML_newsfeeds::showNewsFeeds( $rows, $lists, $pageNav, $option ); +} + +/** +* Creates a new or edits and existing user record +* @param int The id of the user, 0 if a new entry +* @param string The current GET/POST option +*/ +function editNewsFeed( $id, $option ) { + global $database, $my; + + $catid = intval( mosGetParam( $_REQUEST, 'catid', 0 ) ); + + $row = new mosNewsFeed( $database ); + // load the row from the db table + $row->load( $id ); + + if ($id) { + // do stuff for existing records + $row->checkout( $my->id ); + } else { + // do stuff for new records + $row->ordering = 0; + $row->numarticles = 5; + $row->cache_time = 3600; + $row->published = 1; + } + + // build the html select list for ordering + $query = "SELECT a.ordering AS value, a.name AS text" + . "\n FROM #__newsfeeds AS a" + . "\n ORDER BY a.ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $id, $query, 1 ); + + // build list of categories + $lists['category'] = mosAdminMenus::ComponentCategory( 'catid', $option, intval( $row->catid ) ); + // build the html select list + $lists['published'] = mosHTML::yesnoRadioList( 'published', 'class="inputbox"', $row->published ); + + HTML_newsfeeds::editNewsFeed( $row, $lists, $option ); +} + +/** +* Saves the record from an edit form submit +* @param string The current GET/POST option +*/ +function saveNewsFeed( $option ) { + global $database, $my; + + $row = new mosNewsFeed( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + // pre-save checks + if (!$row->check()) { + echo "\n"; + exit(); + } + + // save the changes + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder(); + + mosRedirect( 'index2.php?option='. $option ); +} + +/** +* Publishes or Unpublishes one or more modules +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The current GET/POST option +*/ +function publishNewsFeeds( $cid, $publish, $option ) { + global $database; + + if (count( $cid ) < 1) { + $action = $publish ? T_('publish') : T_('unpublish'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "UPDATE #__newsfeeds SET published='$publish'" + . "\n WHERE id IN ($cids)" + . "\n AND ( checked_out=0 OR (checked_out='$my->id') )" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosNewsFeed( $database ); + $row->checkin( $cid[0] ); + } + + mosRedirect( 'index2.php?option='. $option ); +} + +/** +* Removes records +* @param array An array of id keys to remove +* @param string The current GET/POST option +*/ +function removeNewsFeeds( &$cid, $option ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + if (count( $cid )) { + $cids = implode( ',', $cid ); + $query = "DELETE FROM #__newsfeeds" + . "\n WHERE id IN ($cids)" + . "\n AND checked_out='0'" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + } + } + + mosRedirect( 'index2.php?option='. $option ); +} + +/** +* Cancels an edit operation +* @param string The current GET/POST option +*/ +function cancelNewsFeed( $option ) { + global $database; + + $row = new mosNewsFeed( $database ); + $row->bind( $_POST ); + $row->checkin(); + mosRedirect( 'index2.php?option='. $option ); +} + +/** +* Moves the order of a record +* @param integer The id of the record to move +* @param integer The direction to reorder, +1 down, -1 up +* @param string The current GET/POST option +*/ +function orderNewsFeed( $id, $inc, $option ) { + global $database; + + $limit = mosGetParam( $_REQUEST, 'limit', 0 ); + $limitstart = mosGetParam( $_REQUEST, 'limitstart', 0 ); + $catid = intval( mosGetParam( $_REQUEST, 'catid', 0 ) ); + + $row = new mosNewsFeed( $database ); + $row->load( $id ); + $row->move( $inc ); + + mosRedirect( 'index2.php?option='. $option ); +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/index.html 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/index.html --- 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/newsfeeds.class.php 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/newsfeeds.class.php --- 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/newsfeeds.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/newsfeeds.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,48 @@ +mosDBTable( '#__newsfeeds', 'id', $db ); + } + +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/newsfeeds.xml 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/newsfeeds.xml --- 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/newsfeeds.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/newsfeeds.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,129 @@ + + + Newsfeeds + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This component manages RSS/RDF newsfeeds + + News Feeds + + Manage News Feeds + Manage Categories + + + admin.newsfeeds.html.php + admin.newsfeeds.php + newsfeeds.class.php + newsfeeds.xml + index.html + toolbar.newsfeeds.html.php + toolbar.newsfeeds.php + + + + newsfeeds.html.php + newsfeeds.php + index.html + + + + CREATE TABLE `mos_newsfeeds` ( + `catid` int(11) NOT NULL default '0', + `id` int(11) NOT NULL auto_increment, + `name` text NOT NULL, + `link` text NOT NULL, + `filename` varchar(200) default NULL, + `published` tinyint(1) NOT NULL default '0', + `numarticles` int(11) unsigned NOT NULL default '1', + `cache_time` int(11) unsigned NOT NULL default '3600', + `checked_out` tinyint(3) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `published` (`published`) + ); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php --- 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,60 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/toolbar.newsfeeds.php 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/toolbar.newsfeeds.php --- 4.6rc2/uploadfiles/administrator/components/com_newsfeeds/toolbar.newsfeeds.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_newsfeeds/toolbar.newsfeeds.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,32 @@ +getPath( 'toolbar_html' ) ); + +switch ($task) { + case 'new': + TOOLBAR_newsfeeds::_NEW(); + break; + + case 'edit': + case 'editA': + TOOLBAR_newsfeeds::_EDIT(); + break; + + default: + TOOLBAR_newsfeeds::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_poll/admin.poll.html.php 4.6-complete/uploadfiles/administrator/components/com_poll/admin.poll.html.php --- 4.6rc2/uploadfiles/administrator/components/com_poll/admin.poll.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_poll/admin.poll.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,213 @@ + +
      + + + + +
      + + + + + + + + + + + id; + + $task = $row->published ? 'unpublish' : 'publish'; + $img = $row->published ? 'publish_g.png' : 'publish_x.png'; + $alt = $row->published ? T_('Published') : T_('Unpublished'); + + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + ?> + "> + + + + + + + + +
      + # + + + + + + + + + + +
      + rowNumber( $i ); ?> + + + + + title; ?> + + + + <?php echo $alt; ?> + + + numoptions; ?> + + lag; ?> +
      + getListFooter(); ?> + + + + + +
      + + +
      + + + + +
      + + + id ? T_('Edit') : T_('New');?> + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +   + + + +
      + +
      + + + (seconds between votes) +
      +

      + +
      + + + +
      + + + +
      + + + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_poll/admin.poll.php 4.6-complete/uploadfiles/administrator/components/com_poll/admin.poll.php --- 4.6rc2/uploadfiles/administrator/components/com_poll/admin.poll.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_poll/admin.poll.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,248 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) + | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_poll' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$cid = mosGetParam( $_REQUEST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch( $task ) { + case 'new': + editPoll( 0, $option ); + break; + + case 'edit': + editPoll( $cid[0], $option ); + break; + + case 'editA': + editPoll( $id, $option ); + break; + + case 'save': + savePoll( $option ); + break; + + case 'remove': + removePoll( $cid, $option ); + break; + + case 'publish': + publishPolls( $cid, 1, $option ); + break; + + case 'unpublish': + publishPolls( $cid, 0, $option ); + break; + + case 'cancel': + cancelPoll( $option ); + break; + + default: + showPolls( $option ); + break; +} + +function showPolls( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + + $database->setQuery( "SELECT COUNT(*) FROM #__polls" ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT m.*, u.name AS editor," + . "\n COUNT(d.id) AS numoptions" + . "\n FROM #__polls AS m" + . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" + . "\n LEFT JOIN #__poll_data AS d ON d.pollid = m.id AND d.text <> ''" + . "\n GROUP BY m.id" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + HTML_poll::showPolls( $rows, $pageNav, $option ); +} + +function editPoll( $uid=0, $option='com_poll' ) { + global $database, $my; + + $row = new mosPoll( $database ); + // load the row from the db table + $row->load( $uid ); + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + $msg = sprintf(T_('The poll %s is currently being edited by another administrator.'),$row->title); + mosRedirect( 'index2.php?option='. $option, $msg); + } + + $options = array(); + + if ($uid) { + $row->checkout( $my->id ); + $query = "SELECT id, text FROM #__poll_data" + . "\n WHERE pollid='$uid'" + . "\n ORDER BY id" + ; + $database->setQuery($query); + $options = $database->loadObjectList(); + } else { + $row->lag = 3600*24; + } + + // get selected pages + if ( $uid ) { + $database->setQuery( "SELECT menuid AS value FROM #__poll_menu WHERE pollid='$row->id'" ); + $lookup = $database->loadObjectList(); + } else { + $lookup = array( mosHTML::makeOption( 0, 'All' ) ); + } + + // build the html select list + $lists['select'] = mosAdminMenus::MenuLinks( $lookup, 1, 1 ); + + HTML_poll::editPoll($row, $options, $lists ); +} + +function savePoll( $option ) { + global $database, $my; + + // save the poll parent information + $row = new mosPoll( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + $isNew = ($row->id == 0); + + if (!$row->check()) { + echo "\n"; + exit(); + } + + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + // save the poll options + $options = mosGetParam( $_POST, 'polloption', array() ); + + foreach ($options as $i=>$text) { + // 'slash' the options + if (!get_magic_quotes_gpc()) { + $text = addslashes( $text ); + } + + if ($isNew) { + $database->setQuery( "INSERT INTO #__poll_data (pollid,text) VALUES ($row->id,'$text')" ); + $database->query(); + } else { + $database->setQuery( "UPDATE #__poll_data SET text='$text' WHERE id='$i' AND pollid='$row->id'" ); + $database->query(); + } + } + + // update the menu visibility + $selections = mosGetParam( $_POST, 'selections', array() ); + + $database->setQuery( "DELETE from #__poll_menu where pollid='$row->id'" ); + $database->query(); + + for ($i=0, $n=count($selections); $i < $n; $i++) { + $database->setQuery( "INSERT INTO #__poll_menu SET pollid='$row->id', menuid='$selections[$i]'" ); + $database->query(); + } + + mosRedirect( 'index2.php?option='. $option ); +} + +function removePoll( $cid, $option ) { + global $database; + $msg = ''; + for ($i=0, $n=count($cid); $i < $n; $i++) { + $poll = new mosPoll( $database ); + if (!$poll->delete( $cid[$i] )) { + $msg .= $poll->getError(); + } + } + mosRedirect( 'index2.php?option='. $option .'&mosmsg='. $msg ); +} + +/** +* Publishes or Unpublishes one or more records +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The current url option +*/ +function publishPolls( $cid=null, $publish=1, $option ) { + global $database, $my; + + $catid = mosGetParam( $_POST, 'catid', array(0) ); + + if (!is_array( $cid ) || count( $cid ) < 1) { + $action = $publish ? T_('publish') : T_('unpublish'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "UPDATE #__polls SET published='$publish'" + . "\n WHERE id IN ($cids)" + . "\n AND ( checked_out=0 OR ( checked_out='$my->id' ) )" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosPoll( $database ); + $row->checkin( $cid[0] ); + } + mosRedirect( 'index2.php?option='. $option ); +} + +function cancelPoll( $option ) { + global $database; + $row = new mosPoll( $database ); + $row->bind( $_POST ); + $row->checkin(); + mosRedirect( 'index2.php?option='. $option ); +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_poll/index.html 4.6-complete/uploadfiles/administrator/components/com_poll/index.html --- 4.6rc2/uploadfiles/administrator/components/com_poll/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_poll/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_poll/poll.class.php 4.6-complete/uploadfiles/administrator/components/com_poll/poll.class.php --- 4.6rc2/uploadfiles/administrator/components/com_poll/poll.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_poll/poll.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,97 @@ +mosDBTable( '#__polls', 'id', $db ); + } + // overloaded check function + function check() { + // check for valid name + if (trim( $this->title ) == '') { + $this->_error = T_('Your Poll must contain a title.'); + return false; + } + // check for valid lag + $this->lag = intval( $this->lag ); + if ($this->lag == 0) { + $this->_error = T_("Your Poll must have a non-zero lag time."); + return false; + } + // check for existing title + $this->_db->setQuery( "SELECT id FROM #__polls WHERE title='$this->title'" + ); + + $xid = intval( $this->_db->loadResult() ); + if ($xid && $xid != intval( $this->id )) { + $this->_error = T_("There is a module already with that name, please try again."); + return false; + } + + // sanitise some data + if (!get_magic_quotes_gpc()) { + $row->title = addslashes( $row->title ); + } + + return true; + } + // overloaded delete function + function delete( $oid=null ) { + $k = $this->_tbl_key; + if ($oid) { + $this->$k = intval( $oid ); + } + + if (mosDBTable::delete( $oid )) { + $this->_db->setQuery( "DELETE FROM #__poll_data WHERE pollid='".$this->$k."'" ); + if (!$this->_db->query()) { + $this->_error .= $this->_db->getErrorMsg() . "\n"; + } + + $this->_db->setQuery( "DELETE FROM #__poll_date WHERE pollid='".$this->$k."'" ); + if (!$this->_db->query()) { + $this->_error .= $this->_db->getErrorMsg() . "\n"; + } + + $this->_db->setQuery( "DELETE from #__poll_menu where pollid='".$this->$k."'" ); + if (!$this->_db->query()) { + $this->_error .= $this->_db->getErrorMsg() . "\n"; + } + + return true; + } else { + return false; + } + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_poll/poll.xml 4.6-complete/uploadfiles/administrator/components/com_poll/poll.xml --- 4.6rc2/uploadfiles/administrator/components/com_poll/poll.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_poll/poll.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,86 @@ + + + Poll + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This component shows Polls/Surveys + + Polls + + admin.poll.html.php + admin.poll.php + index.html + poll.class.php + poll.xml + toolbar.poll.html.php + toolbar.poll.php + + + + images/blank.png + images/poll.png + poll.html.php + poll.php + index.html + poll_bars.css + + + + CREATE TABLE `mos_polls` ( + `id` int(11) unsigned NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `voters` int(9) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + `access` int(11) NOT NULL default '0', + `lag` int(11) NOT NULL default '0', + PRIMARY KEY (`id`) + ); + + CREATE TABLE `mos_poll_data` ( + `id` int(11) NOT NULL auto_increment, + `pollid` int(4) NOT NULL default '0', + `text` text NOT NULL, + `hits` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `pollid` (`pollid`,`text`(1)) + ); + + CREATE TABLE `mos_poll_date` ( + `id` bigint(20) NOT NULL auto_increment, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `vote_id` int(11) NOT NULL default '0', + `poll_id` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `poll_id` (`poll_id`) + ); + + CREATE TABLE `mos_poll_menu` ( + `pollid` int(11) NOT NULL default '0', + `menuid` int(11) NOT NULL default '0', + PRIMARY KEY (`pollid`,`menuid`) + ); + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_poll/toolbar.poll.html.php 4.6-complete/uploadfiles/administrator/components/com_poll/toolbar.poll.html.php --- 4.6rc2/uploadfiles/administrator/components/com_poll/toolbar.poll.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_poll/toolbar.poll.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,73 @@ +setQuery( $sql ); + $cur_template = $database->loadResult(); + mosMenuBar::startTable(); + $popup='pollwindow'; + ?> + <?php echo T_('Preview') ?>  + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_poll/toolbar.poll.php 4.6-complete/uploadfiles/administrator/components/com_poll/toolbar.poll.php --- 4.6rc2/uploadfiles/administrator/components/com_poll/toolbar.poll.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_poll/toolbar.poll.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,52 @@ +getPath( 'toolbar_html' ) ); + +switch ($task) { + case 'new': + TOOLBAR_poll::_NEW(); + break; + + case 'edit': + $cid = mosGetParam( $_REQUEST, 'cid', array(0) ); + if (!is_array( $cid )) { + $cid = array(0); + } + + $database->setQuery( "SELECT published FROM #__polls WHERE id='$cid[0]'" ); + $published = $database->loadResult(); + + $cur_template = $mainframe->getTemplate(); + + TOOLBAR_poll::_EDIT( $cid[0], $cur_template ); + break; + + case 'editA': + $id = mosGetParam( $_REQUEST, 'id', 0 ); + + $database->setQuery( "SELECT published FROM #__polls WHERE id='$id'" ); + $published = $database->loadResult(); + + $cur_template = $mainframe->getTemplate(); + + TOOLBAR_poll::_EDIT( $id, $cur_template ); + break; + + default: + TOOLBAR_poll::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_search/index.html 4.6-complete/uploadfiles/administrator/components/com_search/index.html --- 4.6rc2/uploadfiles/administrator/components/com_search/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_search/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_search/search.xml 4.6-complete/uploadfiles/administrator/components/com_search/search.xml --- 4.6rc2/uploadfiles/administrator/components/com_search/search.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_search/search.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,25 @@ + + + Search + Mambo Project + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This component manages the Search functionality. + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_sections/admin.sections.html.php 4.6-complete/uploadfiles/administrator/components/com_sections/admin.sections.html.php --- 4.6rc2/uploadfiles/administrator/components/com_sections/admin.sections.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_sections/admin.sections.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,560 @@ + +
      + + + + +
      + +
      + + + + + + + + + + + + + + + + + + id; + + $access = mosCommonHTML::AccessProcessing( $row, $i ); + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + $published = mosCommonHTML::PublishedProcessing( $row, $i ); + ?> + "> + + + + + + + + + + + + + + + +
      + # + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + + + +
      + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->name. " ( ". $row->title ." )"; + } else { + ?> + + name. " ( ". $row->title ." )"; ?> + + + + + + orderUpIcon( $i ); ?> + + orderDownIcon( $i, $n ); ?> + + + + + + id; ?> + + categories; ?> + + active; ?> + + trash; ?> +
      + + getListFooter(); ?> + + + + + + + + +
      + $row is passed with the id + * property set to 0. Note that the section property must be defined + * even for a new record. + * @param mosCategory The category object + * @param string The html for the image list select list + * @param string The html for the image position select list + * @param string The html for the ordering list + * @param string The html for the groups select list + */ + function edit( &$row, $option, &$lists, &$menus ) { + global $mosConfig_live_site; + if ( $row->name != '' ) { + $name = $row->name; + } else { + $name = T_("New Section"); + } + if ($row->image == "") { + $row->image = 'blank.png'; + } + ?> + + +
      + + + + + +
      + + + id ? T_('Edit') : T_('New');?> + + + [ ] + +
      + + + + +
      +
      + +
      +
      + +
      +
      + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + + scope; ?> + +
      + + + +
      + section) ? T_("Category") : T_("Section"));?> + + +
      + + + + + image != "blank.png") { + $path.= "stories/"; + } + ?> + <?php echo T_('Preview'); ?> +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + description , 'description', '100%;', '300', '60', '20' ) ; ?> +
      +
      +
      + + + + +
      + id > 0 ) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +

      +
      + + + +
      + + + +
      + + + +
      + + +
      + +
      + +
      +
      + + + + + +
       
      + +
      +
      + + + + + + + + + + + + +
      + +
      +
      + + + + +
      + +
      + +
      + + + + + + + . + +
      + +
      + +

      +
      + +
      + "; + if ($categories) { + foreach ( $categories as $category ) { + echo "
    • ". $category->name ."
    • "; + echo "\n id\" />"; + } + } else { + echo 'none'; + } + echo ""; + ?> +
      + +
      + "; + if ($contents) { + foreach ( $contents as $content ) { + echo "
    • ". $content->title ."
    • "; + echo "\n id\" />"; + } + } else { + echo 'none'; + } + echo ""; + ?> +
      + + and all the items within the category (also listed) +
      + to the new Section created.'); ?> +
      +

      + + + + + + + "; + } + ?> +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_sections/admin.sections.php 4.6-complete/uploadfiles/administrator/components/com_sections/admin.sections.php --- 4.6rc2/uploadfiles/administrator/components/com_sections/admin.sections.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_sections/admin.sections.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,690 @@ +getPath( 'admin_html' ) ); +require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); + +// get parameters from the URL or submitted form +$scope = mosGetParam( $_REQUEST, 'scope', '' ); +$cid = mosGetParam( $_REQUEST, 'cid', array(0) ); +$section = mosGetParam( $_REQUEST, 'scope', '' ); +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ($task) { + case 'new': + editSection( 0, $scope, $option ); + break; + + case 'edit': + editSection( $cid[0], '', $option ); + break; + + case 'editA': + editSection( $id, '', $option ); + break; + + case 'go2menu': + case 'go2menuitem': + case 'menulink': + case 'save': + case 'apply': + saveSection( $option, $scope, $task ); + break; + + case 'remove': + removeSections( $cid, $scope, $option ); + break; + + case 'copyselect': + copySectionSelect( $option, $cid, $section ); + break; + + case 'copysave': + copySectionSave( $cid ); + break; + + case 'publish': + publishSections( $scope, $cid, 1, $option ); + break; + + case 'unpublish': + publishSections( $scope, $cid, 0, $option ); + break; + + case 'cancel': + cancelSection( $option, $scope ); + break; + + case 'orderup': + orderSection( $cid[0], -1, $option, $scope ); + break; + + case 'orderdown': + orderSection( $cid[0], 1, $option, $scope ); + break; + + case 'accesspublic': + accessMenu( $cid[0], 0, $option ); + break; + + case 'accessregistered': + accessMenu( $cid[0], 1, $option ); + break; + + case 'accessspecial': + accessMenu( $cid[0], 2, $option ); + break; + + case 'saveorder': + saveOrder( $cid ); + break; + + default: + showSections( $scope, $option ); + break; +} + +/** +* Compiles a list of categories for a section +* @param database A database connector object +* @param string The name of the category section +* @param string The name of the current user +*/ +function showSections( $scope, $option ) { + global $database, $my, $mainframe, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + + // get the total number of records + $database->setQuery( "SELECT count(*) FROM #__sections WHERE scope='$scope'" ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT c.*, g.name AS groupname, u.name AS editor" + . "\n FROM #__sections AS c" + . "\n LEFT JOIN #__content AS cc ON c.id = cc.sectionid" + . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" + . "\n LEFT JOIN #__groups AS g ON g.id = c.access" + . "\n WHERE scope='$scope'" + . "\n GROUP BY c.id" + . "\n ORDER BY c.ordering, c.name" + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + $count = count( $rows ); + // number of Active Items + for ( $i = 0; $i < $count; $i++ ) { + $query = "SELECT COUNT( a.id )" + . "\n FROM #__categories AS a" + . "\n WHERE a.section = ". $rows[$i]->id + . "\n AND a.published <> '-2'" + ; + $database->setQuery( $query ); + $active = $database->loadResult(); + $rows[$i]->categories = $active; + } + // number of Active Items + for ( $i = 0; $i < $count; $i++ ) { + $query = "SELECT COUNT( a.id )" + . "\n FROM #__content AS a" + . "\n WHERE a.sectionid = ". $rows[$i]->id + . "\n AND a.state <> '-2'" + ; + $database->setQuery( $query ); + $active = $database->loadResult(); + $rows[$i]->active = $active; + } + // number of Trashed Items + for ( $i = 0; $i < $count; $i++ ) { + $query = "SELECT COUNT( a.id )" + . "\n FROM #__content AS a" + . "\n WHERE a.sectionid = ". $rows[$i]->id + . "\n AND a.state = '-2'" + ; + $database->setQuery( $query ); + $trash = $database->loadResult(); + $rows[$i]->trash = $trash; + } + + sections_html::show( $rows, $scope, $my->id, $pageNav, $option ); +} + +/** +* Compiles information to add or edit a section +* @param database A database connector object +* @param string The name of the category section +* @param integer The unique id of the category to edit (0 if new) +* @param string The name of the current user +*/ +function editSection( $uid=0, $scope='', $option ) { + global $database, $my; + + $row = new mosSection( $database ); + // load the row from the db table + $row->load( $uid ); + + // fail if checked out not by 'me' + if ( $row->checked_out && $row->checked_out <> $my->id ) { + $msg = sprintf(T_('The section %s is currently being edited by another administrator'), $row->title); + mosRedirect( 'index2.php?option='. $option .'&scope='. $row->scope .'&mosmsg='. $msg ); + } + + if ( $uid ) { + $row->checkout( $my->id ); + if ( $row->id > 0 ) { + $query = "SELECT *" + . "\n FROM #__menu" + . "\n WHERE componentid = ". $row->id + . "\n AND ( type = 'content_archive_section' OR type = 'content_blog_section' OR type = 'content_section' )" + ; + $database->setQuery( $query ); + $menus = $database->loadObjectList(); + $count = count( $menus ); + for( $i = 0; $i < $count; $i++ ) { + switch ( $menus[$i]->type ) { + case 'content_section': + $menus[$i]->type = T_('Section Table'); + break; + + case 'content_blog_section': + $menus[$i]->type = T_('Section Blog'); + break; + + case 'content_archive_section': + $menus[$i]->type = T_('Section Blog Archive'); + break; + } + } + } else { + $menus = array(); + } + } else { + $row->scope = $scope; + $row->published = 1; + $menus = array(); + } + + // build the html select list for section types + $types[] = mosHTML::makeOption( '', T_('Select Type') ); + $types[] = mosHTML::makeOption( 'content_section', T_('Section List') ); + $types[] = mosHTML::makeOption( 'content_blog_section', T_('Section Blog') ); + $types[] = mosHTML::makeOption( 'content_archive_section', T_('Section Archive Blog') ); + $lists['link_type'] = mosHTML::selectList( $types, 'link_type', 'class="inputbox" size="1"', 'value', 'text' );; + + // build the html select list for ordering + $query = "SELECT ordering AS value, title AS text" + . "\n FROM #__sections" + . "\n WHERE scope='$row->scope' ORDER BY ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $uid, $query ); + + // build the select list for the image positions + $active = ( $row->image_position ? $row->image_position : 'left' ); + $lists['image_position'] = mosAdminMenus::Positions( 'image_position', $active, NULL, 0 ); + // build the html select list for images + $lists['image'] = mosAdminMenus::Images( 'image', $row->image ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + // build the html radio buttons for published + $lists['published'] = mosHTML::yesnoRadioList( 'published', 'class="inputbox"', $row->published ); + // build the html select list for menu selection + $lists['menuselect'] = mosAdminMenus::MenuSelect( ); + + sections_html::edit( $row, $option, $lists, $menus ); +} + +/** +* Saves the catefory after an edit form submit +* @param database A database connector object +* @param string The name of the category section +*/ +function saveSection( $option, $scope, $task ) { + global $database; + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + $menuid = mosGetParam( $_POST, 'menuid', 0 ); + $oldtitle = mosGetParam( $_POST, 'oldtitle', null ); + + $row = new mosSection( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + if (!$row->check()) { + echo "\n"; + exit(); + } + if ( $oldtitle ) { + if ( $oldtitle <> $row->title ) { + $database->setQuery( "UPDATE #__menu SET name='$row->title' WHERE name='$oldtitle' AND type='content_section'" ); + $database->query(); + } + } + + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "scope='$row->scope'" ); + + switch ( $task ) { + case 'go2menu': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); + break; + + case 'go2menuitem': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $menuid ); + break; + + case 'menulink': + menuLink( $row->id ); + break; + + case 'apply': + $msg = T_('Changes to Section saved'); + mosRedirect( 'index2.php?option='. $option .'&scope='. $scope .'&task=editA&hidemainmenu=1&id='. $row->id, $msg ); + break; + + case 'save': + default: + $msg = T_('Section saved'); + mosRedirect( 'index2.php?option='. $option .'&scope='. $scope, $msg ); + break; + } +} +/** +* Deletes one or more categories from the categories table +* @param database A database connector object +* @param string The name of the category section +* @param array An array of unique category id numbers +*/ +function removeSections( $cid, $scope, $option ) { + global $database; + + if (count( $cid ) < 1) { + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "SELECT s.id, s.name, COUNT(c.id) AS numcat" + . "\n FROM #__sections AS s" + . "\n LEFT JOIN #__categories AS c ON c.section=s.id" + . "\n WHERE s.id IN ($cids)" + . "\n GROUP BY s.id" + ; + $database->setQuery( $query ); + if (!($rows = $database->loadObjectList())) { + echo "\n"; + } + + $err = array(); + $cid = array(); + foreach ($rows as $row) { + if ($row->numcat == 0) { + $cid[] = $row->id; + $name[] = $row->name; + } else { + $err[] = $row->name; + } + } + + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__sections WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + } + } + + if (count( $err )) { + $cids = implode( ', ', $err ); + $msg = sprintf(T_('Sections(s): %s cannot be removed as they contain categories'), $cids); + mosRedirect( 'index2.php?option='. $option .'&scope='. $scope, $msg ); + } + + $names = implode( ', ', $name ); + $msg = sprintf(T_('Section(s): %s successfully deleted'), $names); + mosRedirect( 'index2.php?option='. $option .'&scope='. $scope, $msg ); +} + +/** +* Publishes or Unpublishes one or more categories +* @param database A database connector object +* @param string The name of the category section +* @param integer A unique category id (passed from an edit form) +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The name of the current user +*/ +function publishSections( $scope, $cid=null, $publish=1, $option ) { + global $database, $my; + + if ( !is_array( $cid ) || count( $cid ) < 1 ) { + $action = $publish ? T_('publish') : T_('unpublish'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + $count = count( $cid ); + if ( $publish ) { + if ( !$count ){ + echo "\n"; + return; + } + } + + $database->setQuery( "UPDATE #__sections SET published='$publish'" + . "\n WHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if ( $count == 1 ) { + $row = new mosSection( $database ); + $row->checkin( $cid[0] ); + } + + // check if section linked to menu items if unpublishing + if ( $publish == 0 ) { + $database->setQuery( "SELECT id FROM #__menu WHERE type='content_section' AND componentid IN ($cids)" ); + $menus = $database->loadObjectList(); + + if ($menus) { + foreach ($menus as $menu) { + $database->setQuery( "UPDATE #__menu SET published=$publish WHERE id=$menu->id" ); + $database->query(); + } + } + } + + mosRedirect( 'index2.php?option='. $option .'&scope='. $scope ); +} + +/** +* Cancels an edit operation +* @param database A database connector object +* @param string The name of the category section +* @param integer A unique category id +*/ +function cancelSection( $option, $scope ) { + global $database; + $row = new mosSection( $database ); + $row->bind( $_POST ); + $row->checkin(); + + mosRedirect( 'index2.php?option='. $option .'&scope='. $scope ); +} + +/** +* Moves the order of a record +* @param integer The increment to reorder by +*/ +function orderSection( $uid, $inc, $option, $scope ) { + global $database; + + $row = new mosSection( $database ); + $row->load( $uid ); + $row->move( $inc, "scope='$row->scope'" ); + + mosRedirect( 'index2.php?option='. $option .'&scope='. $scope ); +} + + +/** +* Form for copying item(s) to a specific menu +*/ +function copySectionSelect( $option, $cid, $section ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + + ## query to list selected categories + $cids = implode( ',', $cid ); + $query = "SELECT a.name, a.id" + . "\n FROM #__categories AS a" + . "\n WHERE a.section IN ( ". $cids ." )" + ; + $database->setQuery( $query ); + $categories = $database->loadObjectList(); + + ## query to list items from categories + $query = "SELECT a.title, a.id" + . "\n FROM #__content AS a" + . "\n WHERE a.sectionid IN ( ". $cids ." )" + . "\n ORDER BY a.sectionid, a.catid, a.title" + ; + $database->setQuery( $query ); + $contents = $database->loadObjectList(); + + sections_html::copySectionSelect( $option, $cid, $categories, $contents, $section ); +} + + +/** +* Save the item(s) to the menu selected +*/ +function copySectionSave( $sectionid ) { + global $database; + + $title = mosGetParam( $_REQUEST, 'title', '' ); + $contentid = mosGetParam( $_REQUEST, 'content', '' ); + $categoryid = mosGetParam( $_REQUEST, 'category', '' ); + + // copy section + $section = new mosSection ( $database ); + foreach( $sectionid as $id ) { + $section->load( $id ); + $section->id = NULL; + $section->title = $title; + $section->name = $title; + if ( !$section->check() ) { + echo "\n"; + exit(); + } + + if ( !$section->store() ) { + echo "\n"; + exit(); + } + $section->checkin(); + $section->updateOrder( "section='". $section->id ."'" ); + // stores original catid + $newsectids[]["old"] = $id; + // pulls new catid + $newsectids[]["new"] = $section->id; + } + $sectionMove = $section->id; + + // copy categories + $category = new mosCategory ( $database ); + foreach( $categoryid as $id ) { + $category->load( $id ); + $category->id = NULL; + $category->section = $sectionMove; + foreach( $newsectids as $newsectid ) { + if ( $category->section == $newsectid["old"] ) { + $category->section = $newsectid["new"]; + } + } + if (!$category->check()) { + echo "\n"; + exit(); + } + + if (!$category->store()) { + echo "\n"; + exit(); + } + $category->checkin(); + $category->updateOrder( "section='". $category->section ."'" ); + // stores original catid + $newcatids[]["old"] = $id; + // pulls new catid + $newcatids[]["new"] = $category->id; + } + + $content = new mosContent ( $database ); + foreach( $contentid as $id) { + $content->load( $id ); + $content->id = NULL; + $content->hits = 0; + foreach( $newsectids as $newsectid ) { + if ( $content->sectionid == $newsectid["old"] ) { + $content->sectionid = $newsectid["new"]; + } + } + foreach( $newcatids as $newcatid ) { + if ( $content->catid == $newcatid["old"] ) { + $content->catid = $newcatid["new"]; + } + } + if (!$content->check()) { + echo "\n"; + exit(); + } + + if (!$content->store()) { + echo "\n"; + exit(); + } + $content->checkin(); + } + $sectionOld = new mosSection ( $database ); + $sectionOld->load( $sectionMove ); + + $msg = sprintf(T_('Section %s and all its Categories and Items have been copied as %s'), $sectionOld-> name, $title); + mosRedirect( 'index2.php?option=com_sections&scope=content&mosmsg='. $msg ); +} + +/** +* changes the access level of a record +* @param integer The increment to reorder by +*/ +function accessMenu( $uid, $access, $option ) { + global $database; + + $row = new mosSection( $database ); + $row->load( $uid ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + mosRedirect( 'index2.php?option='. $option .'&scope='. $row->scope ); +} + +function menuLink( $id ) { + global $database; + + $section = new mosSection( $database ); + $section->bind( $_POST ); + $section->checkin(); + + $menu = mosGetParam( $_POST, 'menuselect', '' ); + $name = mosGetParam( $_POST, 'link_name', '' ); + $type = mosGetParam( $_POST, 'link_type', '' ); + + switch ( $type ) { + case 'content_section': + $link = 'index.php?option=com_content&task=section&id='. $id; + $menutype = T_('Section Table'); + break; + + case 'content_blog_section': + $link = 'index.php?option=com_content&task=blogsection&id='. $id; + $menutype = T_('Section Blog'); + break; + + case 'content_archive_section': + $link = 'index.php?option=com_content&task=archivesection&id='. $id; + $menutype = T_('Section Blog Archive'); + break; + } + + $row = new mosMenu( $database ); + $row->menutype = $menu; + $row->name = $name; + $row->type = $type; + $row->published = 1; + $row->componentid = $id; + $row->link = $link; + $row->ordering = 9999; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( 'scope="'. $row->scope .'"' ); + + $msg = sprintf(T_('%s ( %s ) in menu: %s successfully created'), $name, $menutype, $menu); + mosRedirect( 'index2.php?option=com_sections&scope=content&task=editA&hidemainmenu=1&id='. $id, $msg ); +} + +function saveOrder( &$cid ) { + global $database; + $order = mosGetParam( $_POST, 'order', array(0) ); + $row = new mosMenu( $database ); + $scopes = array(); + // update ordering values + foreach ($cid as $i=>$ciditem) { + $row->load( $ciditem ); + if ($row->ordering != $order[$i]) { + $row->ordering = $order[$i]; + if (!$row->store()) { + echo "\n"; + exit(); + } + // remember to updateOrder this group + $scopes[$row->scope] = $row->id; + } + } + // execute updateOrder for each group + foreach ($scopes as $scope=>$rowid) { + $row->updateOrder("scope = '$scope'"); + } // foreach + + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_sections&scope=content', $msg ); +} // saveOrder +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_sections/index.html 4.6-complete/uploadfiles/administrator/components/com_sections/index.html --- 4.6rc2/uploadfiles/administrator/components/com_sections/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_sections/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_sections/toolbar.sections.html.php 4.6-complete/uploadfiles/administrator/components/com_sections/toolbar.sections.html.php --- 4.6rc2/uploadfiles/administrator/components/com_sections/toolbar.sections.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_sections/toolbar.sections.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,75 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_sections/toolbar.sections.php 4.6-complete/uploadfiles/administrator/components/com_sections/toolbar.sections.php --- 4.6rc2/uploadfiles/administrator/components/com_sections/toolbar.sections.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_sections/toolbar.sections.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ){ + case 'new': + case 'edit': + case 'editA': + TOOLBAR_sections::_EDIT($task); + break; + + case 'copyselect': + TOOLBAR_sections::_COPY(); + break; + + default: + TOOLBAR_sections::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_statistics/admin.statistics.html.php 4.6-complete/uploadfiles/administrator/components/com_statistics/admin.statistics.html.php --- 4.6rc2/uploadfiles/administrator/components/com_statistics/admin.statistics.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_statistics/admin.statistics.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,266 @@ + + + + + + +
      +
      + startPane("statsPane"); + $tabs->startTab(T_("Browsers"),"browsers-page"); + ?> + + + + + + + + 0) { + $k = 0; + foreach ($browsers as $b) { + $f = $bstats->totalhits > 0 ? $b->hits / $bstats->totalhits : 0; + $w = $width * $f; + ?> + + + + + + + + + + +
         % #
      +  agent; ?>  + +
       
      +
      + + + hits;?> +
       
      + endTab(); + $tabs->startTab(T_("OS Stats"),"os-page"); + ?> + + + + + + + + 0) { + $k = 0; + foreach ($platforms as $p) { + $f = $pstats->totalhits > 0 ? $p->hits / $pstats->totalhits : 0; + $w = $width * $f; + ?> + + + + + + + + + + +
         % #
      +  agent; ?>  + +
       
      +
      + + + hits;?> +
       
      + endTab(); + $tabs->startTab(T_("Domain Stats"),"domain-page"); + ?> + + + + + + + + 0) { + $k = 0; + foreach ($tldomains as $b) { + $f = $dstats->totalhits > 0 ? $b->hits / $dstats->totalhits : 0; + $w = $width * $f; + ?> + + + + + + + + + + +
         % #
      +  agent; ?>  + +
       
      +
      + + + hits;?> +
       
      + endTab(); + $tabs->endPane(); + ?> + + +
      + + + + + +
      + +
      + + + + + + + limitstart; + $k = 0; + foreach ($rows as $row) { + ?> + + + + + + +
      #
      + + +  title." (".$row->created.")"; ?>  + + hits; ?> +
      + getListFooter(); ?> + + +
      + +
      + + + + +
      + + + getCfg( 'enable_log_searches' ) ? ''.T_('Enabled').'' : ''.T_('Disabled').'' ?> + +
      + + + + + + + + + + + + + + + + +
      #
      + limitstart; ?> + search_term;?>hits; ?>returns; ?>
      + getListFooter(); ?> + + +
      + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_statistics/admin.statistics.php 4.6-complete/uploadfiles/administrator/components/com_statistics/admin.statistics.php --- 4.6rc2/uploadfiles/administrator/components/com_statistics/admin.statistics.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_statistics/admin.statistics.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,167 @@ +getPath( 'admin_html' ) ); + +switch ($task) { + case 'searches': + showSearches( $option, $task ); + break; + + case 'pageimp': + showPageImpressions( $option, $task ); + break; + + default: + showSummary( $option, $task ); + break; +} + +function showSummary( $option, $task ) { + global $database, $mainframe; + + // get sort field and check against allowable field names + $field = strtolower( mosGetParam( $_REQUEST, 'field', '' ) ); + if (!in_array( $field, array( 'agent', 'hits' ) )) { + $field = ''; + } + + // get field ordering or set the default field to order + $order = strtolower( mosGetParam( $_REQUEST, 'order', 'asc' ) ); + if ($order != 'asc' && $order != 'desc' && $order != 'none') { + $order = 'asc'; + } else if ($order == 'none') { + $field = 'agent'; + $order = 'asc'; + } + + // browser stats + $order_by = ''; + $sorts = array(); + $tab = mosGetParam( $_REQUEST, 'tab', 'tab1' ); + $sort_base = "index2.php?option=$option&task=$task"; + + switch ($field) { + case 'hits': + $order_by = "hits $order"; + $sorts['b_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab1", "agent" ); + $sorts['b_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab1", "hits", $order ); + $sorts['o_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab2", "agent" ); + $sorts['o_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab2", "hits", $order ); + $sorts['d_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab3", "agent" ); + $sorts['d_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab3", "hits", $order ); + break; + + case 'agent': + default: + $order_by = "agent $order"; + $sorts['b_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab1", "agent", $order ); + $sorts['b_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab1", "hits" ); + $sorts['o_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab2", "agent", $order ); + $sorts['o_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab2", "hits" ); + $sorts['d_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab3", "agent", $order ); + $sorts['d_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab3", "hits" ); + break; + } + + $database->setQuery( "SELECT * FROM #__stats_agents WHERE type='0' ORDER BY $order_by" ); + $browsers = $database->loadObjectList(); + + $database->setQuery( "SELECT SUM(hits) AS totalhits,MAX(hits) AS maxhits FROM #__stats_agents WHERE type='0'" ); + $bstats = null; + $database->loadObject( $bstats ); + + // platform statistics + $database->setQuery( "SELECT * FROM #__stats_agents WHERE type='1' ORDER BY hits DESC" ); + $platforms = $database->loadObjectList(); + + $database->setQuery( "SELECT SUM(hits) AS totalhits,MAX(hits) AS maxhits FROM #__stats_agents WHERE type='1'" ); + $pstats = null; + $database->loadObject( $pstats ); + + // domain statistics + $database->setQuery( "SELECT * FROM #__stats_agents WHERE type='2' ORDER BY hits DESC" ); + $tldomains = $database->loadObjectList(); + + $database->setQuery( "SELECT SUM(hits) AS totalhits,MAX(hits) AS maxhits FROM #__stats_agents WHERE type='2'" ); + $dstats = null; + $database->loadObject( $dstats ); + + HTML_statistics::show( $browsers, $platforms, $tldomains, $bstats, $pstats, $dstats, $sorts, $option ); +} + +function showPageImpressions( $option, $task ) { + global $database, $mainframe, $mosConfig_list_limit; + + $query = "SELECT count(id) FROM #__content"; + $database->setQuery($query); + $total = $database->loadResult(); + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}{$task}limitstart", 'limitstart', 0 ); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT id, title, created, hits FROM #__content ORDER BY hits DESC LIMIT $pageNav->limitstart, $pageNav->limit"; + $database->setQuery($query); + + $rows = $database->loadObjectList(); + + HTML_statistics::pageImpressions( $rows, $pageNav, $option, $task ); +} + +function showSearches( $option, $task ) { + global $database, $mainframe, $mosConfig_list_limit; + global $_MAMBOTS; + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}{$task}limitstart", 'limitstart', 0 ); + + // get the total number of records + $database->setQuery( "SELECT count(*) FROM #__core_log_searches"); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $database->setQuery( "SELECT *" + . "\nFROM #__core_log_searches" + . "\nORDER BY hits DESC" + . "\nLIMIT $pageNav->limitstart,$pageNav->limit" + ); + + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + $_MAMBOTS->loadBotGroup( 'search' ); + + for ($i=0, $n = count($rows); $i < $n; $i++) { + $results = $_MAMBOTS->trigger( 'onSearch', array( $rows[$i]->search_term ) ); + + $count = 0; + for ($j = 0, $n2 = count( $results ); $j < $n2; $j++) { + $count += count( $results[$j] ); + } + + $rows[$i]->returns = $count; + } + + HTML_statistics::showSearches( $rows, $pageNav, $option, $task ); +} + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_statistics/index.html 4.6-complete/uploadfiles/administrator/components/com_statistics/index.html --- 4.6rc2/uploadfiles/administrator/components/com_statistics/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_statistics/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_statistics/toolbar.statistics.html.php 4.6-complete/uploadfiles/administrator/components/com_statistics/toolbar.statistics.html.php --- 4.6rc2/uploadfiles/administrator/components/com_statistics/toolbar.statistics.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_statistics/toolbar.statistics.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_statistics/toolbar.statistics.php 4.6-complete/uploadfiles/administrator/components/com_statistics/toolbar.statistics.php --- 4.6rc2/uploadfiles/administrator/components/com_statistics/toolbar.statistics.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_statistics/toolbar.statistics.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,25 @@ +getPath( 'toolbar_html' ) ); + +switch ($task) { + + case "searches": + TOOLBAR_statistics::_SEARCHES(); + break; + +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_syndicate/admin.syndicate.html.php 4.6-complete/uploadfiles/administrator/components/com_syndicate/admin.syndicate.html.php --- 4.6rc2/uploadfiles/administrator/components/com_syndicate/admin.syndicate.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_syndicate/admin.syndicate.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,60 @@ + + +
      + + + + +
      + +
      + + + + + + + + +
      + +
      + render(); + ?> +
      + + + + + + + + + + +
      + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_syndicate/admin.syndicate.php 4.6-complete/uploadfiles/administrator/components/com_syndicate/admin.syndicate.php --- 4.6rc2/uploadfiles/administrator/components/com_syndicate/admin.syndicate.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_syndicate/admin.syndicate.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,107 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_contact' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); + + +switch ($task) { + + case 'save': + saveSyndicate( $option ); + break; + + case 'cancel': + cancelSyndicate( ); + break; + + default: + showSyndicate( $option ); + break; +} + +/** +* List the records +* @param string The current GET/POST option +*/ +function showSyndicate( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $query = "SELECT a.id" + . "\n FROM #__components AS a" + . "\n WHERE a.name = 'Syndicate'" + ; + $database->setQuery( $query ); + $id = $database->loadResult(); + + // load the row from the db table + $row = new mosComponent( $database ); + $row->load( $id ); + + // get params definitions + $params =& new mosAdminParameters( $row->params, $mainframe->getPath( 'com_xml', $row->option ), 'component' ); + + HTML_syndicate::settings( $option, $params, $id ); +} + +/** +* Saves the record from an edit form submit +* @param string The current GET/POST option +*/ +function saveSyndicate( $option ) { + global $database; + + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ($params as $k=>$v) { + $txt[] = "$k=$v"; + } + $_POST['params'] = mosParameters::textareaHandling( $txt ); + } + + $id = mosGetParam( $_POST, 'id', '17' ); + $row = new mosComponent( $database ); + $row->load( $id ); + + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + + $msg = T_('Settings successfully Saved'); + mosRedirect( 'index2.php?option='. $option, $msg ); +} + +/** +* Cancels editing and checks in the record +*/ +function cancelSyndicate(){ + mosRedirect( 'index2.php' ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_syndicate/index.html 4.6-complete/uploadfiles/administrator/components/com_syndicate/index.html --- 4.6rc2/uploadfiles/administrator/components/com_syndicate/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_syndicate/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_syndicate/syndicate.xml 4.6-complete/uploadfiles/administrator/components/com_syndicate/syndicate.xml --- 4.6rc2/uploadfiles/administrator/components/com_syndicate/syndicate.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_syndicate/syndicate.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,53 @@ + + + Syndicate + Mambo Project + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This component controls the Syndication settings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_syndicate/toolbar.syndicate.html.php 4.6-complete/uploadfiles/administrator/components/com_syndicate/toolbar.syndicate.html.php --- 4.6rc2/uploadfiles/administrator/components/com_syndicate/toolbar.syndicate.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_syndicate/toolbar.syndicate.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,28 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_syndicate/toolbar.syndicate.php 4.6-complete/uploadfiles/administrator/components/com_syndicate/toolbar.syndicate.php --- 4.6rc2/uploadfiles/administrator/components/com_syndicate/toolbar.syndicate.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_syndicate/toolbar.syndicate.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + default: + TOOLBAR_syndicate::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_templates/admin.templates.class.php 4.6-complete/uploadfiles/administrator/components/com_templates/admin.templates.class.php --- 4.6rc2/uploadfiles/administrator/components/com_templates/admin.templates.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_templates/admin.templates.class.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,27 @@ +mosDBTable( '#__template_positions', 'id', $database ); + } +} + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_templates/admin.templates.html.php 4.6-complete/uploadfiles/administrator/components/com_templates/admin.templates.html.php --- 4.6rc2/uploadfiles/administrator/components/com_templates/admin.templates.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_templates/admin.templates.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,412 @@ +authorUrl) && $row->authorUrl != '' ) { + $row->authorUrl = str_replace( 'http://', '', $row->authorUrl ); + } + + mosCommonHTML::loadOverlib(); + ?> + + +
      + + + + + + +
      + [ ] + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #  + + + + + + + + + + + + + + + +
      + rowNumber( $i ); ?> + + checked_out && $row->checked_out != $my->id ) { + ?> +   + + + + + + name;?> + + + published == 1 ) { + ?> + <?php echo T_('Published'); ?> + +   + + + published == 1 ) { + ?> + <?php echo T_('Default'); ?> + +   + + + assigned == 1 ) { + ?> + <?php echo T_('Assigned'); ?> + +   + + + authorEmail ? ''. $row->author .'' : $row->author; ?> + + version; ?> + + creationdate; ?> + + + authorUrl; ?> + +
      + getListFooter(); ?> + + + + + + +
      + +
      + + + + + + + + + + +
      + index.php is : + '.T_('Writeable').'' : ''.T_('Unwriteable').'' ?> + + + + + + + +
      + + + +
      + + + + +
      + +
      + + + + + + + + + + +
      + template_css.css is : + '.T_('Writeable').'' : ''.T_('Unwriteable').'' ?> + + + + + + + +
      + + + +
      + + + + +
      + +
      + + + + + + + + +
      + +
      + + + +
      + + + +
      + +
      + + + + +
      + +
      + + + + + + + + + + + + + + + + + + +
      + # + + + + +
      () + + + +
      + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_templates/admin.templates.php 4.6-complete/uploadfiles/administrator/components/com_templates/admin.templates.php --- 4.6rc2/uploadfiles/administrator/components/com_templates/admin.templates.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_templates/admin.templates.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,452 @@ +acl_check( 'administration', 'manage', 'users', $GLOBALS['my']->usertype, 'components', 'com_templates' )) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mosConfig_absolute_path .'/administrator/components/com_templates/admin.templates.class.php' ); + +$task = trim( strtolower( mosGetParam( $_REQUEST, "task", "" ) ) ); +$cid = mosGetParam( $_REQUEST, "cid", array(0) ); +$client = mosGetParam( $_REQUEST, 'client', '' ); + +if (!is_array( $cid )) { + $cid = array(0); +} + +switch ($task) { + case 'new': + mosRedirect ( 'index2.php?option=com_installer&element=template&client='. $client ); + break; + + case 'edit_source': + editTemplateSource( $cid[0], $option, $client ); + break; + + case 'save_source': + saveTemplateSource( $option, $client ); + break; + + case 'edit_css': + editTemplateCSS( $cid[0], $option, $client ); + break; + + case 'save_css': + saveTemplateCSS( $option, $client ); + break; + + case 'remove': + removeTemplate( $cid[0], $option, $client ); + break; + + case 'publish': + defaultTemplate( $cid[0], $option, $client ); + break; + + case 'default': + defaultTemplate( $cid[0], $option, $client ); + break; + + case 'assign': + assignTemplate( $cid[0], $option, $client ); + break; + + case 'save_assign': + saveTemplateAssign( $option, $client ); + break; + + case 'cancel': + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); + break; + + case 'positions': + editPositions( $option ); + break; + + case 'save_positions': + savePositions( $option ); + break; + + default: + viewTemplates( $option, $client ); + break; +} + + +/** +* Compiles a list of installed, version 4.5+ templates +* +* Based on xml files found. If no xml file found the template +* is ignored +*/ +function viewTemplates( $option, $client ) { + global $database, $mainframe; + global $mosConfig_absolute_path, $mosConfig_list_limit; + + $limit = $mainframe->getUserStateFromRequest( 'viewlistlimit', 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + + if ($client == 'admin') { + $templateBaseDir = mosPathName( $mosConfig_absolute_path . '/administrator/templates' ); + } else { + $templateBaseDir = mosPathName( $mosConfig_absolute_path . '/templates' ); + } + + $rows = array(); + // Read the template dir to find templates + $templateDirs = mosReadDirectory($templateBaseDir); + + $id = intval( $client == 'admin' ); + + if ($client=='admin') { + $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='1' AND menuid='0'" ); + } else { + $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" ); + } + $cur_template = $database->loadResult(); + + $rowid = 0; + // Check that the directory contains an xml file + foreach($templateDirs as $templateDir) { + $dirName = mosPathName($templateBaseDir . $templateDir); + $xmlFilesInDir = mosReadDirectory($dirName,'.xml$'); + + foreach($xmlFilesInDir as $xmlfile) { + // Read the file to see if it's a valid template XML file + $parser =& new mosXMLDescription($dirName.$xmlfile); + if ($parser->getType() != 'template') continue; + $row = new StdClass(); + $row->id = $rowid; + $row->directory = $templateDir; + + $row->creationdate = $parser->getCreationDate('template'); + $row->name = $parser->getName('template'); + $row->author = $parser->getAuthor('template'); + $row->copyright = $parser->getCopyright('template'); + $row->authorEmail = $parser->getAuthorEmail('template'); + $row->authorUrl = $parser->getAuthorUrl('template'); + $row->version = $parser->getVersion('template'); +/* + $element = &$xmlDoc->getElementsByPath('name', 1 ); + $row->name = $element->getText(); + + $element = &$xmlDoc->getElementsByPath('creationDate', 1); + $row->creationdate = $element ? $element->getText() : 'Unknown'; + + $element = &$xmlDoc->getElementsByPath('author', 1); + $row->author = $element ? $element->getText() : 'Unknown'; + + $element = &$xmlDoc->getElementsByPath('copyright', 1); + $row->copyright = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath('authorEmail', 1); + $row->authorEmail = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath('authorUrl', 1); + $row->authorUrl = $element ? $element->getText() : ''; + + $element = &$xmlDoc->getElementsByPath('version', 1); + $row->version = $element ? $element->getText() : ''; +*/ + // Get info from db + if ($cur_template == $templateDir) { + $row->published = 1; + } else { + $row->published = 0; + } + + $row->checked_out = 0; + $row->mosname = strtolower( str_replace( ' ', '_', $row->name ) ); + + // check if template is assigned + $database->setQuery( "SELECT count(*) FROM #__templates_menu WHERE client_id='0' AND template='$row->directory' AND menuid<>'0'" ); + $row->assigned = $database->loadResult() ? 1 : 0; + + $rows[] = $row; + $rowid++; + } + } + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( count( $rows ), $limitstart, $limit ); + + $rows = array_slice( $rows, $pageNav->limitstart, $pageNav->limit ); + + HTML_templates::showTemplates( $rows, $pageNav, $option, $client ); +} + + +/** +* Publish, or make current, the selected template +*/ +function defaultTemplate( $p_tname, $option, $client ) { + global $database; + + if ($client=='admin') { + $database->setQuery("DELETE FROM #__templates_menu WHERE client_id='1' AND menuid='0'"); + $database->query(); + + $database->setQuery("INSERT INTO #__templates_menu SET client_id='1', template='$p_tname', menuid='0'"); + $database->query(); + } else { + $database->setQuery("DELETE FROM #__templates_menu WHERE client_id='0' AND menuid='0'"); + $database->query(); + + $database->setQuery("INSERT INTO #__templates_menu SET client_id='0', template='$p_tname', menuid='0'"); + $database->query(); + + $_SESSION['cur_template'] = $p_tname; + } + + mosRedirect('index2.php?option='. $option .'&client='. $client); +} + +/** +* Remove the selected template +*/ +function removeTemplate( $cid, $option, $client ) { + global $database; + + $client_id = $client=='admin' ? 1 : 0; + + $database->setQuery("SELECT template FROM #__templates_menu WHERE client_id='$client_id' AND menuid='0'"); + $cur_template = $database->loadResult(); + + if ($cur_template == $cid) { + echo "\n"; + exit(); + } + + // Un-assign + + $database->setQuery( "DELETE FROM #__templates_menu WHERE template='$cid' AND client_id='$client_id' AND menuid<>'0'" ); + $database->query(); + + mosRedirect( 'index2.php?option=com_installer&element=template&client='. $client .'&task=remove&cid[]='. $cid ); +} + +function editTemplateSource( $p_tname, $option, $client ) { + global $mosConfig_absolute_path; + + if ( $client == 'admin' ) { + $file = $mosConfig_absolute_path .'/administrator/templates/'. $p_tname .'/index.php'; + } else { + $file = $mosConfig_absolute_path .'/templates/'. $p_tname .'/index.php'; + } + + if ( $fp = fopen( $file, 'r' ) ) { + $content = fread( $fp, filesize( $file ) ); + $content = htmlspecialchars( $content ); + + HTML_templates::editTemplateSource( $p_tname, $content, $option, $client ); + } else { + mosRedirect( 'index2.php?option='. $option .'&client='. $client, sprintf(T_('Operation Failed: Could not open %s' ), $file) ); + } +} + + +function saveTemplateSource( $option, $client ) { + global $mosConfig_absolute_path; + + $template = mosGetParam( $_POST, 'template', '' ); + $filecontent = mosGetParam( $_POST, 'filecontent', '', _MOS_ALLOWHTML ); + + if ( !$template ) { + mosRedirect( 'index2.php?option='. $option .'&client='. $client, T_('Operation failed: No template specified.') ); + } + if ( !$filecontent ) { + mosRedirect( 'index2.php?option='. $option .'&client='. $client, T_('Operation failed: Content empty.') ); + } + + if ( $client == 'admin' ) { + $file = $mosConfig_absolute_path .'/administrator/templates/'. $template .'/index.php'; + } else { + $file = $mosConfig_absolute_path .'/templates/'. $template .'/index.php'; + } + + $enable_write = mosGetParam($_POST,'enable_write',0); + $oldperms = fileperms($file); + if ($enable_write) @chmod($file, $oldperms | 0222); + + clearstatcache(); + if ( is_writable( $file ) == false ) { + mosRedirect( 'index2.php?option='. $option , sprintf(T_('Operation failed: %s is not writable.'), $file) ); + } + + if ( $fp = fopen ($file, 'w' ) ) { + fputs( $fp, stripslashes( $filecontent ), strlen( $filecontent ) ); + fclose( $fp ); + if ($enable_write) { + @chmod($file, $oldperms); + } else { + if (mosGetParam($_POST,'disable_write',0)) + @chmod($file, $oldperms & 0777555); + } // if + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); + } else { + if ($enable_write) @chmod($file, $oldperms); + mosRedirect( 'index2.php?option='. $option .'&client='. $client, T_('Operation failed: Failed to open file for writing.') ); + } + +} + +function editTemplateCSS( $p_tname, $option, $client ) { + global $mosConfig_absolute_path; + + if ( $client == 'admin' ) { + $file = $mosConfig_absolute_path .'/administrator/templates/'. $p_tname .'/css/template_css.css'; + } else { + $file = $mosConfig_absolute_path .'/templates/'. $p_tname .'/css/template_css.css'; + } + + if ($fp = fopen( $file, 'r' )) { + $content = fread( $fp, filesize( $file ) ); + $content = htmlspecialchars( $content ); + + HTML_templates::editCSSSource( $p_tname, $content, $option, $client ); + } else { + mosRedirect( 'index2.php?option='. $option .'&client='. $client, sprintf(T_('Operation Failed: Could not open %s' ), $file) ); + } +} + + +function saveTemplateCSS( $option, $client ) { + global $mosConfig_absolute_path; + $template = trim( mosGetParam( $_POST, 'template', '' ) ); + $filecontent = mosGetParam( $_POST, 'filecontent', '', _MOS_ALLOWHTML ); + + if ( !$template ) { + mosRedirect( 'index2.php?option='. $option .'&client='. $client, T_('Operation failed: No template specified.') ); + } + + if ( !$filecontent ) { + mosRedirect( 'index2.php?option='. $option .'&client='. $client, T_('Operation failed: Content empty.') ); + } + + if ( $client == 'admin' ) { + $file = $mosConfig_absolute_path .'/administrator/templates/'. $template .'/css/template_css.css'; + } else { + $file = $mosConfig_absolute_path .'/templates/'. $template .'/css/template_css.css'; + } + + $enable_write = mosGetParam($_POST,'enable_write',0); + $oldperms = fileperms($file); + if ($enable_write) @chmod($file, $oldperms | 0222); + + clearstatcache(); + if ( is_writable( $file ) == false ) { + mosRedirect( 'index2.php?option='. $option .'&client='. $client, T_('Operation failed: The file is not writable.') ); + } + + if ($fp = fopen ($file, 'w')) { + fputs( $fp, stripslashes( $filecontent ) ); + fclose( $fp ); + if ($enable_write) { + @chmod($file, $oldperms); + } else { + if (mosGetParam($_POST,'disable_write',0)) + @chmod($file, $oldperms & 0777555); + } // if + mosRedirect( 'index2.php?option='. $option ); + } else { + if ($enable_write) @chmod($file, $oldperms); + mosRedirect( 'index2.php?option='. $option .'&client='. $client, T_('Operation failed: Failed to open file for writing.') ); + } + +} + + +function assignTemplate( $p_tname, $option, $client ) { + global $database; + + // get selected pages for $menulist + if ( $p_tname ) { + $database->setQuery( "SELECT menuid AS value FROM #__templates_menu WHERE client_id='0' AND template='$p_tname'" ); + $lookup = $database->loadObjectList(); + } + + // build the html select list + $menulist = mosAdminMenus::MenuLinks( $lookup, 0, 1 ); + + HTML_templates::assignTemplate( $p_tname, $menulist, $option, $client ); +} + + +function saveTemplateAssign( $option, $client ) { + global $database; + + $menus = mosGetParam( $_POST, 'selections', array() ); + $template = mosGetParam( $_POST, 'template', '' ); + + $database->setQuery( "DELETE FROM #__templates_menu WHERE client_id='0' AND template='$template' AND menuid<>'0'" ); + $database->query(); + + if ( !in_array( '', $menus ) ) { + foreach ( $menus as $menuid ){ + // If 'None' is not in array + if ( $menuid <> -999 ) { + // check if there is already a template assigned to this menu item + $database->setQuery( "DELETE FROM #__templates_menu WHERE client_id='0' AND menuid='$menuid'" ); + $database->query(); + $database->setQuery( "INSERT INTO #__templates_menu SET client_id='0', template='$template', menuid='$menuid'" ); + $database->query(); + } + } + } + + mosRedirect( 'index2.php?option='. $option .'&client='. $client ); +} + + +/** +*/ +function editPositions( $option ) { + global $database; + + $database->setQuery( "SELECT * FROM #__template_positions" ); + $positions = $database->loadObjectList(); + + HTML_templates::editPositions( $positions, $option ); +} + +/** +*/ +function savePositions( $option ) { + global $database; + + $positions = mosGetParam( $_POST, 'position', array() ); + $descriptions = mosGetParam( $_POST, 'description', array() ); + + $query = 'DELETE FROM #__template_positions'; + $database->setQuery( $query ); + $database->query(); + + foreach ($positions as $id=>$position) { + $position = trim( $database->getEscaped( $position ) ); + $description = mosGetParam( $descriptions, $id, '' ); + if ($position != '') { + $id = intval( $id ); + $query = "INSERT INTO #__template_positions" + . "\nVALUES ($id,'$position','$description')"; + $database->setQuery( $query ); + $database->query(); + } + } + mosRedirect( 'index2.php?option='. $option .'&task=positions', T_('Positions saved') ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_templates/index.html 4.6-complete/uploadfiles/administrator/components/com_templates/index.html --- 4.6rc2/uploadfiles/administrator/components/com_templates/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_templates/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_templates/toolbar.templates.html.php 4.6-complete/uploadfiles/administrator/components/com_templates/toolbar.templates.html.php --- 4.6rc2/uploadfiles/administrator/components/com_templates/toolbar.templates.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_templates/toolbar.templates.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,87 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_templates/toolbar.templates.php 4.6-complete/uploadfiles/administrator/components/com_templates/toolbar.templates.php --- 4.6rc2/uploadfiles/administrator/components/com_templates/toolbar.templates.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_templates/toolbar.templates.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,47 @@ +getPath( 'toolbar_html' ) ); + +$client = mosGetParam( $_REQUEST, 'client', '' ); + +switch ($task) { + + case "view": + TOOLBAR_templates::_VIEW(); + break; + + case "edit_source": + TOOLBAR_templates::_EDIT_SOURCE(); + break; + + case "edit_css": + TOOLBAR_templates::_EDIT_CSS(); + break; + + case "assign": + TOOLBAR_templates::_ASSIGN(); + break; + + case "positions": + TOOLBAR_templates::_POSITIONS(); + break; + + default: + TOOLBAR_templates::_DEFAULT($client); + break; + +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_trash/admin.trash.html.php 4.6-complete/uploadfiles/administrator/components/com_trash/admin.trash.html.php --- 4.6rc2/uploadfiles/administrator/components/com_trash/admin.trash.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_trash/admin.trash.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,369 @@ + + +
      + + + + +
      + + startPane("content-pane"); + $tabs->startTab(T_("Content Items"),"content_items"); + ?> + + + + +
      + + + + + + + + + + + + + "> + + + + + + + + + +
      # + +   + + + + + + + +
      + limitstart;?> + id ); ?> + title; + ?> + + sectname; + ?> + + catname; + ?> + + id; + ?> +
      + getListFooter(); ?> + endTab(); + ?> + + + + + + + +
      + +
      + startTab(T_("Menu Items"),"menu_items"); + ?> + + + + +
      + + + + + + + + + + + + + "> + + + + + + + + + +
      # + +   + + + + + + + +
      + limitstart;?> + + + + name; + ?> + + menutype; + ?> + + type; + ?> + + id; + ?> +
      + getListFooter(); ?> + endTab(); + $tabs->endPane(); + ?> + + + + +
      + +
      + + + + +
      + +
      + + + + + + + + + + +
      + +
      + +

      +
      + +
      + "; + foreach ( $items as $item ) { + echo "
    • ". $item->name ."
    • "; + } + echo ""; + ?> +
      + * Permanently Delete
      these Items from the Database'); ?> * +


      + +
       
      +

      + + + + + + "; + } + ?> +
      + +
      + + + + +
      + +
      + + + + + + + + + + +
      + +
      + +

      +
      + +
      + "; + foreach ( $items as $item ) { + echo "
    • ". $item->name ."
    • "; + } + echo ""; + ?> +
      + * Restore these Items,
      they will be returned to their orignial places as Unpublished items'); ?> * +


      + +
       
      +

      + + + + + + + "; + } + ?> +
      + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_trash/admin.trash.php 4.6-complete/uploadfiles/administrator/components/com_trash/admin.trash.php --- 4.6rc2/uploadfiles/administrator/components/com_trash/admin.trash.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_trash/admin.trash.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,261 @@ +acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_trash' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); +require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); + +$task = mosGetParam( $_REQUEST, 'task', array(0) ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +$mid = mosGetParam( $_POST, 'mid', array(0) ); +if ( !is_array( $cid ) ) { + $cid = array(0); +} + +switch ($task) { + case "deleteconfirm": + viewdeleteTrash( $cid, $mid, $option ); + break; + + case "delete": + deleteTrash( $cid, $option ); + break; + + case "restoreconfirm": + viewrestoreTrash( $cid, $mid, $option ); + break; + + case "restore": + restoreTrash( $cid, $option ); + break; + + default: + viewTrash( $option ); + break; +} + + +/** +* Compiles a list of trash items +*/ +function viewTrash( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{". $option ."}limitstart", 'limitstart', 0 ); + // get the total number of content + $query = "SELECT count(*)" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" + . "\n WHERE c.state = '-2'" + ; + $database->setQuery( $query ); + $total_content = $database->loadResult(); + $pageNav_content = new mosPageNav( $total_content, $limitstart, $limit ); + + // Query content items + $query = "SELECT c.*, g.name AS groupname, cc.name AS catname, s.name AS sectname" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__categories AS cc ON cc.id = c.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" + . "\n INNER JOIN #__groups AS g ON g.id = c.access" + . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" + . "\n WHERE c.state = '-2'" + . "\n ORDER BY s.name, cc.name, c.title" + . "\n LIMIT ". $pageNav_content->limitstart .", ".$pageNav_content->limit ."" + ; + $database->setQuery( $query ); + $contents = $database->loadObjectList(); + if (!$contents) $contents = array(); + + $query = "SELECT count(*)" + . "\n FROM #__menu AS m" + . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" + . "\n WHERE m.published = -2" + ; + $database->setQuery( $query ); + $total_menu = $database->loadResult(); + //$total_menu = count( $total_menu ); + $pageNav_menu = new mosPageNav( $total_menu, $limitstart, $limit ); + + // Query menu items + $query = "SELECT m.*" + . "\n FROM #__menu AS m" + . "\n LEFT JOIN #__users AS u ON u.id = m.checked_out" + . "\n WHERE m.published = -2" + . "\n ORDER BY m.menutype, m.ordering, m.ordering, m.name" + . "\n LIMIT ". $pageNav_menu->limitstart .", ".$pageNav_menu->limit ."" + ; + $database->setQuery( $query ); + $menus = $database->loadObjectList(); + if (!$menus) $menus = array(); + + foreach ( $contents as $i=>$content) { + if ( ( $content->sectionid == 0 ) AND ( $content->catid == 0 ) ) { + $contents[$i]->sectname = 'Typed Content'; + } + } + HTML_trash::showList( $option, $contents, $menus, $pageNav_content, $pageNav_menu ); +} + + +/** +* Compiles a list of the items you have selected to permanently delte +*/ +function viewdeleteTrash( $cid, $mid, $option ) { + global $database, $mainframe; + + // seperate contentids + $cids = implode( ',', $cid ); + $mids = implode( ',', $mid ); + + if ( $cids ) { + // Content Items query + $query = "SELECT a.title AS name" + . "\n FROM #__content AS a" + . "\n WHERE ( a.id IN (". $cids .") )" + . "\n ORDER BY a.title" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + $id = $cid; + $type = "content"; + } else if ( $mids ) { + // Content Items query + $query = "SELECT a.name" + . "\n FROM #__menu AS a" + . "\n WHERE ( a.id IN (". $mids .") )" + . "\n ORDER BY a.name" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + $id = $mid; + $type = "menu"; + } + + HTML_trash::showDelete( $option, $id, $items, $type ); +} + + +/** +* Permanently deletes the selected list of trash items +*/ +function deleteTrash( $cid, $option ) { + global $database, $mainframe; + $type = mosGetParam( $_POST, 'type', array(0) ); + + $total = count( $cid ); + + if ( $type == "content" ) { + $obj = new mosContent( $database ); + $fp = new mosFrontPage( $database ); + foreach ( $cid as $id ) { + $id = intval( $id ); + $obj->delete( $id ); + $fp->delete( $id ); + } + } else if ( $type == "menu" ) { + $obj = new mosMenu( $database ); + foreach ( $cid as $id ) { + $id = intval( $id ); + $obj->delete( $id ); + } + } + + $msg = sprintf(Tn_('%s Item successfully Deleted','%s Items successfully Deleted',$total), $total); + mosRedirect( "index2.php?option=$option&mosmsg=". $msg ."" ); +} + + +/** +* Compiles a list of the items you have selected to permanently delte +*/ +function viewrestoreTrash( $cid, $mid, $option ) { + global $database, $mainframe; + + // seperate contentids + $cids = implode( ',', $cid ); + $mids = implode( ',', $mid ); + + if ( $cids ) { + // Content Items query + $query = "SELECT a.title AS name" + . "\n FROM #__content AS a" + . "\n WHERE ( a.id IN (". $cids .") )" + . "\n ORDER BY a.title" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + $id = $cid; + $type = "content"; + } else if ( $mids ) { + // Content Items query + $query = "SELECT a.name" + . "\n FROM #__menu AS a" + . "\n WHERE ( a.id IN (". $mids .") )" + . "\n ORDER BY a.name" + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + $id = $mid; + $type = "menu"; + } + + HTML_trash::showRestore( $option, $id, $items, $type ); +} + + +/** +* Restores items selected to normal - restores to an unpublished state +*/ +function restoreTrash( $cid, $option ) { + global $database; + $type = mosGetParam( $_POST, 'type', array(0) ); + + $total = count( $cid ); + + // restores to an unpublished state + $state = "0"; + $ordering = '9999'; + //seperate contentids + $cids = implode( ',', $cid ); + + if ( $type == "content" ) { + $query = "UPDATE #__content SET state = '". $state ."', ordering = '". $ordering ."'" + . "\n WHERE id IN ( ". $cids ." )" + ; + } else if ( $type == "menu" ) { + $query = "UPDATE #__menu SET published = '". $state ."', ordering = '9999'" + . "\n WHERE id IN ( ". $cids ." )" + ; + } + + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $msg = sprintf(Tn_('%s Item successfully Restored','%s Items successfully Restored',$total),$total); + mosRedirect( "index2.php?option=$option&mosmsg=". $msg ."" ); +} + + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_trash/index.html 4.6-complete/uploadfiles/administrator/components/com_trash/index.html --- 4.6rc2/uploadfiles/administrator/components/com_trash/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_trash/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_trash/toolbar.trash.html.php 4.6-complete/uploadfiles/administrator/components/com_trash/toolbar.trash.html.php --- 4.6rc2/uploadfiles/administrator/components/com_trash/toolbar.trash.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_trash/toolbar.trash.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,42 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_trash/toolbar.trash.php 4.6-complete/uploadfiles/administrator/components/com_trash/toolbar.trash.php --- 4.6rc2/uploadfiles/administrator/components/com_trash/toolbar.trash.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_trash/toolbar.trash.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,39 @@ +getPath( 'toolbar_html' ) ); +//require_once( $mainframe->getPath( 'toolbar_default' ) ); + +$act = mosGetParam( $_REQUEST, 'act', '' ); +if ($act) { + $task = $act; +} + +switch ($task) { + + case "settings": + TOOLBAR_Trash::_SETTINGS(); + break; + + case "restoreconfirm": + case "deleteconfirm": + TOOLBAR_Trash::_DELETE(); + break; + + default: + TOOLBAR_Trash::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_trash/trash.xml 4.6-complete/uploadfiles/administrator/components/com_trash/trash.xml --- 4.6rc2/uploadfiles/administrator/components/com_trash/trash.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_trash/trash.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,12 @@ + + + Trash + Mambo Project + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This component manages the Trash functionality. + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_typedcontent/admin.typedcontent.html.php 4.6-complete/uploadfiles/administrator/components/com_typedcontent/admin.typedcontent.html.php --- 4.6rc2/uploadfiles/administrator/components/com_typedcontent/admin.typedcontent.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_typedcontent/admin.typedcontent.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,829 @@ + +
      + + + + + + + + + + +
      + + +   + + + +      + + + + +
      + + + + + + + + + + + + + + + + + publish_up && $row->state == "1" ) { + $img = 'publish_y.png'; + $alt = T_('Published'); + } else if ( ( $now <= $row->publish_down || $row->publish_down == "0000-00-00 00:00:00" ) && $row->state == "1" ) { + $img = 'publish_g.png'; + $alt = T_('Published'); + } else if ( $now > $row->publish_down && $row->state == "1" ) { + $img = 'publish_r.png'; + $alt = T_('Expired'); + } elseif ( $row->state == "0" ) { + $img = "publish_x.png"; + $alt = T_('Unpublished'); + } + $times = ''; + if (isset($row->publish_up)) { + if ($row->publish_up == '0000-00-00 00:00:00') { + $times .= ""; + } else { + $times .= ""; + } + } + if (isset($row->publish_down)) { + if ($row->publish_down == '0000-00-00 00:00:00') { + $times .= ""; + } else { + $times .= ""; + } + } + + if ( !$row->access ) { + $color_access = 'style="color: green;"'; + $task_access = 'accessregistered'; + } else if ( $row->access == 1 ) { + $color_access = 'style="color: red;"'; + $task_access = 'accessspecial'; + } else { + $color_access = 'style="color: black;"'; + $task_access = 'accesspublic'; + } + + $link = 'index2.php?option=com_typedcontent&task=edit&hidemainmenu=1&id='. $row->id; + + if ( $row->checked_out ) { + $checked = mosCommonHTML::checkedOut( $row ); + } else { + $checked = mosHTML::idBox( $i, $row->id, ($row->checked_out && $row->checked_out != $my->id ) ); + } + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. $row->creator .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = $row->creator; + } + } + + $date = mosFormatDate( $row->created, '%x' ); + ?> + "> + + + + + + + + + + + + + + + +
      + # + + + + + + + + + + + + <?php echo T_('Save Order'); ?> + + + + + + + + + + +
      ".T_('Start:')." ".T_('Always')."
      ".T_('Start:')." $row->publish_up
      ".T_('Finish:')." ".T_('No Expiry')."
      ".T_('Finish:')." $row->publish_down
      + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->title; + if ( $row->title_alias ) { + echo ' ('. $row->title_alias .')'; + } + } else { + ?> + + title; + if ( $row->title_alias ) { + echo ' ('. $row->title_alias .')'; + } + ?> + + + + ')"> + <?php echo $alt; ?> + + + + <?php echo ( $row->frontpage ) ? T_('Yes') : T_('No');?> + + + + + > + groupname;?> + + + id;?> + + links;?> + + + + +
      + + getListFooter(); ?> + + + + + + +
      + hits ) { + $visibility = "style='display: none; visbility: hidden;'"; + } else { + $visibility = ""; + } + + mosCommonHTML::loadOverlib(); + mosCommonHTML::loadCalendar(); + ?> + + + + + + +
      + + + id ? T_('Edit') : T_('New');?> + +
      + + + + +
      +
      + +
      +
      + +
      +
      +
      + + + + + + + + + +
      + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + +
      +
      + introtext, 'introtext', '100%;', '400', '65', '50' ); + ?> +
      +
      +
      + + + + +
      + + + + + + +
      + startPane("content-pane"); + $tabs->startTab(T_("Publishing"),"publish-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + state > 0 ? 'Published' : 'Draft Unpublished'; ?> +
      + + + state ? 'checked="checked"' : ''; ?> /> +
      + + + frontpage ? 'checked="checked"' : ''; ?> /> +
      + + + +
      + + + +
      + + + +
      + + + + +
      + + + + +
      + + + + +
      +
      + + id ) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + id; ?> +
      + + + state > 0 ? T_('Published') : ($row->state < 0 ? T_('Archived') : T_('Draft Unpublished'));?> +
      + + + hits;?> +
      > + +
      +
      + + + version";?> +
      + + + created ? "$row->created
      ".T_('By')."$row->creator" : T_("New document");?> +
      + + + modified ? "$row->modified
      ".T_('By')."$row->modifier" : T_("Not modified");?> +
      + + + publish_down";?> +
      + endTab(); + $tabs->startTab(T_("Images"),"images-page"); + ?> + + + + + + + + + + + + + + + + + + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + +
      + + + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + +
      +
      + endTab(); + $tabs->startTab(T_("Parameters"),"params-page"); + ?> + + + + + + + +
      + +
      + render();?> +
      + endTab(); + $tabs->startTab(T_("Meta Info"),"metadata-page"); + ?> + + + + + + + + + + +
      + +
      +
      + +
      +
      + +
      + endTab(); + $tabs->startTab(T_("Link to Menu"),"link-page"); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +

      +
      + + + +
      + + + +
      + + +
      + +
      + +
      +
      + endTab(); + $tabs->endPane(); + ?> +
      +
      +
      +
      + + + + + + + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_typedcontent/admin.typedcontent.php 4.6-complete/uploadfiles/administrator/components/com_typedcontent/admin.typedcontent.php --- 4.6rc2/uploadfiles/administrator/components/com_typedcontent/admin.typedcontent.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_typedcontent/admin.typedcontent.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,656 @@ +getPath( 'admin_html' ) ); +require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); + +$id = mosGetParam( $_REQUEST, 'id', '' ); +$cid = mosGetParam( $_POST, 'cid', array(0) ); +if (!is_array( $cid )) { + $cid = array(0); +} + + +switch ( $task ) { + case 'cancel': + cancel( $option ); + break; + + case 'new': + edit( 0, $option ); + break; + + case 'edit': + edit( $id, $option ); + break; + + case 'editA': + edit( $cid[0], $option ); + break; + + case 'go2menu': + case 'go2menuitem': + case 'resethits': + case 'menulink': + case 'save': + case 'apply': + save( $option, $task ); + break; + + case 'remove': + trash( $cid, $option ); + break; + + case 'publish': + changeState( $cid, 1, $option ); + break; + + case 'unpublish': + changeState( $cid, 0, $option ); + break; + + case 'accesspublic': + changeAccess( $cid[0], 0, $option ); + break; + + case 'accessregistered': + changeAccess( $cid[0], 1, $option ); + break; + + case 'accessspecial': + changeAccess( $cid[0], 2, $option ); + break; + + case 'saveorder': + saveOrder( $cid ); + break; + + case 'toggle_frontpage': + toggleFrontPage( $cid, $option ); + break; + + default: + view( $option ); + break; +} + +/** +* Compiles a list of installed or defined modules +* @param database A database connector object +*/ +function view( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}", 'filter_authorid', 0 ); + $order = $mainframe->getUserStateFromRequest( "zorder", 'zorder', 'c.ordering DESC' ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + // used by filter + if ( $search ) { + $search_query = "\n AND ( LOWER( c.title ) LIKE '%$search%' OR LOWER( c.title_alias ) LIKE '%$search%' )"; + } else { + $search_query = ''; + } + + $filter = ''; + if ( $filter_authorid > 0 ) { + $filter = "\n AND c.created_by = '$filter_authorid'"; + } + + // get the total number of records + $query = "SELECT count(*)" + . "\n FROM #__content AS c" + . "\n WHERE c.sectionid = '0'" + . "\n AND c.catid = '0'" + . "\n AND c.state <> '-2'" + . $filter + ; + $database->setQuery( $query ); + $total = $database->loadResult(); + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT c.*, g.name AS groupname, u.name AS editor, z.name AS creator, f.content_id AS frontpage" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__groups AS g ON g.id = c.access" + . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" + . "\n LEFT JOIN #__users AS z ON z.id = c.created_by" + . "\n LEFT JOIN #__content_frontpage AS f ON f.content_id = c.id" + . "\n WHERE c.sectionid = '0'" + . "\n AND c.catid = '0'" + . "\n AND c.state <> '-2'" + . $search_query + . $filter + . "\n ORDER BY ". $order + . "\n LIMIT $pageNav->limitstart,$pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + $count = count( $rows ); + for( $i = 0; $i < $count; $i++ ) { + $query = "SELECT COUNT( id )" + . "\n FROM #__menu" + . "\n WHERE componentid = ". $rows[$i]->id + . "\n AND type = 'content_typed'" + . "\n AND published <> '-2'" + ; + $database->setQuery( $query ); + $rows[$i]->links = $database->loadResult(); + } + + $ordering[] = mosHTML::makeOption( 'c.ordering ASC', T_('Ordering asc') ); + $ordering[] = mosHTML::makeOption( 'c.ordering DESC', T_('Ordering desc') ); + $ordering[] = mosHTML::makeOption( 'c.id ASC', T_('ID asc') ); + $ordering[] = mosHTML::makeOption( 'c.id DESC', T_('ID desc') ); + $ordering[] = mosHTML::makeOption( 'c.title ASC', T_('Title asc') ); + $ordering[] = mosHTML::makeOption( 'c.title DESC', T_('Title desc') ); + $ordering[] = mosHTML::makeOption( 'c.created ASC', T_('Date asc') ); + $ordering[] = mosHTML::makeOption( 'c.created DESC', T_('Date desc') ); + $ordering[] = mosHTML::makeOption( 'z.name ASC', T_('Author asc') ); + $ordering[] = mosHTML::makeOption( 'z.name DESC', T_('Author desc') ); + $ordering[] = mosHTML::makeOption( 'c.state ASC', T_('Published asc') ); + $ordering[] = mosHTML::makeOption( 'c.state DESC', T_('Published desc') ); + $ordering[] = mosHTML::makeOption( 'c.access ASC', T_('Access asc') ); + $ordering[] = mosHTML::makeOption( 'c.access DESC', T_('Access desc') ); + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['order'] = mosHTML::selectList( $ordering, 'zorder', 'class="inputbox" size="1"'. $javascript, 'value', 'text', $order ); + + // get list of Authors for dropdown filter + $query = "SELECT c.created_by AS value, u.name AS text" + . "\n FROM #__content AS c" + . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" + . "\n WHERE c.sectionid = 0" + . "\n GROUP BY u.name" + . "\n ORDER BY u.name" + ; + $authors[] = mosHTML::makeOption( '0', T_('- All Authors -') ); + $database->setQuery( $query ); + $authors = array_merge( $authors, $database->loadObjectList() ); + $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); + + HTML_typedcontent::showContent( $rows, $pageNav, $option, $search, $lists ); +} + +/** +* Compiles information to add or edit content +* @param database A database connector object +* @param string The name of the category section +* @param integer The unique id of the category to edit (0 if new) +*/ +function edit( $uid, $option ) { + global $database, $my, $mainframe; + global $mosConfig_absolute_path, $mosConfig_live_site; + + $row = new mosContent( $database ); + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + echo "\n"; + exit(0); + } + + $lists = array(); + + if ($uid) { + // load the row from the db table + $row->load( $uid ); + $row->checkout( $my->id ); + if (trim( $row->images )) { + $row->images = explode( "\n", $row->images ); + } else { + $row->images = array(); + } + if (trim( $row->publish_down ) == "0000-00-00 00:00:00") { + $row->publish_down = "Never"; + } + + $query = "SELECT name from #__users" + . "\n WHERE id=$row->created_by" + ; + $database->setQuery( $query ); + $row->creator = $database->loadResult(); + + $query = "SELECT name from #__users" + . "\n WHERE id=$row->modified_by" + ; + $database->setQuery( $query ); + $row->modifier = $database->loadResult(); + + $query = "SELECT content_id from #__content_frontpage" + . "\n WHERE content_id=$row->id" + ; + $database->setQuery( $query ); + $row->frontpage = $database->loadResult(); + + // get list of links to this item + $_and = "\n AND componentid = ". $row->id; + $menus = mosAdminMenus::Links2Menu( 'content_typed', $_and ); + } else { + // initialise values for a new item + $row->version = 0; + $row->state = 1; + $row->images = array(); + $row->publish_up = date( "Y-m-d", time() ); + $row->publish_down = "Never"; + $row->sectionid = 0; + $row->catid = 0; + $row->creator = ''; + $row->modifier = ''; + $row->ordering = 0; + $row->frontpage = 0; + $menus = array(); + } + + // calls function to read image from directory + $pathA = $mosConfig_absolute_path .'/images/stories'; + $pathL = $mosConfig_live_site .'/images/stories'; + $images = array(); + $folders = array(); + $folders[] = mosHTML::makeOption( '/' ); + mosAdminMenus::ReadImages( $pathA, '/', $folders, $images ); + // list of folders in images/stories/ + $lists['folders'] = mosAdminMenus::GetImageFolders( $folders, $pathL ); + // list of images in specfic folder in images/stories/ + $lists['imagefiles'] = mosAdminMenus::GetImages( $images, $pathL ); + // list of saved images + $lists['imagelist'] = mosAdminMenus::GetSavedImages( $row, $pathL ); + + // build list of users + $active = ( intval( $row->created_by ) ? intval( $row->created_by ) : $my->id ); + $lists['created_by'] = mosAdminMenus::UserSelect( 'created_by', $active ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + // build the html select list for menu selection + $lists['menuselect'] = mosAdminMenus::MenuSelect( ); + // build the select list for the image positions + $lists['_align'] = mosAdminMenus::Positions( '_align' ); + // build the select list for the image caption alignment + $lists['_caption_align'] = mosAdminMenus::Positions( '_caption_align' ); + // build the select list for the image caption position + $pos[] = mosHTML::makeOption( 'bottom', T_('Bottom') ); + $pos[] = mosHTML::makeOption( 'top', T_('Top') ); + $lists['_caption_position'] = mosHTML::selectList( $pos, '_caption_position', 'class="inputbox" size="1"', 'value', 'text' ); + + // get params definitions + $params =& new mosAdminParameters( $row->attribs, $mainframe->getPath( 'com_xml', 'com_typedcontent' ), 'component' ); + + HTML_typedcontent::edit( $row, $images, $lists, $params, $option, $menus ); +} + +/** +* Saves the typed content item +*/ +function save( $option, $task ) { + global $database, $my, $mainframe; + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + $menuid = mosGetParam( $_POST, 'menuid', 0 ); + + $row = new mosContent( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + if ( $row->id ) { + $row->modified = date( 'Y-m-d H:i:s' ); + $row->modified_by = $my->id; + } else { + $row->created = date( 'Y-m-d H:i:s' ); + $row->created_by = $my->id; + } + if (trim( $row->publish_down ) == 'Never') { + $row->publish_down = '0000-00-00 00:00:00'; + } + + // Save Parameters + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ( $params as $k=>$v) { + $txt[] = "$k=$v"; + } + $row->attribs = implode( "\n", $txt ); + } + + // code cleaner for xhtml transitional compliance + $row->introtext = str_replace( '
      ', '
      ', $row->introtext ); + + $row->state = mosGetParam( $_REQUEST, 'published', 0 ); + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + + // manage frontpage items + require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); + $fp = new mosFrontPage( $database ); + + if (mosGetParam( $_REQUEST, 'frontpage', 0 )) { + + // toggles go to first place + if (!$fp->load( $row->id )) { + // new entry + $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$row->id','1')" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $fp->ordering = 1; + } + } else { + // no frontpage mask + if (!$fp->delete( $row->id )) { + $msg .= $fp->stderr(); + } + $fp->ordering = 0; + } + $fp->updateOrder(); + + $row->checkin(); + + switch ( $task ) { + case 'go2menu': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); + break; + + case 'go2menuitem': + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $menuid ); + break; + + case 'menulink': + menuLink( $option, $row->id ); + break; + + case 'resethits': + resethits( $option, $row->id ); + break; + + case 'save': + $msg = T_('Typed Content Item saved'); + mosRedirect( 'index2.php?option='. $option, $msg ); + break; + + case 'apply': + default: + $msg = T_('Changes to Typed Content Item saved'); + mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $row->id, $msg ); + break; + } +} + +/** +* Trashes the typed content item +*/ +function trash( &$cid, $option ) { + global $database, $mainframe; + + $total = count( $cid ); + if ( $total < 1) { + echo "\n"; + exit; + } + + $state = '-2'; + $ordering = '0'; + //seperate contentids + $cids = implode( ',', $cid ); + $query = "UPDATE #__content SET state = '". $state ."', ordering = '". $ordering ."'" + . "\n WHERE id IN ( ". $cids ." )" + ; + $database->setQuery( $query ); + if ( !$database->query() ) { + echo "\n"; + exit(); + } + + $msg = sprintf(Tn_('%d Item sent to the Trash', '%d Items sent to the Trash', $total), $total) .""; + mosRedirect( 'index2.php?option='. $option, $msg ); +} + +/** +* Changes the state of one or more content pages +* @param string The name of the category section +* @param integer A unique category id (passed from an edit form) +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The name of the current user +*/ +function changeState( $cid=null, $state=0, $option ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $state == 1 ? T_('publish') : ($state == -1 ? T_('archive') : T_('unpublish')); + echo "\n"; + exit; + } + + $total = count ( $cid ); + $cids = implode( ',', $cid ); + + $database->setQuery( "UPDATE #__content SET state='$state'" + . "\nWHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosContent( $database ); + $row->checkin( $cid[0] ); + } + + if ( $state == "1" ) { + $msg = $total .""; + $msg = sprintf(Tn_('%d Item successfully Published', '%d Items successfully Published', $total), $total); + } else if ( $state == "0" ) { + $msg = sprintf(Tn_('%d Item successfully Unpublished', '%d Items successfully Unpublished', $total), $total); + } + mosRedirect( 'index2.php?option='. $option .'&msg='. $msg ); +} + +/** +* changes the access level of a record +* @param integer The increment to reorder by +*/ +function changeAccess( $id, $access, $option ) { + global $database; + + $row = new mosContent( $database ); + $row->load( $id ); + $row->access = $access; + + if ( !$row->check() ) { + return $row->getError(); + } + if ( !$row->store() ) { + return $row->getError(); + } + + mosRedirect( 'index2.php?option='. $option ); +} + + +/** +* Function to reset Hit count of a content item +*/ +function resethits( $option, $id ) { + global $database; + + $row = new mosContent($database); + $row->Load( $id ); + $row->hits = "0"; + $row->store(); + $row->checkin(); + + $msg = T_('Successfully Reset Hit'); + mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $row->id, $msg ); +} + +/** +* Cancels an edit operation +* @param database A database connector object +*/ +function cancel( $option ) { + global $database; + + $row = new mosContent( $database ); + $row->bind( $_POST ); + $row->checkin(); + mosRedirect( 'index2.php?option='. $option ); +} + +function menuLink( $option, $id ) { + global $database; + + $menu = mosGetParam( $_POST, 'menuselect', '' ); + $link = mosGetParam( $_POST, 'link_name', '' ); + + $row = new mosMenu( $database ); + $row->menutype = $menu; + $row->name = $link; + $row->type = 'content_typed'; + $row->published = 1; + $row->componentid = $id; + $row->link = 'index.php?option=com_content&task=view&id='. $id; + $row->ordering = 9999; + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "menutype='$row->menutype' AND parent='$row->parent'" ); + + $msg =sprintf(T_('%s (Link - Static Content) in menu: %s successfully created'),$link , $menu); + mosRedirect( 'index2.php?option='. $option .'&task=edit&hidemainmenu=1&id='. $id, $msg ); +} + +function go2menu() { + global $database; + + // checkin content + $row = new mosContent( $database ); + $row->bind( $_POST ); + $row->checkin(); + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu ); +} + +function go2menuitem() { + global $database; + + // checkin content + $row = new mosContent( $database ); + $row->bind( $_POST ); + $row->checkin(); + + $menu = mosGetParam( $_POST, 'menu', 'mainmenu' ); + $id = mosGetParam( $_POST, 'menuid', 0 ); + + mosRedirect( 'index2.php?option=com_menus&menutype='. $menu .'&task=edit&hidemainmenu=1&id='. $id ); +} + +function saveOrder( &$cid ) { + global $database; + $order = mosGetParam( $_POST, 'order', array(0) ); + $row = new mosMenu( $database ); + $categories = array(); + // update ordering values + foreach ($cid as $i=>$ciditem) { + $row->load( $ciditem ); + if ($row->ordering != $order[$i]) { + $row->ordering = $order[$i]; + if (!$row->store()) { + echo "\n"; + exit(); + } + // remember to updateOrder this group + $categories[$row->catid] = $row->id; + } + } + // execute updateOrder for each group + foreach ($categories as $catid=>$rowid) { + $row->updateOrder("catid = $catid AND state >= 0"); + } // foreach + + $msg = T_('New ordering saved'); + mosRedirect( 'index2.php?option=com_typedcontent', $msg ); +} // saveOrder + + +/** +* Changes the state of one or more content pages +* @param string The name of the category section +* @param integer A unique category id (passed from an edit form) +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The name of the current user +*/ +function toggleFrontPage( $cid, $option ) { + global $database, $my, $mainframe; + + if (count( $cid ) < 1) { + echo "\n"; + exit; + } + + $msg = ''; + require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); + + $fp = new mosFrontPage( $database ); + foreach ($cid as $id) { + // toggles go to first place + if ($fp->load( $id )) { + if (!$fp->delete( $id )) { + $msg .= $fp->stderr(); + } + $fp->ordering = 0; + } else { + // new entry + $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$id','0')" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $fp->ordering = 0; + } + $fp->updateOrder(); + } + mosRedirect( 'index2.php?option=com_typedcontent' ); +} //toggleFrontPage + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_typedcontent/index.html 4.6-complete/uploadfiles/administrator/components/com_typedcontent/index.html --- 4.6rc2/uploadfiles/administrator/components/com_typedcontent/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_typedcontent/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_typedcontent/toolbar.typedcontent.html.php 4.6-complete/uploadfiles/administrator/components/com_typedcontent/toolbar.typedcontent.html.php --- 4.6rc2/uploadfiles/administrator/components/com_typedcontent/toolbar.typedcontent.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_typedcontent/toolbar.typedcontent.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,46 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_typedcontent/toolbar.typedcontent.php 4.6-complete/uploadfiles/administrator/components/com_typedcontent/toolbar.typedcontent.php --- 4.6rc2/uploadfiles/administrator/components/com_typedcontent/toolbar.typedcontent.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_typedcontent/toolbar.typedcontent.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,29 @@ +getPath( 'toolbar_html' ) ); + +switch ($task) { + case 'new': + case 'edit': + case 'editA': + TOOLBAR_typedcontent::_EDIT( ); + break; + + default: + TOOLBAR_typedcontent::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_typedcontent/typedcontent.xml 4.6-complete/uploadfiles/administrator/components/com_typedcontent/typedcontent.xml --- 4.6rc2/uploadfiles/administrator/components/com_typedcontent/typedcontent.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_typedcontent/typedcontent.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + Typed Content Page + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This shows a single content page + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_users/admin.users.html.php 4.6-complete/uploadfiles/administrator/components/com_users/admin.users.html.php --- 4.6rc2/uploadfiles/administrator/components/com_users/admin.users.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_users/admin.users.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,419 @@ + +
      + + + + + + + + + +
      + + + + + + + + + +
      + + + + + + + + + + + + + + block ? 'publish_x.png' : 'tick.png'; + $task = $row->block ? 'unblock' : 'block'; + $alt = $row->block ? 'Enabled' : 'Blocked'; + $link = 'index2.php?option=com_users&task=editA&id='. $row->id. '&hidemainmenu=1'; + ?> + "> + + + + + + + + + + + +
      + # + + + + + + + + + + + + + + + + +
      + limitstart;?> + + id ); ?> + + + name; ?> + + + loggedin ? '': ''; ?> + + + <?php echo $alt; ?> + + + username; ?> + + groupname; ?> + + + email; ?> + + + lastvisitDate, "%Y-%m-%d %H:%M:%S" ); ?> +
      + getListFooter(); ?> + + + + + +
      + acl_check( 'administration', 'edit', 'users', $my->usertype, 'user properties', 'block_user' ); + $canEmailEvents = $acl->acl_check( 'workflow', 'email_events', 'users', $acl->get_group_name( $row->gid, 'ARO' ) ); + ?> + +
      + + + + + +
      + id ? T_('Edit') : T_('Add');?> +
      + + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + registerDate;?> +
      + + + lastvisitDate;?> +
        + +
      +
      + + + + + + + + +
      + +
      +
      + +
      + Contact -> Manage Contacts" for details.'); ?> +

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + image) { + ?> + + + + + + + + +
      + +
      + + + + name;?> + +
      + + + + con_position;?> + +
      + + + + telephone;?> + +
      + + + + fax;?> + +
      + + misc;?> + +
      + <?php echo T_('Contact'); ?> +
      +

      + + +
      + ' Contact -> Manage Contacts'); ?>'. +
      +
      + +
      + + + + + + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_users/admin.users.php 4.6-complete/uploadfiles/administrator/components/com_users/admin.users.php --- 4.6rc2/uploadfiles/administrator/components/com_users/admin.users.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_users/admin.users.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,481 @@ +acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' )) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); + +$task = trim( mosGetParam( $_REQUEST, 'task', null ) ); +$cid = mosGetParam( $_REQUEST, 'cid', array( 0 ) ); +if (!is_array( $cid )) { + $cid = array ( 0 ); +} + +switch ($task) { + case 'new': + editUser( 0, $option); + break; + + case 'edit': + editUser( intval( $cid[0] ), $option ); + break; + + case 'editA': + editUser( $id, $option ); + break; + + case 'save': + case 'apply': + saveUser( $option, $task ); + break; + + case 'remove': + removeUsers( $cid, $option ); + break; + + case 'block': + changeUserBlock( $cid, 1, $option ); + break; + + case 'unblock': + changeUserBlock( $cid, 0, $option ); + break; + + case 'logout': + logoutUser( $cid, $option, $task ); + break; + + case 'flogout': + logoutUser( $id, $option, $task ); + break; + + case 'cancel': + cancelUser( $option ); + break; + + case 'contact': + $contact_id = mosGetParam( $_POST, 'contact_id', '' ); + mosRedirect( 'index2.php?option=com_contact&task=editA&id='. $contact_id ); + break; + + default: + showUsers( $option ); + break; +} + +function showUsers( $option ) { + global $database, $mainframe, $my, $acl, $mosConfig_list_limit; + + $filter_type = $mainframe->getUserStateFromRequest( "filter_type{$option}", 'filter_type', 0 ); + $filter_logged = $mainframe->getUserStateFromRequest( "filter_logged{$option}", 'filter_logged', 0 ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + $where = array(); + + if (isset( $search ) && $search!= "") { + $where[] = "(a.username LIKE '%$search%' OR a.email LIKE '%$search%' OR a.name LIKE '%$search%')"; + } + if ( $filter_type ) { + if ( $filter_type == 'Public Frontend' ) { + $where[] = "a.usertype = 'Registered' OR a.usertype = 'Author' OR a.usertype = 'Editor' OR a.usertype = 'Publisher'"; + } else if ( $filter_type == 'Public Backend' ) { + $where[] = "a.usertype = 'Manager' OR a.usertype = 'Administrator' OR a.usertype = 'Super Administrator'"; + } else { + $where[] = "a.usertype = LOWER( '$filter_type' )"; + } + } + if ( $filter_logged == 1 ) { + $where[] = "s.userid = a.id"; + } else if ($filter_logged == 2) { + $where[] = "s.userid IS NULL"; + } + + // exclude any child group id's for this user + //$acl->_debug = true; + $pgids = $acl->get_group_children( $my->gid, 'ARO', 'RECURSE' ); + + if (is_array( $pgids ) && count( $pgids ) > 0) { + $where[] = "(a.gid NOT IN (" . implode( ',', $pgids ) . "))"; + } + + $query = "SELECT COUNT(*)" + . "\n FROM #__users AS a" + . "\n LEFT JOIN #__session AS s ON s.userid = a.id" + . ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : '' ) + ; + $database->setQuery( $query ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT a.*, g.name AS groupname, s.userid AS loggedin" + . "\n FROM #__users AS a" + . "\n INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id" // map user to aro + . "\n INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id" // map aro to group + . "\n INNER JOIN #__core_acl_aro_groups AS g ON g.group_id = gm.group_id" + . "\n LEFT JOIN #__session AS s ON s.userid = a.id" + . (count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : "") + . "\n GROUP BY a.id" + . "\n LIMIT $pageNav->limitstart, $pageNav->limit" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + // get list of Groups for dropdown filter + $query = "SELECT name AS value, name AS text" + . "\n FROM #__core_acl_aro_groups" + . "\n WHERE name != 'ROOT'" + . "\n AND name != 'USERS'" + ; + $types[] = mosHTML::makeOption( '0', T_('- Select Group -') ); + $database->setQuery( $query ); + $types = array_merge( $types, $database->loadObjectList() ); + $lists['type'] = mosHTML::selectList( $types, 'filter_type', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', "$filter_type" ); + + // get list of Log Status for dropdown filter + $logged[] = mosHTML::makeOption( 0, T_('- Select Log Status - ')); + $logged[] = mosHTML::makeOption( 1, T_('Logged In')); + $logged[] = mosHTML::makeOption( 2, T_('Not Logged In')); + $lists['logged'] = mosHTML::selectList( $logged, 'filter_logged', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', "$filter_logged" ); + + HTML_users::showUsers( $rows, $pageNav, $search, $option, $lists ); +} + +function editUser( $uid='0', $option='users' ) { + global $database, $my, $acl; + + $row = new mosUser( $database ); + // load the row from the db table + $row->load( $uid ); + if ( $uid ) { + $query = "SELECT * FROM #__contact_details WHERE user_id='". $row->id ."'"; + $database->setQuery( $query ); + $contact = $database->loadObjectList(); + } else { + $contact = NULL; + $row->block = 0; + } + + // check to ensure only super admins can edit super admin info + if ( ( $my->gid < 25 ) && ( $row->gid == 25 ) ) { + mosRedirect( 'index2.php?option=com_users', T_('You are not authorized to view this resource.') ); + } + + $my_group = strtolower( $acl->get_group_name( $row->gid, 'ARO' ) ); + if ( $my_group == 'super administrator' ) { + $lists['gid'] = ''.T_('Super Administrator').''; + } else if ( $my->gid == 24 && $row->gid == 24 ) { + $lists['gid'] = ''.T_('Administrator').''; + } else { + // ensure user can't add group higher than themselves + $my_groups = $acl->get_object_groups( 'users', $my->id, 'ARO' ); + if (is_array( $my_groups ) && count( $my_groups ) > 0) { + $ex_groups = $acl->get_group_children( $my_groups[0], 'ARO', 'RECURSE' ); + if (!$ex_groups) $ex_groups = array(); + } else { + $ex_groups = array(); + } + + $gtree = $acl->get_group_children_tree( null, 'USERS', false ); + + // remove users 'above' me + $i = 0; + while ($i < count( $gtree )) { + if (in_array( $gtree[$i]->value, $ex_groups )) { + array_splice( $gtree, $i, 1 ); + } else { + $i++; + } + } + + $lists['gid'] = mosHTML::selectList( $gtree, 'gid', 'size="10"', 'value', 'text', $row->gid ); + } + + // build the html select list + $lists['block'] = mosHTML::yesnoRadioList( 'block', 'class="inputbox" size="1"', $row->block ); + // build the html select list + $lists['sendEmail'] = mosHTML::yesnoRadioList( 'sendEmail', 'class="inputbox" size="1"', $row->sendEmail ); + + HTML_users::edituser( $row, $contact, $lists, $option, $uid ); +} + +function saveUser( $option, $task ) { + global $database, $my; + global $mosConfig_live_site, $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_sitename; + + $row = new mosUser( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + + // sanitize + $row->id = intval($row->id); + $row->gid = intval($row->gid); + + $isNew = !$row->id; + $pwd = ''; + + // MD5 hash convert passwords + if ($isNew) { + // new user stuff + if ($row->password == '') { + $pwd = mosMakePassword(); + $row->password = md5( $pwd ); + } else { + $pwd = $row->password; + $row->password = md5( $row->password ); + } + $row->registerDate = date( 'Y-m-d H:i:s' ); + } else { + // existing user stuff + if ($row->password == '') { + // password set to null if empty + $row->password = null; + } else { + $pwd = $row->password; + $row->password = md5( $pwd ); + } + } + + // save usertype to usetype column + $query = "SELECT name" + . "\n FROM #__core_acl_aro_groups" + . "\n WHERE group_id = $row->gid" + ; + $database->setQuery( $query ); + $usertype = $database->loadResult(); + $row->usertype = $usertype; + + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + + $loginfo = new mosLoginDetails($row->username, $pwd); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + // update the ACL + if ( !$isNew ) { + if ($pwd) $mambothandler->trigger('userChange', array($loginfo)); + if ($row->block) $mambothandler->trigger('userBlock', array($loginfo)); + else $mambothandler->trigger('userUnblock', array($loginfo)); + $query = "SELECT aro_id FROM #__core_acl_aro WHERE value='$row->id'"; + $database->setQuery( $query ); + $aro_id = $database->loadResult(); + + $query = "UPDATE #__core_acl_groups_aro_map" + . "\n SET group_id = '$row->gid'" + . "\n WHERE aro_id = '$aro_id'" + ; + $database->setQuery( $query ); + $database->query() or die( $database->stderr() ); + } + + // for new users, email username and password + if ($isNew) { + $mambothandler->trigger('userRegister', array($loginfo)); + $mambothandler->trigger('userActivate', array($loginfo)); + if ($row->block) $mambothandler->trigger('userBlock', array($loginfo)); + $query = "SELECT email FROM #__users WHERE id=$my->id"; + $database->setQuery( $query ); + $adminEmail = $database->loadResult(); + + $subject = T_('New User Details'); + $message = sprintf ( T_('Hello %s, + + +You have been added as a user to %s by an Administrator. + +This email contains your username and password to log into the %s + +Username - %s +Password - %s + + +Please do not respond to this message as it is automatically generated and is for information purposes only'), $row->name, $mosConfig_sitename, $mosConfig_live_site, $row->username, $pwd ); + + if ($mosConfig_mailfrom != "" && $mosConfig_fromname != "") { + $adminName = $mosConfig_fromname; + $adminEmail = $mosConfig_mailfrom; + } else { + $query = "SELECT name, email FROM #__users WHERE usertype='super administrator'"; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + $row = $rows[0]; + $adminName = $row->name; + $adminEmail = $row->email; + } + mosMail( $adminEmail, $adminName, $row->email, $subject, $message ); + } + + switch ( $task ) { + case 'apply': + $msg = sprintf(T_('Successfully Saved changes to User: %s'), $row->name); + mosRedirect( 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->id, $msg ); + + case 'save': + default: + $msg = sprintf(T_('Successfully Saved User: %s'), $row->name); + mosRedirect( 'index2.php?option=com_users', $msg ); + + break; + } +} + +/** +* Cancels an edit operation +* @param option component option to call +*/ +function cancelUser( $option ) { + mosRedirect( 'index2.php?option='. $option .'&task=view' ); +} + +function removeUsers( $cid, $option ) { + global $database, $acl, $my; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + + if ( count( $cid ) ) { + $obj = new mosUser( $database ); + $deleted = array(); + foreach ($cid as $id) { + // check for a super admin ... can't delete them + $groups = $acl->get_object_groups( 'users', $id, 'ARO' ); + $this_group = strtolower( $acl->get_group_name( $groups[0], 'ARO' ) ); + if ( $this_group == 'super administrator' ) { + $msg = T_("You cannot delete a Super Administrator"); + } else if ( $id == $my->id ){ + $msg = T_("You cannot delete Yourself!"); + } else if ( ( $this_group == 'administrator' ) && ( $my->gid == 24 ) ){ + $msg = T_("You cannot delete another `Administrator` only `Super Administrators` have this power"); + } else { + $obj->delete( $id ); + $deleted[] = $id; + $msg = $obj->getError(); + } + } + if (count($deleted)) { + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + $cids = implode(',', $deleted); + $query = "SELECT username FROM #__users WHERE id IN ($cids)"; + $database->setQuery($query); + $results = $database->loadResultArray(); + if ($results) foreach ($results as $result) { + $loginfo = new mosLoginDetails($result->username); + $mambothandler->trigger('userDelete', array($loginfo)); + } + } + } + + mosRedirect( 'index2.php?option='. $option, $msg ); +} + +/** +* Blocks or Unblocks one or more user records +* @param array An array of unique category id numbers +* @param integer 0 if unblock, 1 if blocking +* @param string The current url option +*/ +function changeUserBlock( $cid=null, $block=1, $option ) { + global $database, $my; + + if (count( $cid ) < 1) { + $action = $block ? T_('block') : T_('unblock'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $query = "UPDATE #__users SET block='$block' WHERE id IN ($cids)"; + $database->setQuery( $query ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + $query = "SELECT username FROM #__users WHERE id IN ($cids)"; + $database->setQuery($query); + $results = $database->loadResultArray(); + if ($results) foreach ($results as $result) { + $loginfo = new mosLoginDetails($result->username); + if ($block) $mambothandler->trigger('userBlock', array($loginfo)); + else $mambothandler->trigger('userUnblock', array($loginfo)); + } + mosRedirect( 'index2.php?option='. $option ); +} + +/** +* @param array An array of unique user id numbers +* @param string The current url option +*/ +function logoutUser( $cid=null, $option, $task ) { + global $database, $my; + + $cids = $cid; + if ( is_array( $cid ) ) { + if (count( $cid ) < 1) { + mosRedirect( 'index2.php?option='. $option, T_('Please select a user') ); + } + $cids = implode( ',', $cid ); + } + + $query = "DELETE FROM #__session WHERE userid IN ($cids)"; + $database->setQuery( $query ); + $database->query(); + + switch ( $task ) { + case 'flogout': + mosRedirect( 'index2.php', $database->getErrorMsg() ); + break; + + default: + mosRedirect( 'index2.php?option='. $option, $database->getErrorMsg() ); + break; + } +} + +function is_email($email){ + $rBool=false; + + if(preg_match("/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email)){ + $rBool=true; + } + return $rBool; +} + +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_users/index.html 4.6-complete/uploadfiles/administrator/components/com_users/index.html --- 4.6rc2/uploadfiles/administrator/components/com_users/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_users/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_users/toolbar.users.html.php 4.6-complete/uploadfiles/administrator/components/com_users/toolbar.users.html.php --- 4.6rc2/uploadfiles/administrator/components/com_users/toolbar.users.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_users/toolbar.users.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,54 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_users/toolbar.users.php 4.6-complete/uploadfiles/administrator/components/com_users/toolbar.users.php --- 4.6rc2/uploadfiles/administrator/components/com_users/toolbar.users.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_users/toolbar.users.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,29 @@ +getPath( 'toolbar_html' ) ); + +switch ( $task ) { + case 'new': + case 'edit': + case 'editA': + TOOLBAR_users::_EDIT($task); + break; + + default: + TOOLBAR_users::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_weblink_items/weblink_items.xml 4.6-complete/uploadfiles/administrator/components/com_weblink_items/weblink_items.xml --- 4.6rc2/uploadfiles/administrator/components/com_weblink_items/weblink_items.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_weblink_items/weblink_items.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,19 @@ + + + Weblinks + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This component shows a listing of Weblinks + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_weblinks/admin.weblinks.html.php 4.6-complete/uploadfiles/administrator/components/com_weblinks/admin.weblinks.html.php --- 4.6rc2/uploadfiles/administrator/components/com_weblinks/admin.weblinks.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_weblinks/admin.weblinks.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,288 @@ + +
      + + + + + + + +
      + + + + + + + +
      + + + + + + + + + + + + + id; + + $task = $row->published ? 'unpublish' : 'publish'; + $img = $row->published ? 'publish_g.png' : 'publish_x.png'; + $alt = $row->published ? 'Published' : 'Unpublished'; + + $checked = mosCommonHTML::CheckedOutProcessing( $row, $i ); + + $row->cat_link = 'index2.php?option=com_categories§ion=com_weblinks&task=editA&hidemainmenu=1&id='. $row->catid; + ?> + "> + + + + + approved ) { + ?> + + + + + + + + + + +
      + # + + + + + + + + + + + + + + +
      + rowNumber( $i ); ?> + + + + checked_out && ( $row->checked_out != $my->id ) ) { + echo $row->title; + } else { + ?> + + title; ?> + + + + + <?php echo $alt; ?> + + + + + + orderUpIcon( $i, ($row->catid == @$rows[$i-1]->catid) ); ?> + + orderDownIcon( $i, $n, ($row->catid == @$rows[$i+1]->catid) ); ?> + + + category; ?> + + + hits; ?> +
      + getListFooter(); ?> + + + + +
      + $row is passed with the id + * property set to 0. + * @param mosWeblink The weblink object + * @param array An array of select lists + * @param object Parameters + * @param string The option + */ + function editWeblink( &$row, &$lists, &$params, $option ) { + mosMakeHtmlSafe( $row, ENT_QUOTES, 'description' ); + ?> + +
      + + + + +
      + + + id ? T_('Edit') : T_('New');?> + +
      + + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      +
      + + + + + + + +
      + +
      + render();?> +
      +
      + + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_weblinks/admin.weblinks.php 4.6-complete/uploadfiles/administrator/components/com_weblinks/admin.weblinks.php --- 4.6rc2/uploadfiles/administrator/components/com_weblinks/admin.weblinks.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_weblinks/admin.weblinks.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,296 @@ +acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ) + | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'com_weblinks' ))) { + mosRedirect( 'index2.php', T_('You are not authorized to view this resource.') ); +} + +require_once( $mainframe->getPath( 'admin_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$cid = mosGetParam( $_POST, 'cid', array(0) ); + +switch ($task) { + case 'new': + editWeblink( $option, 0 ); + break; + + case 'edit': + editWeblink( $option, $cid[0] ); + break; + + case 'editA': + editWeblink( $option, $id ); + break; + + case 'save': + saveWeblink( $option ); + break; + + case 'remove': + removeWeblinks( $cid, $option ); + break; + + case 'publish': + publishWeblinks( $cid, 1, $option ); + break; + + case 'unpublish': + publishWeblinks( $cid, 0, $option ); + break; + + case 'approve': + break; + + case 'cancel': + cancelWeblink( $option ); + break; + + case 'orderup': + orderWeblinks( $cid[0], -1, $option ); + break; + + case 'orderdown': + orderWeblinks( $cid[0], 1, $option ); + break; + + default: + showWeblinks( $option ); + break; +} + +/** +* Compiles a list of records +* @param database A database connector object +*/ +function showWeblinks( $option ) { + global $database, $mainframe, $mosConfig_list_limit; + + $catid = $mainframe->getUserStateFromRequest( "catid{$option}", 'catid', 0 ); + $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); + $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); + $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); + $search = $database->getEscaped( trim( strtolower( $search ) ) ); + + $where = array(); + + if ($catid > 0) { + $where[] = "a.catid='$catid'"; + } + if ($search) { + $where[] = "LOWER(a.title) LIKE '%$search%'"; + } + + // get the total number of records + $database->setQuery( "SELECT count(*) FROM #__weblinks AS a" + . (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "") + ); + $total = $database->loadResult(); + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + $query = "SELECT a.*, cc.name AS category, u.name AS editor" + . "\n FROM #__weblinks AS a" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__users AS u ON u.id = a.checked_out" + . ( count( $where ) ? "\n WHERE " . implode( ' AND ', $where ) : "") + . "\n ORDER BY a.catid, a.ordering" + . "\n LIMIT $pageNav->limitstart, $pageNav->limit" + ; + $database->setQuery( $query ); + + $rows = $database->loadObjectList(); + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } + + // build list of categories + $javascript = 'onchange="document.adminForm.submit();"'; + $lists['catid'] = mosAdminMenus::ComponentCategory( 'catid', $option, intval( $catid ), $javascript ); + + HTML_weblinks::showWeblinks( $option, $rows, $lists, $search, $pageNav ); +} + +/** +* Compiles information to add or edit +* @param integer The unique id of the record to edit (0 if new) +*/ +function editWeblink( $option, $id ) { + global $database, $my, $mosConfig_absolute_path, $mosConfig_live_site; + + $lists = array(); + + $row = new mosWeblink( $database ); + // load the row from the db table + $row->load( $id ); + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + mosRedirect( 'index2.php?option='. $option, sprintf(T_('The module %s is currently being edited by another administrator.'), $row->title) ); + } + + if ($id) { + $row->checkout( $my->id ); + } else { + // initialise new record + $row->published = 1; + $row->approved = 1; + $row->order = 0; + $row->catid = mosGetParam( $_POST, 'catid', 0 ); + } + + // build the html select list for ordering + $query = "SELECT ordering AS value, title AS text" + . "\n FROM #__weblinks" + . "\n WHERE catid='$row->catid'" + . "\n ORDER BY ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $id, $query, 1 ); + + // build list of categories + $lists['catid'] = mosAdminMenus::ComponentCategory( 'catid', $option, intval( $row->catid ) ); + // build the html select list + $lists['approved'] = mosHTML::yesnoRadioList( 'approved', 'class="inputbox"', $row->approved ); + // build the html select list + $lists['published'] = mosHTML::yesnoRadioList( 'published', 'class="inputbox"', $row->published ); + + $file = $mosConfig_absolute_path .'/administrator/components/com_weblinks/weblinks_item.xml'; + $params =& new mosAdminParameters( $row->params, $file, 'component' ); + + HTML_weblinks::editWeblink( $row, $lists, $params, $option ); +} + +/** +* Saves the record on an edit form submit +* @param database A database connector object +*/ +function saveWeblink( $option ) { + global $database, $my; + + $row = new mosWeblink( $database ); + if (!$row->bind( $_POST )) { + echo "\n"; + exit(); + } + // save params + $params = mosGetParam( $_POST, 'params', '' ); + if (is_array( $params )) { + $txt = array(); + foreach ( $params as $k=>$v) { + $txt[] = "$k=$v"; + } + $row->params = implode( "\n", $txt ); + } + + $row->date = date( "Y-m-d H:i:s" ); + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + $row->updateOrder( "catid='$row->catid'" ); + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* Deletes one or more records +* @param array An array of unique category id numbers +* @param string The current url option +*/ +function removeWeblinks( $cid, $option ) { + global $database; + + if (!is_array( $cid ) || count( $cid ) < 1) { + echo "\n"; + exit; + } + if (count( $cid )) { + $cids = implode( ',', $cid ); + $database->setQuery( "DELETE FROM #__weblinks WHERE id IN ($cids)" ); + if (!$database->query()) { + echo "\n"; + } + } + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* Publishes or Unpublishes one or more records +* @param array An array of unique category id numbers +* @param integer 0 if unpublishing, 1 if publishing +* @param string The current url option +*/ +function publishWeblinks( $cid=null, $publish=1, $option ) { + global $database, $my; + + $catid = mosGetParam( $_POST, 'catid', array(0) ); + + if (!is_array( $cid ) || count( $cid ) < 1) { + $action = $publish ? T_('publish') : T_('unpublish'); + echo "\n"; + exit; + } + + $cids = implode( ',', $cid ); + + $database->setQuery( "UPDATE #__weblinks SET published='$publish'" + . "\nWHERE id IN ($cids) AND (checked_out=0 OR (checked_out='$my->id'))" + ); + if (!$database->query()) { + echo "\n"; + exit(); + } + + if (count( $cid ) == 1) { + $row = new mosWeblink( $database ); + $row->checkin( $cid[0] ); + } + mosRedirect( "index2.php?option=$option" ); +} +/** +* Moves the order of a record +* @param integer The increment to reorder by +*/ +function orderWeblinks( $uid, $inc, $option ) { + global $database; + $row = new mosWeblink( $database ); + $row->load( $uid ); + $row->move( $inc, "published >= 0" ); + + mosRedirect( "index2.php?option=$option" ); +} + +/** +* Cancels an edit operation +* @param string The current url option +*/ +function cancelWeblink( $option ) { + global $database; + $row = new mosWeblink( $database ); + $row->bind( $_POST ); + $row->checkin(); + mosRedirect( "index2.php?option=$option" ); +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/components/com_weblinks/index.html 4.6-complete/uploadfiles/administrator/components/com_weblinks/index.html --- 4.6rc2/uploadfiles/administrator/components/com_weblinks/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_weblinks/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_weblinks/toolbar.weblinks.html.php 4.6-complete/uploadfiles/administrator/components/com_weblinks/toolbar.weblinks.html.php --- 4.6rc2/uploadfiles/administrator/components/com_weblinks/toolbar.weblinks.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_weblinks/toolbar.weblinks.html.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,51 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/components/com_weblinks/toolbar.weblinks.php 4.6-complete/uploadfiles/administrator/components/com_weblinks/toolbar.weblinks.php --- 4.6rc2/uploadfiles/administrator/components/com_weblinks/toolbar.weblinks.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_weblinks/toolbar.weblinks.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,29 @@ +getPath( 'toolbar_html' ) ); + +switch ($task) { + case 'new': + case 'edit': + case 'editA': + TOOLBAR_weblinks::_EDIT($task); + break; + + default: + TOOLBAR_weblinks::_DEFAULT(); + break; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/components/com_weblinks/weblinks.xml 4.6-complete/uploadfiles/administrator/components/com_weblinks/weblinks.xml --- 4.6rc2/uploadfiles/administrator/components/com_weblinks/weblinks.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/com_weblinks/weblinks.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,107 @@ + + + Weblinks + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This component shows a listing of Weblinks + + Web Links + + Web Link Items + Web Link Categories + + + admin.weblinks.html.php + admin.weblinks.php + weblinks.xml + index.html + toolbar.weblinks.html.php + toolbar.weblinks.php + + + + weblinks.html.php + weblinks.php + weblinks.class.php + index.html + + + + CREATE TABLE `mos_weblinks` ( + `id` int(11) unsigned NOT NULL auto_increment, + `catid` int(11) NOT NULL default '0', + `sid` int(11) NOT NULL default '0', + `title` varchar(250) NOT NULL default '', + `url` varchar(250) NOT NULL default '', + `description` varchar(250) NOT NULL default '', + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `hits` int(11) NOT NULL default '0', + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `archived` tinyint(1) NOT NULL default '0', + `approved` tinyint(1) NOT NULL default '1', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `catid` (`catid`,`published`,`archived`) + ); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/administrator/components/index.html 4.6-complete/uploadfiles/administrator/components/index.html --- 4.6rc2/uploadfiles/administrator/components/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/components/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/administrator/images/addedit.png and 4.6-complete/uploadfiles/administrator/images/addedit.png differ Binary files 4.6rc2/uploadfiles/administrator/images/addusers.png and 4.6-complete/uploadfiles/administrator/images/addusers.png differ Binary files 4.6rc2/uploadfiles/administrator/images/apply.png and 4.6-complete/uploadfiles/administrator/images/apply.png differ Binary files 4.6rc2/uploadfiles/administrator/images/apply_f2.png and 4.6-complete/uploadfiles/administrator/images/apply_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/archive.png and 4.6-complete/uploadfiles/administrator/images/archive.png differ Binary files 4.6rc2/uploadfiles/administrator/images/archive_f2.png and 4.6-complete/uploadfiles/administrator/images/archive_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/asterisk.png and 4.6-complete/uploadfiles/administrator/images/asterisk.png differ Binary files 4.6rc2/uploadfiles/administrator/images/back.png and 4.6-complete/uploadfiles/administrator/images/back.png differ Binary files 4.6rc2/uploadfiles/administrator/images/back_f2.png and 4.6-complete/uploadfiles/administrator/images/back_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/backup.png and 4.6-complete/uploadfiles/administrator/images/backup.png differ Binary files 4.6rc2/uploadfiles/administrator/images/blank.png and 4.6-complete/uploadfiles/administrator/images/blank.png differ Binary files 4.6rc2/uploadfiles/administrator/images/browser.png and 4.6-complete/uploadfiles/administrator/images/browser.png differ Binary files 4.6rc2/uploadfiles/administrator/images/cancel.png and 4.6-complete/uploadfiles/administrator/images/cancel.png differ Binary files 4.6rc2/uploadfiles/administrator/images/cancel_f2.png and 4.6-complete/uploadfiles/administrator/images/cancel_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/categories.png and 4.6-complete/uploadfiles/administrator/images/categories.png differ Binary files 4.6rc2/uploadfiles/administrator/images/checked_out.png and 4.6-complete/uploadfiles/administrator/images/checked_out.png differ Binary files 4.6rc2/uploadfiles/administrator/images/checkin.png and 4.6-complete/uploadfiles/administrator/images/checkin.png differ Binary files 4.6rc2/uploadfiles/administrator/images/config.png and 4.6-complete/uploadfiles/administrator/images/config.png differ Binary files 4.6rc2/uploadfiles/administrator/images/copy.png and 4.6-complete/uploadfiles/administrator/images/copy.png differ Binary files 4.6rc2/uploadfiles/administrator/images/copy_f2.png and 4.6-complete/uploadfiles/administrator/images/copy_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/cpanel.png and 4.6-complete/uploadfiles/administrator/images/cpanel.png differ Binary files 4.6rc2/uploadfiles/administrator/images/credits.png and 4.6-complete/uploadfiles/administrator/images/credits.png differ Binary files 4.6rc2/uploadfiles/administrator/images/css.png and 4.6-complete/uploadfiles/administrator/images/css.png differ Binary files 4.6rc2/uploadfiles/administrator/images/css_f2.png and 4.6-complete/uploadfiles/administrator/images/css_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/dbrestore.png and 4.6-complete/uploadfiles/administrator/images/dbrestore.png differ Binary files 4.6rc2/uploadfiles/administrator/images/delete.png and 4.6-complete/uploadfiles/administrator/images/delete.png differ Binary files 4.6rc2/uploadfiles/administrator/images/delete_f2.png and 4.6-complete/uploadfiles/administrator/images/delete_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/disabled.png and 4.6-complete/uploadfiles/administrator/images/disabled.png differ Binary files 4.6rc2/uploadfiles/administrator/images/downarrow-1.png and 4.6-complete/uploadfiles/administrator/images/downarrow-1.png differ Binary files 4.6rc2/uploadfiles/administrator/images/downarrow.png and 4.6-complete/uploadfiles/administrator/images/downarrow.png differ Binary files 4.6rc2/uploadfiles/administrator/images/downarrow0.png and 4.6-complete/uploadfiles/administrator/images/downarrow0.png differ Binary files 4.6rc2/uploadfiles/administrator/images/edit.png and 4.6-complete/uploadfiles/administrator/images/edit.png differ Binary files 4.6rc2/uploadfiles/administrator/images/edit_f2.png and 4.6-complete/uploadfiles/administrator/images/edit_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/filesave.png and 4.6-complete/uploadfiles/administrator/images/filesave.png differ Binary files 4.6rc2/uploadfiles/administrator/images/frontpage.png and 4.6-complete/uploadfiles/administrator/images/frontpage.png differ Binary files 4.6rc2/uploadfiles/administrator/images/help.png and 4.6-complete/uploadfiles/administrator/images/help.png differ Binary files 4.6rc2/uploadfiles/administrator/images/help_f2.png and 4.6-complete/uploadfiles/administrator/images/help_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/html.png and 4.6-complete/uploadfiles/administrator/images/html.png differ Binary files 4.6rc2/uploadfiles/administrator/images/html_f2.png and 4.6-complete/uploadfiles/administrator/images/html_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/impressions.png and 4.6-complete/uploadfiles/administrator/images/impressions.png differ Binary files 4.6rc2/uploadfiles/administrator/images/inbox.png and 4.6-complete/uploadfiles/administrator/images/inbox.png differ diff -ruN 4.6rc2/uploadfiles/administrator/images/index.html 4.6-complete/uploadfiles/administrator/images/index.html --- 4.6rc2/uploadfiles/administrator/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/images/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/administrator/images/install.png and 4.6-complete/uploadfiles/administrator/images/install.png differ Binary files 4.6rc2/uploadfiles/administrator/images/langmanager.png and 4.6-complete/uploadfiles/administrator/images/langmanager.png differ Binary files 4.6rc2/uploadfiles/administrator/images/logo.png and 4.6-complete/uploadfiles/administrator/images/logo.png differ Binary files 4.6rc2/uploadfiles/administrator/images/mail.png and 4.6-complete/uploadfiles/administrator/images/mail.png differ Binary files 4.6rc2/uploadfiles/administrator/images/mambo.gif and 4.6-complete/uploadfiles/administrator/images/mambo.gif differ Binary files 4.6rc2/uploadfiles/administrator/images/massemail.png and 4.6-complete/uploadfiles/administrator/images/massemail.png differ Binary files 4.6rc2/uploadfiles/administrator/images/mediamanager.png and 4.6-complete/uploadfiles/administrator/images/mediamanager.png differ Binary files 4.6rc2/uploadfiles/administrator/images/menu.png and 4.6-complete/uploadfiles/administrator/images/menu.png differ Binary files 4.6rc2/uploadfiles/administrator/images/menu_divider.png and 4.6-complete/uploadfiles/administrator/images/menu_divider.png differ Binary files 4.6rc2/uploadfiles/administrator/images/message_config.png and 4.6-complete/uploadfiles/administrator/images/message_config.png differ Binary files 4.6rc2/uploadfiles/administrator/images/messaging.png and 4.6-complete/uploadfiles/administrator/images/messaging.png differ Binary files 4.6rc2/uploadfiles/administrator/images/module.png and 4.6-complete/uploadfiles/administrator/images/module.png differ Binary files 4.6rc2/uploadfiles/administrator/images/move.png and 4.6-complete/uploadfiles/administrator/images/move.png differ Binary files 4.6rc2/uploadfiles/administrator/images/move_f2.png and 4.6-complete/uploadfiles/administrator/images/move_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/new.png and 4.6-complete/uploadfiles/administrator/images/new.png differ Binary files 4.6rc2/uploadfiles/administrator/images/new_f2.png and 4.6-complete/uploadfiles/administrator/images/new_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/next.png and 4.6-complete/uploadfiles/administrator/images/next.png differ Binary files 4.6rc2/uploadfiles/administrator/images/next_f2.png and 4.6-complete/uploadfiles/administrator/images/next_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/nomail.png and 4.6-complete/uploadfiles/administrator/images/nomail.png differ Binary files 4.6rc2/uploadfiles/administrator/images/preview.png and 4.6-complete/uploadfiles/administrator/images/preview.png differ Binary files 4.6rc2/uploadfiles/administrator/images/preview_f2.png and 4.6-complete/uploadfiles/administrator/images/preview_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/publish.png and 4.6-complete/uploadfiles/administrator/images/publish.png differ Binary files 4.6rc2/uploadfiles/administrator/images/publish_f2.png and 4.6-complete/uploadfiles/administrator/images/publish_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/publish_g.png and 4.6-complete/uploadfiles/administrator/images/publish_g.png differ Binary files 4.6rc2/uploadfiles/administrator/images/publish_r.png and 4.6-complete/uploadfiles/administrator/images/publish_r.png differ Binary files 4.6rc2/uploadfiles/administrator/images/publish_x.png and 4.6-complete/uploadfiles/administrator/images/publish_x.png differ Binary files 4.6rc2/uploadfiles/administrator/images/publish_y.png and 4.6-complete/uploadfiles/administrator/images/publish_y.png differ Binary files 4.6rc2/uploadfiles/administrator/images/query.png and 4.6-complete/uploadfiles/administrator/images/query.png differ Binary files 4.6rc2/uploadfiles/administrator/images/restore.png and 4.6-complete/uploadfiles/administrator/images/restore.png differ Binary files 4.6rc2/uploadfiles/administrator/images/restore_f2.png and 4.6-complete/uploadfiles/administrator/images/restore_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/restoredb.png and 4.6-complete/uploadfiles/administrator/images/restoredb.png differ Binary files 4.6rc2/uploadfiles/administrator/images/save.png and 4.6-complete/uploadfiles/administrator/images/save.png differ Binary files 4.6rc2/uploadfiles/administrator/images/save_f2.png and 4.6-complete/uploadfiles/administrator/images/save_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/searchtext.png and 4.6-complete/uploadfiles/administrator/images/searchtext.png differ Binary files 4.6rc2/uploadfiles/administrator/images/sections.png and 4.6-complete/uploadfiles/administrator/images/sections.png differ Binary files 4.6rc2/uploadfiles/administrator/images/support.png and 4.6-complete/uploadfiles/administrator/images/support.png differ Binary files 4.6rc2/uploadfiles/administrator/images/systeminfo.png and 4.6-complete/uploadfiles/administrator/images/systeminfo.png differ Binary files 4.6rc2/uploadfiles/administrator/images/templatemanager.png and 4.6-complete/uploadfiles/administrator/images/templatemanager.png differ Binary files 4.6rc2/uploadfiles/administrator/images/tick.png and 4.6-complete/uploadfiles/administrator/images/tick.png differ Binary files 4.6rc2/uploadfiles/administrator/images/trash.png and 4.6-complete/uploadfiles/administrator/images/trash.png differ Binary files 4.6rc2/uploadfiles/administrator/images/unarchive.png and 4.6-complete/uploadfiles/administrator/images/unarchive.png differ Binary files 4.6rc2/uploadfiles/administrator/images/unarchive_f2.png and 4.6-complete/uploadfiles/administrator/images/unarchive_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/unpublish.png and 4.6-complete/uploadfiles/administrator/images/unpublish.png differ Binary files 4.6rc2/uploadfiles/administrator/images/unpublish_f2.png and 4.6-complete/uploadfiles/administrator/images/unpublish_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/uparrow-1.png and 4.6-complete/uploadfiles/administrator/images/uparrow-1.png differ Binary files 4.6rc2/uploadfiles/administrator/images/uparrow.png and 4.6-complete/uploadfiles/administrator/images/uparrow.png differ Binary files 4.6rc2/uploadfiles/administrator/images/uparrow0.png and 4.6-complete/uploadfiles/administrator/images/uparrow0.png differ Binary files 4.6rc2/uploadfiles/administrator/images/upload.png and 4.6-complete/uploadfiles/administrator/images/upload.png differ Binary files 4.6rc2/uploadfiles/administrator/images/upload_f2.png and 4.6-complete/uploadfiles/administrator/images/upload_f2.png differ Binary files 4.6rc2/uploadfiles/administrator/images/user.png and 4.6-complete/uploadfiles/administrator/images/user.png differ Binary files 4.6rc2/uploadfiles/administrator/images/users.png and 4.6-complete/uploadfiles/administrator/images/users.png differ diff -ruN 4.6rc2/uploadfiles/administrator/includes/admin.php 4.6-complete/uploadfiles/administrator/includes/admin.php --- 4.6rc2/uploadfiles/administrator/includes/admin.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/admin.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,717 @@ +xmlfile = $file; + $this->mosParameter = $mosParameter; + $this->name = $name; + $this->errors = new mosErrorSet(); + $this->setTree(); + $parser = xml_parser_create(); + $startfunc = array (&$this, 'start_element'); + $endfunc = array (&$this, 'end_element'); + $charfunc = array (&$this, 'character_data'); + xml_set_element_handler ($parser, $startfunc, $endfunc); + xml_set_character_data_handler ($parser, $charfunc); + if ($fp = fopen($this->xmlfile, 'rb')) { + while ($data = fread($fp, 4096) AND $this->errors->getMaxLevel() < _MOS_ERROR_FATAL) { + $data = str_replace('&', ' ampersand ', $data); + $ret = xml_parse($parser, $data, feof($fp)) or $this->errors->addErrorDetails(sprintf(T_('XML ERROR in %s: %s at line %d'), + $this->xmlfile, + xml_error_string(xml_get_error_code($parser)), + xml_get_current_line_number($parser)), _MOS_ERROR_FATAL); + } + } + else $this->errors->addErrorDetails(sprintf(T_('Unable to open XML file %s'),$this->xmlfile), _MOS_ERROR_FATAL); + if (count($this->opentags) != 0) { + $tags = implode (', ', $this->opentags); + $this->errors->addErrorDetails(sprintf(T_('XML error in %s - unclosed tag(s) (%s) at end of file'),$this->xmlfile, $tags), _MOS_ERROR_SEVERE); + } + xml_parser_free($parser); + } + + function setTree () { + $this->accept['MOSINSTALL'] = array ('NAME', 'CREATIONDATE', 'AUTHOR', 'COPYRIGHT', + 'LICENSE', 'AUTHOREMAIL', 'AUTHORURL', 'VERSION', 'DESCRIPTION', 'FILES', 'MEDIA', + 'PARAMS', 'INSTALL', 'UNINSTALL', 'INSTALLFILE', 'UNINSTALLFILE', 'ADMINISTRATION', + 'IMAGES', 'CSS', 'GROUP', 'LOCALE', 'REMOVE_FILES'); + $this->accept['PARAMS'] = array ('PARAM'); + $this->accept['PARAM'] = array ('OPTION'); + $this->accept['FILES'] = array ('FILENAME'); + $this->accept['REMOVE_FILES'] = array ('FILENAME'); + $this->accept['INSTALL'] = array ('QUERIES'); + $this->accept['UNINSTALL'] = array ('QUERIES'); + $this->accept['QUERIES'] = array ('QUERY'); + $this->accept['ADMINISTRATION'] = array ('FILES', 'IMAGES', 'MENU', 'SUBMENU'); + $this->accept['IMAGES'] = array ('FILENAME'); + $this->accept['SUBMENU'] = array('MENU'); + $this->accept['MEDIA'] = array('FILENAME'); + $this->accept['CSS'] = array('FILENAME'); + $this->accept['LOCALE'] = array('PLURAL_FORM', 'DATE_FORMAT', 'CODESETS', 'DAYS', 'MONTHS'); + $this->accept['CODESETS'] = array('CHARSET'); + } + + function start_element ($parser, $element_name, $element_attrs) { + if ($this->errors->getMaxLevel() >= _MOS_ERROR_FATAL) return; + if ($this->mosinstall) { + $container = $this->opentags[0]; + if (!isset($this->accept[$container]) OR !is_array($this->accept[$container])) $this->errors->addErrorDetails(sprintf(T_('XML error in %s: %s is not a valid containing element'), $this->xmlfile, $container), _MOS_ERROR_WARN); + elseif (!in_array($element_name, $this->accept[$container])) $this->errors->addErrorDetails(sprintf(T_('XML error in %s: %s not permitted within %s'), $this->xmlfile, $element_name, $container), _MOS_ERROR_WARN); + } + if ($this->mosinstall OR $element_name == 'MOSINSTALL') { + $this->opencount = array_unshift ($this->opentags, $element_name); + $this->mosinstall = true; + $method = 'element_'.$element_name; + $specific = array (&$this, $method); + foreach ($element_attrs as $key=>$attr) $element_attrs[$key] = str_replace(' ampersand ', '&', $attr); + if (is_callable($specific)) $this->$method($element_attrs); + } + else $this->errors->addErrorDetails(sprintf(T_('XML error in %s: expected MOSINSTALL but found %s'), $this->xmlfile, $element_name), _MOS_ERROR_SEVERE); + } + + function end_element ($parser, $element_name) { + if ($this->errors->getMaxLevel() >= _MOS_ERROR_FATAL) return; + if ($this->opentags[0] != $element_name) { + $this->errors->addErrorDetails(sprintf(T_('XML error in %s: last open tag was %s, but found end of %s'), $this->xmlfile, $check, $element_name), _MOS_ERROR_SEVERE); + return; + } + $this->chardata = str_replace(' ampersand ', '&', $this->chardata); + if (isset($this->opentags[1]) AND $this->opentags[1] == 'MOSINSTALL') $this->values[$this->opentags[0]] = $this->chardata; + $method = 'end_element_'.$element_name; + $specific = array (&$this, $method); + if (is_callable($specific)) $this->$method(); + array_shift ($this->opentags); + $this->opencount--; + $this->chardata = ''; + } + + function character_data ($parser, $data) { + if ($this->errors->getMaxLevel() >= _MOS_ERROR_FATAL) return; + $this->chardata .= trim($data); + } + + function element_mosinstall ($attrs) { + if (isset($attrs['TYPE'])) $this->type = $attrs['TYPE']; + else $this->errors->addErrorDetails(sprintf(T_('XML error in %s: mosinstall does not have type attribute'), $this->xmlfile), _MOS_ERROR_FATAL); + } + + function getType () { + return $this->type; + } + + function &getErrors () { + $errors =& $this->errors->getErrors(); + return $errors; + } + +} + +/** +* Extend basic parser to extract the description for a type of install file +**/ + +class mosXMLDescription extends mosBasicXML { + var $values = array(); + + function getDescription ($type) { + if ($type == $this->type AND isset($this->values['DESCRIPTION'])) return $this->values['DESCRIPTION']; + else return ''; + } + + function getName ($type) { + if ($type == $this->type AND isset($this->values['NAME'])) return $this->values['NAME']; + else return ''; + } + + function getGroup ($type) { + if ($type == $this->type AND isset($this->values['GROUP'])) return $this->values['GROUP']; + else return ''; + } + + function getCreationDate ($type) { + if ($type == $this->type AND isset($this->values['CREATIONDATE'])) return $this->values['CREATIONDATE']; + else return ''; + } + + function getAuthor ($type) { + if ($type == $this->type AND isset($this->values['AUTHOR'])) return $this->values['AUTHOR']; + else return ''; + } + + function getCopyright ($type) { + if ($type == $this->type AND isset($this->values['COPYRIGHT'])) return $this->values['COPYRIGHT']; + else return ''; + } + + function getAuthorEmail ($type) { + if ($type == $this->type AND isset($this->values['AUTHOREMAIL'])) return $this->values['AUTHOREMAIL']; + else return ''; + } + + function getAuthorUrl ($type) { + if ($type == $this->type AND isset($this->values['AUTHORURL'])) return $this->values['AUTHORURL']; + else return ''; + } + + function getVersion ($type) { + if ($type == $this->type AND isset($this->values['VERSION'])) return $this->values['VERSION']; + else return ''; + } + +} + +class mosXMLParams extends mosXMLDescription { + var $options = array(); + var $optvalue = ''; + var $paramattrs = array(); + var $paramcount = 0; + var $html = array(); + + function element_params ($attrs) { + $this->html[] = ''; + if (isset($attrs['NAME'])) { + $pname = $attrs['NAME']; + $this->html[] = ""; + } + } + + function element_param ($attrs) { + $this->paramattrs = $attrs; + } + + function element_option ($attrs) { + if (isset($attrs['VALUE'])) $this->optvalue = $attrs['VALUE']; + } + + function end_element_option () { + $this->options[] = mosHTML::makeOption($this->optvalue, $this->chardata); + $this->optvalue = ''; + } + + function end_element_param () { + $type = mosGetParam ($this->paramattrs, 'TYPE', ''); + $name = mosGetParam ($this->paramattrs, 'NAME', ''); + $label = mosGetParam ($this->paramattrs, 'LABEL', $name); + $default = mosGetParam ($this->paramattrs, 'DEFAULT', ''); + if ($description = mosGetParam ($this->paramattrs, 'DESCRIPTION', '')) $tooltip = mosToolTip($description, $name); + else $tooltip = ''; + if (is_object($this->mosParameter)) { + $mp = $this->mosParameter; + $value = $mp->get($name, $default); + } + else $value = $default; + $this->html[] = ''; + if ($label == '@spacer') $label = '
      '; + elseif ($label) $label .= ':'; + $this->html[] = ''; + $controlname = $this->name; + switch ($type) { + case 'text': + $size = mosGetParam ($this->paramattrs, 'SIZE', 0); + $controlstring = ''; + break; + case 'list': + $controlstring = mosHTML::selectList($this->options, $controlname.'['.$name.']', 'class="inputbox"', 'value', 'text', $value); + break; + case 'radio': + $controlstring = mosHTML::radioList($this->options, $controlname.'['.$name.']', '', $value); + break; + case 'imagelist': + $directory = new mosDirectory (mamboCore::get('mosConfig_absolute_path').mosGetParam($this->paramattrs, 'DIRECTORY', '')); + $files = $directory->listFiles ('\.png$|\.gif$|\.jpg$|\.bmp$|\.ico$'); + $options = array(); + foreach ($files as $file) $options[] = mosHTML::makeOption($file, $file); + if (!isset($this->paramattrs['HIDE_NONE'])) array_unshift($options, mosHTML::makeOption('-1', '- Do not use an image -' )); + if (!isset($this->paramattrs['HIDE_DEFAULT'])) array_unshift($options, mosHTML::makeOption('', '- Use Default image -')); + $controlstring = mosHTML::selectList ($options, $controlname.'['.$name.']', 'class="inputbox"', 'value', 'text', $value); + break; + case 'textarea': + $rows = mosGetParam ($this->paramattrs, 'ROWS', 0); + $cols = mosGetParam ($this->paramattrs, 'COLS', 0); + $value = str_replace ('
      '; + break; + case 'mos_section': + $controlstring = $this->_form_mos_section($name, $value, $controlname); + break; + case 'mos_category': + $controlstring = $this->_form_mos_category($name, $value, $controlname); + break; + case 'mos_menu': + $controlstring = $this->_form_mos_menu($name, $value, $controlname); + break; + default: + $controlstring = T_('Handler not defined for type').'='.$type; + } +// $this->html[] = ""; + $this->html[] = ""; + $this->html[] = ""; + $this->html[] = ''; + $this->options = array(); + $this->paramattrs = array(); + $this->paramcount++; + } + + function end_element_params () { + $this->html[] = '
      $pname
      '.$label.'$type$controlstring$tooltip
      '; + if ($this->paramcount == 0) $this->html[] = ''.T_('There are no Parameters for this item').''; + $this->paramcount = 0; + } + /** + * @param string The name of the form element + * @param string The value of the element + * @param object The xml element for the parameter + * @param string The control name + * @return string The html for the element + */ + function _form_mos_section( $name, $value, $control_name ) { + $database =& mamboDatabase::getInstance(); + $query = "SELECT id AS value, title AS text" + . "\n FROM #__sections" + . "\n WHERE published='1' AND scope='content'" + . "\n ORDER BY title" + ; + $database->setQuery( $query ); + $options = $database->loadObjectList(); + array_unshift($options, mosHTML::makeOption( '0', '- Select Content Section -' )); + return mosHTML::selectList( $options, $control_name.'['.$name.']', 'class="inputbox"', 'value', 'text', $value ); + } + /** + * @param string The name of the form element + * @param string The value of the element + * @param object The xml element for the parameter + * @param string The control name + * @return string The html for the element + */ + function _form_mos_category( $name, $value, $control_name ) { + $database =& mamboDatabase::getInstance(); + $query = "SELECT c.id AS value, CONCAT_WS( '/',s.title, c.title ) AS text" + . "\n FROM #__categories AS c" + . "\n LEFT JOIN #__sections AS s ON s.id=c.section" + . "\n WHERE c.published='1' AND s.scope='content'" + . "\n ORDER BY c.title" + ; + $database->setQuery( $query ); + $options = $database->loadObjectList(); + array_unshift($options, mosHTML::makeOption('0', '- Select Content Category -')); + return mosHTML::selectList( $options, $control_name.'['.$name.']', 'class="inputbox"', 'value', 'text', $value ); + } + /** + * @param string The name of the form element + * @param string The value of the element + * @param object The xml element for the parameter + * @param string The control name + * @return string The html for the element + */ + function _form_mos_menu( $name, $value, $control_name ) { + $menuTypes = mosAdminMenus::menutypes(); + foreach($menuTypes as $menutype ) $options[] = mosHTML::makeOption( $menutype, $menutype ); + array_unshift( $options, mosHTML::makeOption( '', '- Select Menu -' ) ); + return mosHTML::selectList( $options, ''. $control_name .'['. $name .']', 'class="inputbox"', 'value', 'text', $value ); + } +} + +/** +* Parameters handler +* @package Mambo +*/ +class mosAdminParameters extends mosParameters { + /** @var string Path to the xml setup file */ + var $_path = null; + /** @var string The type of setup file */ + var $_type = null; + /** @var object The xml params element */ + var $_xmlElem = null; +/** +* Constructor +* @param string The raw parms text +* @param string Path to the xml setup file +* @var string The type of setup file +*/ + function mosAdminParameters( $text, $path='', $type='component' ) { + $this->_params = $this->parse( $text ); + $this->_raw = $text; + $this->_path = $path; + $this->_type = $type; + } + +} +/** +* Generally available parameter object +* @package Mambo +*/ +class mosSpecialAdminParameters extends mosAdminParameters { + + function mosSpecialAdminParameters ($name, $version='') { + $database =& mamboDatabase::getInstance(); + $sql = "SELECT * FROM #__parameters WHERE param_name='$name'"; + if ($version) $sql .= " AND param_version='$version'"; + $database->setQuery($sql); + $parameters = $database->loadObjectList(); + if ($parameters) $parameters = $parameters[0]; + parent::mosAdminParameters($parameters->params, mamboCore::get('mosConfig_absolute_path').'/parameters/'.$parameters->param_file); + } +} + +/** +* Useful HTML class for admin side components +* @package Mambo +*/ +class basicAdminHTML { + var $pageNav = ''; + var $option = ''; + var $act = ''; + var $limit = 10; + + function basicAdminHTML (&$controller, $limit) { + $this->act = $controller->admin->act; + $this->limit = $limit; + $this->pageNav = $controller->pageNav; + $this->option = strtolower(mosGetParam($_REQUEST,'option','com_admin')); + } + + function tickBox ($object, $property) { + if (is_object($object) AND $object->$property) $checked = "checked='checked'"; + else $checked = ''; + echo ""; + } + + function yesNoList ($object, $property) { + $yesno[] = mosHTML::makeOption( 0, _NO ); + $yesno[] = mosHTML::makeOption( 1, _YES ); + if ($object) $default = $object->$property; + else $default = 0; + echo ''; + echo mosHTML::selectList($yesno, $property, 'class="inputbox" size="1"', 'value', 'text', $default);; + echo ''; + } + + function inputTop ($title, $redstar=false, $maxsize=0) { + ?> + + + *'; echo $title; if ($maxsize) echo " 
      $maxsize "; ?>  + + +   + inputTop($title); + ?> + + + + + + inputTop ($title, false, $maxsize); + echo ''; + if ($editor) { + $box = "editorArea( 'description', '$value', '$name', 500, 200, $rows, $cols );"; + eval($box); + } + else echo ""; + if ($tooltip) echo tooltip($tooltip); + echo ''; + } + + function tickBoxField ($object, $property, $title) { + ?> + + +   + + tickBox($object,$property); + echo ''; + } + + function simpleTickBox ($title, $name, $checked=false) { + $this->inputTop($title); + if ($checked) $check = 'checked="checked"'; + else $check = ''; + ?> + + /> + + + + + +
      + + + + + +
      +
      + <?php echo $title; ?> +   +
      +
      + + + 1) $colcode = " colspan=\"$colspan\""; + else $colcode = ''; + echo ""; + } + + function commonScripts ($edit_fields) { + ?> + + + + + + + + + + + + + +
      + + $title
      pageNav->writePagesLinks(); ?>
      pageNav->writePagesCounter(); ?>
      +
      + + + + + + + + + + + +   + + + $one"; + } + if ($tooltip) echo ' '.tooltip($tooltip); + echo ''; + } + + function tooltip ($text) { + return ''.mamboCore::get('mosConfig_live_site').'/includes/js/ThemeOffice/tooltip.png'; + } + +} + +/** +* @param string THe template position +*/ +function mosCountAdminModules( $position='left' ) { + $handler =& mosModuleHandler::getInstance(); + return $handler->mosCountModules($position, true); +} +/** +* Loads admin modules via module position +* @param string The position +* @param int 0 = no style, 1 = tabbed +*/ +function mosLoadAdminModules( $position='left', $style=0 ) { + $handler =& mosModuleHandler::getInstance(); + return $handler->mosLoadAdminModules($position, $style); +} +/** +* Loads an admin module +*/ +function mosLoadAdminModule( $name, $params=NULL ) { + global $mosConfig_absolute_path, $mosConfig_live_site; + global $database, $acl, $my, $mainframe, $option; + global $task, $act; + + $name = str_replace( '/', '', $name ); + $name = str_replace( '\\', '', $name ); + $path = mamboCore::get('mosConfig_absolute_path')."/administrator/modules/mod_$name.php"; + if (file_exists($path)) require $path; +} + +function mosLoadCustomModule( &$module, &$params ) { + if ($module->content) { + $moduleclass_sfx = $params->get( 'moduleclass_sfx', '' ); + echo ''; + echo ''; + echo ''; + echo ''; + echo '
      ' . $module->content . '
      '; + } + +} + +function mosShowSource( $filename, $withLineNums=false ) { + ini_set('highlight.html', '000000'); + ini_set('highlight.default', '#800000'); + ini_set('highlight.keyword','#0000ff'); + ini_set('highlight.string', '#ff00ff'); + ini_set('highlight.comment','#008000'); + + if (!($source = @highlight_file( $filename, true ))) { + return 'Operation Failed'; + } + $source = explode("
      ", $source); + + $ln = 1; + + $txt = ''; + foreach( $source as $line ) { + $txt .= ""; + if ($withLineNums) { + $txt .= ""; + $txt .= str_replace( ' ', ' ', sprintf( "%4d:", $ln ) ); + $txt .= ""; + } + $txt .= "$line
      "; + $ln++; + } + return $txt; +} + +function mosIsChmodable($file) +{ + $perms = fileperms($file); + if ($perms !== FALSE) + if (@chmod($file, $perms ^ 0001)) { + @chmod($file, $perms); + return TRUE; + } // if + return FALSE; +} // mosIsChmodable + +/** +* @param string An existing base path +* @param string A path to create from the base path +* @param int Directory permissions +* @return boolean True if successful +*/ +function mosMakePath($base, $path='', $mode = NULL) +{ + global $mosConfig_dirperms; + + // convert windows paths + $path = str_replace( '\\', '/', $path ); + $path = str_replace( '//', '/', $path ); + + // check if dir exists + if (file_exists( $base . $path )) return true; + + // set mode + $origmask = NULL; + if (isset($mode)) { + $origmask = @umask(0); + } else { + if ($mosConfig_dirperms=='') { + // rely on umask + $mode = 0777; + } else { + $origmask = @umask(0); + $mode = octdec($mosConfig_dirperms); + } // if + } // if + + $parts = explode( '/', $path ); + $n = count( $parts ); + $ret = true; + if ($n < 1) { + $ret = @mkdir($base, $mode); + } else { + $path = $base; + for ($i = 0; $i < $n; $i++) { + $path .= $parts[$i] . '/'; + if (!file_exists( $path )) { + if (!@mkdir( $path, $mode )) { + $ret = false; + break; + } + } + } + } + if (isset($origmask)) @umask($origmask); + return $ret; +} + +?> diff -ruN 4.6rc2/uploadfiles/administrator/includes/index.html 4.6-complete/uploadfiles/administrator/includes/index.html --- 4.6rc2/uploadfiles/administrator/includes/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/includes/js/ThemeOffice/index.html 4.6-complete/uploadfiles/administrator/includes/js/ThemeOffice/index.html --- 4.6rc2/uploadfiles/administrator/includes/js/ThemeOffice/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/js/ThemeOffice/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/includes/js/ThemeOffice/theme.js 4.6-complete/uploadfiles/administrator/includes/js/ThemeOffice/theme.js --- 4.6rc2/uploadfiles/administrator/includes/js/ThemeOffice/theme.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/js/ThemeOffice/theme.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,45 @@ + +// directory of where all the images are +var cmThemeOfficeBase = '../includes/js/ThemeOffice/'; + +var cmThemeOffice = +{ + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: ' ', + // HTML code to the right of the folder item + mainFolderRight: ' ', + // HTML code to the left of the regular item + mainItemLeft: ' ', + // HTML code to the right of the regular item + mainItemRight: ' ', + + // sub menu display attributes + + // 0, HTML code to the left of the folder item + folderLeft: '', + // 1, HTML code to the right of the folder item + folderRight: '', + // 2, HTML code to the left of the regular item + itemLeft: '', + // 3, HTML code to the right of the regular item + itemRight: '', + // 4, cell spacing for main menu + mainSpacing: 0, + // 5, cell spacing for sub menus + subSpacing: 0, + // 6, auto dispear time for submenus in milli-seconds + delay: 500 +}; + +// for horizontal menu split +var cmThemeOfficeHSplit = [_cmNoAction, '
      ']; +var cmThemeOfficeMainHSplit = [_cmNoAction, '
      ']; +var cmThemeOfficeMainVSplit = [_cmNoAction, ' ']; diff -ruN 4.6rc2/uploadfiles/administrator/includes/js/index.html 4.6-complete/uploadfiles/administrator/includes/js/index.html --- 4.6rc2/uploadfiles/administrator/includes/js/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/js/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/includes/menubar.html.php 4.6-complete/uploadfiles/administrator/includes/menubar.html.php --- 4.6rc2/uploadfiles/administrator/includes/menubar.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/menubar.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,519 @@ + + + + + + + + + + + setQuery( $sql ); + return $database->loadResult(); + } + + /** + * Writes the common 'new' icon for the button bar + * @param string An override for the task + * @param string An override for the alt text + */ + function addNew( $task='new', $alt=null ) { + mosMenuBar::addToToolBar ($task, $alt, 'New', 'new'); + } + + /** + * Writes the common 'new' icon for the button bar. + * Extended version of addNew() calling hideMainMenu() before submitbutton(). + * @param string An override for the task + * @param string An override for the alt text + */ + function addNewX( $task='new', $alt=null ) { + mosMenuBar::addToToolBar ($task, $alt, 'New', 'new', true); + } + + /** + * Writes a common 'publish' button + * @param string An override for the task + * @param string An override for the alt text + */ + function publish( $task='publish', $alt=null ) { + mosMenuBar::addToToolBar ($task, $alt, 'Publish', 'publish'); + } + + /** + * Writes a common 'publish' button for a list of records + * @param string An override for the task + * @param string An override for the alt text + */ + function publishList( $task='publish', $alt=null ) { + $listprompt = T_('Please make a selection from the list to publish'); + mosMenuBar::addToToolBar ($task, $alt, 'Publish', 'publish', false, $listprompt); + } + + /** + * Writes a common 'default' button for a record + * @param string An override for the task + * @param string An override for the alt text + */ + function makeDefault( $task='default', $alt=null ) { + $listprompt = T_('Please select an item to make default'); + mosMenuBar::addToToolBar ($task, $alt, 'Default', 'publish', false, $listprompt); + } + + /** + * Writes a common 'assign' button for a record + * @param string An override for the task + * @param string An override for the alt text + */ + function assign( $task='assign', $alt=null ) { + $listprompt = T_('Please select an item to assign'); + mosMenuBar::addToToolBar ($task, $alt, 'Assign', 'publish', false, $listprompt); + } + + /** + * Writes a common 'unpublish' button + * @param string An override for the task + * @param string An override for the alt text + */ + function unpublish( $task='unpublish', $alt=null ) { + mosMenuBar::addToToolBar ($task, $alt, 'Unpublish', 'unpublish'); + } + + /** + * Writes a common 'unpublish' button for a list of records + * @param string An override for the task + * @param string An override for the alt text + */ + function unpublishList( $task='unpublish', $alt=null ) { + $listprompt = T_('Please make a selection from the list to unpublish'); + mosMenuBar::addToToolBar ($task, $alt, 'Unpublish', 'unpublish', false, $listprompt); + } + + /** + * Writes a common 'archive' button for a list of records + * @param string An override for the task + * @param string An override for the alt text + */ + function archiveList( $task='archive', $alt=null ) { + $listprompt = T_('Please make a selection from the list to archive'); + mosMenuBar::addToToolBar ($task, $alt, 'Archive', 'archive', false, $listprompt); + } + + /** + * Writes an unarchive button for a list of records + * @param string An override for the task + * @param string An override for the alt text + */ + function unarchiveList( $task='unarchive', $alt=null ) { + $listprompt = T_('Please select a news story to unarchive'); + mosMenuBar::addToToolBar ($task, $alt, 'Unarchive', 'unarchive', false, $listprompt); + } + + /** + * Writes a common 'edit' button for a list of records + * @param string An override for the task + * @param string An override for the alt text + */ + function editList( $task='edit', $alt=null ) { + $listprompt = T_('Please select an item from the list to edit'); + mosMenuBar::addToToolBar ($task, $alt, 'Edit', 'edit', false, $listprompt); + } + + /** + * Writes a common 'edit' button for a list of records. + * Extended version of editList() calling hideMainMenu() before submitbutton(). + * @param string An override for the task + * @param string An override for the alt text + */ + function editListX( $task='edit', $alt=null ) { + $listprompt = T_('Please select an item from the list to edit'); + mosMenuBar::addToToolBar ($task, $alt, 'Edit', 'edit', true, $listprompt); + } + + /** + * Writes a common 'edit' button for a template html + * @param string An override for the task + * @param string An override for the alt text + */ + function editHtml( $task='edit_source', $alt=null ) { + $listprompt = T_('Please select an item from the list to edit'); + mosMenuBar::addToToolBar ($task, $alt, 'Edit HTML', 'html', false, $listprompt); + } + + /** + * Writes a common 'edit' button for a template html. + * Extended version of editHtml() calling hideMainMenu() before submitbutton(). + * @param string An override for the task + * @param string An override for the alt text + */ + function editHtmlX( $task='edit_source', $alt=null ) { + $listprompt = T_('Please select an item from the list to edit'); + mosMenuBar::addToToolBar ($task, $alt, 'Edit HTML', 'html', true, $listprompt); + } + + /** + * Writes a common 'edit' button for a template css + * @param string An override for the task + * @param string An override for the alt text + */ + function editCss( $task='edit_css', $alt=null ) { + $listprompt = T_('Please select an item from the list to edit'); + mosMenuBar::addToToolBar ($task, $alt, 'Edit CSS', 'css', false, $listprompt); + } + + /** + * Writes a common 'edit' button for a template css. + * Extended version of editCss() calling hideMainMenu() before submitbutton(). + * @param string An override for the task + * @param string An override for the alt text + */ + function editCssX( $task='edit_css', $alt=null ) { + $listprompt = T_('Please select an item from the list to edit'); + mosMenuBar::addToToolBar ($task, $alt, 'Edit CSS', 'css', true, $listprompt); + } + + /** + * Writes a common 'delete' button for a list of records + * @param string Postscript for the 'are you sure' message + * @param string An override for the task + * @param string An override for the alt text + */ + function deleteList( $msg='', $task='remove', $alt=null ) { + $listprompt = T_('Please make a selection from the list to delete'); + mosMenuBar::addToToolBar ($task, $alt, 'Delete', 'delete', false, $listprompt); + } + + /** + * Writes a common 'delete' button for a list of records. + * Extended version of deleteList() calling hideMainMenu() before submitbutton(). + * @param string Postscript for the 'are you sure' message + * @param string An override for the task + * @param string An override for the alt text + */ + function deleteListX( $msg='', $task='remove', $alt=null ) { + $listprompt = T_('Please make a selection from the list to delete'); + mosMenuBar::addToToolBar ($task, $alt, 'Delete', 'delete', true, $listprompt); + } + + /** + * Write a trash button that will move items to Trash Manager + */ + function trash( $task='remove', $alt=null ) { + mosMenuBar::addToToolBar ($task, $alt, 'Trash', 'delete'); + } + + /** + * Writes a preview button for a given option (opens a popup window) + * @param string The name of the popup file (excluding the file extension) + */ + function preview( $popup='', $updateEditors=false ) { + $image = mosAdminMenus::ImageCheckAdmin( 'preview.png', '/administrator/images/', NULL, NULL, T_('Preview'), 'preview' ); + $image2 = mosAdminMenus::ImageCheckAdmin( 'preview_f2.png', '/administrator/images/', NULL, NULL, T_('Preview'), 'preview', 0 ); + $cur_template = mosMenuBar::getTemplate(); + ?> + + + + + + + + + + + + + + + + + + + +
      + + <?php echo $alt;?>
      +
      +
      + +
      +
      +
      + + '; + echo $alt; + ?> + + + + +
      + +
      +
      + + ' . T_('Help'); ?> + + + +
      + +
      +
      + +
      + +
      +
      + +
      + +
      +
      + + + +
      + +
      +
        
      + diff -ruN 4.6rc2/uploadfiles/administrator/includes/mosAdminMenus.php 4.6-complete/uploadfiles/administrator/includes/mosAdminMenus.php --- 4.6rc2/uploadfiles/administrator/includes/mosAdminMenus.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/mosAdminMenus.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,645 @@ +L ' : '- '; + foreach ($children[$id] as $v) { + $id = $v->id; + $list[$id] = $v; + $list[$id]->treename = $indent.($v->parent == 0 ? '' : $pre).$v->name; + $list[$id]->children = count( @$children[$id] ); + $list = mosTreeRecurse( $id, $newindent, $list, $children, $maxlevel, $level+1, $type ); + } + } + return $list; +} + +/** +* @param string SQL with ordering As value and 'name field' AS text +* @param integer The length of the truncated headline +*/ +function mosGetOrderingList( $sql, $chop='30' ) { + $database = mamboDatabase::getInstance(); + $database->setQuery( $sql ); + if (!($orders = $database->loadObjectList())) { + if ($database->getErrorNum()) { + echo $database->stderr(); + return false; + } else { + $order[] = mosHTML::makeOption( 1, 'first' ); + return $order; + } + } + $order[] = mosHTML::makeOption( 0, '0 first' ); + foreach ($orders as $ord) { + $text = strlen($ord->text) > $chop ? substr($ord->text,0,$chop)."..." : $ord->text; + $order[] = mosHTML::makeOption( $ord->value, $ord->value.' ('.$text.')' ); + } + $order[] = mosHTML::makeOption( $ord->value+1, ($ord->value+1).' last' ); + return $order; +} + +/** +* Common HTML Output Files +* @package Mambo +*/ +class mosAdminMenus { + /** + * build the select list for Menu Ordering + */ + function Ordering( &$row, $id ) { + global $database; + + if ( $id ) { + $order = mosGetOrderingList( "SELECT ordering AS value, name AS text" + . "\n FROM #__menu" + . "\n WHERE menutype='". $row->menutype ."'" + . "\n AND parent='". $row->parent ."'" + . "\n AND published != '-2'" + . "\n ORDER BY ordering" + ); + $ordering = mosHTML::selectList( $order, 'ordering', 'class="inputbox" size="1"', 'value', 'text', intval( $row->ordering ) ); + } + else { + $ordering = ''. T_('New items default to the last place. Ordering can be changed after this item is saved.'); + } + return $ordering; + } + + /** + * build the select list for access level + */ + function Access( &$row ) { + global $database; + + $query = 'SELECT id AS value, name AS text FROM #__groups ORDER BY id'; + $database->setQuery( $query ); + $groups = $database->loadObjectList(); + $access = mosHTML::selectList( $groups, 'access', 'class="inputbox" size="3"', 'value', 'text', intval( $row->access ) ); + return $access; + } + + /** + * build the select list for parent item + */ + function Parent( &$row ) { + global $database; + + // get a list of the menu items + $query = "SELECT m.*" + . "\n FROM #__menu m" + . "\n WHERE menutype='$row->menutype'" + . "\n AND published <> -2" + . "\n ORDER BY ordering" + ; + $database->setQuery( $query ); + $mitems = $database->loadObjectList(); + + // establish the hierarchy of the menu + $children = array(); + // first pass - collect children + if (is_array($mitems)) { + foreach ( $mitems as $v ) { + $pt = $v->parent; + $list = @$children[$pt] ? $children[$pt] : array(); + array_push( $list, $v ); + $children[$pt] = $list; + } + } + // second pass - get an indent list of the items + $list = mosTreeRecurse( 0, '', array(), $children, 9999, 0, 0 ); + + // assemble menu items to the array + $mitems = array(); + $mitems[] = mosHTML::makeOption( '0', 'Top' ); + $this_treename = ''; + foreach ( $list as $item ) { + if ( $this_treename ) { + if ( $item->id != $row->id && strpos( $item->treename, $this_treename ) === false) { + $mitems[] = mosHTML::makeOption( $item->id, $item->treename ); + } + } else { + if ( $item->id != $row->id ) { + $mitems[] = mosHTML::makeOption( $item->id, $item->treename ); + } else { + $this_treename = "$item->treename/"; + } + } + } + $parent = mosHTML::selectList( $mitems, 'parent', 'class="inputbox" size="1"', 'value', 'text', $row->parent ); + return $parent; + } + + /** + * build a radio button option for published state + */ + function Published( &$row ) { + $published = mosHTML::yesnoRadioList( 'published', 'class="inputbox"', $row->published ); + return $published; + } + + /** + * build the link/url of a menu item + */ + function Link( &$row, $id, $link=NULL ) { + if ( $id ) { + if ( $link ) { + $link = $row->link; + } else { + $link = $row->link .'&Itemid='. $row->id; + } + } else { + $link = NULL; + } + return $link; + } + + /** + * build the select list for target window + */ + function Target( &$row ) { + $click[] = mosHTML::makeOption( '0', T_('Parent Window With Browser Navigation')); + $click[] = mosHTML::makeOption( '1', T_('New Window With Browser Navigation')); + $click[] = mosHTML::makeOption( '2', T_('New Window Without Browser Navigation')); + $target = mosHTML::selectList( $click, 'browserNav', 'class="inputbox" size="4"', 'value', 'text', intval( $row->browserNav ) ); + return $target; + } + + /** + * build the multiple select list for Menu Links/Pages + */ + function MenuLinks( &$lookup, $all=NULL, $none=NULL ) { + global $database; + + // get a list of the menu items + $database->setQuery( "SELECT m.*" + . "\n FROM #__menu m" + . "\n WHERE type != 'separator'" + . "\n AND link NOT LIKE '%tp:/%'" + . "\n AND published = '1'" + . "\n ORDER BY menutype, parent, ordering" + ); + $mitems = $database->loadObjectList(); + $mitems_temp = $mitems; + + // establish the hierarchy of the menu + $children = array(); + // first pass - collect children + foreach ( $mitems as $v ) { + $id = $v->id; + $pt = $v->parent; + $list = @$children[$pt] ? $children[$pt] : array(); + array_push( $list, $v ); + $children[$pt] = $list; + } + // second pass - get an indent list of the items + $list = mosTreeRecurse( intval( $mitems[0]->parent ), '', array(), $children, 9999, 0, 0 ); + + // Code that adds menu name to Display of Page(s) + $text_count = "0"; + $mitems_spacer = $mitems_temp[0]->menutype; + foreach ($list as $list_a) { + foreach ($mitems_temp as $mitems_a) { + if ($mitems_a->id == $list_a->id) { + // Code that inserts the blank line that seperates different menus + if ($mitems_a->menutype <> $mitems_spacer) { + $list_temp[] = mosHTML::makeOption( -999, '----' ); + $mitems_spacer = $mitems_a->menutype; + } + $text = $mitems_a->menutype." | ".$list_a->treename; + $list_temp[] = mosHTML::makeOption( $list_a->id, $text ); + if ( strlen($text) > $text_count) { + $text_count = strlen($text); + } + } + } + } + $list = $list_temp; + + $mitems = array(); + if ( $all ) { + // prepare an array with 'all' as the first item + $mitems[] = mosHTML::makeOption( 0, T_('All') ); + // adds space, in select box which is not saved + $mitems[] = mosHTML::makeOption( -999, '----' ); + } + if ( $none ) { + // prepare an array with 'all' as the first item + $mitems[] = mosHTML::makeOption( -999, T_('None') ); + // adds space, in select box which is not saved + $mitems[] = mosHTML::makeOption( -999, '----' ); + } + // append the rest of the menu items to the array + foreach ($list as $item) { + $mitems[] = mosHTML::makeOption( $item->value, $item->text ); + } + $pages = mosHTML::selectList( $mitems, 'selections[]', 'class="inputbox" size="26" multiple="multiple"', 'value', 'text', $lookup ); + return $pages; + } + + + /** + * build the select list to choose a category + */ + function Category( &$menu, $id, $javascript='' ) { + global $database; + + $query = "SELECT c.id AS `value`, c.section AS `id`, CONCAT_WS( ' / ', s.title, c.title) AS `text`" + . "\n FROM #__sections AS s" + . "\n INNER JOIN #__categories AS c ON c.section = s.id" + . "\n WHERE s.scope = 'content'" + . "\n ORDER BY s.name,c.name" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + $category = ''; + if ( $id ) { + foreach ( $rows as $row ) { + if ( $row->value == $menu->componentid ) { + $category = $row->text; + } + } + $category .= ''; + $category .= ''; + } else { + $category = mosHTML::selectList( $rows, 'componentid', 'class="inputbox" size="10"'. $javascript, 'value', 'text' ); + $category .= ''; + } + return $category; + } + + /** + * build the select list to choose a section + */ + function Section( &$menu, $id, $all=0 ) { + global $database; + + $query = "SELECT s.id AS `value`, s.id AS `id`, s.title AS `text`" + . "\n FROM #__sections AS s" + . "\n WHERE s.scope = 'content'" + . "\n ORDER BY s.name" + ; + $database->setQuery( $query ); + if ( $all ) { + $rows[] = mosHTML::makeOption( 0, T_('- All Sections -') ); + $rows = array_merge( $rows, $database->loadObjectList() ); + } else { + $rows = $database->loadObjectList(); + } + + if ( $id ) { + foreach ( $rows as $row ) { + if ( $row->value == $menu->componentid ) { + $section = $row->text; + } + } + $section .= ''; + $section .= ''; + } else { + $section = mosHTML::selectList( $rows, 'componentid', 'class="inputbox" size="10"', 'value', 'text' ); + $section .= ''; + } + return $section; + } + + /** + * build the select list to choose a component + */ + function Component( &$menu, $id ) { + global $database; + + $query = "SELECT c.id AS value, c.name AS text, c.link" + . "\n FROM #__components AS c" + . "\n WHERE c.link <> ''" + . "\n ORDER BY c.name" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList( ); + if ( $id ) { + // existing component, just show name + foreach ( $rows as $row ) { + if ( $row->value == $menu->componentid ) { + $component = $row->text; + } + } + $component .= ''; + } else { + $component = mosHTML::selectList( $rows, 'componentid', 'class="inputbox" size="10"', 'value', 'text' ); + } + return $component; + } + + /** + * build the select list to choose a component + */ + function ComponentName( &$menu, $id ) { + global $database; + + $query = "SELECT c.id AS value, c.name AS text, c.link" + . "\n FROM #__components AS c" + . "\n WHERE c.link <> ''" + . "\n ORDER BY c.name" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList( ); + + $component = 'Component'; + foreach ( $rows as $row ) { + if ( $row->value == $menu->componentid ) { + $component = $row->text; + } + } + + return $component; + } + + /** + * build the select list to choose an image + */ + function Images( $name, &$active, $javascript=NULL, $directory=NULL ) { + global $mosConfig_absolute_path; + + if ( !$javascript ) { + $javascript = "onchange=\"javascript:if (document.forms[0].image.options[selectedIndex].value!='') {document.imagelib.src='../images/stories/' + document.forms[0].image.options[selectedIndex].value} else {document.imagelib.src='../images/blank.png'}\""; + } + if ( !$directory ) { + $directory = '/images/stories'; + } + + $imageFiles = mosReadDirectory( $mosConfig_absolute_path . $directory ); + $images = array( mosHTML::makeOption( '', T_('- Select Image -') ) ); + foreach ( $imageFiles as $file ) { + if ( eregi( "bmp|gif|jpg|png", $file ) ) { + $images[] = mosHTML::makeOption( $file ); + } + } + $images = mosHTML::selectList( $images, $name, 'class="inputbox" size="1" '. $javascript, 'value', 'text', $active ); + + return $images; + } + + /** + * build the select list for Ordering of a specified Table + */ + function SpecificOrdering( &$row, $id, $query, $neworder=0 ) { + global $database; + + if ( $neworder ) { + $text = T_('New items default to the first place. Ordering can be changed after this item is saved.'); + } else { + $text = T_('New items default to the last place. Ordering can be changed after this item is saved.'); + } + + if ( $id ) { + $order = mosGetOrderingList( $query ); + $ordering = mosHTML::selectList( $order, 'ordering', 'class="inputbox" size="1"', 'value', 'text', intval( $row->ordering ) ); + } else { + $ordering = ''. $text; + } + return $ordering; + } + + /** + * Select list of active users + */ + function UserSelect( $name, $active, $nouser=0, $javascript=NULL, $order='name' ) { + global $database, $my; + + $query = "SELECT id AS value, CONCAT(name,' (',username,')') AS text" + . "\n FROM #__users" + . "\n WHERE block = '0'" + . "\n ORDER BY ". $order + ; + $database->setQuery( $query ); + if ( $nouser ) { + $users[] = mosHTML::makeOption( '0', T_('- No User -') ); + $users = array_merge( $users, $database->loadObjectList() ); + } else { + $users = $database->loadObjectList(); + } + + $users = mosHTML::selectList( $users, $name, 'class="inputbox" size="1" '. $javascript, 'value', 'text', $active ); + + return $users; + } + + /** + * Select list of positions - generally used for location of images + */ + function Positions( $name, $active=NULL, $javascript=NULL, $none=1, $center=1, $left=1, $right=1 ) { + if ( $none ) { + $pos[] = mosHTML::makeOption( '', T_('None') ); + } + if ( $center ) { + $pos[] = mosHTML::makeOption( 'center', T_('Center') ); + } + if ( $left ) { + $pos[] = mosHTML::makeOption( 'left', T_('Left') ); + } + if ( $right ) { + $pos[] = mosHTML::makeOption( 'right', T_('Right') ); + } + + $positions = mosHTML::selectList( $pos, $name, 'class="inputbox" size="1"'. $javascript, 'value', 'text', $active ); + + return $positions; + } + + /** + * Select list of active categories for components + */ + function ComponentCategory( $name, $section, $active=NULL, $javascript=NULL, $order='ordering', $size=1, $sel_cat=1 ) { + global $database; + + $query = "SELECT id AS value, name AS text" + . "\n FROM #__categories" + . "\n WHERE section = '". $section ."'" + . "\n AND published = '1'" + . "\n ORDER BY ". $order + ; + $database->setQuery( $query ); + $categories = $database->loadObjectList(); + if (!$categories) $categories = array(); + if ( $sel_cat ) array_unshift($categories, mosHTML::makeOption('0', T_('- All Categories -'))); + if ( count( $categories ) < 1 ) mosRedirect( 'index2.php?option=com_categories§ion='. $section, T_('You must create a category first.') ); + $categorylist = mosHTML::selectList( $categories, $name, 'class="inputbox" size="'. $size .'" '. $javascript, 'value', 'text', $active ); + return $categorylist; + } + + /** + * Select list of active sections + */ + function SelectSection( $name, $active=NULL, $javascript=NULL, $order='ordering' ) { + global $database; + + $categories[] = mosHTML::makeOption( '0', T_('- All Sections -') ); + $query = "SELECT id AS value, title AS text" + . "\n FROM #__sections" + . "\n WHERE published = '1'" + . "\n ORDER BY ". $order + ; + $database->setQuery( $query ); + $sections = array_merge( $categories, $database->loadObjectList() ); + + $category = mosHTML::selectList( $sections, $name, 'class="inputbox" size="1" '. $javascript, 'value', 'text', $active ); + + return $category; + } + + /** + * Select list of menu items for a specific menu + */ + function Links2Menu( $type, $_and ) { + global $database; + + $query = "SELECT *" + . "\n FROM #__menu" + . "\n WHERE type = '". $type ."'" + . "\n AND published = '1'" + . $_and + ; + $database->setQuery( $query ); + $menus = $database->loadObjectList(); + + return $menus; + } + + /** + * Select list of menus + */ + function MenuSelect( $name='menuselect', $javascript=NULL ) { + global $database; + + $query = "SELECT params" + . "\n FROM #__modules" + . "\n WHERE module = 'mod_mainmenu'" + ; + $database->setQuery( $query ); + $menus = $database->loadObjectList(); + $total = count( $menus ); + for( $i = 0; $i < $total; $i++ ) { + $params = mosParseParams( $menus[$i]->params ); + $menuselect[$i]->value = $params->menutype; + $menuselect[$i]->text = $params->menutype; + } + // sort array of objects + SortArrayObjects( $menuselect, 'text', 1 ); + + $menus = mosHTML::selectList( $menuselect, $name, 'class="inputbox" size="10" '. $javascript, 'value', 'text' ); + + return $menus; + } + + /** + * Checks to see if an image exists in the current templates image directory + * if it does it loads this image. Otherwise the default image is loaded. + * Also can be used in conjunction with the menulist param to create the chosen image + * load the default or use no image + */ + function ImageCheckAdmin( $file, $directory='/administrator/images/', $param=NULL, $param_directory='/administrator/images/', $alt=NULL, $name=NULL, $type=1, $align='middle' ) { + $mosConfig_live_site = mamboCore::get('mosConfig_live_site'); + $mainframe = mosMainFrame::getInstance(); + $cur_template = $mainframe->getTemplate(); + if ($param) $image = $mosConfig_live_site. $param_directory . $param; + else { + if ( file_exists(mamboCore::get('mosConfig_absolute_path').'/administrator/templates/'. $cur_template .'/images/'. $file ) ) { + $image = $mosConfig_live_site .'/administrator/templates/'. $cur_template .'/images/'. $file; + } + else $image = $mosConfig_live_site. $directory . $file; + } + // outputs actual html tag + if ( $type ) $image = ''. $alt .''; + return $image; + } + + /** + * Internal function to recursive scan the media manager directories + * @param string Path to scan + * @param string root path of this folder + * @param array Value array of all existing folders + * @param array Value array of all existing images + */ + function ReadImages( $imagePath, $folderPath, &$folders, &$images ) { + $imgDir =& new mosDirectory($imagePath); + $imgFiles =& $imgDir->listFiles ('.', 'both'); + + foreach ($imgFiles as $file) { + $ff_ = $folderPath . $file .'/'; + $ff = $folderPath . $file; + $i_f = $imagePath .'/'. $file; + + if ( is_dir( $i_f ) AND $file <> 'CVS' ) { + $folders[] = mosHTML::makeOption( $ff_ ); + mosAdminMenus::ReadImages( $i_f, $ff_, $folders, $images ); + } else if ( eregi( "bmp|gif|jpg|png", $file ) AND is_file( $i_f ) ) { + // leading / we don't need + $imageFile = substr( $ff, 1 ); + $images[$folderPath][] = mosHTML::makeOption( $imageFile, $file ); + } + } + } + + function GetImageFolders( &$folders, $path ) { + $javascript = "onchange=\"changeDynaList( 'imagefiles', folderimages, document.adminForm.folders.options[document.adminForm.folders.selectedIndex].value, 0, 0); previewImage( 'imagefiles', 'view_imagefiles', '$path/' );\""; + $getfolders = mosHTML::selectList( $folders, 'folders', 'class="inputbox" size="1" '. $javascript, 'value', 'text', '/' ); + return $getfolders; + } + + function GetImages( &$images, $path ) { + if ( !isset($images['/'] ) ) $images['/'][] = mosHTML::makeOption( '' ); + //$javascript = "onchange=\"previewImage( 'imagefiles', 'view_imagefiles', '$path/' )\" onfocus=\"previewImage( 'imagefiles', 'view_imagefiles', '$path/' )\""; + $javascript = "onchange=\"previewImage( 'imagefiles', 'view_imagefiles', '$path/' )\""; + $getimages = mosHTML::selectList( $images['/'], 'imagefiles', 'class="inputbox" size="10" multiple="multiple" '. $javascript , 'value', 'text', null ); + + return $getimages; + } + + function GetSavedImages( &$row, $path ) { + $images2 = array(); + foreach( $row->images as $file ) { + $temp = explode( '|', $file ); + $filename = strrchr($temp[0], '/') ? substr( strrchr($temp[0], '/' ), 1 ) : $temp[0]; + $images2[] = mosHTML::makeOption( $file, $filename ); + } + //$javascript = "onchange=\"previewImage( 'imagelist', 'view_imagelist', '$path/' ); showImageProps( '$path/' ); \" onfocus=\"previewImage( 'imagelist', 'view_imagelist', '$path/' )\""; + $javascript = "onchange=\"previewImage( 'imagelist', 'view_imagelist', '$path/' ); showImageProps( '$path/' ); \""; + $imagelist = mosHTML::selectList( $images2, 'imagelist', 'class="inputbox" size="10" '. $javascript, 'value', 'text' ); + + return $imagelist; + } + + function menutypes() { + $modulehandler =& mosModuleHandler::getInstance(); + $modMenus =& $modulehandler->getByName('mod_mainmenu', false, true); + + $menuhandler =& mosMenuHandler::getInstance(); + $mtypes =& $menuhandler->getMenuTypes(); + $menuTypes = array(); + foreach ($mtypes as $type=>$count) $menuTypes[] = $type; + foreach ($modMenus as $modMenu) { + mosMakeHtmlSafe($modMenu) ; + $modParams = mosParseParams( $modMenu->params ); + $menuType = @$modParams->menutype ? $modParams->menutype : 'mainmenu'; + if (!in_array($menuType, $menuTypes)) $menuTypes[] = $menuType; + } + + // sorts menutypes + asort( $menuTypes ); + + return $menuTypes; + } + + /* + * loads files required for menu items + */ + function menuItem( $item ) { + global $mosConfig_absolute_path; + + $path = $mosConfig_absolute_path .'/administrator/components/com_menus/'. $item .'/'; + include_once( $path . $item .'.class.php' ); + include_once( $path . $item .'.menu.html.php' ); + } +} + +?> diff -ruN 4.6rc2/uploadfiles/administrator/includes/pageNavigation.php 4.6-complete/uploadfiles/administrator/includes/pageNavigation.php --- 4.6rc2/uploadfiles/administrator/includes/pageNavigation.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/pageNavigation.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,182 @@ +total = intval( $total ); + $this->limitstart = max( intval($limitstart), 0 ); + $this->limit = max( intval($limit), 1 ); + if ($this->limit > $this->total) { + $this->limitstart = 0; + } + if (($this->limit-1)*$this->limitstart > $this->total) { + $this->limitstart -= $this->limitstart % $this->limit; + } + } + /** + * @return string The html for the limit # input box + */ + function getLimitBox () { + $limits = array(); + for ($i=5; $i <= 30; $i+=5) { + $limits[] = mosHTML::makeOption( "$i" ); + } + $limits[] = mosHTML::makeOption( "50" ); + + // build the html select list + $html = mosHTML::selectList( $limits, 'limit', 'class="inputbox" size="1" onchange="document.adminForm.submit();"', + 'value', 'text', $this->limit ); + $html .= "\nlimitstart\" />"; + return $html; + } + /** + * Writes the html limit # input box + */ + function writeLimitBox () { + echo mosPageNav::getLimitBox(); + } + function writePagesCounter() { + echo $this->getPagesCounter(); + } + /** + * @return string The html for the pages counter, eg, Results 1-10 of x + */ + function getPagesCounter() { + $html = ''; + $from_result = $this->limitstart+1; + if ($this->limitstart + $this->limit < $this->total) { + $to_result = $this->limitstart + $this->limit; + } else { + $to_result = $this->total; + } + if ($this->total > 0) { + $html .= sprintf(T_("Results %d to %d of %d"), $from_result, $to_result, $this->total); + } else { + $html .= T_('No records found.'); + } + return $html; + } + /** + * Writes the html for the pages counter, eg, Results 1-10 of x + */ + function writePagesLinks() { + echo $this->getPagesLinks(); + } + /** + * @return string The html links for pages, eg, previous, next, 1 2 3 ... x + */ + function getPagesLinks() { + $html = ''; + $displayed_pages = 10; + $total_pages = ceil( $this->total / $this->limit ); + $this_page = ceil( ($this->limitstart+1) / $this->limit ); + $start_loop = (floor(($this_page-1)/$displayed_pages))*$displayed_pages+1; + if ($start_loop + $displayed_pages - 1 < $total_pages) { + $stop_loop = $start_loop + $displayed_pages - 1; + } else { + $stop_loop = $total_pages; + } + + if ($this_page > 1) { + $page = ($this_page - 2) * $this->limit; + $html .= "\n<< ".T_('Start').""; + $html .= "\n< ".T_('Previous').""; + } else { + $html .= "\n<< ".T_('Start').""; + $html .= "\n< ".T_('Previous').""; + } + + for ($i=$start_loop; $i <= $stop_loop; $i++) { + $page = ($i - 1) * $this->limit; + if ($i == $this_page) { + $html .= "\n $i "; + } else { + $html .= "\n$i"; + } + } + + if ($this_page < $total_pages) { + $page = $this_page * $this->limit; + $end_page = ($total_pages-1) * $this->limit; + $html .= "\n ".T_('Next')." >"; + $html .= "\n ".T_('End')." >>"; + } else { + $html .= "\n".T_('Next')." >"; + $html .= "\n".T_('End')." >>"; + } + return $html; + } + + function getListFooter() { + $html = ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= '
      '; + $html .= $this->getPagesLinks(); + $html .= '
      '.T_('Display #').'' .$this->getLimitBox() . '' . $this->getPagesCounter() . '
      '; + return $html; + } +/** +* @param int The row index +* @return int +*/ + function rowNumber( $i ) { + return $i + 1 + $this->limitstart; + } +/** +* @param int The row index +* @param string The task to fire +* @param string The alt text for the icon +* @return string +*/ + function orderUpIcon( $i, $condition=true, $task='orderup' ) { + if (($i > 0 || ($i+$this->limitstart > 0)) && $condition) { + $alt = T_('Move Up'); + return ' + '.$alt.' + '; + } else { + return ' '; + } + } +/** +* @param int The row index +* @param int The number of items in the list +* @param string The task to fire +* @param string The alt text for the icon +* @return string +*/ + function orderDownIcon( $i, $n, $condition=true, $task='orderdown' ) { + if (($i < $n-1 || $i+$this->limitstart < $this->total-1) && $condition) { + $alt = T_('Move Down'); + return ' + '.$alt.' + '; + } else { + return ' '; + } + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/includes/pcl/index.html 4.6-complete/uploadfiles/administrator/includes/pcl/index.html --- 4.6rc2/uploadfiles/administrator/includes/pcl/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/pcl/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/includes/pcl/pclerror.lib.php 4.6-complete/uploadfiles/administrator/includes/pcl/pclerror.lib.php --- 4.6rc2/uploadfiles/administrator/includes/pcl/pclerror.lib.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/pcl/pclerror.lib.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,139 @@ +"; + $v_message .= "

      PclError Library has detected a fatal error on file '$p_file', line $p_line

      "; + $v_message .= "

      $p_error_string

      "; + $v_message .= ""; + die($v_message); + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclErrorReset() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function PclErrorReset() + { + global $g_pcl_error_string; + global $g_pcl_error_code; + + $g_pcl_error_code = 1; + $g_pcl_error_string = ""; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclErrorCode() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function PclErrorCode() + { + global $g_pcl_error_string; + global $g_pcl_error_code; + + return($g_pcl_error_code); + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclErrorString() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function PclErrorString() + { + global $g_pcl_error_string; + global $g_pcl_error_code; + + return($g_pcl_error_string." [code $g_pcl_error_code]"); + } + // -------------------------------------------------------------------------------- + + +// ----- End of double include look +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/includes/pcl/pcltar.lib.php 4.6-complete/uploadfiles/administrator/includes/pcl/pcltar.lib.php --- 4.6rc2/uploadfiles/administrator/includes/pcl/pcltar.lib.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/pcl/pcltar.lib.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,3575 @@ +"; + // -------------------------------------------------------------------------------- + function PclTarList($p_tarname, $p_mode="") + { + TrFctStart(__FILE__, __LINE__, "PclTarList", "tar=$p_tarname, mode='$p_mode'"); + $v_result=1; + + // ----- Extract the tar format from the extension + if (($p_mode == "") || (($p_mode!="tar") && ($p_mode!="tgz"))) + { + if (($p_mode = PclTarHandleExtension($p_tarname)) == "") + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + } + + // ----- Call the extracting fct + $p_list = array(); + if (($v_result = PclTarHandleExtract($p_tarname, 0, $p_list, "list", "", $p_mode, "")) != 1) + { + unset($p_list); + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarExtract() + // Description : + // Extract all the files present in the archive $p_tarname, in the directory + // $p_path. The relative path of the archived files are keep and become + // relative to $p_path. + // If a file with the same name already exists it will be replaced. + // If the path to the file does not exist, it will be created. + // Depending on the $p_tarname extension (.tar, .tar.gz or .tgz) the + // function will determine the type of the archive. + // Parameters : + // $p_tarname : Name of an existing tar file. + // $p_path : Path where the files will be extracted. The files will use + // their memorized path from $p_path. + // If $p_path is "", files will be extracted in "./". + // $p_remove_path : Path to remove (from the file memorized path) while writing the + // extracted files. If the path does not match the file path, + // the file is extracted with its memorized path. + // $p_path and $p_remove_path are commulative. + // $p_mode : 'tar' or 'tgz', if not set, will be determined by $p_tarname extension + // Return Values : + // Same as PclTarList() + // -------------------------------------------------------------------------------- + function PclTarExtract($p_tarname, $p_path="./", $p_remove_path="", $p_mode="") + { + TrFctStart(__FILE__, __LINE__, "PclTarExtract", "tar='$p_tarname', path='$p_path', remove_path='$p_remove_path', mode='$p_mode'"); + $v_result=1; + + // ----- Extract the tar format from the extension + if (($p_mode == "") || (($p_mode!="tar") && ($p_mode!="tgz"))) + { + if (($p_mode = PclTarHandleExtension($p_tarname)) == "") + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + } + + // ----- Call the extracting fct + if (($v_result = PclTarHandleExtract($p_tarname, 0, $p_list, "complete", $p_path, $p_mode, $p_remove_path)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarExtractList() + // Description : + // Extract the files present in the archive $p_tarname and specified in + // $p_filelist, in the directory + // $p_path. The relative path of the archived files are keep and become + // relative to $p_path. + // If a directory is spcified in the list, all the files from this directory + // will be extracted. + // If a file with the same name already exists it will be replaced. + // If the path to the file does not exist, it will be created. + // Depending on the $p_tarname extension (.tar, .tar.gz or .tgz) the + // function will determine the type of the archive. + // Parameters : + // $p_tarname : Name of an existing tar file + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_path : Path where the files will be extracted. The files will use + // their memorized path from $p_path. + // If $p_path is "", files will be extracted in "./". + // $p_remove_path : Path to remove (from the file memorized path) while writing the + // extracted files. If the path does not match the file path, + // the file is extracted with its memorized path. + // $p_path and $p_remove_path are commulative. + // $p_mode : 'tar' or 'tgz', if not set, will be determined by $p_tarname extension + // Return Values : + // Same as PclTarList() + // -------------------------------------------------------------------------------- + function PclTarExtractList($p_tarname, $p_filelist, $p_path="./", $p_remove_path="", $p_mode="") + { + TrFctStart(__FILE__, __LINE__, "PclTarExtractList", "tar=$p_tarname, list, path=$p_path, remove_path='$p_remove_path', mode='$p_mode'"); + $v_result=1; + + // ----- Extract the tar format from the extension + if (($p_mode == "") || (($p_mode!="tar") && ($p_mode!="tgz"))) + { + if (($p_mode = PclTarHandleExtension($p_tarname)) == "") + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + } + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) + { + // ----- Call the extracting fct + if (($v_result = PclTarHandleExtract($p_tarname, $p_filelist, $p_list, "partial", $p_path, $v_tar_mode, $p_remove_path)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) + { + // ----- Create a list with the elements from the string + $v_list = explode(" ", $p_filelist); + + // ----- Call the extracting fct + if (($v_result = PclTarHandleExtract($p_tarname, $v_list, $p_list, "partial", $p_path, $v_tar_mode, $p_remove_path)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + } + + // ----- Invalid variable + else + { + // ----- Error log + PclErrorLog(-3, "Invalid variable type p_filelist"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarExtractIndex() + // Description : + // Extract the files present in the archive $p_tarname and specified at + // the indexes in $p_index, in the directory + // $p_path. The relative path of the archived files are keep and become + // relative to $p_path. + // If a directory is specified in the list, the directory only is created. All + // the file stored in this archive for this directory + // are not extracted. + // If a file with the same name already exists it will be replaced. + // If the path to the file does not exist, it will be created. + // Depending on the $p_tarname extension (.tar, .tar.gz or .tgz) the + // function will determine the type of the archive. + // Parameters : + // $p_tarname : Name of an existing tar file + // $p_index : A single index (integer) or a string of indexes of files to + // extract. The form of the string is "0,4-6,8-12" with only numbers + // and '-' for range or ',' to separate ranges. No spaces or ';' + // are allowed. + // $p_path : Path where the files will be extracted. The files will use + // their memorized path from $p_path. + // If $p_path is "", files will be extracted in "./". + // $p_remove_path : Path to remove (from the file memorized path) while writing the + // extracted files. If the path does not match the file path, + // the file is extracted with its memorized path. + // $p_path and $p_remove_path are commulative. + // $p_mode : 'tar' or 'tgz', if not set, will be determined by $p_tarname extension + // Return Values : + // Same as PclTarList() + // -------------------------------------------------------------------------------- + function PclTarExtractIndex($p_tarname, $p_index, $p_path="./", $p_remove_path="", $p_mode="") + { + TrFctStart(__FILE__, __LINE__, "PclTarExtractIndex", "tar=$p_tarname, index='$p_index', path=$p_path, remove_path='$p_remove_path', mode='$p_mode'"); + $v_result=1; + + // ----- Extract the tar format from the extension + if (($p_mode == "") || (($p_mode!="tar") && ($p_mode!="tgz"))) + { + if (($p_mode = PclTarHandleExtension($p_tarname)) == "") + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + } + + // ----- Look if the $p_index is really an integer + if (is_integer($p_index)) + { + // ----- Call the extracting fct + if (($v_result = PclTarHandleExtractByIndexList($p_tarname, "$p_index", $p_list, $p_path, $p_remove_path, $v_tar_mode)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_index)) + { + // ----- Call the extracting fct + if (($v_result = PclTarHandleExtractByIndexList($p_tarname, $p_index, $p_list, $p_path, $p_remove_path, $v_tar_mode)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + } + + // ----- Invalid variable + else + { + // ----- Error log + PclErrorLog(-3, "Invalid variable type $p_index"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarDelete() + // Description : + // This function deletes from the archive $p_tarname the files which are listed + // in $p_filelist. $p_filelist can be a string with file names separated by + // spaces, or an array containing the file names. + // Parameters : + // $p_tarname : Name of an existing tar file + // $p_filelist : An array or a string containing file names to remove from the + // archive. + // $p_mode : 'tar' or 'tgz', if not set, will be determined by $p_tarname extension + // Return Values : + // List of the files which are kept in the archive (same format as PclTarList()) + // -------------------------------------------------------------------------------- + function PclTarDelete($p_tarname, $p_filelist, $p_mode="") + { + TrFctStart(__FILE__, __LINE__, "PclTarDelete", "tar='$p_tarname', list='$p_filelist', mode='$p_mode'"); + $v_result=1; + + // ----- Extract the tar format from the extension + if (($p_mode == "") || (($p_mode!="tar") && ($p_mode!="tgz"))) + { + if (($p_mode = PclTarHandleExtension($p_tarname)) == "") + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + } + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) + { + // ----- Call the extracting fct + if (($v_result = PclTarHandleDelete($p_tarname, $p_filelist, $p_list, $p_mode)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) + { + // ----- Create a list with the elements from the string + $v_list = explode(" ", $p_filelist); + + // ----- Call the extracting fct + if (($v_result = PclTarHandleDelete($p_tarname, $v_list, $p_list, $p_mode)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + } + + // ----- Invalid variable + else + { + // ----- Error log + PclErrorLog(-3, "Invalid variable type p_filelist"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarUpdate() + // Description : + // This function updates the files in $p_filelist which are already in the + // $p_tarname archive with an older last modified date. If the file does not + // exist, it is added at the end of the archive. + // Parameters : + // $p_tarname : Name of an existing tar file + // $p_filelist : An array or a string containing file names to update from the + // archive. + // $p_mode : 'tar' or 'tgz', if not set, will be determined by $p_tarname extension + // Return Values : + // List of the files contained in the archive. The field status contains + // "updated", "not_updated", "added" or "ok" for the files not concerned. + // -------------------------------------------------------------------------------- + function PclTarUpdate($p_tarname, $p_filelist, $p_mode="", $p_add_dir="", $p_remove_dir="") + { + TrFctStart(__FILE__, __LINE__, "PclTarUpdate", "tar='$p_tarname', list='$p_filelist', mode='$p_mode'"); + $v_result=1; + + // ----- Extract the tar format from the extension + if (($p_mode == "") || (($p_mode!="tar") && ($p_mode!="tgz"))) + { + if (($p_mode = PclTarHandleExtension($p_tarname)) == "") + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + } + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) + { + // ----- Call the extracting fct + if (($v_result = PclTarHandleUpdate($p_tarname, $p_filelist, $p_list, $p_mode, $p_add_dir, $p_remove_dir)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) + { + // ----- Create a list with the elements from the string + $v_list = explode(" ", $p_filelist); + + // ----- Call the extracting fct + if (($v_result = PclTarHandleUpdate($p_tarname, $v_list, $p_list, $p_mode, $p_add_dir, $p_remove_dir)) != 1) + { + TrFctEnd(__FILE__, __LINE__, 0, PclErrorString()); + return(0); + } + } + + // ----- Invalid variable + else + { + // ----- Error log + PclErrorLog(-3, "Invalid variable type p_filelist"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + + // -------------------------------------------------------------------------------- + // Function : PclTarMerge() + // Description : + // This function add the content of $p_tarname_add at the end of $p_tarname. + // Parameters : + // $p_tarname : Name of an existing tar file + // $p_tarname_add : Name of an existing tar file taht will be added at the end + // of $p_tarname. + // $p_mode : 'tar' or 'tgz', if not set, will be determined by $p_tarname extension + // $p_mode_add : 'tar' or 'tgz', if not set, will be determined by $p_tarname_add + // extension + // Return Values : + // List of the files contained in the archive. The field status contains + // "updated", "not_updated", "added" or "ok" for the files not concerned. + // -------------------------------------------------------------------------------- + function PclTarMerge($p_tarname, $p_tarname_add, $p_mode="", $p_mode_add="") + { + TrFctStart(__FILE__, __LINE__, "PclTarMerge", "tar='$p_tarname', tar_add='$p_tarname_add', mode='$p_mode', mode_add='$p_mode_add'"); + $v_result=1; + + // ----- Check the parameters + if (($p_tarname == "") || ($p_tarname_add == "")) + { + // ----- Error log + PclErrorLog(-3, "Invalid empty archive name"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Extract the tar format from the extension + if (($p_mode == "") || (($p_mode!="tar") && ($p_mode!="tgz"))) + { + if (($p_mode = PclTarHandleExtension($p_tarname)) == "") + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + } + if (($p_mode_add == "") || (($p_mode_add!="tar") && ($p_mode_add!="tgz"))) + { + if (($p_mode_add = PclTarHandleExtension($p_tarname_add)) == "") + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return 0; + } + } + + // ----- Clear filecache + clearstatcache(); + + // ----- Check the file size + if ((!is_file($p_tarname)) || + (((($v_size = filesize($p_tarname)) % 512) != 0) && ($p_mode=="tar"))) + { + // ----- Error log + if (!is_file($p_tarname)) + PclErrorLog(-4, "Archive '$p_tarname' does not exist"); + else + PclErrorLog(-6, "Archive '$p_tarname' has invalid size ".filesize($p_tarname)."(not a 512 block multiple)"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + if ((!is_file($p_tarname_add)) || + (((($v_size_add = filesize($p_tarname_add)) % 512) != 0) && ($p_mode_add=="tar"))) + { + // ----- Error log + if (!is_file($p_tarname_add)) + PclErrorLog(-4, "Archive '$p_tarname_add' does not exist"); + else + PclErrorLog(-6, "Archive '$p_tarname_add' has invalid size ".filesize($p_tarname_add)."(not a 512 block multiple)"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Look for compressed archive + if ($p_mode == "tgz") + { + // ----- Open the file in read mode + if (($p_tar = @gzopen($p_tarname, "rb")) == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open file '$p_tarname' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Open a temporary file in write mode + $v_temp_tarname = uniqid("pcltar-").".tmp"; + TrFctMessage(__FILE__, __LINE__, 2, "Creating temporary archive file $v_temp_tarname"); + if (($v_temp_tar = @gzopen($v_temp_tarname, "wb")) == 0) + { + // ----- Close tar file + gzclose($p_tar); + + // ----- Error log + PclErrorLog(-1, "Unable to open file '$v_temp_tarname' in binary write mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Read the first 512 bytes block + $v_buffer = gzread($p_tar, 512); + + // ----- Read the following blocks but not the last one + if (!gzeof($p_tar)) + { + TrFctMessage(__FILE__, __LINE__, 3, "More than one 512 block file"); + $i=1; + + // ----- Read new 512 block and write the already read + do{ + // ----- Write the already read block + $v_binary_data = pack("a512", "$v_buffer"); + gzputs($v_temp_tar, $v_binary_data); + + $i++; + TrFctMessage(__FILE__, __LINE__, 3, "Reading block $i"); + + // ----- Read next block + $v_buffer = gzread($p_tar, 512); + + } while (!gzeof($p_tar)); + + TrFctMessage(__FILE__, __LINE__, 3, "$i 512 bytes blocks"); + } + } + + // ----- Look for uncompressed tar file + else if ($p_mode=="tar") + { + // ----- Open the tar file + if (($p_tar = fopen($p_tarname, "r+b")) == 0) + { + // ----- Error log + PclErrorLog(-1, "Unable to open file '$p_tarname' in binary write mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Go to the beginning of last block + TrFctMessage(__FILE__, __LINE__, 4, "Position before :".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + fseek($p_tar, $v_size-512); + TrFctMessage(__FILE__, __LINE__, 4, "Position after :".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + } + + // ----- Look for unknown type + else + { + // ----- Error log + PclErrorLog(-3, "Invalid tar mode $p_mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Look for type of archive to add + if ($p_mode_add == "tgz") + { + TrFctMessage(__FILE__, __LINE__, 4, "Opening file $p_tarname_add"); + + // ----- Open the file in read mode + if (($p_tar_add = @gzopen($p_tarname_add, "rb")) == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open file '$p_tarname_add' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Read the first 512 bytes block + $v_buffer = gzread($p_tar_add, 512); + + // ----- Read the following blocks but not the last one + if (!gzeof($p_tar_add)) + { + TrFctMessage(__FILE__, __LINE__, 3, "More than one 512 block file"); + $i=1; + + // ----- Read new 512 block and write the already read + do{ + // ----- Write the already read block + $v_binary_data = pack("a512", "$v_buffer"); + if ($p_mode=="tar") + fputs($p_tar, $v_binary_data); + else + gzputs($v_temp_tar, $v_binary_data); + + $i++; + TrFctMessage(__FILE__, __LINE__, 3, "Reading block $i"); + + // ----- Read next block + $v_buffer = gzread($p_tar_add, 512); + + } while (!gzeof($p_tar_add)); + + TrFctMessage(__FILE__, __LINE__, 3, "$i 512 bytes blocks"); + } + + // ----- Close the files + gzclose($p_tar_add); + } + + // ----- Look for uncompressed tar file + else if ($p_mode=="tar") + { + // ----- Open the file in read mode + if (($p_tar_add = @fopen($p_tarname_add, "rb")) == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open file '$p_tarname_add' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Read the first 512 bytes block + $v_buffer = fread($p_tar_add, 512); + + // ----- Read the following blocks but not the last one + if (!feof($p_tar_add)) + { + TrFctMessage(__FILE__, __LINE__, 3, "More than one 512 block file"); + $i=1; + + // ----- Read new 512 block and write the already read + do{ + // ----- Write the already read block + $v_binary_data = pack("a512", "$v_buffer"); + if ($p_mode=="tar") + fputs($p_tar, $v_binary_data); + else + gzputs($v_temp_tar, $v_binary_data); + + $i++; + TrFctMessage(__FILE__, __LINE__, 3, "Reading block $i"); + + // ----- Read next block + $v_buffer = fread($p_tar_add, 512); + + } while (!feof($p_tar_add)); + + TrFctMessage(__FILE__, __LINE__, 3, "$i 512 bytes blocks"); + } + + // ----- Close the files + fclose($p_tar_add); + } + + // ----- Call the footer of the tar archive + $v_result = PclTarHandleFooter($p_tar, $p_mode); + + // ----- Look for closing compressed archive + if ($p_mode == "tgz") + { + // ----- Close the files + gzclose($p_tar); + gzclose($v_temp_tar); + + // ----- Unlink tar file + if (!@unlink($p_tarname)) + { + // ----- Error log + PclErrorLog(-11, "Error while deleting archive name $p_tarname"); + } + + // ----- Rename tar file + if (!@rename($v_temp_tarname, $p_tarname)) + { + // ----- Error log + PclErrorLog(-12, "Error while renaming temporary file $v_temp_tarname to archive name $p_tarname"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look for closing uncompressed tar file + else if ($p_mode=="tar") + { + // ----- Close the tarfile + fclose($p_tar); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + +// -------------------------------------------------------------------------------- +// ***** UNDER THIS LINE ARE DEFINED PRIVATE INTERNAL FUNCTIONS ***** +// ***** ***** +// ***** THESES FUNCTIONS MUST NOT BE USED DIRECTLY ***** +// -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleCreate() + // Description : + // Parameters : + // $p_tarname : Name of the tar file + // $p_list : An array containing the file or directory names to add in the tar + // $p_mode : "tar" for normal tar archive, "tgz" for gzipped tar archive + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleCreate($p_tarname, $p_list, $p_mode, $p_add_dir="", $p_remove_dir="") + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleCreate", "tar=$p_tarname, list, mode=$p_mode, add_dir='$p_add_dir', remove_dir='$p_remove_dir'"); + $v_result=1; + $v_list_detail = array(); + + // ----- Check the parameters + if (($p_tarname == "") || (($p_mode != "tar") && ($p_mode != "tgz"))) + { + // ----- Error log + if ($p_tarname == "") + PclErrorLog(-3, "Invalid empty archive name"); + else + PclErrorLog(-3, "Unknown mode '$p_mode'"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Look for tar file + if ($p_mode == "tar") + { + // ----- Open the tar file + if (($p_tar = fopen($p_tarname, "wb")) == 0) + { + // ----- Error log + PclErrorLog(-1, "Unable to open file [$p_tarname] in binary write mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Call the adding fct inside the tar + if (($v_result = PclTarHandleAddList($p_tar, $p_list, $p_mode, $v_list_detail, $p_add_dir, $p_remove_dir)) == 1) + { + // ----- Call the footer of the tar archive + $v_result = PclTarHandleFooter($p_tar, $p_mode); + } + + // ----- Close the tarfile + fclose($p_tar); + } + // ----- Look for tgz file + else + { + // ----- Open the tar file + if (($p_tar = @gzopen($p_tarname, "wb")) == 0) + { + // ----- Error log + PclErrorLog(-1, "Unable to open file [$p_tarname] in binary write mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Call the adding fct inside the tar + if (($v_result = PclTarHandleAddList($p_tar, $p_list, $p_mode, $v_list_detail, $p_add_dir, $p_remove_dir)) == 1) + { + // ----- Call the footer of the tar archive + $v_result = PclTarHandleFooter($p_tar, $p_mode); + } + + // ----- Close the tarfile + gzclose($p_tar); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleAppend() + // Description : + // Parameters : + // $p_tarname : Name of the tar file + // $p_list : An array containing the file or directory names to add in the tar + // $p_mode : "tar" for normal tar archive, "tgz" for gzipped tar archive + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleAppend($p_tarname, $p_list, $p_mode, &$p_list_detail, $p_add_dir, $p_remove_dir) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleAppend", "tar=$p_tarname, list, mode=$p_mode"); + $v_result=1; + + // ----- Check the parameters + if ($p_tarname == "") + { + // ----- Error log + PclErrorLog(-3, "Invalid empty archive name"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + clearstatcache(); + + // ----- Check the file size + if ((!is_file($p_tarname)) || + (((($v_size = filesize($p_tarname)) % 512) != 0) && ($p_mode=="tar"))) + { + // ----- Error log + if (!is_file($p_tarname)) + PclErrorLog(-4, "Archive '$p_tarname' does not exist"); + else + PclErrorLog(-6, "Archive '$p_tarname' has invalid size ".filesize($p_tarname)."(not a 512 block multiple)"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Look for compressed archive + if ($p_mode == "tgz") + { + // ----- Open the file in read mode + if (($p_tar = @gzopen($p_tarname, "rb")) == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open file '$p_tarname' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Open a temporary file in write mode + $v_temp_tarname = uniqid("pcltar-").".tmp"; + TrFctMessage(__FILE__, __LINE__, 2, "Creating temporary archive file $v_temp_tarname"); + if (($v_temp_tar = @gzopen($v_temp_tarname, "wb")) == 0) + { + // ----- Close tar file + gzclose($p_tar); + + // ----- Error log + PclErrorLog(-1, "Unable to open file '$v_temp_tarname' in binary write mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Read the first 512 bytes block + $v_buffer = gzread($p_tar, 512); + + // ----- Read the following blocks but not the last one + if (!gzeof($p_tar)) + { + TrFctMessage(__FILE__, __LINE__, 3, "More than one 512 block file"); + $i=1; + + // ----- Read new 512 block and write the already read + do{ + // ----- Write the already read block + $v_binary_data = pack("a512", "$v_buffer"); + gzputs($v_temp_tar, $v_binary_data); + + $i++; + TrFctMessage(__FILE__, __LINE__, 3, "Reading block $i"); + + // ----- Read next block + $v_buffer = gzread($p_tar, 512); + + } while (!gzeof($p_tar)); + + TrFctMessage(__FILE__, __LINE__, 3, "$i 512 bytes blocks"); + } + + // ----- Call the adding fct inside the tar + if (($v_result = PclTarHandleAddList($v_temp_tar, $p_list, $p_mode, $p_list_detail, $p_add_dir, $p_remove_dir)) == 1) + { + // ----- Call the footer of the tar archive + $v_result = PclTarHandleFooter($v_temp_tar, $p_mode); + } + + // ----- Close the files + gzclose($p_tar); + gzclose($v_temp_tar); + + // ----- Unlink tar file + if (!@unlink($p_tarname)) + { + // ----- Error log + PclErrorLog(-11, "Error while deleting archive name $p_tarname"); + } + + // ----- Rename tar file + if (!@rename($v_temp_tarname, $p_tarname)) + { + // ----- Error log + PclErrorLog(-12, "Error while renaming temporary file $v_temp_tarname to archive name $p_tarname"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look for uncompressed tar file + else if ($p_mode=="tar") + { + // ----- Open the tar file + if (($p_tar = fopen($p_tarname, "r+b")) == 0) + { + // ----- Error log + PclErrorLog(-1, "Unable to open file '$p_tarname' in binary write mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Go to the beginning of last block + TrFctMessage(__FILE__, __LINE__, 4, "Position before :".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + fseek($p_tar, $v_size-512); + TrFctMessage(__FILE__, __LINE__, 4, "Position after :".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + + // ----- Call the adding fct inside the tar + if (($v_result = PclTarHandleAddList($p_tar, $p_list, $p_mode, $p_list_detail, $p_add_dir, $p_remove_dir)) == 1) + { + // ----- Call the footer of the tar archive + $v_result = PclTarHandleFooter($p_tar, $p_mode); + } + + // ----- Close the tarfile + fclose($p_tar); + } + + // ----- Look for unknown type + else + { + // ----- Error log + PclErrorLog(-3, "Invalid tar mode $p_mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleAddList() + // Description : + // $p_add_dir and $p_remove_dir will give the ability to memorize a path which is + // different from the real path of the file. This is usefull if you want to have PclTar + // running in any directory, and memorize relative path from an other directory. + // Parameters : + // $p_tar : File descriptor of the tar archive + // $p_list : An array containing the file or directory names to add in the tar + // $p_mode : "tar" for normal tar archive, "tgz" for gzipped tar archive + // $p_list_detail : list of added files with their properties (specially the status field) + // $p_add_dir : Path to add in the filename path archived + // $p_remove_dir : Path to remove in the filename path archived + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleAddList($p_tar, $p_list, $p_mode, &$p_list_detail, $p_add_dir, $p_remove_dir) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleAddList", "tar='$p_tar', list, mode='$p_mode', add_dir='$p_add_dir', remove_dir='$p_remove_dir'"); + $v_result=1; + $v_header = array(); + + // ----- Recuperate the current number of elt in list + $v_nb = sizeof($p_list_detail); + + // ----- Check the parameters + if ($p_tar == 0) + { + // ----- Error log + PclErrorLog(-3, "Invalid file descriptor in file ".__FILE__.", line ".__LINE__); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Check the arguments + if (sizeof($p_list) == 0) + { + // ----- Error log + PclErrorLog(-3, "Invalid file list parameter (invalid or empty list)"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Loop on the files + for ($j=0; ($j 99) + { + // ----- Error log + PclErrorLog(-5, "File name is too long (max. 99) : '$p_filename'"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + TrFctMessage(__FILE__, __LINE__, 4, "File position before header =".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + + // ----- Add the file + if (($v_result = PclTarHandleAddFile($p_tar, $p_filename, $p_mode, $v_header, $p_add_dir, $p_remove_dir)) != 1) + { + // ----- Return status + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Store the file infos + $p_list_detail[$v_nb++] = $v_header; + + // ----- Look for directory + if (is_dir($p_filename)) + { + TrFctMessage(__FILE__, __LINE__, 2, "$p_filename is a directory"); + + // ----- Look for path + if ($p_filename != ".") + $v_path = $p_filename."/"; + else + $v_path = ""; + + // ----- Read the directory for files and sub-directories + $p_hdir = opendir($p_filename); + $p_hitem = readdir($p_hdir); // '.' directory + $p_hitem = readdir($p_hdir); // '..' directory + while ($p_hitem = readdir($p_hdir)) + { + // ----- Look for a file + if (is_file($v_path.$p_hitem)) + { + TrFctMessage(__FILE__, __LINE__, 4, "Add the file '".$v_path.$p_hitem."'"); + + // ----- Add the file + if (($v_result = PclTarHandleAddFile($p_tar, $v_path.$p_hitem, $p_mode, $v_header, $p_add_dir, $p_remove_dir)) != 1) + { + // ----- Return status + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Store the file infos + $p_list_detail[$v_nb++] = $v_header; + } + + // ----- Recursive call to PclTarHandleAddFile() + else + { + TrFctMessage(__FILE__, __LINE__, 4, "'".$v_path.$p_hitem."' is a directory"); + + // ----- Need an array as parameter + $p_temp_list[0] = $v_path.$p_hitem; + $v_result = PclTarHandleAddList($p_tar, $p_temp_list, $p_mode, $p_list_detail, $p_add_dir, $p_remove_dir); + } + } + + // ----- Free memory for the recursive loop + unset($p_temp_list); + unset($p_hdir); + unset($p_hitem); + } + else + { + TrFctMessage(__FILE__, __LINE__, 4, "File position after blocks =".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + } + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleAddFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleAddFile($p_tar, $p_filename, $p_mode, &$p_header, $p_add_dir, $p_remove_dir) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleAddFile", "tar='$p_tar', filename='$p_filename', p_mode='$p_mode', add_dir='$p_add_dir', remove_dir='$p_remove_dir'"); + $v_result=1; + + // ----- Check the parameters + if ($p_tar == 0) + { + // ----- Error log + PclErrorLog(-3, "Invalid file descriptor in file ".__FILE__.", line ".__LINE__); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Skip empty file names + if ($p_filename == "") + { + // ----- Error log + PclErrorLog(-3, "Invalid file list parameter (invalid or empty list)"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Calculate the stored filename + $v_stored_filename = $p_filename; + if ($p_remove_dir != "") + { + if (substr($p_remove_dir, -1) != '/') + $p_remove_dir .= "/"; + + if ((substr($p_filename, 0, 2) == "./") || (substr($p_remove_dir, 0, 2) == "./")) + { + if ((substr($p_filename, 0, 2) == "./") && (substr($p_remove_dir, 0, 2) != "./")) + $p_remove_dir = "./".$p_remove_dir; + if ((substr($p_filename, 0, 2) != "./") && (substr($p_remove_dir, 0, 2) == "./")) + $p_remove_dir = substr($p_remove_dir, 2); + } + + if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir) + { + $v_stored_filename = substr($p_filename, strlen($p_remove_dir)); + TrFctMessage(__FILE__, __LINE__, 3, "Remove path '$p_remove_dir' in file '$p_filename' = '$v_stored_filename'"); + } + } + if ($p_add_dir != "") + { + if (substr($p_add_dir, -1) == "/") + $v_stored_filename = $p_add_dir.$v_stored_filename; + else + $v_stored_filename = $p_add_dir."/".$v_stored_filename; + TrFctMessage(__FILE__, __LINE__, 3, "Add path '$p_add_dir' in file '$p_filename' = '$v_stored_filename'"); + } + + // ----- Check the path length + if (strlen($v_stored_filename) > 99) + { + // ----- Error log + PclErrorLog(-5, "Stored file name is too long (max. 99) : '$v_stored_filename'"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Look for a file + if (is_file($p_filename)) + { + // ----- Open the source file + if (($v_file = fopen($p_filename, "rb")) == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open file '$p_filename' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Call the header generation + if (($v_result = PclTarHandleHeader($p_tar, $p_filename, $p_mode, $p_header, $v_stored_filename)) != 1) + { + // ----- Return status + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + TrFctMessage(__FILE__, __LINE__, 4, "File position after header =".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + + // ----- Read the file by 512 octets blocks + $i=0; + while (($v_buffer = fread($v_file, 512)) != "") + { + $v_binary_data = pack("a512", "$v_buffer"); + if ($p_mode == "tar") + fputs($p_tar, $v_binary_data); + else + gzputs($p_tar, $v_binary_data); + $i++; + } + TrFctMessage(__FILE__, __LINE__, 2, "$i 512 bytes blocks"); + + // ----- Close the file + fclose($v_file); + + TrFctMessage(__FILE__, __LINE__, 4, "File position after blocks =".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + } + + // ----- Look for a directory + else + { + // ----- Call the header generation + if (($v_result = PclTarHandleHeader($p_tar, $p_filename, $p_mode, $p_header, $v_stored_filename)) != 1) + { + // ----- Return status + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + TrFctMessage(__FILE__, __LINE__, 4, "File position after header =".($p_mode=="tar"?ftell($p_tar):gztell($p_tar))); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleHeader() + // Description : + // This function creates in the TAR $p_tar, the TAR header for the file + // $p_filename. + // + // 1. The informations needed to compose the header are recuperated and formatted + // 2. Two binary strings are composed for the first part of the header, before + // and after checksum field. + // 3. The checksum is calculated from the two binary strings + // 4. The header is write in the tar file (first binary string, binary string + // for checksum and last binary string). + // Parameters : + // $p_tar : a valid file descriptor, opened in write mode, + // $p_filename : The name of the file the header is for, + // $p_mode : The mode of the archive ("tar" or "tgz"). + // $p_header : A pointer to a array where will be set the file properties + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleHeader($p_tar, $p_filename, $p_mode, &$p_header, $p_stored_filename) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleHeader", "tar=$p_tar, file='$p_filename', mode='$p_mode', stored_filename='$p_stored_filename'"); + $v_result=1; + + // ----- Check the parameters + if (($p_tar == 0) || ($p_filename == "")) + { + // ----- Error log + PclErrorLog(-3, "Invalid file descriptor in file ".__FILE__.", line ".__LINE__); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Filename (reduce the path of stored name) + if ($p_stored_filename == "") + $p_stored_filename = $p_filename; + $v_reduce_filename = PclTarHandlePathReduction($p_stored_filename); + TrFctMessage(__FILE__, __LINE__, 2, "Filename (reduced) '$v_reduce_filename', strlen ".strlen($v_reduce_filename)); + + // ----- Get file info + $v_info = stat($p_filename); + $v_uid = sprintf("%6s ", DecOct($v_info[4])); + $v_gid = sprintf("%6s ", DecOct($v_info[5])); + TrFctMessage(__FILE__, __LINE__, 3, "uid=$v_uid, gid=$v_gid"); + $v_perms = sprintf("%6s ", DecOct(fileperms($p_filename))); + TrFctMessage(__FILE__, __LINE__, 3, "file permissions $v_perms"); + + // ----- File mtime + $v_mtime_data = filemtime($p_filename); + TrFctMessage(__FILE__, __LINE__, 2, "File mtime : $v_mtime_data"); + $v_mtime = sprintf("%11s", DecOct($v_mtime_data)); + + // ----- File typeflag + // '0' or '\0' is the code for regular file + // '5' is directory + if (is_dir($p_filename)) + { + $v_typeflag = "5"; + $v_size = 0; + } + else + { + $v_typeflag = ""; + + // ----- Get the file size + clearstatcache(); + $v_size = filesize($p_filename); + } + + TrFctMessage(__FILE__, __LINE__, 2, "File size : $v_size"); + $v_size = sprintf("%11s ", DecOct($v_size)); + + TrFctMessage(__FILE__, __LINE__, 2, "File typeflag : $v_typeflag"); + + // ----- Linkname + $v_linkname = ""; + + // ----- Magic + $v_magic = ""; + + // ----- Version + $v_version = ""; + + // ----- uname + $v_uname = ""; + + // ----- gname + $v_gname = ""; + + // ----- devmajor + $v_devmajor = ""; + + // ----- devminor + $v_devminor = ""; + + // ----- prefix + $v_prefix = ""; + + // ----- Compose the binary string of the header in two parts arround the checksum position + $v_binary_data_first = pack("a100a8a8a8a12A12", $v_reduce_filename, $v_perms, $v_uid, $v_gid, $v_size, $v_mtime); + $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", $v_typeflag, $v_linkname, $v_magic, $v_version, $v_uname, $v_gname, $v_devmajor, $v_devminor, $v_prefix, ""); + + // ----- Calculate the checksum + $v_checksum = 0; + // ..... First part of the header + for ($i=0; $i<148; $i++) + { + $v_checksum += ord(substr($v_binary_data_first,$i,1)); + } + // ..... Ignore the checksum value and replace it by ' ' (space) + for ($i=148; $i<156; $i++) + { + $v_checksum += ord(' '); + } + // ..... Last part of the header + for ($i=156, $j=0; $i<512; $i++, $j++) + { + $v_checksum += ord(substr($v_binary_data_last,$j,1)); + } + TrFctMessage(__FILE__, __LINE__, 3, "Calculated checksum : $v_checksum"); + + // ----- Write the first 148 bytes of the header in the archive + if ($p_mode == "tar") + fputs($p_tar, $v_binary_data_first, 148); + else + gzputs($p_tar, $v_binary_data_first, 148); + + // ----- Write the calculated checksum + $v_checksum = sprintf("%6s ", DecOct($v_checksum)); + $v_binary_data = pack("a8", $v_checksum); + if ($p_mode == "tar") + fputs($p_tar, $v_binary_data, 8); + else + gzputs($p_tar, $v_binary_data, 8); + + // ----- Write the last 356 bytes of the header in the archive + if ($p_mode == "tar") + fputs($p_tar, $v_binary_data_last, 356); + else + gzputs($p_tar, $v_binary_data_last, 356); + + // ----- Set the properties in the header "structure" + $p_header[filename] = $v_reduce_filename; + $p_header[mode] = $v_perms; + $p_header[uid] = $v_uid; + $p_header[gid] = $v_gid; + $p_header[size] = $v_size; + $p_header[mtime] = $v_mtime; + $p_header[typeflag] = $v_typeflag; + $p_header[status] = "added"; + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleFooter() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleFooter($p_tar, $p_mode) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleFooter", "tar='$p_tar', p_mode=$p_mode"); + $v_result=1; + + // ----- Write the last 0 filled block for end of archive + $v_binary_data = pack("a512", ""); + if ($p_mode == "tar") + fputs($p_tar, $v_binary_data); + else + gzputs($p_tar, $v_binary_data); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleExtract() + // Description : + // Parameters : + // $p_tarname : Filename of the tar (or tgz) archive + // $p_file_list : An array which contains the list of files to extract, this + // array may be empty when $p_mode is 'complete' + // $p_list_detail : An array where will be placed the properties of each extracted/listed file + // $p_mode : 'complete' will extract all files from the archive, + // 'partial' will look for files in $p_file_list + // 'list' will only list the files from the archive without any extract + // $p_path : Path to add while writing the extracted files + // $p_tar_mode : 'tar' for GNU TAR archive, 'tgz' for compressed archive + // $p_remove_path : Path to remove (from the file memorized path) while writing the + // extracted files. If the path does not match the file path, + // the file is extracted with its memorized path. + // $p_remove_path does not apply to 'list' mode. + // $p_path and $p_remove_path are commulative. + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleExtract($p_tarname, $p_file_list, &$p_list_detail, $p_mode, $p_path, $p_tar_mode, $p_remove_path) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleExtract", "archive='$p_tarname', list, mode=$p_mode, path=$p_path, tar_mode=$p_tar_mode, remove_path='$p_remove_path'"); + $v_result=1; + $v_nb = 0; + $v_extract_all = TRUE; + $v_listing = FALSE; + + // ----- Check the path + /* + if (($p_path == "") || ((substr($p_path, 0, 1) != "/") && (substr($p_path, 0, 3) != "../"))) + $p_path = "./".$p_path; + */ + + $isWin = (substr(PHP_OS, 0, 3) == 'WIN'); + + if(!$isWin) + { + if (($p_path == "") || ((substr($p_path, 0, 1) != "/") && (substr($p_path, 0, 3) != "../"))) + $p_path = "./".$p_path; + } + // ----- Look for path to remove format (should end by /) + if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/')) + { + $p_remove_path .= '/'; + } + $p_remove_path_size = strlen($p_remove_path); + + // ----- Study the mode + switch ($p_mode) { + case "complete" : + // ----- Flag extract of all files + $v_extract_all = TRUE; + $v_listing = FALSE; + break; + case "partial" : + // ----- Flag extract of specific files + $v_extract_all = FALSE; + $v_listing = FALSE; + break; + case "list" : + // ----- Flag list of all files + $v_extract_all = FALSE; + $v_listing = TRUE; + break; + default : + // ----- Error log + PclErrorLog(-3, "Invalid extract mode ($p_mode)"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Open the tar file + if ($p_tar_mode == "tar") + { + TrFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + $v_tar = fopen($p_tarname, "rb"); + } + else + { + TrFctMessage(__FILE__, __LINE__, 3, "Open file in gzip binary read mode"); + $v_tar = @gzopen($p_tarname, "rb"); + } + + // ----- Check that the archive is open + if ($v_tar == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open archive '$p_tarname' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Read the blocks + While (!($v_end_of_file = ($p_tar_mode == "tar"?feof($v_tar):gzeof($v_tar)))) + { + TrFctMessage(__FILE__, __LINE__, 3, "Looking for next header ..."); + + // ----- Clear cache of file infos + clearstatcache(); + + // ----- Reset extract tag + $v_extract_file = FALSE; + $v_extraction_stopped = 0; + + // ----- Read the 512 bytes header + if ($p_tar_mode == "tar") + $v_binary_data = fread($v_tar, 512); + else + $v_binary_data = gzread($v_tar, 512); + + // ----- Read the header properties + if (($v_result = PclTarHandleReadHeader($v_binary_data, $v_header)) != 1) + { + // ----- Close the archive file + if ($p_tar_mode == "tar") + fclose($v_tar); + else + gzclose($v_tar); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look for empty blocks to skip + if ($v_header["filename"] == "") + { + TrFctMessage(__FILE__, __LINE__, 2, "Empty block found. End of archive ?"); + continue; + } + + TrFctMessage(__FILE__, __LINE__, 2, "Found file '" . $v_header["filename"] . "', size '$v_header[size]'"); + + // ----- Look for partial extract + if ((!$v_extract_all) && (is_array($p_file_list))) + { + TrFctMessage(__FILE__, __LINE__, 2, "Look if the file '$v_header[filename]' need to be extracted"); + + // ----- By default no unzip if the file is not found + $v_extract_file = FALSE; + + // ----- Look into the file list + for ($i=0; $i strlen($p_file_list[$i])) && (substr($v_header["filename"], 0, strlen($p_file_list[$i])) == $p_file_list[$i])) + { + // ----- The file is in the directory, so extract it + TrFctMessage(__FILE__, __LINE__, 2, "File '$v_header[filename]' is in directory '$p_file_list[$i]' : extract it"); + $v_extract_file = TRUE; + + // ----- End of loop + break; + } + } + + // ----- It is a file, so compare the file names + else if ($p_file_list[$i] == $v_header["filename"]) + { + // ----- File found + TrFctMessage(__FILE__, __LINE__, 2, "File '$v_header[filename]' should be extracted"); + $v_extract_file = TRUE; + + // ----- End of loop + break; + } + } + + // ----- Trace + if (!$v_extract_file) + { + TrFctMessage(__FILE__, __LINE__, 2, "File '$v_header[filename]' should not be extracted"); + } + } + else + { + // ----- All files need to be extracted + $v_extract_file = TRUE; + } + + // ----- Look if this file need to be extracted + if (($v_extract_file) && (!$v_listing)) + { + // ----- Look for path to remove + if (($p_remove_path != "") + && (substr($v_header["filename"], 0, $p_remove_path_size) == $p_remove_path)) + { + TrFctMessage(__FILE__, __LINE__, 3, "Found path '$p_remove_path' to remove in file '$v_header[filename]'"); + // ----- Remove the path + $v_header["filename"] = substr($v_header["filename"], $p_remove_path_size); + TrFctMessage(__FILE__, __LINE__, 3, "Reslting file is '$v_header[filename]'"); + } + + // ----- Add the path to the file + if (($p_path != "./") && ($p_path != "/")) + { + // ----- Look for the path end '/' + while (substr($p_path, -1) == "/") + { + TrFctMessage(__FILE__, __LINE__, 3, "Destination path [$p_path] ends by '/'"); + $p_path = substr($p_path, 0, strlen($p_path)-1); + TrFctMessage(__FILE__, __LINE__, 3, "Modified to [$p_path]"); + } + + // ----- Add the path + if (substr($v_header["filename"], 0, 1) == "/") + $v_header["filename"] = $p_path.$v_header["filename"]; + else + $v_header["filename"] = $p_path."/".$v_header["filename"]; + } + + // ----- Trace + TrFctMessage(__FILE__, __LINE__, 2, "Extracting file (with path) '$v_header[filename]', size '$v_header[size]'"); + + // ----- Check that the file does not exists + if (file_exists($v_header["filename"])) + { + TrFctMessage(__FILE__, __LINE__, 2, "File '$v_header[filename]' already exists"); + + // ----- Look if file is a directory + if (is_dir($v_header["filename"])) + { + TrFctMessage(__FILE__, __LINE__, 2, "Existing file '$v_header[filename]' is a directory"); + + // ----- Change the file status + $v_header["status"] = "already_a_directory"; + + // ----- Skip the extract + $v_extraction_stopped = 1; + $v_extract_file = 0; + } + // ----- Look if file is write protected + else if (!is_writeable($v_header["filename"])) + { + TrFctMessage(__FILE__, __LINE__, 2, "Existing file '$v_header[filename]' is write protected"); + + // ----- Change the file status + $v_header["status"] = "write_protected"; + + // ----- Skip the extract + $v_extraction_stopped = 1; + $v_extract_file = 0; + } + // ----- Look if the extracted file is older + else if (filemtime($v_header["filename"]) > $v_header["mtime"]) + { + TrFctMessage(__FILE__, __LINE__, 2, "Existing file '$v_header[filename]' is newer (".date("l dS of F Y h:i:s A", filemtime($v_header[filename])).") than the extracted file (".date("l dS of F Y h:i:s A", $v_header[mtime]).")"); + + // ----- Change the file status + $v_header["status"] = "newer_exist"; + + // ----- Skip the extract + $v_extraction_stopped = 1; + $v_extract_file = 0; + } + } + + // ----- Check the directory availability and create it if necessary + else + { + if ($v_header["typeflag"]=="5") + $v_dir_to_check = $v_header["filename"]; + else if (!strstr($v_header["filename"], "/")) + $v_dir_to_check = ""; + else + $v_dir_to_check = dirname($v_header["filename"]); + + if (($v_result = PclTarHandlerDirCheck($v_dir_to_check)) != 1) + { + TrFctMessage(__FILE__, __LINE__, 2, "Unable to create path for '$v_header[filename]'"); + + // ----- Change the file status + $v_header["status"] = "path_creation_fail"; + + // ----- Skip the extract + $v_extraction_stopped = 1; + $v_extract_file = 0; + } + } + + // ----- Do the extraction + if (($v_extract_file) && ($v_header["typeflag"]!="5")) + { + // ----- Open the destination file in write mode + if (($v_dest_file = @fopen($v_header["filename"], "wb")) == 0) + { + TrFctMessage(__FILE__, __LINE__, 2, "Error while opening '$v_header[filename]' in write binary mode"); + + // ----- Change the file status + $v_header["status"] = "write_error"; + + // ----- Jump to next file + TrFctMessage(__FILE__, __LINE__, 2, "Jump to next file"); + if ($p_tar_mode == "tar") + fseek($v_tar, ftell($v_tar)+(ceil(($v_header[size]/512))*512)); + else + gzseek($v_tar, gztell($v_tar)+(ceil(($v_header[size]/512))*512)); + } + else + { + TrFctMessage(__FILE__, __LINE__, 2, "Start extraction of '$v_header[filename]'"); + + // ----- Read data + $n = floor($v_header["size"]/512); + for ($i=0; $i<$n; $i++) + { + TrFctMessage(__FILE__, __LINE__, 3, "Read complete 512 bytes block number ".($i+1)); + if ($p_tar_mode == "tar") + $v_content = fread($v_tar, 512); + else + $v_content = gzread($v_tar, 512); + fwrite($v_dest_file, $v_content, 512); + } + if (($v_header["size"] % 512) != 0) + { + TrFctMessage(__FILE__, __LINE__, 3, "Read last ".($v_header["size"] % 512)." bytes in a 512 block"); + if ($p_tar_mode == "tar") + $v_content = fread($v_tar, 512); + else + $v_content = gzread($v_tar, 512); + fwrite($v_dest_file, $v_content, ($v_header["size"] % 512)); + } + + // ----- Close the destination file + fclose($v_dest_file); + + // ----- Change the file mode, mtime + touch($v_header["filename"], $v_header["mtime"]); + //chmod($v_header[filename], DecOct($v_header[mode])); + } + + // ----- Check the file size + clearstatcache(); + if (filesize($v_header["filename"]) != $v_header["size"]) + { + // ----- Close the archive file + if ($p_tar_mode == "tar") + fclose($v_tar); + else + gzclose($v_tar); + + // ----- Error log + PclErrorLog(-7, "Extracted file '$v_header[filename]' does not have the correct file size '".filesize($v_filename)."' ('$v_header[size]' expected). Archive may be corrupted."); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Trace + TrFctMessage(__FILE__, __LINE__, 2, "Extraction done"); + } + + else + { + TrFctMessage(__FILE__, __LINE__, 2, "Extraction of file '$v_header[filename]' skipped."); + + // ----- Jump to next file + TrFctMessage(__FILE__, __LINE__, 2, "Jump to next file"); + if ($p_tar_mode == "tar") + fseek($v_tar, ftell($v_tar)+(ceil(($v_header["size"]/512))*512)); + else + gzseek($v_tar, gztell($v_tar)+(ceil(($v_header["size"]/512))*512)); + } + } + + // ----- Look for file that is not to be unzipped + else + { + // ----- Trace + TrFctMessage(__FILE__, __LINE__, 2, "Jump file '$v_header[filename]'"); + TrFctMessage(__FILE__, __LINE__, 4, "Position avant jump [".($p_tar_mode=="tar"?ftell($v_tar):gztell($v_tar))."]"); + + // ----- Jump to next file + if ($p_tar_mode == "tar") + fseek($v_tar, ($p_tar_mode=="tar"?ftell($v_tar):gztell($v_tar))+(ceil(($v_header[size]/512))*512)); + else + gzseek($v_tar, gztell($v_tar)+(ceil(($v_header[size]/512))*512)); + + TrFctMessage(__FILE__, __LINE__, 4, "Position aprs jump [".($p_tar_mode=="tar"?ftell($v_tar):gztell($v_tar))."]"); + } + + if ($p_tar_mode == "tar") + $v_end_of_file = feof($v_tar); + else + $v_end_of_file = gzeof($v_tar); + + // ----- File name and properties are logged if listing mode or file is extracted + if ($v_listing || $v_extract_file || $v_extraction_stopped) + { + TrFctMessage(__FILE__, __LINE__, 2, "Memorize info about file '$v_header[filename]'"); + + // ----- Log extracted files + if (($v_file_dir = dirname($v_header["filename"])) == $v_header["filename"]) + $v_file_dir = ""; + if ((substr($v_header["filename"], 0, 1) == "/") && ($v_file_dir == "")) + $v_file_dir = "/"; + + // ----- Add the array describing the file into the list + $p_list_detail[$v_nb] = $v_header; + + // ----- Increment + $v_nb++; + } + } + + // ----- Close the tarfile + if ($p_tar_mode == "tar") + fclose($v_tar); + else + gzclose($v_tar); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleExtractByIndexList() + // Description : + // Extract the files which are at the indexes specified. If the 'file' at the + // index is a directory, the directory only is created, not all the files stored + // for that directory. + // Parameters : + // $p_index_string : String of indexes of files to extract. The form of the + // string is "0,4-6,8-12" with only numbers and '-' for + // for range, and ',' to separate ranges. No spaces or ';' + // are allowed. + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleExtractByIndexList($p_tarname, $p_index_string, &$p_list_detail, $p_path, $p_remove_path, $p_tar_mode) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleExtractByIndexList", "archive='$p_tarname', index_string='$p_index_string', list, path=$p_path, remove_path='$p_remove_path', tar_mode=$p_tar_mode"); + $v_result=1; + $v_nb = 0; + + // ----- TBC : I should check the string by a regexp + + // ----- Check the path + if (($p_path == "") || ((substr($p_path, 0, 1) != "/") && (substr($p_path, 0, 3) != "../") && (substr($p_path, 0, 2) != "./"))) + $p_path = "./".$p_path; + + // ----- Look for path to remove format (should end by /) + if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/')) + { + $p_remove_path .= '/'; + } + $p_remove_path_size = strlen($p_remove_path); + + // ----- Open the tar file + if ($p_tar_mode == "tar") + { + TrFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + $v_tar = @fopen($p_tarname, "rb"); + } + else + { + TrFctMessage(__FILE__, __LINE__, 3, "Open file in gzip binary read mode"); + $v_tar = @gzopen($p_tarname, "rb"); + } + + // ----- Check that the archive is open + if ($v_tar == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open archive '$p_tarname' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Manipulate the index list + $v_list = explode(",", $p_index_string); + sort($v_list); + + // ----- Loop on the index list + $v_index=0; + for ($i=0; ($i $p_index_stop) + { + TrFctMessage(__FILE__, __LINE__, 2, "Stop extraction, past stop index"); + break; + } + + // ----- Clear cache of file infos + clearstatcache(); + + // ----- Reset extract tag + $v_extract_file = FALSE; + $v_extraction_stopped = 0; + + // ----- Read the 512 bytes header + if ($p_tar_mode == "tar") + $v_binary_data = fread($v_tar, 512); + else + $v_binary_data = gzread($v_tar, 512); + + // ----- Read the header properties + if (($v_result = PclTarHandleReadHeader($v_binary_data, $v_header)) != 1) + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look for empty blocks to skip + if ($v_header[filename] == "") + { + TrFctMessage(__FILE__, __LINE__, 2, "Empty block found. End of archive ?"); + continue; + } + + TrFctMessage(__FILE__, __LINE__, 2, "Found file '$v_header[filename]', size '$v_header[size]'"); + + // ----- Look if file is in the range to be extracted + if (($p_index_current >= $p_index_start) && ($p_index_current <= $p_index_stop)) + { + TrFctMessage(__FILE__, __LINE__, 2, "File '$v_header[filename]' is in the range to be extracted"); + $v_extract_file = TRUE; + } + else + { + TrFctMessage(__FILE__, __LINE__, 2, "File '$v_header[filename]' is out of the range"); + $v_extract_file = FALSE; + } + + // ----- Look if this file need to be extracted + if ($v_extract_file) + { + if (($v_result = PclTarHandleExtractFile($v_tar, $v_header, $p_path, $p_remove_path, $p_tar_mode)) != 1) + { + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + } + + // ----- Look for file that is not to be extracted + else + { + // ----- Trace + TrFctMessage(__FILE__, __LINE__, 2, "Jump file '$v_header[filename]'"); + TrFctMessage(__FILE__, __LINE__, 4, "Position avant jump [".($p_tar_mode=="tar"?ftell($v_tar):gztell($v_tar))."]"); + + // ----- Jump to next file + if ($p_tar_mode == "tar") + fseek($v_tar, ($p_tar_mode=="tar"?ftell($v_tar):gztell($v_tar))+(ceil(($v_header[size]/512))*512)); + else + gzseek($v_tar, gztell($v_tar)+(ceil(($v_header[size]/512))*512)); + + TrFctMessage(__FILE__, __LINE__, 4, "Position aprs jump [".($p_tar_mode=="tar"?ftell($v_tar):gztell($v_tar))."]"); + } + + if ($p_tar_mode == "tar") + $v_end_of_file = feof($v_tar); + else + $v_end_of_file = gzeof($v_tar); + + // ----- File name and properties are logged if listing mode or file is extracted + if ($v_extract_file) + { + TrFctMessage(__FILE__, __LINE__, 2, "Memorize info about file '$v_header[filename]'"); + + // ----- Log extracted files + if (($v_file_dir = dirname($v_header[filename])) == $v_header[filename]) + $v_file_dir = ""; + if ((substr($v_header[filename], 0, 1) == "/") && ($v_file_dir == "")) + $v_file_dir = "/"; + + // ----- Add the array describing the file into the list + $p_list_detail[$v_nb] = $v_header; + + // ----- Increment + $v_nb++; + } + + // ----- Increment the current file index + $p_index_current++; + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleExtractFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleExtractFile($p_tar, &$v_header, $p_path, $p_remove_path, $p_tar_mode) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleExtractFile", "archive_descr='$p_tar', path=$p_path, remove_path='$p_remove_path', tar_mode=$p_tar_mode"); + $v_result=1; + + // TBC : I should replace all $v_tar by $p_tar in this function .... + $v_tar = $p_tar; + $v_extract_file = 1; + + $p_remove_path_size = strlen($p_remove_path); + + // ----- Look for path to remove + if (($p_remove_path != "") + && (substr($v_header[filename], 0, $p_remove_path_size) == $p_remove_path)) + { + TrFctMessage(__FILE__, __LINE__, 3, "Found path '$p_remove_path' to remove in file '$v_header[filename]'"); + // ----- Remove the path + $v_header[filename] = substr($v_header[filename], $p_remove_path_size); + TrFctMessage(__FILE__, __LINE__, 3, "Resulting file is '$v_header[filename]'"); + } + + // ----- Add the path to the file + if (($p_path != "./") && ($p_path != "/")) + { + // ----- Look for the path end '/' + while (substr($p_path, -1) == "/") + { + TrFctMessage(__FILE__, __LINE__, 3, "Destination path [$p_path] ends by '/'"); + $p_path = substr($p_path, 0, strlen($p_path)-1); + TrFctMessage(__FILE__, __LINE__, 3, "Modified to [$p_path]"); + } + + // ----- Add the path + if (substr($v_header[filename], 0, 1) == "/") + $v_header[filename] = $p_path.$v_header[filename]; + else + $v_header[filename] = $p_path."/".$v_header[filename]; + } + + // ----- Trace + TrFctMessage(__FILE__, __LINE__, 2, "Extracting file (with path) '$v_header[filename]', size '$v_header[size]'"); + + // ----- Check that the file does not exists + if (file_exists($v_header[filename])) + { + TrFctMessage(__FILE__, __LINE__, 2, "File '$v_header[filename]' already exists"); + + // ----- Look if file is a directory + if (is_dir($v_header[filename])) + { + TrFctMessage(__FILE__, __LINE__, 2, "Existing file '$v_header[filename]' is a directory"); + + // ----- Change the file status + $v_header[status] = "already_a_directory"; + + // ----- Skip the extract + $v_extraction_stopped = 1; + $v_extract_file = 0; + } + // ----- Look if file is write protected + else if (!is_writeable($v_header[filename])) + { + TrFctMessage(__FILE__, __LINE__, 2, "Existing file '$v_header[filename]' is write protected"); + + // ----- Change the file status + $v_header[status] = "write_protected"; + + // ----- Skip the extract + $v_extraction_stopped = 1; + $v_extract_file = 0; + } + // ----- Look if the extracted file is older + else if (filemtime($v_header[filename]) > $v_header[mtime]) + { + TrFctMessage(__FILE__, __LINE__, 2, "Existing file '$v_header[filename]' is newer (".date("l dS of F Y h:i:s A", filemtime($v_header[filename])).") than the extracted file (".date("l dS of F Y h:i:s A", $v_header[mtime]).")"); + + // ----- Change the file status + $v_header[status] = "newer_exist"; + + // ----- Skip the extract + $v_extraction_stopped = 1; + $v_extract_file = 0; + } + } + + // ----- Check the directory availability and create it if necessary + else + { + if ($v_header[typeflag]=="5") + $v_dir_to_check = $v_header[filename]; + else if (!strstr($v_header[filename], "/")) + $v_dir_to_check = ""; + else + $v_dir_to_check = dirname($v_header[filename]); + + if (($v_result = PclTarHandlerDirCheck($v_dir_to_check)) != 1) + { + TrFctMessage(__FILE__, __LINE__, 2, "Unable to create path for '$v_header[filename]'"); + + // ----- Change the file status + $v_header[status] = "path_creation_fail"; + + // ----- Skip the extract + $v_extraction_stopped = 1; + $v_extract_file = 0; + } + } + + // ----- Do the real bytes extraction (if not a directory) + if (($v_extract_file) && ($v_header[typeflag]!="5")) + { + // ----- Open the destination file in write mode + if (($v_dest_file = @fopen($v_header[filename], "wb")) == 0) + { + TrFctMessage(__FILE__, __LINE__, 2, "Error while opening '$v_header[filename]' in write binary mode"); + + // ----- Change the file status + $v_header[status] = "write_error"; + + // ----- Jump to next file + TrFctMessage(__FILE__, __LINE__, 2, "Jump to next file"); + if ($p_tar_mode == "tar") + fseek($v_tar, ftell($v_tar)+(ceil(($v_header[size]/512))*512)); + else + gzseek($v_tar, gztell($v_tar)+(ceil(($v_header[size]/512))*512)); + } + else + { + TrFctMessage(__FILE__, __LINE__, 2, "Start extraction of '$v_header[filename]'"); + + // ----- Read data + $n = floor($v_header[size]/512); + for ($i=0; $i<$n; $i++) + { + TrFctMessage(__FILE__, __LINE__, 3, "Read complete 512 bytes block number ".($i+1)); + if ($p_tar_mode == "tar") + $v_content = fread($v_tar, 512); + else + $v_content = gzread($v_tar, 512); + fwrite($v_dest_file, $v_content, 512); + } + if (($v_header[size] % 512) != 0) + { + TrFctMessage(__FILE__, __LINE__, 3, "Read last ".($v_header[size] % 512)." bytes in a 512 block"); + if ($p_tar_mode == "tar") + $v_content = fread($v_tar, 512); + else + $v_content = gzread($v_tar, 512); + fwrite($v_dest_file, $v_content, ($v_header[size] % 512)); + } + + // ----- Close the destination file + fclose($v_dest_file); + + // ----- Change the file mode, mtime + touch($v_header[filename], $v_header[mtime]); + //chmod($v_header[filename], DecOct($v_header[mode])); + } + + // ----- Check the file size + clearstatcache(); + if (filesize($v_header[filename]) != $v_header[size]) + { + // ----- Error log + PclErrorLog(-7, "Extracted file '$v_header[filename]' does not have the correct file size '".filesize($v_filename)."' ('$v_header[size]' expected). Archive may be corrupted."); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Trace + TrFctMessage(__FILE__, __LINE__, 2, "Extraction done"); + } + else + { + TrFctMessage(__FILE__, __LINE__, 2, "Extraction of file '$v_header[filename]' skipped."); + + // ----- Jump to next file + TrFctMessage(__FILE__, __LINE__, 2, "Jump to next file"); + if ($p_tar_mode == "tar") + fseek($v_tar, ftell($v_tar)+(ceil(($v_header[size]/512))*512)); + else + gzseek($v_tar, gztell($v_tar)+(ceil(($v_header[size]/512))*512)); + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTarHandleDelete() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function PclTarHandleDelete($p_tarname, $p_file_list, &$p_list_detail, $p_tar_mode) + { + TrFctStart(__FILE__, __LINE__, "PclTarHandleDelete", "archive='$p_tarname', list, tar_mode=$p_tar_mode"); + $v_result=1; + $v_nb=0; + + // ----- Look for regular tar file + if ($p_tar_mode == "tar") + { + // ----- Open file + TrFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_tar = @fopen($p_tarname, "rb")) == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open file '$p_tarname' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Open a temporary file in write mode + $v_temp_tarname = uniqid("pcltar-").".tmp"; + TrFctMessage(__FILE__, __LINE__, 2, "Creating temporary archive file $v_temp_tarname"); + if (($v_temp_tar = @fopen($v_temp_tarname, "wb")) == 0) + { + // ----- Close tar file + fclose($v_tar); + + // ----- Error log + PclErrorLog(-1, "Unable to open file '$v_temp_tarname' in binary write mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + } + + // ----- Look for compressed tar file + else + { + // ----- Open the file in read mode + TrFctMessage(__FILE__, __LINE__, 3, "Open file in gzip binary read mode"); + if (($v_tar = @gzopen($p_tarname, "rb")) == 0) + { + // ----- Error log + PclErrorLog(-2, "Unable to open file '$p_tarname' in binary read mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + + // ----- Open a temporary file in write mode + $v_temp_tarname = uniqid("pcltar-").".tmp"; + TrFctMessage(__FILE__, __LINE__, 2, "Creating temporary archive file $v_temp_tarname"); + if (($v_temp_tar = @gzopen($v_temp_tarname, "wb")) == 0) + { + // ----- Close tar file + gzclose($v_tar); + + // ----- Error log + PclErrorLog(-1, "Unable to open file '$v_temp_tarname' in binary write mode"); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); + return PclErrorCode(); + } + } + + // ----- Read the blocks + While (!($v_end_of_file = ($p_tar_mode == "tar"?feof($v_tar):gzeof($v_tar)))) + { + TrFctMessage(__FILE__, __LINE__, 3, "Looking for next header ..."); + + // ----- Clear cache of file infos + clearstatcache(); + + // ----- Reset delete tag + $v_delete_file = FALSE; + + // ----- Read the first 512 block header + if ($p_tar_mode == "tar") + $v_binary_data = fread($v_tar, 512); + else + $v_binary_data = gzread($v_tar, 512); + + // ----- Read the header properties + if (($v_result = PclTarHandleReadHeader($v_binary_data, $v_header)) != 1) + { + // ----- Close the archive file + if ($p_tar_mode == "tar") + { + fclose($v_tar); + fclose($v_temp_tar); + } + else + { + gzclose($v_tar); + gzclose($v_temp_tar); + } + @unlink($v_temp_tarname); + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look for empty blocks to skip + if ($v_header[filename] == "") + { + TrFctMessage(__FILE__, __LINE__, 2, "Empty block found. End of archive ?"); + continue; + } + + TrFctMessage(__FILE__, __LINE__, 2, "Found file '$v_header[filename]', size '$v_header[size]'"); + + // ----- Look for filenames to delete + for ($i=0, $v_delete_file=FALSE; ($i $v_header[mtime]) + { + TrFctMessage(__FILE__, __LINE__, 3, "File '$p_file_list[$i]' need to be updated"); + $v_update_file = TRUE; + } + else + { + TrFctMessage(__FILE__, __LINE__, 3, "File '$p_file_list[$i]' does not need to be updated"); + $v_update_file = FALSE; + } + + // ----- Flag the name in order not to add the file at the end + $v_found_list[$i] = 1; + } + else + { + TrFctMessage(__FILE__, __LINE__, 4, "File '$p_file_list[$i]' is not '$v_header[filename]'"); + } + } + + // ----- Copy files that do not need to be updated + if (!$v_update_file) + { + TrFctMessage(__FILE__, __LINE__, 2, "Keep file '$v_header[filename]'"); + + // ----- Write the file header + if ($p_tar_mode == "tar") + { + fputs($v_temp_tar, $v_binary_data, 512); + } + else + { + gzputs($v_temp_tar, $v_binary_data, 512); + } + + // ----- Write the file data + $n = ceil($v_header[size]/512); + for ($j=0; $j<$n; $j++) + { + TrFctMessage(__FILE__, __LINE__, 3, "Read complete 512 bytes block number ".($j+1)); + if ($p_tar_mode == "tar") + { + $v_content = fread($v_tar, 512); + fwrite($v_temp_tar, $v_content, 512); + } + else + { + $v_content = gzread($v_tar, 512); + gzwrite($v_temp_tar, $v_content, 512); + } + } + + // ----- File name and properties are logged if listing mode or file is extracted + TrFctMessage(__FILE__, __LINE__, 2, "Memorize info about file '$v_header[filename]'"); + + // ----- Add the array describing the file into the list + $p_list_detail[$v_nb] = $v_header; + $p_list_detail[$v_nb][status] = ($v_found_file?"not_updated":"ok"); + + // ----- Increment + $v_nb++; + } + + // ----- Look for file that need to be updated + else + { + // ----- Trace + TrFctMessage(__FILE__, __LINE__, 2, "Start update of file '$v_current_filename'"); + + // ----- Store the old file size + $v_old_size = $v_header[size]; + + // ----- Add the file + if (($v_result = PclTarHandleAddFile($v_temp_tar, $v_current_filename, $p_tar_mode, $v_header, $p_add_dir, $p_remove_dir)) != 1) + { + // ----- Close the tarfile + if ($p_tar_mode == "tar") + { + fclose($v_tar); + fclose($v_temp_tar); + } + else + { + gzclose($v_tar); + gzclose($v_temp_tar); + } + @unlink($p_temp_tarname); + + // ----- Return status + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Trace + TrFctMessage(__FILE__, __LINE__, 2, "Skip old file '$v_header[filename]'"); + + // ----- Jump to next file + if ($p_tar_mode == "tar") + fseek($v_tar, ftell($v_tar)+(ceil(($v_old_size/512))*512)); + else + gzseek($v_tar, gztell($v_tar)+(ceil(($v_old_size/512))*512)); + + // ----- Add the array describing the file into the list + $p_list_detail[$v_nb] = $v_header; + $p_list_detail[$v_nb][status] = "updated"; + + // ----- Increment + $v_nb++; + } + + // ----- Look for end of file + if ($p_tar_mode == "tar") + $v_end_of_file = feof($v_tar); + else + $v_end_of_file = gzeof($v_tar); + } + + // ----- Look for files that does not exists in the archive and need to be added + for ($i=0; $i=0; $i--) + { + // ----- Look for current path + if ($v_list[$i] == ".") + { + // ----- Ignore this directory + // Should be the first $i=0, but no check is done + } + else if ($v_list[$i] == "..") + { + // ----- Ignore it and ignore the $i-1 + $i--; + } + else if (($v_list[$i] == "") && ($i!=(sizeof($v_list)-1)) && ($i!=0)) + { + // ----- Ignore only the double '//' in path, + // but not the first and last '/' + } + else + { + $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:""); + } + } + } + + // ----- Return + TrFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + +// ----- End of double include look +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/includes/pcl/pcltrace.lib.php 4.6-complete/uploadfiles/administrator/includes/pcl/pcltrace.lib.php --- 4.6rc2/uploadfiles/administrator/includes/pcl/pcltrace.lib.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/pcl/pcltrace.lib.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,461 @@ +"; + echo ""; + echo ""; + echo ""; + echo "
      Trace
      "; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + // ----- Content header + echo ""; + + // ----- Display + $v_again=0; + for ($i=0; $i"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + + // ----- Content footer + echo "
      "; + $n = ($g_pcl_trace_entries[$i]["index"]+1)*10; + echo ""; + + echo ""; + switch ($g_pcl_trace_entries[$i]["type"]) { + case 1: + echo ""; + break; + case 2: + echo ""; + break; + case 3: + case 4: + echo ""; + break; + default: + echo ""; + } + echo "
      "; + + for ($j=0; $j<=$g_pcl_trace_entries[$i]["index"]; $j++) + { + if ($j==$g_pcl_trace_entries[$i]["index"]) + { + if (($g_pcl_trace_entries[$i]["type"] == 1) || ($g_pcl_trace_entries[$i]["type"] == 2)) + echo ""; + } + else + echo ""; + } + //echo ""; + echo "
      +
      |
       
      ".$g_pcl_trace_entries[$i]["name"]."(".$g_pcl_trace_entries[$i]["param"].")".$g_pcl_trace_entries[$i]["name"]."()=".$g_pcl_trace_entries[$i]["param"]."
      "; + echo "".$g_pcl_trace_entries[$i]["message"].""; + echo "
      ".$g_pcl_trace_entries[$i]["name"]."(".$g_pcl_trace_entries[$i]["param"].")
      ".basename($g_pcl_trace_entries[$i]["file"])."".$g_pcl_trace_entries[$i]["line"]."
      "; + + // ----- Trace footer + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "
       
      "; + echo ""; + echo ""; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclTraceAction() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function PclTraceAction($p_entry) + { + global $g_pcl_trace_level; + global $g_pcl_trace_mode; + global $g_pcl_trace_filename; + global $g_pcl_trace_name; + global $g_pcl_trace_index; + global $g_pcl_trace_entries; + + if ($g_pcl_trace_mode == "normal") + { + for ($i=0; $i<$p_entry["index"]; $i++) + echo "---"; + if ($p_entry["type"] == 1) + echo "".$p_entry["name"]."(".$p_entry["param"].") : ".$p_entry["message"]." [".$p_entry["file"].", ".$p_entry["line"]."]
      "; + else if ($p_entry["type"] == 2) + echo "".$p_entry["name"]."()=".$p_entry["param"]." : ".$p_entry["message"]." [".$p_entry["file"].", ".$p_entry["line"]."]
      "; + else + echo $p_entry["message"]." [".$p_entry["file"].", ".$p_entry["line"]."]
      "; + } + } + // -------------------------------------------------------------------------------- + +// ----- End of double include look +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/includes/pcl/pclzip.lib.php 4.6-complete/uploadfiles/administrator/includes/pcl/pclzip.lib.php --- 4.6rc2/uploadfiles/administrator/includes/pcl/pclzip.lib.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/pcl/pclzip.lib.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4977 @@ +zipname = $p_zipname; + $this->zip_fd = 0; + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 1); + return; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // create($p_filelist, $p_add_dir="", $p_remove_dir="") + // create($p_filelist, $p_option, $p_option_value, ...) + // Description : + // This method supports two different synopsis. The first one is historical. + // This method creates a Zip Archive. The Zip file is created in the + // filesystem. The files and directories indicated in $p_filelist + // are added in the archive. See the parameters description for the + // supported format of $p_filelist. + // When a directory is in the list, the directory and its content is added + // in the archive. + // In this synopsis, the function takes an optional variable list of + // options. See bellow the supported options. + // Parameters : + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or one directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_add_dir : A path to add before the real path of the archived file, + // in order to have it memorized in the archive. + // $p_remove_dir : A path to remove from the real path of the file to archive, + // in order to have a shorter path memorized in the archive. + // When $p_add_dir and $p_remove_dir are set, $p_remove_dir + // is removed first, before $p_add_dir is added. + // Options : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_COMMENT : + // PCLZIP_CB_PRE_ADD : + // PCLZIP_CB_POST_ADD : + // Return Values : + // 0 on failure, + // The list of the added files, with a status of the add action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- +// function create($p_filelist, $p_add_dir="", $p_remove_dir="") + function create($p_filelist /*, options */) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::create', "filelist='$p_filelist', ..."); + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Set default values + $v_options = array(); + $v_add_path = ""; + $v_remove_path = ""; + $v_remove_all_path = false; + $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "$v_size arguments passed to the method"); + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = &func_get_args(); + + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Variable list of options detected"); + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_ADD => 'optional', + PCLZIP_CB_POST_ADD => 'optional', + PCLZIP_OPT_NO_COMPRESSION => 'optional', + PCLZIP_OPT_COMMENT => 'optional' )); + if ($v_result != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + $v_add_path = $v_options[PCLZIP_OPT_ADD_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Static synopsis"); + + // ----- Get the first argument + $v_add_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, + "Invalid number / type of arguments"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return 0; + } + } + } + + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "add_path='$v_add_path', remove_path='$v_remove_path', remove_all_path='".($v_remove_all_path?'true':'false')."'"); + + // ----- Look if the $p_filelist is really an array + $p_result_list = array(); + if (is_array($p_filelist)) + { + // ----- Call the create fct + $v_result = $this->privCreate($p_filelist, $p_result_list, $v_add_path, $v_remove_path, $v_remove_all_path, $v_options); + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) + { + // ----- Create a list with the elements from the string + $v_list = explode(PCLZIP_SEPARATOR, $p_filelist); + + // ----- Call the create fct + $v_result = $this->privCreate($v_list, $p_result_list, $v_add_path, $v_remove_path, $v_remove_all_path, $v_options); + } + + // ----- Invalid variable + else + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + if ($v_result != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $p_result_list); + return $p_result_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // add($p_filelist, $p_add_dir="", $p_remove_dir="") + // add($p_filelist, $p_option, $p_option_value, ...) + // Description : + // This method supports two synopsis. The first one is historical. + // This methods add the list of files in an existing archive. + // If a file with the same name already exists, it is added at the end of the + // archive, the first one is still present. + // If the archive does not exist, it is created. + // Parameters : + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or one directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_add_dir : A path to add before the real path of the archived file, + // in order to have it memorized in the archive. + // $p_remove_dir : A path to remove from the real path of the file to archive, + // in order to have a shorter path memorized in the archive. + // When $p_add_dir and $p_remove_dir are set, $p_remove_dir + // is removed first, before $p_add_dir is added. + // Options : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_COMMENT : + // PCLZIP_OPT_ADD_COMMENT : + // PCLZIP_OPT_PREPEND_COMMENT : + // PCLZIP_CB_PRE_ADD : + // PCLZIP_CB_POST_ADD : + // Return Values : + // 0 on failure, + // The list of the added files, with a status of the add action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- +// function add($p_filelist, $p_add_dir="", $p_remove_dir="") + function add($p_filelist /* options */) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::add', "filelist='$p_filelist', ..."); + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Set default values + $v_options = array(); + $v_add_path = ""; + $v_remove_path = ""; + $v_remove_all_path = false; + $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "$v_size arguments passed to the method"); + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = &func_get_args(); + + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Variable list of options detected"); + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_ADD => 'optional', + PCLZIP_CB_POST_ADD => 'optional', + PCLZIP_OPT_NO_COMPRESSION => 'optional', + PCLZIP_OPT_COMMENT => 'optional', + PCLZIP_OPT_ADD_COMMENT => 'optional', + PCLZIP_OPT_PREPEND_COMMENT => 'optional' )); + if ($v_result != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + $v_add_path = $v_options[PCLZIP_OPT_ADD_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Static synopsis"); + + // ----- Get the first argument + $v_add_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return 0; + } + } + } + + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "add_path='$v_add_path', remove_path='$v_remove_path', remove_all_path='".($v_remove_all_path?'true':'false')."'"); + + // ----- Look if the $p_filelist is really an array + $p_result_list = array(); + if (is_array($p_filelist)) + { + // ----- Call the create fct + $v_result = $this->privAdd($p_filelist, $p_result_list, $v_add_path, $v_remove_path, $v_remove_all_path, $v_options); + } + + // ----- Look if the $p_filelist is a string + else if (is_string($p_filelist)) + { + // ----- Create a list with the elements from the string + $v_list = explode(PCLZIP_SEPARATOR, $p_filelist); + + // ----- Call the create fct + $v_result = $this->privAdd($v_list, $p_result_list, $v_add_path, $v_remove_path, $v_remove_all_path, $v_options); + } + + // ----- Invalid variable + else + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + if ($v_result != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $p_result_list); + return $p_result_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : listContent() + // Description : + // This public method, gives the list of the files and directories, with their + // properties. + // The properties of each entries in the list are (used also in other functions) : + // filename : Name of the file. For a create or add action it is the filename + // given by the user. For an extract function it is the filename + // of the extracted file. + // stored_filename : Name of the file / directory stored in the archive. + // size : Size of the stored file. + // compressed_size : Size of the file's data compressed in the archive + // (without the headers overhead) + // mtime : Last known modification date of the file (UNIX timestamp) + // comment : Comment associated with the file + // folder : true | false + // index : index of the file in the archive + // status : status of the action (depending of the action) : + // Values are : + // ok : OK ! + // filtered : the file / dir is not extracted (filtered by user) + // already_a_directory : the file can not be extracted because a + // directory with the same name already exists + // write_protected : the file can not be extracted because a file + // with the same name already exists and is + // write protected + // newer_exist : the file was not extracted because a newer file exists + // path_creation_fail : the file is not extracted because the folder + // does not exists and can not be created + // write_error : the file was not extracted because there was a + // error while writing the file + // read_error : the file was not extracted because there was a error + // while reading the file + // invalid_header : the file was not extracted because of an archive + // format error (bad file header) + // Note that each time a method can continue operating when there + // is an action error on a file, the error is only logged in the file status. + // Return Values : + // 0 on an unrecoverable failure, + // The list of the files in the archive. + // -------------------------------------------------------------------------------- + function listContent() + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::listContent', ""); + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return(0); + } + + // ----- Call the extracting fct + $p_list = array(); + if (($v_result = $this->privList($p_list)) != 1) + { + unset($p_list); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo()); + return(0); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // extract($p_path="./", $p_remove_path="") + // extract([$p_option, $p_option_value, ...]) + // Description : + // This method supports two synopsis. The first one is historical. + // This method extract all the files / directories from the archive to the + // folder indicated in $p_path. + // If you want to ignore the 'root' part of path of the memorized files + // you can indicate this in the optional $p_remove_path parameter. + // By default, if a newer file with the same name already exists, the + // file is not extracted. + // + // If both PCLZIP_OPT_PATH and PCLZIP_OPT_ADD_PATH aoptions + // are used, the path indicated in PCLZIP_OPT_ADD_PATH is append + // at the end of the path value of PCLZIP_OPT_PATH. + // Parameters : + // $p_path : Path where the files and directories are to be extracted + // $p_remove_path : First part ('root' part) of the memorized path + // (if any similar) to remove while extracting. + // Options : + // PCLZIP_OPT_PATH : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_CB_PRE_EXTRACT : + // PCLZIP_CB_POST_EXTRACT : + // Return Values : + // 0 or a negative value on failure, + // The list of the extracted files, with a status of the action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + //function extract($p_path="./", $p_remove_path="") + function extract(/* options */) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::extract", ""); + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return(0); + } + + // ----- Set default values + $v_options = array(); + $v_path = "./"; + $v_remove_path = ""; + $v_remove_all_path = false; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "$v_size arguments passed to the method"); + + // ----- Default values for option + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + + // ----- Look for arguments + if ($v_size > 0) { + // ----- Get the arguments + $v_arg_list = &func_get_args(); + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Variable list of options"); + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_PATH => 'optional', + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_EXTRACT => 'optional', + PCLZIP_CB_POST_EXTRACT => 'optional', + PCLZIP_OPT_SET_CHMOD => 'optional', + PCLZIP_OPT_BY_NAME => 'optional', + PCLZIP_OPT_BY_EREG => 'optional', + PCLZIP_OPT_BY_PREG => 'optional', + PCLZIP_OPT_BY_INDEX => 'optional', + PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', + PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional' )); + if ($v_result != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_PATH])) { + $v_path = $v_options[PCLZIP_OPT_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + // ----- Check for '/' in last path char + if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { + $v_path .= '/'; + } + $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Static synopsis"); + + // ----- Get the first argument + $v_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo()); + return 0; + } + } + } + + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "path='$v_path', remove_path='$v_remove_path', remove_all_path='".($v_remove_path?'true':'false')."'"); + + // ----- Call the extracting fct + $p_list = array(); + $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, + $v_remove_all_path, $v_options); + if ($v_result < 1) { + unset($p_list); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo()); + return(0); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + + // -------------------------------------------------------------------------------- + // Function : + // extractByIndex($p_index, $p_path="./", $p_remove_path="") + // extractByIndex($p_index, [$p_option, $p_option_value, ...]) + // Description : + // This method supports two synopsis. The first one is historical. + // This method is doing a partial extract of the archive. + // The extracted files or folders are identified by their index in the + // archive (from 0 to n). + // Note that if the index identify a folder, only the folder entry is + // extracted, not all the files included in the archive. + // Parameters : + // $p_index : A single index (integer) or a string of indexes of files to + // extract. The form of the string is "0,4-6,8-12" with only numbers + // and '-' for range or ',' to separate ranges. No spaces or ';' + // are allowed. + // $p_path : Path where the files and directories are to be extracted + // $p_remove_path : First part ('root' part) of the memorized path + // (if any similar) to remove while extracting. + // Options : + // PCLZIP_OPT_PATH : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_EXTRACT_AS_STRING : The files are extracted as strings and + // not as files. + // The resulting content is in a new field 'content' in the file + // structure. + // This option must be used alone (any other options are ignored). + // PCLZIP_CB_PRE_EXTRACT : + // PCLZIP_CB_POST_EXTRACT : + // Return Values : + // 0 on failure, + // The list of the extracted files, with a status of the action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function extractByIndex($p_index /* $options */) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::extractByIndex", "index='$p_index', ..."); + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return(0); + } + + // ----- Set default values + $v_options = array(); + $v_path = "./"; + $v_remove_path = ""; + $v_remove_all_path = false; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "$v_size arguments passed to the method"); + + // ----- Default values for option + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = &func_get_args(); + + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Variable list of options"); + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_PATH => 'optional', + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_EXTRACT => 'optional', + PCLZIP_CB_POST_EXTRACT => 'optional', + PCLZIP_OPT_SET_CHMOD => 'optional' )); + if ($v_result != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_PATH])) { + $v_path = $v_options[PCLZIP_OPT_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + // ----- Check for '/' in last path char + if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { + $v_path .= '/'; + } + $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; + } + if (!isset($v_options[PCLZIP_OPT_EXTRACT_AS_STRING])) { + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Option PCLZIP_OPT_EXTRACT_AS_STRING not set."); + } + else { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Option PCLZIP_OPT_EXTRACT_AS_STRING set."); + } + } + + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + else { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Static synopsis"); + + // ----- Get the first argument + $v_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } + else if ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return 0; + } + } + } + + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "index='$p_index', path='$v_path', remove_path='$v_remove_path', remove_all_path='".($v_remove_path?'true':'false')."'"); + + // ----- Trick + // Here I want to reuse extractByRule(), so I need to parse the $p_index + // with privParseOptions() + $v_arg_trick = array (PCLZIP_OPT_BY_INDEX, $p_index); + $v_options_trick = array(); + $v_result = $this->privParseOptions($v_arg_trick, sizeof($v_arg_trick), $v_options_trick, + array (PCLZIP_OPT_BY_INDEX => 'optional' )); + if ($v_result != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + $v_options[PCLZIP_OPT_BY_INDEX] = $v_options_trick[PCLZIP_OPT_BY_INDEX]; + + // ----- Call the extracting fct + if (($v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options)) < 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo()); + return(0); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : + // delete([$p_option, $p_option_value, ...]) + // Description : + // Parameters : + // None + // Options : + // PCLZIP_OPT_BY_INDEX : + // Return Values : + // 0 on failure, + // The list of the files which are still present in the archive. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + function delete(/* options */) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::delete", ""); + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return(0); + } + + // ----- Set default values + $v_options = array(); + + // ----- Look for variable options arguments + $v_size = func_num_args(); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "$v_size arguments passed to the method"); + + // ----- Look for no arguments + if ($v_size <= 0) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing arguments"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo()); + return 0; + } + + // ----- Get the arguments + $v_arg_list = &func_get_args(); + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, + array (PCLZIP_OPT_BY_NAME => 'optional', + PCLZIP_OPT_BY_EREG => 'optional', + PCLZIP_OPT_BY_PREG => 'optional', + PCLZIP_OPT_BY_INDEX => 'optional' )); + if ($v_result != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + + // ----- Check that at least one rule is set + if ( (!isset($v_options[PCLZIP_OPT_BY_NAME])) + && (!isset($v_options[PCLZIP_OPT_BY_EREG])) + && (!isset($v_options[PCLZIP_OPT_BY_PREG])) + && (!isset($v_options[PCLZIP_OPT_BY_INDEX]))) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "At least one filtering rule must be set"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo()); + return 0; + } + + // ----- Call the delete fct + $v_list = array(); + if (($v_result = $this->privDeleteByRule($v_list, $v_options)) != 1) + { + unset($v_list); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo()); + return(0); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_list); + return $v_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : deleteByIndex() + // Description : + // ***** Deprecated ***** + // delete(PCLZIP_OPT_BY_INDEX, $p_index) should be prefered. + // -------------------------------------------------------------------------------- + function deleteByIndex($p_index) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::deleteByIndex", "index='$p_index'"); + + $p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $p_list); + return $p_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : properties() + // Description : + // This method gives the properties of the archive. + // The properties are : + // nb : Number of files in the archive + // comment : Comment associated with the archive file + // status : not_exist, ok + // Parameters : + // None + // Return Values : + // 0 on failure, + // An array with the archive properties. + // -------------------------------------------------------------------------------- + function properties() + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::properties", ""); + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return(0); + } + + // ----- Default properties + $v_prop = array(); + $v_prop['comment'] = ''; + $v_prop['nb'] = 0; + $v_prop['status'] = 'not_exist'; + + // ----- Look if file exists + if (@is_file($this->zipname)) + { + // ----- Open the zip file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), 0); + return 0; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return 0; + } + + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Set the user attributes + $v_prop['comment'] = $v_central_dir['comment']; + $v_prop['nb'] = $v_central_dir['entries']; + $v_prop['status'] = 'ok'; + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_prop); + return $v_prop; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : duplicate() + // Description : + // This method creates an archive by copying the content of an other one. If + // the archive already exist, it is replaced by the new one without any warning. + // Parameters : + // $p_archive : The filename of a valid archive, or + // a valid PclZip object. + // Return Values : + // 1 on success. + // 0 or a negative value on error (error code). + // -------------------------------------------------------------------------------- + function duplicate($p_archive) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::duplicate", ""); + $v_result = 1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Look if the $p_archive is a PclZip object + if ((is_object($p_archive)) && (get_class($p_archive) == 'pclzip')) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "The parameter is valid PclZip object '".$p_archive->zipname."'"); + + // ----- Duplicate the archive + $v_result = $this->privDuplicate($p_archive->zipname); + } + + // ----- Look if the $p_archive is a string (so a filename) + else if (is_string($p_archive)) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "The parameter is a filename '$p_archive'"); + + // ----- Check that $p_archive is a valid zip file + // TBC : Should also check the archive format + if (!is_file($p_archive)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "No file with filename '".$p_archive."'"); + $v_result = PCLZIP_ERR_MISSING_FILE; + } + else { + // ----- Duplicate the archive + $v_result = $this->privDuplicate($p_archive); + } + } + + // ----- Invalid variable + else + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : merge() + // Description : + // This method merge the $p_archive_to_add archive at the end of the current + // one ($this). + // If the archive ($this) does not exist, the merge becomes a duplicate. + // If the $p_archive_to_add archive does not exist, the merge is a success. + // Parameters : + // $p_archive_to_add : It can be directly the filename of a valid zip archive, + // or a PclZip object archive. + // Return Values : + // 1 on success, + // 0 or negative values on error (see below). + // -------------------------------------------------------------------------------- + function merge($p_archive_to_add) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::merge", ""); + $v_result = 1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0); + return(0); + } + + // ----- Look if the $p_archive_to_add is a PclZip object + if ((is_object($p_archive_to_add)) && (get_class($p_archive_to_add) == 'pclzip')) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "The parameter is valid PclZip object"); + + // ----- Merge the archive + $v_result = $this->privMerge($p_archive_to_add); + } + + // ----- Look if the $p_archive_to_add is a string (so a filename) + else if (is_string($p_archive_to_add)) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "The parameter is a filename"); + + // ----- Create a temporary archive + $v_object_archive = new PclZip($p_archive_to_add); + + // ----- Merge the archive + $v_result = $this->privMerge($v_object_archive); + } + + // ----- Invalid variable + else + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : errorCode() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorCode() + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + return(PclErrorCode()); + } + else { + return($this->error_code); + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : errorName() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorName($p_with_code=false) + { + $v_name = array ( PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR', + PCLZIP_ERR_WRITE_OPEN_FAIL => 'PCLZIP_ERR_WRITE_OPEN_FAIL', + PCLZIP_ERR_READ_OPEN_FAIL => 'PCLZIP_ERR_READ_OPEN_FAIL', + PCLZIP_ERR_INVALID_PARAMETER => 'PCLZIP_ERR_INVALID_PARAMETER', + PCLZIP_ERR_MISSING_FILE => 'PCLZIP_ERR_MISSING_FILE', + PCLZIP_ERR_FILENAME_TOO_LONG => 'PCLZIP_ERR_FILENAME_TOO_LONG', + PCLZIP_ERR_INVALID_ZIP => 'PCLZIP_ERR_INVALID_ZIP', + PCLZIP_ERR_BAD_EXTRACTED_FILE => 'PCLZIP_ERR_BAD_EXTRACTED_FILE', + PCLZIP_ERR_DIR_CREATE_FAIL => 'PCLZIP_ERR_DIR_CREATE_FAIL', + PCLZIP_ERR_BAD_EXTENSION => 'PCLZIP_ERR_BAD_EXTENSION', + PCLZIP_ERR_BAD_FORMAT => 'PCLZIP_ERR_BAD_FORMAT', + PCLZIP_ERR_DELETE_FILE_FAIL => 'PCLZIP_ERR_DELETE_FILE_FAIL', + PCLZIP_ERR_RENAME_FILE_FAIL => 'PCLZIP_ERR_RENAME_FILE_FAIL', + PCLZIP_ERR_BAD_CHECKSUM => 'PCLZIP_ERR_BAD_CHECKSUM', + PCLZIP_ERR_INVALID_ARCHIVE_ZIP => 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', + PCLZIP_ERR_MISSING_OPTION_VALUE => 'PCLZIP_ERR_MISSING_OPTION_VALUE', + PCLZIP_ERR_INVALID_OPTION_VALUE => 'PCLZIP_ERR_INVALID_OPTION_VALUE' ); + + if (isset($v_name[$this->error_code])) { + $v_value = $v_name[$this->error_code]; + } + else { + $v_value = 'NoName'; + } + + if ($p_with_code) { + return($v_value.' ('.$this->error_code.')'); + } + else { + return($v_value); + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : errorInfo() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function errorInfo($p_full=false) + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + return(PclErrorString()); + } + else { + if ($p_full) { + return($this->errorName(true)." : ".$this->error_string); + } + else { + return($this->error_string." [code ".$this->error_code."]"); + } + } + } + // -------------------------------------------------------------------------------- + + +// -------------------------------------------------------------------------------- +// ***** UNDER THIS LINE ARE DEFINED PRIVATE INTERNAL FUNCTIONS ***** +// ***** ***** +// ***** THESES FUNCTIONS MUST NOT BE USED DIRECTLY ***** +// -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : privCheckFormat() + // Description : + // This method check that the archive exists and is a valid zip archive. + // Several level of check exists. (futur) + // Parameters : + // $p_level : Level of check. Default 0. + // 0 : Check the first bytes (magic codes) (default value)) + // 1 : 0 + Check the central directory (futur) + // 2 : 1 + Check each file header (futur) + // Return Values : + // true on success, + // false on error, the error code is set. + // -------------------------------------------------------------------------------- + function privCheckFormat($p_level=0) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privCheckFormat", ""); + $v_result = true; + + // ----- Reset the file system cache + clearstatcache(); + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Look if the file exits + if (!is_file($this->zipname)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "Missing archive file '".$this->zipname."'"); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, false, PclZip::errorInfo()); + return(false); + } + + // ----- Check that the file is readeable + if (!is_readable($this->zipname)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to read archive '".$this->zipname."'"); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, false, PclZip::errorInfo()); + return(false); + } + + // ----- Check the magic code + // TBC + + // ----- Check the central header + // TBC + + // ----- Check each file header + // TBC + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privParseOptions() + // Description : + // This internal methods reads the variable list of arguments ($p_options_list, + // $p_size) and generate an array with the options and values ($v_result_list). + // $v_requested_options contains the options that can be present and those that + // must be present. + // $v_requested_options is an array, with the option value as key, and 'optional', + // or 'mandatory' as value. + // Parameters : + // See above. + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privParseOptions", ""); + $v_result=1; + + // ----- Read the options + $i=0; + while ($i<$p_size) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Looking for table index $i, option = '".PclZipUtilOptionText($p_options_list[$i])."(".$p_options_list[$i].")'"); + + // ----- Check if the option is requested + if (!isset($v_requested_options[$p_options_list[$i]])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid optional parameter '".$p_options_list[$i]."' for this method"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Look for next option + switch ($p_options_list[$i]) { + // ----- Look for options that request a path value + case PCLZIP_OPT_PATH : + case PCLZIP_OPT_REMOVE_PATH : + case PCLZIP_OPT_ADD_PATH : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Get the value + $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], false); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'"); + $i++; + break; + + // ----- Look for options that request an array of string for value + case PCLZIP_OPT_BY_NAME : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]][0] = $p_options_list[$i+1]; + } + else if (is_array($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + ////--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'"); + $i++; + break; + + // ----- Look for options that request an EREG or PREG expression + case PCLZIP_OPT_BY_EREG : + case PCLZIP_OPT_BY_PREG : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'"); + $i++; + break; + + // ----- Look for options that takes a string + case PCLZIP_OPT_COMMENT : + case PCLZIP_OPT_ADD_COMMENT : + case PCLZIP_OPT_PREPEND_COMMENT : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, + "Missing parameter value for option '" + .PclZipUtilOptionText($p_options_list[$i]) + ."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, + "Wrong parameter value for option '" + .PclZipUtilOptionText($p_options_list[$i]) + ."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'"); + $i++; + break; + + // ----- Look for options that request an array of index + case PCLZIP_OPT_BY_INDEX : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Get the value + $v_work_list = array(); + if (is_string($p_options_list[$i+1])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Index value is a string '".$p_options_list[$i+1]."'"); + + // ----- Remove spaces + $p_options_list[$i+1] = strtr($p_options_list[$i+1], ' ', ''); + + // ----- Parse items + $v_work_list = explode(",", $p_options_list[$i+1]); + } + else if (is_integer($p_options_list[$i+1])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Index value is an integer '".$p_options_list[$i+1]."'"); + $v_work_list[0] = $p_options_list[$i+1].'-'.$p_options_list[$i+1]; + } + else if (is_array($p_options_list[$i+1])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Index value is an array"); + $v_work_list = $p_options_list[$i+1]; + } + else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Value must be integer, string or array for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Reduce the index list + // each index item in the list must be a couple with a start and + // an end value : [0,3], [5-5], [8-10], ... + // ----- Check the format of each item + $v_sort_flag=false; + $v_sort_value=0; + for ($j=0; $j= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Get the value + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'"); + $i++; + break; + + // ----- Look for options that request a call-back + case PCLZIP_CB_PRE_EXTRACT : + case PCLZIP_CB_POST_EXTRACT : + case PCLZIP_CB_PRE_ADD : + case PCLZIP_CB_POST_ADD : + /* for futur use + case PCLZIP_CB_PRE_DELETE : + case PCLZIP_CB_POST_DELETE : + case PCLZIP_CB_PRE_LIST : + case PCLZIP_CB_POST_LIST : + */ + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Get the value + $v_function_name = $p_options_list[$i+1]; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "call-back ".PclZipUtilOptionText($p_options_list[$i])." = '".$v_function_name."'"); + + // ----- Check that the value is a valid existing function + if (!function_exists($v_function_name)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Function '".$v_function_name."()' is not an existing function for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Set the attribute + $v_result_list[$p_options_list[$i]] = $v_function_name; + $i++; + break; + + default : + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, + "Unknown parameter '" + .$p_options_list[$i]."'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Next options + $i++; + } + + // ----- Look for mandatory options + if ($v_requested_options !== false) { + for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { + // ----- Look for mandatory option + if ($v_requested_options[$key] == 'mandatory') { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Detect a mandatory option : ".PclZipUtilOptionText($key)."(".$key.")"); + // ----- Look if present + if (!isset($v_result_list[$key])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + } + } + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCreate() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privCreate($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privCreate", "list, result_list, add_dir='$p_add_dir', remove_dir='$p_remove_dir'"); + $v_result=1; + $v_list_detail = array(); + + // ----- Open the file in write mode + if (($v_result = $this->privOpenFd('wb')) != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Add the list of files + $v_result = $this->privAddList($p_list, $p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, $p_options); + + // ----- Close + $this->privCloseFd(); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAdd() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privAdd($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privAdd", "list, result_list, add_dir='$p_add_dir', remove_dir='$p_remove_dir'"); + $v_result=1; + $v_list_detail = array(); + + // ----- Look if the archive exists or is empty + if ((!is_file($this->zipname)) || (filesize($this->zipname) == 0)) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Archive does not exist, or is empty, create it."); + + // ----- Do a create + $v_result = $this->privCreate($p_list, $p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, $p_options); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Open the zip file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Go to beginning of File + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position in file : ".ftell($this->zip_fd)."'"); + @rewind($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position in file : ".ftell($this->zip_fd)."'"); + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Open the temporary file in write mode + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) + { + $this->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = $v_central_dir['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Swap the file descriptor + // Here is a trick : I swap the temporary fd with the zip fd, in order to use + // the following methods on the temporary fil and not the real archive + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Add the files + $v_header_list = array(); + if (($v_result = $this->privAddFileList($p_list, $v_header_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, $p_options)) != 1) + { + fclose($v_zip_temp_fd); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "New offset of central dir : $v_offset"); + + // ----- Copy the block of file headers from the old archive + $v_size = $v_central_dir['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = @fread($v_zip_temp_fd, $v_read_size); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Create the Central Dir files header + for ($i=0, $v_count=0; $iprivWriteCentralFileHeader($v_header_list[$i])) != 1) { + fclose($v_zip_temp_fd); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + $v_count++; + } + + // ----- Transform the header to a 'usable' info + $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + // ----- Zip file comment + $v_comment = $v_central_dir['comment']; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + if (isset($p_options[PCLZIP_OPT_ADD_COMMENT])) { + $v_comment = $v_comment.$p_options[PCLZIP_OPT_ADD_COMMENT]; + } + if (isset($p_options[PCLZIP_OPT_PREPEND_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_PREPEND_COMMENT].$v_comment; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($this->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_count+$v_central_dir['entries'], $v_size, $v_offset, $v_comment)) != 1) + { + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Swap back the file descriptor + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Close + $this->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privOpenFd() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privOpenFd($p_mode) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privOpenFd", 'mode='.$p_mode); + $v_result=1; + + // ----- Look if already open + if ($this->zip_fd != 0) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Zip file \''.$this->zipname.'\' already open'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Open the zip file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Open file in '.$p_mode.' mode'); + if (($this->zip_fd = @fopen($this->zipname, $p_mode)) == 0) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in '.$p_mode.' mode'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCloseFd() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privCloseFd() + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privCloseFd", ""); + $v_result=1; + + if ($this->zip_fd != 0) + @fclose($this->zip_fd); + $this->zip_fd = 0; + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddList() + // Description : + // $p_add_dir and $p_remove_dir will give the ability to memorize a path which is + // different from the real path of the file. This is usefull if you want to have PclTar + // running in any directory, and memorize relative path from an other directory. + // Parameters : + // $p_list : An array containing the file or directory names to add in the tar + // $p_result_list : list of added files with their properties (specially the status field) + // $p_add_dir : Path to add in the filename path archived + // $p_remove_dir : Path to remove in the filename path archived + // Return Values : + // -------------------------------------------------------------------------------- + function privAddList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privAddList", "list, add_dir='$p_add_dir', remove_dir='$p_remove_dir'"); + $v_result=1; + + // ----- Add the files + $v_header_list = array(); + if (($v_result = $this->privAddFileList($p_list, $v_header_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, $p_options)) != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($this->zip_fd); + + // ----- Create the Central Dir files header + for ($i=0,$v_count=0; $iprivWriteCentralFileHeader($v_header_list[$i])) != 1) { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + $v_count++; + } + + // ----- Transform the header to a 'usable' info + $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + // ----- Zip file comment + $v_comment = ''; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($this->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_count, $v_size, $v_offset, $v_comment)) != 1) + { + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFileList() + // Description : + // $p_add_dir and $p_remove_dir will give the ability to memorize a path which is + // different from the real path of the file. This is usefull if you want to + // run the lib in any directory, and memorize relative path from an other directory. + // Parameters : + // $p_list : An array containing the file or directory names to add in the tar + // $p_result_list : list of added files with their properties (specially the status field) + // $p_add_dir : Path to add in the filename path archived + // $p_remove_dir : Path to remove in the filename path archived + // Return Values : + // -------------------------------------------------------------------------------- + function privAddFileList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privAddFileList", "list, add_dir='$p_add_dir', remove_dir='$p_remove_dir'"); + $v_result=1; + $v_header = array(); + + // ----- Recuperate the current number of elt in list + $v_nb = sizeof($p_result_list); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Before add, list have $v_nb elements"); + + // ----- Loop on the files + for ($j=0; ($j 0xFF) + { + // ----- Error log + PclZip::privErrorLog(-5, "File name is too long (max. 255) : '$p_filename'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + */ + + // ----- Look if it is a file or a dir with no all pathnre move + if ((is_file($p_filename)) || ((is_dir($p_filename)) && !$p_remove_all_dir)) { + // ----- Add the file + if (($v_result = $this->privAddFile($p_filename, $v_header, $p_add_dir, $p_remove_dir, $p_remove_all_dir, $p_options)) != 1) + { + // ----- Return status + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Store the file infos + $p_result_list[$v_nb++] = $v_header; + } + + // ----- Look for directory + if (is_dir($p_filename)) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "$p_filename is a directory"); + + // ----- Look for path + if ($p_filename != ".") + $v_path = $p_filename."/"; + else + $v_path = ""; + + // ----- Read the directory for files and sub-directories + $p_hdir = opendir($p_filename); + $p_hitem = readdir($p_hdir); // '.' directory + $p_hitem = readdir($p_hdir); // '..' directory + while (($p_hitem = readdir($p_hdir)) !== false) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Looking for $p_hitem in the directory"); + + // ----- Look for a file + if (is_file($v_path.$p_hitem)) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Add the file '".$v_path.$p_hitem."'"); + + // ----- Add the file + if (($v_result = $this->privAddFile($v_path.$p_hitem, $v_header, $p_add_dir, $p_remove_dir, $p_remove_all_dir, $p_options)) != 1) + { + // ----- Return status + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Store the file infos + $p_result_list[$v_nb++] = $v_header; + } + + // ----- Recursive call to privAddFileList() + else + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Add the directory '".$v_path.$p_hitem."'"); + + // ----- Need an array as parameter + $p_temp_list[0] = $v_path.$p_hitem; + $v_result = $this->privAddFileList($p_temp_list, $p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, $p_options); + + // ----- Update the number of elements of the list + $v_nb = sizeof($p_result_list); + } + } + + // ----- Free memory for the recursive loop + unset($p_temp_list); + unset($p_hdir); + unset($p_hitem); + } + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "After add, list have $v_nb elements"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privAddFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privAddFile", "filename='$p_filename', add_dir='$p_add_dir', remove_dir='$p_remove_dir'"); + $v_result=1; + + if ($p_filename == "") + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file list parameter (invalid or empty list)"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Calculate the stored filename + $v_stored_filename = $p_filename; + + // ----- Look for all path to remove + if ($p_remove_all_dir) { + $v_stored_filename = basename($p_filename); + } + // ----- Look for partial path remove + else if ($p_remove_dir != "") + { + if (substr($p_remove_dir, -1) != '/') + $p_remove_dir .= "/"; + + if ((substr($p_filename, 0, 2) == "./") || (substr($p_remove_dir, 0, 2) == "./")) + { + if ((substr($p_filename, 0, 2) == "./") && (substr($p_remove_dir, 0, 2) != "./")) + $p_remove_dir = "./".$p_remove_dir; + if ((substr($p_filename, 0, 2) != "./") && (substr($p_remove_dir, 0, 2) == "./")) + $p_remove_dir = substr($p_remove_dir, 2); + } + + $v_compare = PclZipUtilPathInclusion($p_remove_dir, $p_filename); + if ($v_compare > 0) +// if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir) + { + + if ($v_compare == 2) { + $v_stored_filename = ""; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Path to remove is the current folder"); + } + else { + $v_stored_filename = substr($p_filename, strlen($p_remove_dir)); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Remove path '$p_remove_dir' in file '$p_filename' = '$v_stored_filename'"); + } + } + } + // ----- Look for path to add + if ($p_add_dir != "") + { + if (substr($p_add_dir, -1) == "/") + $v_stored_filename = $p_add_dir.$v_stored_filename; + else + $v_stored_filename = $p_add_dir."/".$v_stored_filename; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Add path '$p_add_dir' in file '$p_filename' = '$v_stored_filename'"); + } + + // ----- Filename (reduce the path of stored name) + $v_stored_filename = PclZipUtilPathReduction($v_stored_filename); + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Filename (reduced) '$v_stored_filename', strlen ".strlen($v_stored_filename)); + + /* filename length moved after call-back in release 1.3 + // ----- Check the path length + if (strlen($v_stored_filename) > 0xFF) + { + // ----- Error log + PclZip::privErrorLog(-5, "Stored file name is too long (max. 255) : '$v_stored_filename'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + */ + + // ----- Set the file properties + clearstatcache(); + $p_header['version'] = 20; + $p_header['version_extracted'] = 10; + $p_header['flag'] = 0; + $p_header['compression'] = 0; + $p_header['mtime'] = filemtime($p_filename); + $p_header['crc'] = 0; + $p_header['compressed_size'] = 0; + $p_header['size'] = filesize($p_filename); + $p_header['filename_len'] = strlen($p_filename); + $p_header['extra_len'] = 0; + $p_header['comment_len'] = 0; + $p_header['disk'] = 0; + $p_header['internal'] = 0; + $p_header['external'] = (is_file($p_filename)?0xFE49FFE0:0x41FF0010); + $p_header['offset'] = 0; + $p_header['filename'] = $p_filename; + $p_header['stored_filename'] = $v_stored_filename; + $p_header['extra'] = ''; + $p_header['comment'] = ''; + $p_header['status'] = 'ok'; + $p_header['index'] = -1; + + // ----- Look for pre-add callback + if (isset($p_options[PCLZIP_CB_PRE_ADD])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "A pre-callback '".$p_options[PCLZIP_CB_PRE_ADD]."()') is defined for the extraction"); + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_header, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + eval('$v_result = '.$p_options[PCLZIP_CB_PRE_ADD].'(PCLZIP_CB_PRE_ADD, $v_local_header);'); + if ($v_result == 0) { + // ----- Change the file status + $p_header['status'] = "skipped"; + $v_result = 1; + } + + // ----- Update the informations + // Only some fields can be modified + if ($p_header['stored_filename'] != $v_local_header['stored_filename']) { + $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "New stored filename is '".$p_header['stored_filename']."'"); + } + } + + // ----- Look for empty stored filename + if ($p_header['stored_filename'] == "") { + $p_header['status'] = "filtered"; + } + + // ----- Check the path length + if (strlen($p_header['stored_filename']) > 0xFF) { + $p_header['status'] = 'filename_too_long'; + } + + // ----- Look if no error, or file not skipped + if ($p_header['status'] == 'ok') { + + // ----- Look for a file + if (is_file($p_filename)) + { + // ----- Open the source file + if (($v_file = @fopen($p_filename, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { + // ----- Read the file content + $v_content_compressed = @fread($v_file, $p_header['size']); + + // ----- Calculate the CRC + $p_header['crc'] = crc32($v_content_compressed); + } + else { + // ----- Read the file content + $v_content = @fread($v_file, $p_header['size']); + + // ----- Calculate the CRC + $p_header['crc'] = crc32($v_content); + + // ----- Compress the file + $v_content_compressed = gzdeflate($v_content); + } + + // ----- Set header parameters + $p_header['compressed_size'] = strlen($v_content_compressed); + $p_header['compression'] = 8; + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + @fclose($v_file); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Write the compressed content + $v_binary_data = pack('a'.$p_header['compressed_size'], $v_content_compressed); + @fwrite($this->zip_fd, $v_binary_data, $p_header['compressed_size']); + + // ----- Close the file + @fclose($v_file); + } + + // ----- Look for a directory + else + { + // ----- Set the file properties + $p_header['filename'] .= '/'; + $p_header['filename_len']++; + $p_header['size'] = 0; + $p_header['external'] = 0x41FF0010; // Value for a folder : to be checked + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) + { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + } + } + + // ----- Look for pre-add callback + if (isset($p_options[PCLZIP_CB_POST_ADD])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "A post-callback '".$p_options[PCLZIP_CB_POST_ADD]."()') is defined for the extraction"); + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_header, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + eval('$v_result = '.$p_options[PCLZIP_CB_POST_ADD].'(PCLZIP_CB_POST_ADD, $v_local_header);'); + if ($v_result == 0) { + // ----- Ignored + $v_result = 1; + } + + // ----- Update the informations + // Nothing can be modified + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteFileHeader(&$p_header) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privWriteFileHeader", 'file="'.$p_header['filename'].'", stored as "'.$p_header['stored_filename'].'"'); + $v_result=1; + + // TBC + //for(reset($p_header); $key = key($p_header); next($p_header)) { + // //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "header[$key] = ".$p_header[$key]); + //} + + // ----- Store the offset position of the file + $p_header['offset'] = ftell($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, 'File offset of the header :'.$p_header['offset']); + + // ----- Transform UNIX mtime to DOS format mdate/mtime + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\''); + $v_date = getdate($p_header['mtime']); + $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; + $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; + + // ----- Packed data + $v_binary_data = pack("VvvvvvVVVvv", 0x04034b50, $p_header['version'], $p_header['flag'], + $p_header['compression'], $v_mtime, $v_mdate, + $p_header['crc'], $p_header['compressed_size'], $p_header['size'], + strlen($p_header['stored_filename']), $p_header['extra_len']); + + // ----- Write the first 148 bytes of the header in the archive + fputs($this->zip_fd, $v_binary_data, 30); + + // ----- Write the variable fields + if (strlen($p_header['stored_filename']) != 0) + { + fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); + } + if ($p_header['extra_len'] != 0) + { + fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteCentralFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteCentralFileHeader(&$p_header) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privWriteCentralFileHeader", 'file="'.$p_header['filename'].'", stored as "'.$p_header['stored_filename'].'"'); + $v_result=1; + + // TBC + //for(reset($p_header); $key = key($p_header); next($p_header)) { + // //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "header[$key] = ".$p_header[$key]); + //} + + // ----- Transform UNIX mtime to DOS format mdate/mtime + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\''); + $v_date = getdate($p_header['mtime']); + $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; + $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; + + // ----- Packed data + $v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50, $p_header['version'], $p_header['version_extracted'], + $p_header['flag'], $p_header['compression'], $v_mtime, $v_mdate, $p_header['crc'], + $p_header['compressed_size'], $p_header['size'], + strlen($p_header['stored_filename']), $p_header['extra_len'], $p_header['comment_len'], + $p_header['disk'], $p_header['internal'], $p_header['external'], $p_header['offset']); + + // ----- Write the 42 bytes of the header in the zip file + fputs($this->zip_fd, $v_binary_data, 46); + + // ----- Write the variable fields + if (strlen($p_header['stored_filename']) != 0) + { + fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); + } + if ($p_header['extra_len'] != 0) + { + fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); + } + if ($p_header['comment_len'] != 0) + { + fputs($this->zip_fd, $p_header['comment'], $p_header['comment_len']); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteCentralHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privWriteCentralHeader", 'nb_entries='.$p_nb_entries.', size='.$p_size.', offset='.$p_offset.', comment="'.$p_comment.'"'); + $v_result=1; + + // ----- Packed data + $v_binary_data = pack("VvvvvVVv", 0x06054b50, 0, 0, $p_nb_entries, $p_nb_entries, $p_size, $p_offset, strlen($p_comment)); + + // ----- Write the 22 bytes of the header in the zip file + fputs($this->zip_fd, $v_binary_data, 22); + + // ----- Write the variable fields + if (strlen($p_comment) != 0) + { + fputs($this->zip_fd, $p_comment, strlen($p_comment)); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privList() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privList(&$p_list) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privList", "list"); + $v_result=1; + + // ----- Open the zip file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Go to beginning of Central Dir + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Offset : ".$v_central_dir['offset']."'"); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Position in file : ".ftell($this->zip_fd)."'"); + @rewind($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Position in file : ".ftell($this->zip_fd)."'"); + if (@fseek($this->zip_fd, $v_central_dir['offset'])) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Position in file : ".ftell($this->zip_fd)."'"); + + // ----- Read each entry + for ($i=0; $i<$v_central_dir['entries']; $i++) + { + // ----- Read the file header + if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) + { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + $v_header['index'] = $i; + + // ----- Get the only interesting attributes + $this->privConvertHeader2FileInfo($v_header, $p_list[$i]); + unset($v_header); + } + + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privConvertHeader2FileInfo() + // Description : + // This function takes the file informations from the central directory + // entries and extract the interesting parameters that will be given back. + // The resulting file infos are set in the array $p_info + // $p_info['filename'] : Filename with full path. Given by user (add), + // extracted in the filesystem (extract). + // $p_info['stored_filename'] : Stored filename in the archive. + // $p_info['size'] = Size of the file. + // $p_info['compressed_size'] = Compressed size of the file. + // $p_info['mtime'] = Last modification date of the file. + // $p_info['comment'] = Comment associated with the file. + // $p_info['folder'] = true/false : indicates if the entry is a folder or not. + // $p_info['status'] = status of the action on the file. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privConvertHeader2FileInfo($p_header, &$p_info) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privConvertHeader2FileInfo", "Filename='".$p_header['filename']."'"); + $v_result=1; + + // ----- Get the interesting attributes + $p_info['filename'] = $p_header['filename']; + $p_info['stored_filename'] = $p_header['stored_filename']; + $p_info['size'] = $p_header['size']; + $p_info['compressed_size'] = $p_header['compressed_size']; + $p_info['mtime'] = $p_header['mtime']; + $p_info['comment'] = $p_header['comment']; + $p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010); + $p_info['index'] = $p_header['index']; + $p_info['status'] = $p_header['status']; + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractByRule() + // Description : + // Extract a file or directory depending of rules (by index, by name, ...) + // Parameters : + // $p_file_list : An array where will be placed the properties of each + // extracted file + // $p_path : Path to add while writing the extracted files + // $p_remove_path : Path to remove (from the file memorized path) while writing the + // extracted files. If the path does not match the file path, + // the file is extracted with its memorized path. + // $p_remove_path does not apply to 'list' mode. + // $p_path and $p_remove_path are commulative. + // Return Values : + // 1 on success,0 or less on error (see error code list) + // -------------------------------------------------------------------------------- + function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privExtractByRule", "path='$p_path', remove_path='$p_remove_path', remove_all_path='".($p_remove_all_path?'true':'false')."'"); + $v_result=1; + + // ----- Check the path + if (($p_path == "") || ((substr($p_path, 0, 1) != "/") && (substr($p_path, 0, 3) != "../") && (substr($p_path,1,2)!=":/"))) + $p_path = "./".$p_path; + + // ----- Reduce the path last (and duplicated) '/' + if (($p_path != "./") && ($p_path != "/")) + { + // ----- Look for the path end '/' + while (substr($p_path, -1) == "/") + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Destination path [$p_path] ends by '/'"); + $p_path = substr($p_path, 0, strlen($p_path)-1); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Modified to [$p_path]"); + } + } + + // ----- Look for path to remove format (should end by /) + if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/')) + { + $p_remove_path .= '/'; + } + $p_remove_path_size = strlen($p_remove_path); + + // ----- Open the zip file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_result = $this->privOpenFd('rb')) != 1) + { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Start at beginning of Central Dir + $v_pos_entry = $v_central_dir['offset']; + + // ----- Read each entry + $j_start = 0; + for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Read next file header entry : '$i'"); + + // ----- Read next Central dir entry + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Position before rewind : ".ftell($this->zip_fd)."'"); + @rewind($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Position after rewind : ".ftell($this->zip_fd)."'"); + if (@fseek($this->zip_fd, $v_pos_entry)) + { + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Position after fseek : ".ftell($this->zip_fd)."'"); + + // ----- Read the file header + $v_header = array(); + if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Store the index + $v_header['index'] = $i; + + // ----- Store the file position + $v_pos_entry = ftell($this->zip_fd); + + // ----- Look for the specific extract rules + $v_extract = false; + + // ----- Look for extract by name rule + if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) + && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract with rule 'ByName'"); + + // ----- Look if the filename is in the list + for ($j=0; ($j strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) + && (substr($v_header['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "The directory is in the file path"); + $v_extract = true; + } + } + // ----- Look for a filename + elseif ($v_header['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "The file is the right one."); + $v_extract = true; + } + } + } + + // ----- Look for extract by ereg rule + else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) + && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract by ereg '".$p_options[PCLZIP_OPT_BY_EREG]."'"); + + if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header['stored_filename'])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Filename match the regular expression"); + $v_extract = true; + } + } + + // ----- Look for extract by preg rule + else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) + && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract with rule 'ByEreg'"); + + if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header['stored_filename'])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Filename match the regular expression"); + $v_extract = true; + } + } + + // ----- Look for extract by index rule + else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) + && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract with rule 'ByIndex'"); + + // ----- Look if the index is in the list + for ($j=$j_start; ($j=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Found as part of an index range"); + $v_extract = true; + } + if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Do not look this index range for next loop"); + $j_start = $j+1; + } + + if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Index range is greater than index, stop loop"); + break; + } + } + } + + // ----- Look for no rule, which means extract all the archive + else { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract with no rule (extract all)"); + $v_extract = true; + } + + + // ----- Look for real extraction + if ($v_extract) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting file '".$v_header['filename']."', index '$i'"); + + // ----- Go to the file position + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position before rewind : ".ftell($this->zip_fd)."'"); + @rewind($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position after rewind : ".ftell($this->zip_fd)."'"); + if (@fseek($this->zip_fd, $v_header['offset'])) + { + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position after fseek : ".ftell($this->zip_fd)."'"); + + // ----- Look for extraction as string + if ($p_options[PCLZIP_OPT_EXTRACT_AS_STRING]) { + + // ----- Extracting the file + $v_result1 = $this->privExtractFileAsString($v_header, $v_string); + if ($v_result1 < 1) { + $this->privCloseFd(); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result1); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Set the file content + $p_file_list[$v_nb_extracted]['content'] = $v_string; + + // ----- Next extracted file + $v_nb_extracted++; + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + // ----- Look for extraction in standard output + elseif ( (isset($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) + && ($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) { + // ----- Extracting the file in standard output + $v_result1 = $this->privExtractFileInOutput($v_header, $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result1); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) { + $this->privCloseFd(); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + // ----- Look for normal extraction + else { + // ----- Extracting the file + $v_result1 = $this->privExtractFile($v_header, + $p_path, $p_remove_path, + $p_remove_all_path, + $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result1); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + } + } + + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privExtractFile', "path='$p_path', remove_path='$p_remove_path', remove_all_path='".($p_remove_all_path?'true':'false')."'"); + $v_result=1; + + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header)) != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Found file '".$v_header['filename']."', size '".$v_header['size']."'"); + + // ----- Check that the file header is coherent with $p_entry info + // TBC + + // ----- Look for all path to remove + if ($p_remove_all_path == true) { + // ----- Get the basename of the path + $p_entry['filename'] = basename($p_entry['filename']); + } + + // ----- Look for path to remove + else if ($p_remove_path != "") + { + //if (strcmp($p_remove_path, $p_entry['filename'])==0) + if (PclZipUtilPathInclusion($p_remove_path, $p_entry['filename']) == 2) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "The folder is the same as the removed path '".$p_entry['filename']."'"); + + // ----- Change the file status + $p_entry['status'] = "filtered"; + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + $p_remove_path_size = strlen($p_remove_path); + if (substr($p_entry['filename'], 0, $p_remove_path_size) == $p_remove_path) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Found path '$p_remove_path' to remove in file '".$p_entry['filename']."'"); + + // ----- Remove the path + $p_entry['filename'] = substr($p_entry['filename'], $p_remove_path_size); + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Resulting file is '".$p_entry['filename']."'"); + } + } + + // ----- Add the path + if ($p_path != '') + { + $p_entry['filename'] = $p_path."/".$p_entry['filename']; + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "A pre-callback '".$p_options[PCLZIP_CB_PRE_EXTRACT]."()') is defined for the extraction"); + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "User callback abort the extraction"); + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "New filename is '".$p_entry['filename']."'"); + } + + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting file (with path) '".$p_entry['filename']."', size '$v_header[size]'"); + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Look for specific actions while the file exist + if (file_exists($p_entry['filename'])) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File '".$p_entry['filename']."' already exists"); + + // ----- Look if file is a directory + if (is_dir($p_entry['filename'])) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Existing file '".$p_entry['filename']."' is a directory"); + + // ----- Change the file status + $p_entry['status'] = "already_a_directory"; + + // ----- Return + ////--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + //return $v_result; + } + // ----- Look if file is write protected + else if (!is_writeable($p_entry['filename'])) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Existing file '".$p_entry['filename']."' is write protected"); + + // ----- Change the file status + $p_entry['status'] = "write_protected"; + + // ----- Return + ////--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + //return $v_result; + } + + // ----- Look if the extracted file is older + else if (filemtime($p_entry['filename']) > $p_entry['mtime']) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Existing file '".$p_entry['filename']."' is newer (".date("l dS of F Y h:i:s A", filemtime($p_entry['filename'])).") than the extracted file (".date("l dS of F Y h:i:s A", $p_entry['mtime']).")"); + + // ----- Change the file status + $p_entry['status'] = "newer_exist"; + + // ----- Return + ////--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + //return $v_result; + } + } + + // ----- Check the directory availability and create it if necessary + else { + if ((($p_entry['external']&0x00000010)==0x00000010) || (substr($p_entry['filename'], -1) == '/')) + $v_dir_to_check = $p_entry['filename']; + else if (!strstr($p_entry['filename'], "/")) + $v_dir_to_check = ""; + else + $v_dir_to_check = dirname($p_entry['filename']); + + if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Unable to create path for '".$p_entry['filename']."'"); + + // ----- Change the file status + $p_entry['status'] = "path_creation_fail"; + + // ----- Return + ////--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + //return $v_result; + $v_result = 1; + } + } + } + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) + { + + // ----- Look for not compressed file + if ($p_entry['compressed_size'] == $p_entry['size']) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting an un-compressed file"); + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Error while opening '".$p_entry['filename']."' in write binary mode"); + + // ----- Change the file status + $p_entry['status'] = "write_error"; + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Reading '".$p_entry['size']."' bytes"); + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['compressed_size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Read $v_read_size bytes"); + $v_buffer = fread($this->zip_fd, $v_read_size); + $v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_binary_data, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Closing the destination file + fclose($v_dest_file); + + // ----- Change the file mtime + touch($p_entry['filename'], $p_entry['mtime']); + } + else + { + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting a compressed file"); + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Error while opening '".$p_entry['filename']."' in write binary mode"); + + // ----- Change the file status + $p_entry['status'] = "write_error"; + + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Reading '".$p_entry['size']."' bytes"); + + // ----- Read the compressed file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $v_file_content = gzinflate($v_buffer); + unset($v_buffer); + + // ----- Write the uncompressed data + @fwrite($v_dest_file, $v_file_content, $p_entry['size']); + unset($v_file_content); + + // ----- Closing the destination file + @fclose($v_dest_file); + + // ----- Change the file mtime + touch($p_entry['filename'], $p_entry['mtime']); + } + + // ----- Look for chmod option + if (isset($p_options[PCLZIP_OPT_SET_CHMOD])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "chmod option activated '".$p_options[PCLZIP_OPT_SET_CHMOD]."'"); + + // ----- Change the mode of the file + chmod($p_entry['filename'], $p_options[PCLZIP_OPT_SET_CHMOD]); + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extraction done"); + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } + + // ----- Look for post-extract callback + elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "A post-callback '".$p_options[PCLZIP_CB_POST_EXTRACT]."()') is defined for the extraction"); + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + + // ----- Look for abort result + if ($v_result == 2) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "User callback abort the extraction"); + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileInOutput() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFileInOutput(&$p_entry, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privExtractFileInOutput', ""); + $v_result=1; + + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header)) != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Found file '".$v_header['filename']."', size '".$v_header['size']."'"); + + // ----- Check that the file header is coherent with $p_entry info + // TBC + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "A pre-callback '".$p_options[PCLZIP_CB_PRE_EXTRACT]."()') is defined for the extraction"); + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "User callback abort the extraction"); + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "New filename is '".$p_entry['filename']."'"); + } + + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting file (with path) '".$p_entry['filename']."', size '$v_header[size]'"); + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) { + // ----- Look for not compressed file + if ($p_entry['compressed_size'] == $p_entry['size']) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting an un-compressed file"); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Reading '".$p_entry['size']."' bytes"); + + // ----- Read the file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Send the file to the output + echo $v_buffer; + unset($v_buffer); + } + else { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting a compressed file"); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Reading '".$p_entry['size']."' bytes"); + + // ----- Read the compressed file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $v_file_content = gzinflate($v_buffer); + unset($v_buffer); + + // ----- Send the file to the output + echo $v_file_content; + unset($v_file_content); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extraction done"); + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } + + // ----- Look for post-extract callback + elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "A post-callback '".$p_options[PCLZIP_CB_POST_EXTRACT]."()') is defined for the extraction"); + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + + // ----- Look for abort result + if ($v_result == 2) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "User callback abort the extraction"); + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileAsString() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privExtractFileAsString(&$p_entry, &$p_string) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, 'PclZip::privExtractFileAsString', "p_entry['filename']='".$p_entry['filename']."'"); + $v_result=1; + + // ----- Read the file header + $v_header = array(); + if (($v_result = $this->privReadFileHeader($v_header)) != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Found file '".$v_header['filename']."', size '".$v_header['size']."'"); + + // ----- Check that the file header is coherent with $p_entry info + // TBC + + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting file in string (with path) '".$p_entry['filename']."', size '$v_header[size]'"); + + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) + { + // ----- Look for not compressed file + if ($p_entry['compressed_size'] == $p_entry['size']) + { + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting an un-compressed file"); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Reading '".$p_entry['size']."' bytes"); + + // ----- Reading the file + $p_string = fread($this->zip_fd, $p_entry['compressed_size']); + } + else + { + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting a compressed file"); + + // ----- Reading the file + $v_data = fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $p_string = gzinflate($v_data); + } + + // ----- Trace + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extraction done"); + } + else { + // TBC : error : can not extract a folder in a string + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadFileHeader(&$p_header) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privReadFileHeader", ""); + $v_result=1; + + // ----- Read the 4 bytes signature + $v_binary_data = @fread($this->zip_fd, 4); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Binary data is : '".sprintf("%08x", $v_binary_data)."'"); + $v_data = unpack('Vid', $v_binary_data); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Binary signature is : '".sprintf("0x%08x", $v_data['id'])."'"); + + // ----- Check signature + if ($v_data['id'] != 0x04034b50) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Invalid File header"); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Read the first 42 bytes of the header + $v_binary_data = fread($this->zip_fd, 26); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 26) + { + $p_header['filename'] = ""; + $p_header['status'] = "invalid_header"; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Extract the values + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Header : '".$v_binary_data."'"); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Header (Hex) : '".bin2hex($v_binary_data)."'"); + $v_data = unpack('vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $v_binary_data); + + // ----- Get filename + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "File name length : ".$v_data['filename_len']); + $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Filename : \''.$p_header['filename'].'\''); + + // ----- Get extra_fields + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extra field length : ".$v_data['extra_len']); + if ($v_data['extra_len'] != 0) { + $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']); + } + else { + $p_header['extra'] = ''; + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Extra field : \''.bin2hex($p_header['extra']).'\''); + + // ----- Extract properties + $p_header['compression'] = $v_data['compression']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Compression method : \''.bin2hex($p_header['compression']).'\''); + $p_header['size'] = $v_data['size']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Size : \''.$p_header['size'].'\''); + $p_header['compressed_size'] = $v_data['compressed_size']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Compressed Size : \''.$p_header['compressed_size'].'\''); + $p_header['crc'] = $v_data['crc']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'CRC : \''.$p_header['crc'].'\''); + $p_header['flag'] = $v_data['flag']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Flag : \''.$p_header['flag'].'\''); + + // ----- Recuperate date in UNIX format + $p_header['mdate'] = $v_data['mdate']; + $p_header['mtime'] = $v_data['mtime']; + if ($p_header['mdate'] && $p_header['mtime']) + { + // ----- Extract time + $v_hour = ($p_header['mtime'] & 0xF800) >> 11; + $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; + $v_seconde = ($p_header['mtime'] & 0x001F)*2; + + // ----- Extract date + $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; + $v_month = ($p_header['mdate'] & 0x01E0) >> 5; + $v_day = $p_header['mdate'] & 0x001F; + + // ----- Get UNIX date format + $p_header['mtime'] = mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\''); + } + else + { + $p_header['mtime'] = time(); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Date is actual : \''.date("d/m/y H:i:s", $p_header['mtime']).'\''); + } + + // ----- Other informations + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Compression type : ".$v_data['compression']); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Version : ".$v_data['version']); + + // TBC + //for(reset($v_data); $key = key($v_data); next($v_data)) { + // //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Attribut[$key] = ".$v_data[$key]); + //} + + // ----- Set the stored filename + $p_header['stored_filename'] = $p_header['filename']; + + // ----- Set the status field + $p_header['status'] = "ok"; + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadCentralFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadCentralFileHeader(&$p_header) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privReadCentralFileHeader", ""); + $v_result=1; + + // ----- Read the 4 bytes signature + $v_binary_data = @fread($this->zip_fd, 4); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Binary data is : '".sprintf("%08x", $v_binary_data)."'"); + $v_data = unpack('Vid', $v_binary_data); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Binary signature is : '".sprintf("0x%08x", $v_data['id'])."'"); + + // ----- Check signature + if ($v_data['id'] != 0x02014b50) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Invalid Central Dir File signature"); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Read the first 42 bytes of the header + $v_binary_data = fread($this->zip_fd, 42); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 42) + { + $p_header['filename'] = ""; + $p_header['status'] = "invalid_header"; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Extract the values + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Header : '".$v_binary_data."'"); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Header (Hex) : '".bin2hex($v_binary_data)."'"); + $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data); + + // ----- Get filename + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "File name length : ".$p_header['filename_len']); + if ($p_header['filename_len'] != 0) + $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']); + else + $p_header['filename'] = ''; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Filename : \''.$p_header['filename'].'\''); + + // ----- Get extra + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Extra length : ".$p_header['extra_len']); + if ($p_header['extra_len'] != 0) + $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']); + else + $p_header['extra'] = ''; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Extra : \''.$p_header['extra'].'\''); + + // ----- Get comment + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Comment length : ".$p_header['comment_len']); + if ($p_header['comment_len'] != 0) + $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']); + else + $p_header['comment'] = ''; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Comment : \''.$p_header['comment'].'\''); + + // ----- Extract properties + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Version : \''.($p_header['version']/10).'.'.($p_header['version']%10).'\''); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Version need to extract : \''.($p_header['version_extracted']/10).'.'.($p_header['version_extracted']%10).'\''); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Size : \''.$p_header['size'].'\''); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Compressed Size : \''.$p_header['compressed_size'].'\''); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'CRC : \''.$p_header['crc'].'\''); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Flag : \''.$p_header['flag'].'\''); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Offset : \''.$p_header['offset'].'\''); + + // ----- Recuperate date in UNIX format + if ($p_header['mdate'] && $p_header['mtime']) + { + // ----- Extract time + $v_hour = ($p_header['mtime'] & 0xF800) >> 11; + $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; + $v_seconde = ($p_header['mtime'] & 0x001F)*2; + + // ----- Extract date + $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; + $v_month = ($p_header['mdate'] & 0x01E0) >> 5; + $v_day = $p_header['mdate'] & 0x001F; + + // ----- Get UNIX date format + $p_header['mtime'] = mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\''); + } + else + { + $p_header['mtime'] = time(); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Date is actual : \''.date("d/m/y H:i:s", $p_header['mtime']).'\''); + } + + // ----- Set the stored filename + $p_header['stored_filename'] = $p_header['filename']; + + // ----- Set default status to ok + $p_header['status'] = 'ok'; + + // ----- Look if it is a directory + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Internal (Hex) : '".sprintf("Ox%04X", $p_header['internal'])."'"); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "External (Hex) : '".sprintf("Ox%04X", $p_header['external'])."' (".(($p_header['external']&0x00000010)==0x00000010?'is a folder':'is a file').')'); + if (substr($p_header['filename'], -1) == '/') + { + $p_header['external'] = 0x41FF0010; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Force folder external : \''.$p_header['external'].'\''); + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Header of filename : \''.$p_header['filename'].'\''); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadEndCentralDir() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privReadEndCentralDir(&$p_central_dir) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privReadEndCentralDir", ""); + $v_result=1; + + // ----- Go to the end of the zip file + $v_size = filesize($this->zipname); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Size of the file :$v_size"); + @fseek($this->zip_fd, $v_size); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Position at end of zip file : \''.ftell($this->zip_fd).'\''); + if (@ftell($this->zip_fd) != $v_size) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to go to the end of the archive \''.$this->zipname.'\''); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- First try : look if this is an archive with no commentaries (most of the time) + // in this case the end of central dir is at 22 bytes of the file end + $v_found = 0; + if ($v_size > 26) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Look for central dir with no comment'); + @fseek($this->zip_fd, $v_size-22); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Position after min central position : \''.ftell($this->zip_fd).'\''); + if (($v_pos = @ftell($this->zip_fd)) != ($v_size-22)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Read for bytes + $v_binary_data = @fread($this->zip_fd, 4); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Binary data is : '".sprintf("%08x", $v_binary_data)."'"); + $v_data = @unpack('Vid', $v_binary_data); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Binary signature is : '".sprintf("0x%08x", $v_data['id'])."'"); + + // ----- Check signature + if ($v_data['id'] == 0x06054b50) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Found central dir at the default position."); + $v_found = 1; + } + + $v_pos = ftell($this->zip_fd); + } + + // ----- Go back to the maximum possible size of the Central Dir End Record + if (!$v_found) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Start extended search of end central dir'); + $v_maximum_size = 65557; // 0xFFFF + 22; + if ($v_maximum_size > $v_size) + $v_maximum_size = $v_size; + @fseek($this->zip_fd, $v_size-$v_maximum_size); + if (@ftell($this->zip_fd) != ($v_size-$v_maximum_size)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Position after max central position : \''.ftell($this->zip_fd).'\''); + + // ----- Read byte per byte in order to find the signature + $v_pos = ftell($this->zip_fd); + $v_bytes = 0x00000000; + while ($v_pos < $v_size) + { + // ----- Read a byte + $v_byte = @fread($this->zip_fd, 1); + + // ----- Add the byte + $v_bytes = ($v_bytes << 8) | Ord($v_byte); + + // ----- Compare the bytes + if ($v_bytes == 0x504b0506) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Found End Central Dir signature at position : \''.ftell($this->zip_fd).'\''); + $v_pos++; + break; + } + + $v_pos++; + } + + // ----- Look if not found end of central dir + if ($v_pos == $v_size) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Unable to find End of Central Dir Record signature"); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Unable to find End of Central Dir Record signature"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + } + + // ----- Read the first 18 bytes of the header + $v_binary_data = fread($this->zip_fd, 18); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 18) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Invalid End of Central Dir Record size : ".strlen($v_binary_data)); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid End of Central Dir Record size : ".strlen($v_binary_data)); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Extract the values + ////--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Central Dir Record : '".$v_binary_data."'"); + ////--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Central Dir Record (Hex) : '".bin2hex($v_binary_data)."'"); + $v_data = unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $v_binary_data); + + // ----- Check the global size + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Comment length : ".$v_data['comment_size']); + if (($v_pos + $v_data['comment_size'] + 18) != $v_size) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Fail to find the right signature"); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Fail to find the right signature"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Get comment + if ($v_data['comment_size'] != 0) + $p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']); + else + $p_central_dir['comment'] = ''; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Comment : \''.$p_central_dir['comment'].'\''); + + $p_central_dir['entries'] = $v_data['entries']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Nb of entries : \''.$p_central_dir['entries'].'\''); + $p_central_dir['disk_entries'] = $v_data['disk_entries']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Nb of entries for this disk : \''.$p_central_dir['disk_entries'].'\''); + $p_central_dir['offset'] = $v_data['offset']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Offset of Central Dir : \''.$p_central_dir['offset'].'\''); + $p_central_dir['size'] = $v_data['size']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Size of Central Dir : \''.$p_central_dir['size'].'\''); + $p_central_dir['disk'] = $v_data['disk']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Disk number : \''.$p_central_dir['disk'].'\''); + $p_central_dir['disk_start'] = $v_data['disk_start']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Start disk number : \''.$p_central_dir['disk_start'].'\''); + + // TBC + //for(reset($p_central_dir); $key = key($p_central_dir); next($p_central_dir)) { + // //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "central_dir[$key] = ".$p_central_dir[$key]); + //} + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDeleteByRule() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privDeleteByRule(&$p_result_list, &$p_options) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDeleteByRule", ""); + $v_result=1; + $v_list_detail = array(); + + // ----- Open the zip file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Go to beginning of File + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position in file : ".ftell($this->zip_fd)."'"); + @rewind($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position in file : ".ftell($this->zip_fd)."'"); + + // ----- Scan all the files + // ----- Start at beginning of Central Dir + $v_pos_entry = $v_central_dir['offset']; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position before rewind : ".ftell($this->zip_fd)."'"); + @rewind($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position after rewind : ".ftell($this->zip_fd)."'"); + if (@fseek($this->zip_fd, $v_pos_entry)) + { + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position after fseek : ".ftell($this->zip_fd)."'"); + + // ----- Read each entry + $v_header_list = array(); + $j_start = 0; + for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Read next file header entry (index '$i')"); + + // ----- Read the file header + $v_header_list[$v_nb_extracted] = array(); + if (($v_result = $this->privReadCentralFileHeader($v_header_list[$v_nb_extracted])) != 1) + { + // ----- Close the zip file + $this->privCloseFd(); + + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Filename (index '$i') : '".$v_header_list[$v_nb_extracted]['stored_filename']."'"); + + // ----- Store the index + $v_header_list[$v_nb_extracted]['index'] = $i; + + // ----- Look for the specific extract rules + $v_found = false; + + // ----- Look for extract by name rule + if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) + && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract with rule 'ByName'"); + + // ----- Look if the filename is in the list + for ($j=0; ($j strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) + && (substr($v_header_list[$v_nb_extracted]['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "The directory is in the file path"); + $v_found = true; + } + elseif ( (($v_header_list[$v_nb_extracted]['external']&0x00000010)==0x00000010) /* Indicates a folder */ + && ($v_header_list[$v_nb_extracted]['stored_filename'].'/' == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "The entry is the searched directory"); + $v_found = true; + } + } + // ----- Look for a filename + elseif ($v_header_list[$v_nb_extracted]['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "The file is the right one."); + $v_found = true; + } + } + } + + // ----- Look for extract by ereg rule + else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) + && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract by ereg '".$p_options[PCLZIP_OPT_BY_EREG]."'"); + + if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Filename match the regular expression"); + $v_found = true; + } + } + + // ----- Look for extract by preg rule + else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) + && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract with rule 'ByEreg'"); + + if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Filename match the regular expression"); + $v_found = true; + } + } + + // ----- Look for extract by index rule + else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) + && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Extract with rule 'ByIndex'"); + + // ----- Look if the index is in the list + for ($j=$j_start; ($j=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Found as part of an index range"); + $v_found = true; + } + if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Do not look this index range for next loop"); + $j_start = $j+1; + } + + if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Index range is greater than index, stop loop"); + break; + } + } + } + + // ----- Look for deletion + if ($v_found) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File '".$v_header_list[$v_nb_extracted]['stored_filename']."', index '$i' need to be deleted"); + unset($v_header_list[$v_nb_extracted]); + } + else + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File '".$v_header_list[$v_nb_extracted]['stored_filename']."', index '$i' will not be deleted"); + $v_nb_extracted++; + } + } + + // ----- Look if something need to be deleted + if ($v_nb_extracted > 0) { + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Creates a temporary zip archive + $v_temp_zip = new PclZip($v_zip_temp_name); + + // ----- Open the temporary zip file in write mode + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary write mode"); + if (($v_result = $v_temp_zip->privOpenFd('wb')) != 1) { + $this->privCloseFd(); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look which file need to be kept + for ($i=0; $izip_fd)."'"); + @rewind($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position after rewind : ".ftell($this->zip_fd)."'"); + if (@fseek($this->zip_fd, $v_header_list[$i]['offset'])) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position after fseek : ".ftell($this->zip_fd)."'"); + + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header_list[$i])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Write the file header + if (($v_result = $v_temp_zip->privWriteFileHeader($v_header_list[$i])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Offset for this file is '".$v_header_list[$i]['offset']."'"); + + // ----- Read/write the data block + if (($v_result = PclZipUtilCopyBlock($this->zip_fd, $v_temp_zip->zip_fd, $v_header_list[$i]['compressed_size'])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($v_temp_zip->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "New offset of central dir : $v_offset"); + + // ----- Re-Create the Central Dir files header + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Creates the new central directory"); + for ($i=0; $iprivWriteCentralFileHeader($v_header_list[$i])) != 1) { + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Transform the header to a 'usable' info + $v_temp_zip->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Creates the central directory footer"); + + // ----- Zip file comment + $v_comment = ''; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($v_temp_zip->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $v_temp_zip->privWriteCentralHeader(sizeof($v_header_list), $v_size, $v_offset, $v_comment)) != 1) { + // ----- Reset the file list + unset($v_header_list); + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Close + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Destroy the temporary archive + unset($v_temp_zip); + } + + // ----- Remove every files : reset the file + else if ($v_central_dir['entries'] != 0) { + $this->privCloseFd(); + + if (($v_result = $this->privOpenFd('wb')) != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + if (($v_result = $this->privWriteCentralHeader(0, 0, 0, '')) != 1) { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + $this->privCloseFd(); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDirCheck() + // Description : + // Check if a directory exists, if not it creates it and all the parents directory + // which may be useful. + // Parameters : + // $p_dir : Directory path to check. + // Return Values : + // 1 : OK + // -1 : Unable to create directory + // -------------------------------------------------------------------------------- + function privDirCheck($p_dir, $p_is_dir=false) + { + $v_result = 1; + + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDirCheck", "entry='$p_dir', is_dir='".($p_is_dir?"true":"false")."'"); + + // ----- Remove the final '/' + if (($p_is_dir) && (substr($p_dir, -1)=='/')) + { + $p_dir = substr($p_dir, 0, strlen($p_dir)-1); + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Looking for entry '$p_dir'"); + + // ----- Check the directory availability + if ((is_dir($p_dir)) || ($p_dir == "")) + { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, "'$p_dir' is a directory"); + return 1; + } + + // ----- Extract parent directory + $p_parent_dir = dirname($p_dir); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Parent directory is '$p_parent_dir'"); + + // ----- Just a check + if ($p_parent_dir != $p_dir) + { + // ----- Look for parent directory + if ($p_parent_dir != "") + { + if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) + { + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + } + } + + // ----- Create the directory + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Create directory '$p_dir'"); + if (!@mkdir($p_dir, 0777)) + { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '$p_dir'"); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result, "Directory '$p_dir' created"); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privMerge() + // Description : + // If $p_archive_to_add does not exist, the function exit with a success result. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privMerge(&$p_archive_to_add) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privMerge", "archive='".$p_archive_to_add->zipname."'"); + $v_result=1; + + // ----- Look if the archive_to_add exists + if (!is_file($p_archive_to_add->zipname)) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Archive to add does not exist. End of merge."); + + // ----- Nothing to merge, so merge is a success + $v_result = 1; + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Look if the archive exists + if (!is_file($this->zipname)) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Archive does not exist, duplicate the archive_to_add."); + + // ----- Do a duplicate + $v_result = $this->privDuplicate($p_archive_to_add->zipname); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Open the zip file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_result=$this->privOpenFd('rb')) != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + { + $this->privCloseFd(); + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Go to beginning of File + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position in zip : ".ftell($this->zip_fd)."'"); + @rewind($this->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position in zip : ".ftell($this->zip_fd)."'"); + + // ----- Open the archive_to_add file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open archive_to_add in binary read mode"); + if (($v_result=$p_archive_to_add->privOpenFd('rb')) != 1) + { + $this->privCloseFd(); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir_to_add = array(); + if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Go to beginning of File + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position in archive_to_add : ".ftell($p_archive_to_add->zip_fd)."'"); + @rewind($p_archive_to_add->zip_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Position in archive_to_add : ".ftell($p_archive_to_add->zip_fd)."'"); + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Open the temporary file in write mode + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = $v_central_dir['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Copy the files from the archive_to_add into the temporary file + $v_size = $v_central_dir_to_add['offset']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($v_zip_temp_fd); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "New offset of central dir : $v_offset"); + + // ----- Copy the block of file headers from the old archive + $v_size = $v_central_dir['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = @fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Copy the block of file headers from the archive_to_add + $v_size = $v_central_dir_to_add['size']; + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Merge the file comments + $v_comment = $v_central_dir['comment'].' '.$v_central_dir_to_add['comment']; + + // ----- Calculate the size of the (new) central header + $v_size = @ftell($v_zip_temp_fd)-$v_offset; + + // ----- Swap the file descriptor + // Here is a trick : I swap the temporary fd with the zip fd, in order to use + // the following methods on the temporary fil and not the real archive fd + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_central_dir['entries']+$v_central_dir_to_add['entries'], $v_size, $v_offset, $v_comment)) != 1) + { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + @fclose($v_zip_temp_fd); + $this->zip_fd = null; + + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Swap back the file descriptor + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Close + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privDuplicate() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function privDuplicate($p_archive_filename) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDuplicate", "archive_filename='$p_archive_filename'"); + $v_result=1; + + // ----- Look if the $p_archive_filename exists + if (!is_file($p_archive_filename)) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Archive to duplicate does not exist. End of duplicate."); + + // ----- Nothing to duplicate, so duplicate is a success. + $v_result = 1; + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Open the zip file + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_result=$this->privOpenFd('wb')) != 1) + { + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + + // ----- Open the temporary file in write mode + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Open file in binary read mode"); + if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0) + { + $this->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \''.$p_archive_filename.'\' in binary write mode'); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo()); + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = filesize($p_archive_filename); + while ($v_size != 0) + { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Read $v_read_size bytes"); + $v_buffer = fread($v_zip_temp_fd, $v_read_size); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close + $this->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privErrorLog() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privErrorLog($p_error_code=0, $p_error_string='') + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + PclError($p_error_code, $p_error_string); + } + else { + $this->error_code = $p_error_code; + $this->error_string = $p_error_string; + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privErrorReset() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + function privErrorReset() + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + PclErrorReset(); + } + else { + $this->error_code = 1; + $this->error_string = ''; + } + } + // -------------------------------------------------------------------------------- + + } + // End of class + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilPathReduction() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + function PclZipUtilPathReduction($p_dir) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilPathReduction", "dir='$p_dir'"); + $v_result = ""; + + // ----- Look for not empty path + if ($p_dir != "") + { + // ----- Explode path by directory names + $v_list = explode("/", $p_dir); + + // ----- Study directories from last to first + for ($i=sizeof($v_list)-1; $i>=0; $i--) + { + // ----- Look for current path + if ($v_list[$i] == ".") + { + // ----- Ignore this directory + // Should be the first $i=0, but no check is done + } + else if ($v_list[$i] == "..") + { + // ----- Ignore it and ignore the $i-1 + $i--; + } + else if (($v_list[$i] == "") && ($i!=(sizeof($v_list)-1)) && ($i!=0)) + { + // ----- Ignore only the double '//' in path, + // but not the first and last '/' + } + else + { + $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:""); + } + } + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilPathInclusion() + // Description : + // This function indicates if the path $p_path is under the $p_dir tree. Or, + // said in an other way, if the file or sub-dir $p_path is inside the dir + // $p_dir. + // The function indicates also if the path is exactly the same as the dir. + // This function supports path with duplicated '/' like '//', but does not + // support '.' or '..' statements. + // Parameters : + // Return Values : + // 0 if $p_path is not inside directory $p_dir + // 1 if $p_path is inside directory $p_dir + // 2 if $p_path is exactly the same as $p_dir + // -------------------------------------------------------------------------------- + function PclZipUtilPathInclusion($p_dir, $p_path) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilPathInclusion", "dir='$p_dir', path='$p_path'"); + $v_result = 1; + + // ----- Explode dir and path by directory separator + $v_list_dir = explode("/", $p_dir); + $v_list_dir_size = sizeof($v_list_dir); + $v_list_path = explode("/", $p_path); + $v_list_path_size = sizeof($v_list_path); + + // ----- Study directories paths + $i = 0; + $j = 0; + while (($i < $v_list_dir_size) && ($j < $v_list_path_size) && ($v_result)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Working on dir($i)='".$v_list_dir[$i]."' and path($j)='".$v_list_path[$j]."'"); + + // ----- Look for empty dir (path reduction) + if ($v_list_dir[$i] == '') { + $i++; + continue; + } + if ($v_list_path[$j] == '') { + $j++; + continue; + } + + // ----- Compare the items + if (($v_list_dir[$i] != $v_list_path[$j]) && ($v_list_dir[$i] != '') && ( $v_list_path[$j] != '')) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Items ($i,$j) are different"); + $v_result = 0; + } + + // ----- Next items + $i++; + $j++; + } + + // ----- Look if everything seems to be the same + if ($v_result) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Look for tie break"); + // ----- Skip all the empty items + while (($j < $v_list_path_size) && ($v_list_path[$j] == '')) $j++; + while (($i < $v_list_dir_size) && ($v_list_dir[$i] == '')) $i++; + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Looking on dir($i)='".($i < $v_list_dir_size?$v_list_dir[$i]:'')."' and path($j)='".($j < $v_list_path_size?$v_list_path[$j]:'')."'"); + + if (($i >= $v_list_dir_size) && ($j >= $v_list_path_size)) { + // ----- There are exactly the same + $v_result = 2; + } + else if ($i < $v_list_dir_size) { + // ----- The path is shorter than the dir + $v_result = 0; + } + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilCopyBlock() + // Description : + // Parameters : + // $p_mode : read/write compression mode + // 0 : src & dest normal + // 1 : src gzip, dest normal + // 2 : src normal, dest gzip + // 3 : src & dest gzip + // Return Values : + // -------------------------------------------------------------------------------- + function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode=0) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilCopyBlock", "size=$p_size, mode=$p_mode"); + $v_result = 1; + + if ($p_mode==0) + { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Src offset before read :".(@ftell($p_src))); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Dest offset before write :".(@ftell($p_dest))); + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = @fread($p_src, $v_read_size); + @fwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Src offset after read :".(@ftell($p_src))); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Dest offset after write :".(@ftell($p_dest))); + } + else if ($p_mode==1) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = @gzread($p_src, $v_read_size); + @fwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + else if ($p_mode==2) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = @fread($p_src, $v_read_size); + @gzwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + else if ($p_mode==3) + { + while ($p_size != 0) + { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, "Read $v_read_size bytes"); + $v_buffer = @gzread($p_src, $v_read_size); + @gzwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilRename() + // Description : + // This function tries to do a simple rename() function. If it fails, it + // tries to copy the $p_src file in a new $p_dest file and then unlink the + // first one. + // Parameters : + // $p_src : Old filename + // $p_dest : New filename + // Return Values : + // 1 on success, 0 on failure. + // -------------------------------------------------------------------------------- + function PclZipUtilRename($p_src, $p_dest) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilRename", "source=$p_src, destination=$p_dest"); + $v_result = 1; + + // ----- Try to rename the files + if (!@rename($p_src, $p_dest)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Fail to rename file, try copy+unlink"); + + // ----- Try to copy & unlink the src + if (!@copy($p_src, $p_dest)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Fail to copy file"); + $v_result = 0; + } + else if (!@unlink($p_src)) { + //--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Fail to unlink old filename"); + $v_result = 0; + } + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilOptionText() + // Description : + // Translate option value in text. Mainly for debug purpose. + // Parameters : + // $p_option : the option value. + // Return Values : + // The option text value. + // -------------------------------------------------------------------------------- + function PclZipUtilOptionText($p_option) + { + //--(MAGIC-PclTrace)--//PclTraceFctStart(__FILE__, __LINE__, "PclZipUtilOptionText", "option='".$p_option."'"); + + switch ($p_option) { + case PCLZIP_OPT_PATH : + $v_result = 'PCLZIP_OPT_PATH'; + break; + case PCLZIP_OPT_ADD_PATH : + $v_result = 'PCLZIP_OPT_ADD_PATH'; + break; + case PCLZIP_OPT_REMOVE_PATH : + $v_result = 'PCLZIP_OPT_REMOVE_PATH'; + break; + case PCLZIP_OPT_REMOVE_ALL_PATH : + $v_result = 'PCLZIP_OPT_REMOVE_ALL_PATH'; + break; + case PCLZIP_OPT_EXTRACT_AS_STRING : + $v_result = 'PCLZIP_OPT_EXTRACT_AS_STRING'; + break; + case PCLZIP_OPT_SET_CHMOD : + $v_result = 'PCLZIP_OPT_SET_CHMOD'; + break; + case PCLZIP_OPT_BY_NAME : + $v_result = 'PCLZIP_OPT_BY_NAME'; + break; + case PCLZIP_OPT_BY_INDEX : + $v_result = 'PCLZIP_OPT_BY_INDEX'; + break; + case PCLZIP_OPT_BY_EREG : + $v_result = 'PCLZIP_OPT_BY_EREG'; + break; + case PCLZIP_OPT_BY_PREG : + $v_result = 'PCLZIP_OPT_BY_PREG'; + break; + + + case PCLZIP_CB_PRE_EXTRACT : + $v_result = 'PCLZIP_CB_PRE_EXTRACT'; + break; + case PCLZIP_CB_POST_EXTRACT : + $v_result = 'PCLZIP_CB_POST_EXTRACT'; + break; + case PCLZIP_CB_PRE_ADD : + $v_result = 'PCLZIP_CB_PRE_ADD'; + break; + case PCLZIP_CB_POST_ADD : + $v_result = 'PCLZIP_CB_POST_ADD'; + break; + + default : + $v_result = 'Unknown'; + } + + // ----- Return + //--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result); + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : PclZipUtilTranslateWinPath() + // Description : + // Translate windows path by replacing '\' by '/' and optionally removing + // drive letter. + // Parameters : + // $p_path : path to translate. + // $p_remove_disk_letter : true | false + // Return Values : + // The path translated. + // -------------------------------------------------------------------------------- + function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true) + { + if (stristr(php_uname(), 'windows')) { + // ----- Look for potential disk letter + if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) { + $p_path = substr($p_path, $v_position+1); + } + // ----- Change potential windows directory separator + if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) { + $p_path = strtr($p_path, '\\', '/'); + } + } + return $p_path; + } + // -------------------------------------------------------------------------------- + +?> diff -ruN 4.6rc2/uploadfiles/administrator/includes/pcl/zip.lib.php 4.6-complete/uploadfiles/administrator/includes/pcl/zip.lib.php --- 4.6rc2/uploadfiles/administrator/includes/pcl/zip.lib.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/pcl/zip.lib.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,78 @@ + +// +// http://www.zend.com/codex.php?id=470&single=1 +// by Denis125 +// +// A patch from Peter Listiak for last modified +// date and time of the compressed file +// +// Official ZIP file format: http://www.pkware.com/appnote.txt + +// ensure this file is being included by a parent file +defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); + +class zipfile { + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + + function addFile($data, $name, $time = 0) { + $name = str_replace('\\', '/', $name); + + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] . '\x' . $dtime[4] . $dtime[5] . '\x' . $dtime[2] . $dtime[3] . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + + $fr = "\x50\x4b\x03\x04\x14\x00\x00\x00\x08\x00" . $hexdtime; + + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc) . pack('V', $c_len) . pack('V', $unc_len) . pack('v', strlen($name)) . pack('v', 0) . $name . $zdata . pack('V', $crc) . pack('V', $c_len) . pack('V', $unc_len); + + $this -> datasec[] = $fr; + $new_offset = strlen(implode('', $this->datasec)); + + $cdrec = "\x50\x4b\x01\x02\x00\x00\x14\x00\x00\x00\x08\x00" . $hexdtime . pack('V', $crc) . pack('V', $c_len) . pack('V', $unc_len) . pack('v', strlen($name)) . pack('v', 0) . pack('v', 0) . pack('v', 0) . pack('v', 0) . pack('V', 32) . pack('V', $this -> old_offset ); + $this -> old_offset = $new_offset; + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + + function file() { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return $data . $ctrldir . $this -> eof_ctrl_dir . pack('v', sizeof($this -> ctrl_dir)) . pack('v', sizeof($this -> ctrl_dir)) . pack('V', strlen($ctrldir)) . pack('V', strlen($data)) . "\x00\x00"; + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/includes/toolbar.html.php 4.6-complete/uploadfiles/administrator/includes/toolbar.html.php --- 4.6rc2/uploadfiles/administrator/includes/toolbar.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/includes/toolbar.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,27 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/index.php 4.6-complete/uploadfiles/administrator/index.php --- 4.6rc2/uploadfiles/administrator/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/index.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,16 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/index2.php 4.6-complete/uploadfiles/administrator/index2.php --- 4.6rc2/uploadfiles/administrator/index2.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/index2.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,17 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/index3.php 4.6-complete/uploadfiles/administrator/index3.php --- 4.6rc2/uploadfiles/administrator/index3.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/index3.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,15 @@ + diff -ruN 4.6rc2/uploadfiles/administrator/logout.php 4.6-complete/uploadfiles/administrator/logout.php --- 4.6rc2/uploadfiles/administrator/logout.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/logout.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,61 @@ +setQuery( "UPDATE #__users SET lastvisitDate='$currentDate' WHERE id='" . $_SESSION['session_user_id'] . "'"); + + if (!$database->query()) { + echo $database->stderr(); + } +} + +if (isset($_SESSION['session_id']) && $_SESSION['session_id']!="") { + $database->setQuery( "DELETE FROM #__session WHERE session_id='" . $_SESSION['session_id'] . "'"); + + if (!$database->query()) { + echo $database->stderr(); + } +} + +$name = ""; +$fullname = ""; +$id = ""; +$session_id = ""; + +session_unregister( "session_id" ); +session_unregister( "session_user_id" ); +session_unregister( "session_username" ); +session_unregister( "session_usertype" ); +session_unregister( "session_logintime" ); + +if (session_is_registered( "session_id" )) { + session_destroy(); +} +if (session_is_registered( "session_user_id" )) { + session_destroy(); +} +if (session_is_registered( "session_username" )) { + session_destroy(); +} +if (session_is_registered( "session_usertype" )) { + session_destroy(); +} +if (session_is_registered( "session_logintime" )) { + session_destroy(); +} +$configuration =& mamboCore::getMamboCore(); +$configuration->redirect( "../index.php" ); +?> diff -ruN 4.6rc2/uploadfiles/administrator/modules/index.html 4.6-complete/uploadfiles/administrator/modules/index.html --- 4.6rc2/uploadfiles/administrator/modules/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_components.php 4.6-complete/uploadfiles/administrator/modules/mod_components.php --- 4.6rc2/uploadfiles/administrator/modules/mod_components.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_components.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,88 @@ +acl_check( 'administration', 'config', 'users', $my->usertype ); + +$manageTemplates = $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_templates' ); +$manageLanguages = $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_languages' ); +$installModules = $acl->acl_check( 'administration', 'install', 'users', $my->usertype, 'modules', 'all' ); +$editAllModules = $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'modules', 'all' ); +$installComponents = $acl->acl_check( 'administration', 'install', 'users', $my->usertype, 'components', 'all' ); +$editAllComponents = $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ); +$canMassMail = $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_massmail' ); +$canManageUsers = $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ); + +$query = "SELECT * FROM #__components ORDER BY ordering,name"; +$database->setQuery( $query ); +$comps = $database->loadObjectList(); // component list + +$subs = array(); // sub menus + +// first pass to collect sub-menu items +foreach ($comps as $row) { + if ($row->parent) { + if (!array_key_exists( $row->parent, $subs )) { + $subs[$row->parent] = array(); + } // if + $subs[$row->parent][] = $row; + } // if +} // foreach + +echo '
      '; + +$topLevelLimit = 100; +$i = 0; +foreach ($comps as $row) { + + if ( $editAllComponents | $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', $row->option ) ) { + + if ($row->parent == 0 && (trim( $row->admin_menu_link ) || array_key_exists( $row->id, $subs ))) { + + if ($i >= $topLevelLimit) { + if ($i == $topLevelLimit) { + + echo "Error!
      "; + $i = 1000; + } // if + } else { + if ($i < $topLevelLimit ) { + $i++; + $name = htmlspecialchars( $row->name, ENT_QUOTES ); + // $alt = htmlspecialchars( $row->admin_menu_alt, ENT_QUOTES ); + if ($row->admin_menu_link) { + echo "\n".''.$name.'
      '; + } else { + echo "\n".''.$name.'
      '; + } // if else + if (array_key_exists( $row->id, $subs )) { + foreach ($subs[$row->id] as $sub) {//print_r($row); + $name = htmlspecialchars( $sub->name ); + // $alt = htmlspecialchars( $sub->admin_menu_alt ); + // $link = $sub->admin_menu_link ? "" : "null"; + // $img = $sub->admin_menu_img ? "admin_menu_img\" />" : ''; + if ($sub->admin_menu_link) { + echo "\n".'  - '.$name.'
      '; + } else { + echo "\n".'- '.$name.'
      '; + } // if else + } // foreach + } // if + } // if + } // if else + } // if + } // if +} // foreach +echo "\n".'
      '; +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_fullmenu.php 4.6-complete/uploadfiles/administrator/modules/mod_fullmenu.php --- 4.6rc2/uploadfiles/administrator/modules/mod_fullmenu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_fullmenu.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,323 @@ +acl_check( 'administration', 'config', 'users', $usertype ); + + $manageTemplates = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_templates' ); + $manageTrash = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_trash' ); + $manageMenuMan = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_menumanager' ); + $manageLanguages = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_languages' ); + $installModules = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'modules', 'all' ); + $editAllModules = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'modules', 'all' ); + $installMambots = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'mambots', 'all' ); + $editAllMambots = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'mambots', 'all' ); + $installComponents = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'components', 'all' ); + $editAllComponents = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', 'all' ); + $canMassMail = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_massmail' ); + $canManageUsers = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_users' ); + + $query = "SELECT a.id, a.title, a.name," + . "\nCOUNT(DISTINCT c.id) AS numcat, COUNT(DISTINCT b.id) AS numarc" + . "\n FROM #__sections AS a" + . "\n LEFT JOIN #__categories AS c ON c.section=a.id" + . "\n LEFT JOIN #__content AS b ON b.sectionid=a.id AND b.state=-1" + . "\n WHERE a.scope='content'" + . "\n GROUP BY a.id" + . "\n ORDER BY a.ordering" + ; + $database->setQuery( $query ); + $sections = $database->loadObjectList(); + $nonemptySections = 0; + if ($sections) foreach ($sections as $section) + if ($section->numcat > 0) + $nonemptySections++; + $menuTypes = mosAdminMenus::menutypes(); +?> +
      + +usertype ); +//$cache->call( 'mosFullAdminMenu::show', $my->usertype ); +?> diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_latest.php 4.6-complete/uploadfiles/administrator/modules/mod_latest.php --- 4.6rc2/uploadfiles/administrator/modules/mod_latest.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_latest.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,80 @@ + '-2'" +. "\n ORDER BY created DESC" +. "\n LIMIT 10" +; +$database->setQuery( $query ); +$rows = $database->loadObjectList(); +?> + + + + + +sectionid == 0 ) { + $link = 'index2.php?option=com_typedcontent&task=edit&hidemainmenu=1&id='. $row->id; + } else { + $link = 'index2.php?option=com_content&task=edit&hidemainmenu=1&id='. $row->id; + } + + if ( $acl->acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $linkA = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->created_by; + $author = ''. htmlspecialchars( $row->name, ENT_QUOTES ) .''; + } + } else { + if ( $row->created_by_alias ) { + $author = $row->created_by_alias; + } else { + $author = htmlspecialchars( $row->name, ENT_QUOTES ); + } + } + ?> + + + + + + + + + + +
      + +
      + + title, ENT_QUOTES);?> + + + created;?> + + +
      Nothing to show
      \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_latest.xml 4.6-complete/uploadfiles/administrator/modules/mod_latest.xml --- 4.6rc2/uploadfiles/administrator/modules/mod_latest.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_latest.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,15 @@ + + + Latest News + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This module shows a list of the most recently published Items that are still current (some may have expired even though they are the most recent). Items that are displayed on the Front Page Component are not included in the list. + + mod_latest.php + + diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_logged.php 4.6-complete/uploadfiles/administrator/modules/mod_logged.php --- 4.6rc2/uploadfiles/administrator/modules/mod_logged.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_logged.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,99 @@ +getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); +$limitstart = $mainframe->getUserStateFromRequest( "view{$option}", 'limitstart', 0 ); + +// hides Administrator or Super Administrator from list depending on usertype +$_and = ''; +if ( $my->gid == 24 ) { + $_and = "\n AND userid != '25'"; +} +if ( $my->gid == 23 ) { + $_and = "\n AND userid != '25'"; + $_and .= "\n AND userid != '24'"; +} + +// get the total number of records +$query = "SELECT COUNT(*)" +. "\n FROM #__session" +. "\n WHERE userid != 0" +. $_and +. "\n ORDER BY usertype, username" +; +$database->setQuery( $query ); +$total = $database->loadResult(); + +// page navigation +$pageNav = new mosPageNav( $total, $limitstart, $limit ); + +$query = "SELECT *" +. "\n FROM #__session" +. "\n WHERE userid != 0" +. $_and +. "\n ORDER BY usertype, username" +. "\n LIMIT $pageNav->limitstart, $pageNav->limit" +; +$database->setQuery( $query ); +$rows = $database->loadObjectList(); +?> + + + + +acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + $link = 'index2.php?option=com_users&task=editA&hidemainmenu=1&id='. $row->userid; + $name = ''. $row->username .''; + } else { + $name = $row->username; + } + ?> + + + + + acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + ?> + + + + +
      + +
      + rowNumber( $i ); ?> + + + + usertype;?> + + + <?php echo T_('Logout') ?> + +
      +getListFooter(); ?> + diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_logged.xml 4.6-complete/uploadfiles/administrator/modules/mod_logged.xml --- 4.6rc2/uploadfiles/administrator/modules/mod_logged.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_logged.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,15 @@ + + + Logged in Users + Mambo Project + January 2005 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This module shows a list of the currently logged in users + + mod_logged.php + + diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_mosmsg.php 4.6-complete/uploadfiles/administrator/modules/mod_mosmsg.php --- 4.6rc2/uploadfiles/administrator/modules/mod_mosmsg.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_mosmsg.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ +$mosmsg"; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_online.php 4.6-complete/uploadfiles/administrator/modules/mod_online.php --- 4.6rc2/uploadfiles/administrator/modules/mod_online.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_online.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,25 @@ + '$session_id'"; + +$database->setQuery($query); +$online_num = intval( $database->loadResult() ); + +echo $online_num . " \"".T_('Users"; +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_pathway.php 4.6-complete/uploadfiles/administrator/modules/mod_pathway.php --- 4.6rc2/uploadfiles/administrator/modules/mod_pathway.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_pathway.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,41 @@ +'; + $html .= ''; + $html .= '' . $mosConfig_sitename . ''; + $html .= ""; + + if ($option != '') { + $html .= " / "; + // try to miss edit functions + if ($task != '' && !eregi( 'edit', $task )) { + $html .= "$option"; + } else { + $html .= $option; + } + } + + if ($task != '') { + $html .= " / $task"; + } + $html .= ''; + echo $html; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_popular.php 4.6-complete/uploadfiles/administrator/modules/mod_popular.php --- 4.6rc2/uploadfiles/administrator/modules/mod_popular.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_popular.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,70 @@ + '-2'" +. "\n ORDER BY hits DESC" +. "\n LIMIT 10" +; +$database->setQuery( $query ); +$rows = $database->loadObjectList(); +?> + + + + + + + +sectionid == 0 ) { + $link = 'index2.php?option=com_typedcontent&task=edit&hidemainmenu=1&id='. $row->id; + } else { + $link = 'index2.php?option=com_content&task=edit&hidemainmenu=1&id='. $row->id; + } + ?> + + + + + + + + + + +
      + + + + + +
      + + title, ENT_QUOTES);?> + + + created;?> + + hits;?> +
      Nothing to show
      \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_popular.xml 4.6-complete/uploadfiles/administrator/modules/mod_popular.xml --- 4.6rc2/uploadfiles/administrator/modules/mod_popular.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_popular.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,15 @@ + + + Popular Items + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This module shows a list of the popular published Items that are still current (some may have expired even though they are the most recent). Items that are displayed on the Front Page Component are not included in the list. + + mod_popular.php + + diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_quickicon.php 4.6-complete/uploadfiles/administrator/modules/mod_quickicon.php --- 4.6rc2/uploadfiles/administrator/modules/mod_quickicon.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_quickicon.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + +
      +
      + + +
      +
      +
      +
       
      +
      +
      + + +
      +
      + + +
      +
      + +
      +
      + + +
      +
      + acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_menumanager' ) ) { + ?> + + +
      +
      +
      + acl_check( 'administration', 'manage', 'users', $my->usertype, 'components', 'com_users' ) ) { + ?> + + +
      +
      +
      + acl_check( 'administration', 'config', 'users', $my->usertype ) ) { + ?> + + +
      +
      +
      + + +
      +
      + + +
      +
      + + +
      +
       
      diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_stats.php 4.6-complete/uploadfiles/administrator/modules/mod_stats.php --- 4.6rc2/uploadfiles/administrator/modules/mod_stats.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_stats.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,45 @@ +getMenuTypes(); + +?> + + + + + +$count) { + $link = 'index2.php?option=com_menus&menutype='. $type; + ?> + + + + + +
      + + + +
      + + + + + +
      diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_stats.xml 4.6-complete/uploadfiles/administrator/modules/mod_stats.xml --- 4.6rc2/uploadfiles/administrator/modules/mod_stats.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_stats.xml 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,15 @@ + + + Popular Items + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This module shows stats of Items that are still current (some may have expired even though they are the most recent). Items that are displayed on the Front Page Component are not included in the list. + + mod_stats.php + + diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_toolbar.php 4.6-complete/uploadfiles/administrator/modules/mod_toolbar.php --- 4.6rc2/uploadfiles/administrator/modules/mod_toolbar.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_toolbar.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,20 @@ +getPath( "toolbar" )) { + include_once( $path ); +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/modules/mod_unread.php 4.6-complete/uploadfiles/administrator/modules/mod_unread.php --- 4.6rc2/uploadfiles/administrator/modules/mod_unread.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/modules/mod_unread.php 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,23 @@ +setQuery( "SELECT COUNT(*) FROM #__messages WHERE state='0' AND user_id_to='$my->id'" ); +$unread = $database->loadResult(); + +if ($unread) { + echo "$unread \"".T_('Mail')."\""; +} else { + echo "$unread \"".T_('Mail')."\""; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/popups/contentwindow.php 4.6-complete/uploadfiles/administrator/popups/contentwindow.php --- 4.6rc2/uploadfiles/administrator/popups/contentwindow.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/popups/contentwindow.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,67 @@ +'; +?> + + + +<?php echo T_('Content Preview') ?> + + + + + + + + + + + + + + + +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/popups/index.html 4.6-complete/uploadfiles/administrator/popups/index.html --- 4.6rc2/uploadfiles/administrator/popups/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/popups/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/popups/index3pop.php 4.6-complete/uploadfiles/administrator/popups/index3pop.php --- 4.6rc2/uploadfiles/administrator/popups/index3pop.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/popups/index3pop.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,34 @@ +"; ?> + + + +<?php echo $mosConfig_sitename; ?> - Administration [Mambo] + + + + + + + + +alert('$mosmsg');"; +} + +// Show list of items to edit or delete or create new +if ($path = $mainframe->getPath( 'admin' )) { + require $path; +} else { + ?> + Mambo Logo 
      + + + + diff -ruN 4.6rc2/uploadfiles/administrator/popups/modulewindow.php 4.6-complete/uploadfiles/administrator/popups/modulewindow.php --- 4.6rc2/uploadfiles/administrator/popups/modulewindow.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/popups/modulewindow.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,55 @@ +'; +?> + + + + <?php echo T_('Module Preview') ?> + + + + + + + + + + + + + + + +
      + + diff -ruN 4.6rc2/uploadfiles/administrator/popups/pollwindow.php 4.6-complete/uploadfiles/administrator/popups/pollwindow.php --- 4.6rc2/uploadfiles/administrator/popups/pollwindow.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/popups/pollwindow.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,96 @@ +setQuery( "SELECT title FROM #__polls WHERE id='$pollid'" ); +$title = $database->loadResult(); + +$database->setQuery( "SELECT text FROM #__poll_data WHERE pollid='$pollid' order by id" ); +$options = $database->loadResultArray(); +?> + + + + <?php echo T_('Poll Preview') ?> + + + + +
      + + + + + "") + {?> + + + + + + + + + + + +
        
      +
      + + + + +$element) $result[$key] = mosGetParam ($arr[$name], $key, $def, $mask); + else { + $result = $arr[$name]; + if (!($mask&_MOS_NOTRIM)) $result = trim($result); + if (!is_numeric( $result)) { + if (!($mask&_MOS_ALLOWHTML)) $result = strip_tags($result); + if (!($mask&_MOS_ALLOWRAW)) { + if (is_numeric($def)) $result = intval($result); + } + } + } + return $result; + } else { + return $def; + } +} +?> diff -ruN 4.6rc2/uploadfiles/administrator/popups/uploadimage.php 4.6-complete/uploadfiles/administrator/popups/uploadimage.php --- 4.6rc2/uploadfiles/administrator/popups/uploadimage.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/popups/uploadimage.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,106 @@ +alert('".T_('Please select an image to upload') ."'); document.location.href='uploadimage.php';"; + } + + $filename = split("\.", $userfile_name); + + if (eregi("[^0-9a-zA-Z_]", $filename[0])) { + echo "\n"; + exit(); + } + + if (file_exists($base_Dir.$userfile_name)) { + echo "\n"; + exit(); + } + + if ((strcasecmp(substr($userfile_name,-4),".gif")) && (strcasecmp(substr($userfile_name,-4),".jpg")) && (strcasecmp(substr($userfile_name,-4),".png")) && (strcasecmp(substr($userfile_name,-4),".bmp")) &&(strcasecmp(substr($userfile_name,-4),".doc")) && (strcasecmp(substr($userfile_name,-4),".xls")) && (strcasecmp(substr($userfile_name,-4),".ppt")) && (strcasecmp(substr($userfile_name,-4),".swf")) && (strcasecmp(substr($userfile_name,-4),".pdf"))) { + echo "\n"; + exit(); + } + + + if (eregi(".pdf", $userfile_name) || eregi(".doc", $userfile_name) || eregi(".xls", $userfile_name) || eregi(".ppt", $userfile_name)) { + if (!move_uploaded_file ($_FILES['userfile']['tmp_name'],$media_path.$_FILES['userfile']['name']) || !mosChmod($media_path.$_FILES['userfile']['name'])) { + echo "\n"; + exit(); + } + else { + echo "\n"; + exit(); + } + } elseif (!move_uploaded_file ($_FILES['userfile']['tmp_name'],$base_Dir.$_FILES['userfile']['name']) || !mosChmod($base_Dir.$_FILES['userfile']['name'])) { + echo "\n"; + exit(); + } + else { + echo "\n"; + exit(); + } + + +} + +$iso = split( '=', _ISO ); +// xml prolog +echo ''; +?> + + + +Upload a file + + + + + + + + + + + + + + + + + + +
      + +
      + + = +
      + +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/index.html 4.6-complete/uploadfiles/administrator/templates/index.html --- 4.6rc2/uploadfiles/administrator/templates/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin/cpanel.php 4.6-complete/uploadfiles/administrator/templates/mambo_admin/cpanel.php --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin/cpanel.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin/cpanel.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,28 @@ + + + + + + +
      + + +
      +
      + +
      +
      +
      \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin/css/admin_login.css 4.6-complete/uploadfiles/administrator/templates/mambo_admin/css/admin_login.css --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin/css/admin_login.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin/css/admin_login.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,133 @@ +/** +* @package Mambo Open Source +* @copyright (C) 2005 - 2006 Mambo Foundation Inc. +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure +* that Mambo remained free Open Source software owned and managed by the community. +* Mambo is Free Software +*/ + +body { + margin: 0px; + padding: 0px; + color : #333; + background-color : #FFF; + font-size : 11px; + font-family : Arial, Helvetica, sans-serif; +} + +#wrapper { + border: 0px; + margin: 0px; + margin-left: auto; + margin-right: auto; + padding: 0px; +} + +#header { + background-color: #FFF; + background-position: right top; + border-bottom: 4px solid #FF9900; +} + +#mambo { + position: relative; + width: 100%; + background: url(../images/header.png) #FFF no-repeat; + background-position: top right; + margin: 0px; + padding: 0px; +} + +#break { + height: 50px; +} + +form { + margin: 0px; +} + + + +.button { + border : solid 1px #cccccc; + background: #E9ECEF; + color : #666666; + font-weight : bold; + font-size : 11px; + padding: 4px; +} + +.login { + margin-left: auto; + margin-right: auto; + margin-top: 6em; + padding: 15px; + border: 1px solid #cccccc; + width: 429px; + background: #F1F3F5; +} + +.login h1 { + background: url(../images/login_header.png) no-repeat; + background-position: left top; + color: #333; + margin: 0px; + height: 50px; + padding: 15px 4px 0 50px; + text-align: left; + font-size: 1.5em; +} + +.login p { + padding: 0 1em 0 1em; + } + +.form-block { + border: 1px solid #cccccc; + background: #E9ECEF; + padding-top: 15px; + padding-left: 10px; + padding-bottom: 10px; + padding-right: 10px; +} + +.login-form { + text-align: left; + float: right; + width: 60%; +} + +.login-text { + text-align: left; + width: 40%; + float: left; +} + +.inputlabel { + font-weight: bold; + text-align: left; + } + +.inputbox { + width: 150px; + margin: 0 0 1em 0; + border: 1px solid #cccccc; + } + +.clr { + clear:both; + } + +.ctr { + text-align: center; +} + +.version { + font-size: 0.8em; +} + +.footer { + +} diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin/css/template_css.css 4.6-complete/uploadfiles/administrator/templates/mambo_admin/css/template_css.css --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin/css/template_css.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,372 @@ +/** +* @package Mambo Open Source +* @copyright (C) 2005 - 2006 Mambo Foundation Inc. +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure +* that Mambo remained free Open Source software owned and managed by the community. +* Mambo is Free Software +*/ + +#mambover { + position:absolute; + top:0; + right:0; + text-align:right; + color:#FFFFFF; + z-index:100; + padding:5px; + font-size : 11px; +} + +BODY { + margin: 0px 0px 0px 0px; + color : #333; + background-color: #FFF; + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; +} +a { + color: #00008B; + text-decoration: none; +} +a:hover { + color : #808080; + text-decoration : underline; +} +a:active { + color : #FF9900; + text-decoration : underline; +} +a.toolbar { + color : #808080; + text-decoration : none; +} +a.toolbar:hover { + color : #FF9900; +} +a.toolbar:active { + color : #FF9900; +} +.pagenav { + font-size : 10px; +} +a.pagenav { + color : #808080; + font-size : 10px; + text-decoration : underline; +} +a.pagenav:hover { + color : #FFF; + font-size : 10px; +} +a.pagenav:active { + color : #333; + font-size : 10px; +} +.sectionname { + color : #FF9900; + font-family : Arial, Helvetica, sans-serif; + font-size : 18px; + font-weight: bold; +} +.button { + border-top : solid 1px #d5d5d5; + border-right : solid 1px #808080; + border-bottom : solid 1px #808080; + border-left : solid 1px #d5d5d5; + color : #333; + font-weight : bold; +} +.inputbox { + color: blue; + background: #FDF5E6; + font-family: Courier, Helvetica, sans-serif; + z-index: -3; + font-size: 11px; +} +.text_area { + border : 1px solid #999; + color: blue; + background: #FDF5E6; + font-family: Courier, Helvetica, sans-serif; + z-index: -3; + font-size: 11px +} +INPUT, TEXTAREA, SELECT { + color : blue; + z-index : -3; + font-size: 11px; +} +.small { + color : #FF9900; + font-family : Arial, Helvetica, sans-serif; + font-size : 10px; + text-decoration : none; +} +.smallgrey { + color : #999; + font-size : 10px; +} +.error { + color : #C40000; + font-size : 11px; + font-weight : bold; +} +.contentheading, .componentheading, .moduleheading { + font-size: 14px; + font-weight: bold; +} +table.menubar { + width: 100%; +} +td { + font-size: 11px; +} +/* header block */ +table.adminheading { + background-color: #FFF; + font-family : Arial, Helvetica, sans-serif; + margin: 0px; + padding: 0px; + border: 0px; + width: 100%; + border-collapse: collapse; + color: #FF9E31; + font-size : 18px; + font-weight: bold; + text-align: left; +} +table.adminheading th { + width: 99%; + height: 50px; + padding-left: 50px; + background: url(../../../images/asterisk.png) no-repeat left; +} +table.adminheading th.checkin { + background: url(../../../images/checkin.png) no-repeat left; +} +table.adminheading th.cpanel { + background: url(../../../images/cpanel.png) no-repeat left; +} +table.adminheading th.config { + background: url(../../../images/config.png) no-repeat left; +} +table.adminheading th.modules { + background: url(../../../images/module.png) no-repeat left; +} +table.adminheading th.menus { + background: url(../../../images/menu.png) no-repeat left; +} +table.adminheading th.trash { + background: url(../../../images/trash.png) no-repeat left; +} +table.adminheading th.user { + background: url(../../../images/user.png) no-repeat left; +} +table.adminheading th.inbox { + background: url(../../../images/inbox.png) no-repeat left; +} +table.adminheading td { + color : #000; +} +/* standard list style table */ +table.adminlist { + background-color: #FFF; + margin: 0px; + padding: 0px; + border-width: 0px; + border-spacing: 0px; + width: 100%; + border-collapse: collapse; +} + +table.adminlist th { + margin: 0px; + padding: 4px; + border-bottom: 2px solid #FF9E31; + height: 25px; + /*background: url(../images/background.gif); + background-repeat: repeat;*/ + background-color: #E4E1DC; + font-size: 11px; +} +table.adminlist th.title { + text-align: left; +} +table.adminlist tr.row0 { + background-color: #F5F5F5; +} +table.adminlist tr.row1 { + background-color: #FFF; +} +table.adminlist td { + border-bottom: 1px solid #e5e5e5; + font-size: 11px; + font-weight: normal; + /*text-align: center;*/ + /*border-bottom: 1px solid #ddd;*/ + margin: 0px; + padding: 4px; +} +} +table.adminlist tr.row0:hover { + background-color: #f1f1f1; +} +table.adminlist tr.row1:hover { + background-color: #f1f1f1; +} +table.adminlist td.options { + background-color: #ffffff; + font-size: 8px; +} +select.options, input.options { + font-size: 8px; + font-weight: normal; + border: 1px solid #999999; +} +/* standard form style table */ +table.adminform { + background-color: #f5f5f5; + border: solid 1px #d5d5d5; + width: 99%; + padding: 5px; + margin: 0px; +} +table.adminform tr.row0 { + background-color: #f5f5f5; +} +table.adminform tr.row1 { + background-color: #eeeeee; +} +table.adminform th { + margin: 0px; + padding: 4px; + border-bottom: 2px solid #FF9E31; + height: 25px; + /*background: url(../images/background.gif); + background-repeat: repeat;*/ + background-color: #E4E1DC; + font-size: 11px; +} +table.adminform td { + /*padding: 5px;*/ +} +table.adminform td.editor { + font-size: 9px; +} +form { + margin: 0px 0px 0px 0px; +} +table.paramlist { + padding: 5px; + border: solid 1px #d5d5d5; + width: 50%; +} +table.paramlist td { + padding: 1px; +} +/* Styles for dhtml tabbed-pages */ +.ontab { + font-size: 12px; + background-color: #ffae00; + border-left: outset 2px #ff9900; + border-right: outset 2px #808080; + border-top: outset 2px #ff9900; + border-bottom: solid 1px #d5d5d5; + width: 14%; + text-align: center; + cursor: hand; + font-weight: bold; + color: #FFFFFF; +} +.offtab { + font-size: 12px; + background-color : #e5e5e5; + border-left: outset 2px #E0E0E0; + border-right: outset 2px #E0E0E0; + border-top: outset 2px #E0E0E0; + border-bottom: solid 1px #d5d5d5; + width: 14%; + text-align: center; + cursor: hand; + font-weight: normal; +} +.tabpadding { + /*border-bottom: solid 1px #D5D5D5;*/ +} +.tabheading { + background-color: #FFAE00; + color: #FFF; + font-size: 10px; + text-align: left; +} +.pagetext { + visibility: hidden; + display: none; + position: relative; + top: 0; +} +.menubackgr { + background-color: #E4E1DC; +} +.menuline { + border-bottom: 1px solid #ABABAB; + border-top: 1px solid #FFF; + background-color: #E4E1DC; +} +.menuwhiteline { + border-bottom: 1px solid #FFF; +} +.pathway { + border: 1px inset; + background-color: #FFF; + padding: 2px; + width: 95%; + margin: 3px; +} +.adminheader { + color : #FF9900; + font-size : 24px; +} +/* Text passed with mosmsg url parameter */ +.message { + font-family : "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: bold; + font-size : 14px; + color : #FF9900; + text-align: center; +} +.main { + border: 1px solid #d5d5d5; + width: 98%; +} +.quote { + border: 1px solid #999; + background-color: #E0E0E0; + padding: 5px; + font-family: Arial, Helvetica, sans-serif; + font-size: 11px; + color: blue; +} +#wrapper { + border: 0px; + margin: 0px; + margin-left: auto; + margin-right: auto; + padding: 0px; +} + +#header { + background-color: #FFF; + background-position: right top; + border-bottom: 1px solid #FF9E31; +} +#mambo { + position: relative; + width: 100%; + background: url(../images/header.png) #FFF no-repeat; + background-position: top right; + margin: 0px; + padding: 0px; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin/css/theme.css 4.6-complete/uploadfiles/administrator/templates/mambo_admin/css/theme.css --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin/css/theme.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin/css/theme.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,259 @@ +/* ThemeOfficeMenu Style Sheet */ + +.ThemeOfficeMenu,.ThemeOfficeSubMenuTable +{ + font-family: arial, helvetica, sans-serif; + font-size: 13px; + padding: 0; + white-space: nowrap; + cursor: default; + height: 25px; +} + +.ThemeOfficeSubMenu +{ + position: absolute; + visibility: hidden; + /* + Netscape/Mozilla renders borders by increasing + their z-index. The following line is necessary + to cover any borders underneath + */ + z-index: 100; + border: 0; + padding: 0; + overflow: visible; + border: 1px solid #8C867B; + filter:progid:DXImageTransform.Microsoft.Shadow(color=#BDC3BD, Direction=135, Strength=4); +} + +.ThemeOfficeSubMenuTable +{ + overflow: visible; +} +.ThemeOfficeMainItem,.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive, +.ThemeOfficeMenuItem,.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive +{ + border: 0; + cursor: default; + white-space: nowrap; +} +.ThemeOfficeMainItem +{ + /*background-color: #D6D3CE;*/ +} +.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive +{ + background-color: #ff9900; +} +.ThemeOfficeMenuItem +{ + background-color: #D6D3CE; +} + +.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive +{ + background-color: #FFEAD0; +} + + +/* horizontal main menu */ + +.ThemeOfficeMainItem +{ + padding: 4px 1px 4px 1px; + border: 0; +} + +td.ThemeOfficeMainItemHover,td.ThemeOfficeMainItemActive +{ + padding: 0px; + border-right: 1px solid #808080; + border-bottom: 1px solid #808080; + border-top: 1px solid #FFF; + border-left: 1px solid #FFF; + background-color: #D6D3CE; +} + +.ThemeOfficeMainFolderLeft,.ThemeOfficeMainItemLeft, +.ThemeOfficeMainFolderText,.ThemeOfficeMainItemText, +.ThemeOfficeMainFolderRight,.ThemeOfficeMainItemRight +{ + background-color: inherit; +} + +/* vertical main menu sub components */ + +td.ThemeOfficeMainFolderLeft,td.ThemeOfficeMainItemLeft +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 2px; + border-top: 1px solid #ff9900; + border-bottom: 1px solid #ff9900; + border-left: 1px solid #ff9900; + background-color: inherit; +} + +td.ThemeOfficeMainFolderText,td.ThemeOfficeMainItemText +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 5px; + padding-right: 5px; + border-top: 1px solid #ff9900; + border-bottom: 1px solid #ff9900; + background-color: inherit; + white-space: nowrap; +} +td.ThemeOfficeMainFolderRight,td.ThemeOfficeMainItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + border-top: 1px solid #ff9900; + border-bottom: 1px solid #ff9900; + border-right: 1px solid #ff9900; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderLeft, +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 1px; + padding-right: 2px; + + white-space: nowrap; + + border: 0; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderText, +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 5px; + padding-right: 5px; + + border: 0; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemRight, +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + background-color: inherit; +} + +/* sub menu sub components */ + +.ThemeOfficeMenuFolderLeft,.ThemeOfficeMenuItemLeft +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 1px; + padding-right: 3px; + border-top: 1px solid #ff9900; + border-bottom: 1px solid #ff9900; + border-left: 1px solid #ff9900; + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuFolderText,.ThemeOfficeMenuItemText +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 5px; + padding-right: 5px; + border-top: 1px solid #ff9900; + border-bottom: 1px solid #ff9900; + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuFolderRight,.ThemeOfficeMenuItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + border-top: 1px solid #ff9900; + border-bottom: 1px solid #ff9900; + border-right: 1px solid #ff9900; + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderLeft, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 2px; + padding-right: 3px; + white-space: nowrap; + border: 0; + background-color: #E4E1DC; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderText, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 5px; + padding-right: 5px; + border: 0; + background-color: inherit; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderRight, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + border: 0; + background-color: inherit; +} + +/* menu splits */ + +.ThemeOfficeMenuSplit +{ + margin: 2px; + height: 2px; + overflow: hidden; + background-color: inherit; + border-top: 1px solid #999; + border-bottom: 1px solid FFF; +} +.ThemeOfficeMenuItem img.seq1 +{ + display: inline; +} +.ThemeOfficeMenuItemHover seq2, +.ThemeOfficeMenuItemActive seq2 +{ + display: inline; +} +.ThemeOfficeMenuItem .seq2, +.ThemeOfficeMenuItemHover .seq1, +.ThemeOfficeMenuItemActive .seq1 +{ + display: none; +} Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin/images/background.gif and 4.6-complete/uploadfiles/administrator/templates/mambo_admin/images/background.gif differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin/images/header.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin/images/header.png differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin/images/login.gif and 4.6-complete/uploadfiles/administrator/templates/mambo_admin/images/login.gif differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin/images/login_header.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin/images/login_header.png differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin/images/mambo.gif and 4.6-complete/uploadfiles/administrator/templates/mambo_admin/images/mambo.gif differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin/images/security.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin/images/security.png differ diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin/index.html 4.6-complete/uploadfiles/administrator/templates/mambo_admin/index.html --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin/index.php 4.6-complete/uploadfiles/administrator/templates/mambo_admin/index.php --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin/index.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,111 @@ +'; +?> + + + +<?php echo $mosConfig_sitename; ?> - Administration [Mambo] + + + + + + + + +\r\n"; +?> + + + +
      +RELEASE.'.'. $_VERSION->DEV_LEVEL; ?> +
      +
      + +
      + + + + + + + + + + + + + + + + +
      + +
      +
      + + + + +
      + getPath( 'admin' )) { + require $path; + } else { + echo "\"Mambo\r\n
      \r\n"; + } + ?> +
      +
      +
      + + +
      "); +$tend = mosProfiler::getmicrotime(); +$totaltime = ($tend - $tstart); +printf ("Page was generated in %f seconds", $totaltime); +echo (""); + ?> +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin/login.php 4.6-complete/uploadfiles/administrator/templates/mambo_admin/login.php --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin/login.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin/login.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,74 @@ + +\r\n"; ?> + + + +<?php echo $mosConfig_sitename; ?> - <?php echo T_('Administration') ?> [Mambo] + + + + + +
      + +
      +
      + + +
      +
      + + + + diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin/templateDetails.xml 4.6-complete/uploadfiles/administrator/templates/mambo_admin/templateDetails.xml --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin/templateDetails.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,15 @@ + + + Mambo Admin + 07/27/04 + Robert Castley + GNU/GPL + core@mambo-foundation.org + http://www.mambo-foundation.org + 4.5.2 + + + index.php + css/template_css.css + + \ No newline at end of file Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin/template_thumbnail.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/cpanel.php 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/cpanel.php --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/cpanel.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/cpanel.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,30 @@ + + + + + + +
      + + +
      +
      + +
      +
      +
      \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/css/admin_login.css 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/css/admin_login.css --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/css/admin_login.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/css/admin_login.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,133 @@ +/** +* @package Mambo Open Source +* @copyright (C) 2005 - 2006 Mambo Foundation Inc. +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure +* that Mambo remained free Open Source software owned and managed by the community. +* Mambo is Free Software +*/ + +body { + margin: 0px; + padding: 0px; + color : #333; + background-color : #FFF; + font-size : 11px; + font-family : Arial, Helvetica, sans-serif; +} + +#wrapper { + border: 0px; + margin: 0px; + margin-left: auto; + margin-right: auto; + padding: 0px; +} + +#header { + background-color: #FFF; + background-position: right top; + border-bottom: 4px solid #80B5D7; +} + +#mambo { + position: relative; + width: 100%; + background: url(../images/header_blue.jpg) #30569D no-repeat; + background-position: top right; + margin: 0px; + padding: 0px; +} + +#break { + height: 50px; +} + +form { + margin: 0px; +} + + + +.button { + border : solid 1px #cccccc; + background: #E9ECEF; + color : #666666; + font-weight : bold; + font-size : 11px; + padding: 4px; +} + +.login { + margin-left: auto; + margin-right: auto; + margin-top: 6em; + padding: 15px; + border: 1px solid #cccccc; + width: 429px; + background: #F1F3F5; +} + +.login h1 { + background: url(../images/login_header.png) no-repeat; + background-position: left top; + color: #333; + margin: 0px; + height: 50px; + padding: 15px 4px 0 50px; + text-align: left; + font-size: 1.5em; +} + +.login p { + padding: 0 1em 0 1em; + } + +.form-block { + border: 1px solid #cccccc; + background: #E9ECEF; + padding-top: 15px; + padding-left: 10px; + padding-bottom: 10px; + padding-right: 10px; +} + +.login-form { + text-align: left; + float: right; + width: 60%; +} + +.login-text { + text-align: left; + width: 40%; + float: left; +} + +.inputlabel { + font-weight: bold; + text-align: left; + } + +.inputbox { + width: 150px; + margin: 0 0 1em 0; + border: 1px solid #cccccc; + } + +.clr { + clear:both; + } + +.ctr { + text-align: center; +} + +.version { + font-size: 0.8em; +} + +.footer { + +} diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/css/template_css.css 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/css/template_css.css --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/css/template_css.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,427 @@ +/** +* @package Mambo Open Source +* @copyright (C) 2005 - 2006 Mambo Foundation Inc. +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure +* that Mambo remained free Open Source software owned and managed by the community. +* Mambo is Free Software +*/ + +#mambover { + position:absolute; + top:0; + right:0; + text-align:right; + color:#FFFFFF; + z-index:100; + padding:5px; + font-size : 11px; +} + +#wrapper { + border: 0px; + margin: 0px; + margin-left: auto; + margin-right: auto; + padding: 0px; +} + +#header { + background-color: #FFF; + background-position: right top; + border-bottom: 4px solid #80B5D7; +} + +#mambo { + position: relative; + width: 100%; + background: url(../images/header_blue.jpg) #30569D no-repeat; + background-position: top right; + margin: 0px; + padding: 0px; +} + +#wrapper1 div { + border: 0px; + margin: 0px; + margin-left: auto; + margin-right: auto; + padding: 0px 5px 0px 5px; + display: inline; +} + +BODY { + margin: 0px 0px 0px 0px; + color : #333; + background-color: #FFF; + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; +} +a { + color: #ff6600; + text-decoration: none; +} +a:hover { + color : #30569D; + text-decoration : underline; +} +a:active { + color : #FF9900; + text-decoration : underline; +} +a.toolbar { + color : #808080; + text-decoration : none; +} +a.toolbar:hover { + color : #FF6600; +} +a.toolbar:active { + color : #FF9900; +} +.pagenav { + font-size : 10px; +} +a.pagenav { + color : #808080; + font-size : 10px; + text-decoration : underline; +} +a.pagenav:hover { + color : #FFF; + font-size : 10px; +} +a.pagenav:active { + color : #333; + font-size : 10px; +} +.sectionname { + color : #FF9900; + font-family : Arial, Helvetica, sans-serif; + font-size : 18px; + font-weight: bold; +} +.button { + border-top : solid 1px #d5d5d5; + border-right : solid 1px #808080; + border-bottom : solid 1px #808080; + border-left : solid 1px #d5d5d5; + color : #333; + font-weight : bold; +} +.inputbox { + color: blue; + background: #E9EFF5; + font-family: Courier, Helvetica, sans-serif; + z-index: -3; + font-size: 11px; +} +.text_area { + border : 1px solid #999; + color: blue; + background: #E9EFF5; + font-family: Courier, Helvetica, sans-serif; + z-index: -3; + font-size: 11px +} +INPUT, TEXTAREA, SELECT { + color : blue; + z-index : -3; + font-size: 11px; +} +.small { + color : #FF9900; + font-family : Arial, Helvetica, sans-serif; + font-size : 10px; + text-decoration : none; +} +.smallgrey { + color : #999; + font-size : 10px; +} +.error { + color : #C40000; + font-size : 11px; + font-weight : bold; +} +.contentheading, .componentheading, .moduleheading { + font-size: 14px; + font-weight: bold; +} +table.menubar { + width: 100%; + +} +td { + font-size: 11px; +} +/* header block */ +table.adminheading { + background-color: #FFF; + font-family : Arial, Helvetica, sans-serif; + margin: 0px; + padding: 0px; + border: 0px; + width: 100%; + border-collapse: collapse; + color: #FF9E31; + font-size : 18px; + font-weight: bold; + text-align: left; +} +table.adminheading th { + width: 99%; + height: 50px; + padding-left: 50px; + background: url(../../../images/asterisk.png) no-repeat left; +} +table.adminheading th.checkin { + background: url(../../../images/checkin.png) no-repeat left; +} +table.adminheading th.cpanel { + background: url(../../../images/cpanel.png) no-repeat left; +} +table.adminheading th.config { + background: url(../../../images/config.png) no-repeat left; +} +table.adminheading th.modules { + background: url(../../../images/module.png) no-repeat left; +} +table.adminheading th.menus { + background: url(../../../images/menu.png) no-repeat left; +} +table.adminheading th.trash { + background: url(../../../images/trash.png) no-repeat left; +} +table.adminheading th.user { + background: url(../../../images/user.png) no-repeat left; +} +table.adminheading th.inbox { + background: url(../../../images/inbox.png) no-repeat left; +} +table.adminheading th.msgconfig { + background: url(../../../images/message_config.png) no-repeat left; +} +table.adminheading th.langmanager { + background: url(../../../images/langmanager.png) no-repeat left; +} +table.adminheading th.mediamanager { + background: url(../../../images/mediamanager.png) no-repeat left; +} +table.adminheading th.impressions { + background: url(../../../images/impressions.png) no-repeat left; +} +table.adminheading th.browser { + background: url(../../../images/browser.png) no-repeat left; +} +table.adminheading th.searchtext { + background: url(../../../images/searchtext.png) no-repeat left; +} +table.adminheading th.templates { + background: url(../../../images/templatemanager.png) no-repeat left; +} +table.adminheading th.massemail { + background: url(../../../images/massemail.png) no-repeat left; +} +table.adminheading th.frontpage { + background: url(../../../images/frontpage.png) no-repeat left; +} +table.adminheading th.sections { + background: url(../../../images/sections.png) no-repeat left; +} +table.adminheading th.edit { + background: url(../../../images/addedit.png) no-repeat left; +} +table.adminheading th.categories { + background: url(../../../images/categories.png) no-repeat left; +} +table.adminheading th.install { + background: url(../../../images/install.png) no-repeat left; +} +table.adminheading th.dbbackup { + background: url(../../../images/backup.png) no-repeat left; +} +table.adminheading th.dbrestore { + background: url(../../../images/dbrestore.png) no-repeat left; +} +table.adminheading th.dbquery { + background: url(../../../images/query.png) no-repeat left; +} +table.adminheading th.info { + background: url(../../../images/systeminfo.png) no-repeat left; +} + +table.adminheading td { + color : #000; +} +/* standard list style table */ +table.adminlist { + background-color: #FFFFFF; + margin: 0px; + padding: 0px; + border: 1px solid #CCCCCC; + border-spacing: 0px; + width: 100%; + border-collapse: collapse; +} + +table.adminlist th { + margin: 0px; + padding: 6px 4px 2px 4px; + height: 25px; + background: url(../images/background.gif); + background-repeat: repeat; + font-size: 11px; + color: #ffffff; +} +table.adminlist th.title { + text-align: left; +} + +table.adminlist th a { + color: #ff9900; +} + +table.adminlist tr.row0 { + background-color: #F5F5F5; +} +table.adminlist tr.row1 { + background-color: #FFF; +} +table.adminlist td { + border-bottom: 1px solid #e5e5e5; + padding: 4px; +} +table.adminlist tr.row0:hover { + background-color: #f1f1f1; +} +table.adminlist tr.row1:hover { + background-color: #f1f1f1; +} +table.adminlist td.options { + background-color: #ffffff; + font-size: 8px; +} +select.options, input.options { + font-size: 8px; + font-weight: normal; + border: 1px solid #999999; +} +/* standard form style table */ +table.adminform { + background-color: #f5f5f5; + border: solid 1px #d5d5d5; + width: 100%; + padding: 10px; + border-collapse: collapse; +} +table.adminform tr.row0 { + background-color: #f5f5f5; +} +table.adminform tr.row1 { + background-color: #eeeeee; +} +table.adminform th { + font-size: 12px; + padding-top: 6px; + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + text-align: left; + height: 25px; + color: #ffffff; + background: url(../images/background.gif); + background-repeat: repeat; +} +table.adminform td { + padding: 3px; + text-align: left; +} +table.adminform td.editor { + font-size: 9px; +} + +table.cpanel td { + text-align: center; +} + +form { + margin: 0px 0px 0px 0px; +} +/* Styles for dhtml tabbed-pages */ +.ontab { + font-size: 12px; + background-color: #ffae00; + border: 1px solid #cccccc; + width: 14%; + text-align: center; + cursor: pointer; + font-weight: bold; + color: #FFFFFF; +} +.offtab { + font-size: 12px; + background-color : #e5e5e5; + border: 1px solid #cccccc; + width: 14%; + text-align: center; + cursor: pointer; + font-weight: normal; +} +.tabpadding { + /*border-bottom: solid 1px #D5D5D5;*/ +} +.tabheading { + background-color: #FFAE00; + color: #FFF; + font-size: 10px; + text-align: left; +} +.pagetext { + visibility: hidden; + display: none; + position: relative; + top: 0; +} +.menubackgr { + background: #F1F3F5; + border-bottom: 1px solid #cccccc; + +} +.menudottedline { + border-bottom: 1px solid #cccccc; + border-top: 1px solid #ffffff; + background-color: #F1F3F5; +} +.pathway { + border: 1px inset; + background-color: #FFF; + padding: 2px; + width: 95%; + margin: 3px; +} +.adminheader { + color : #FF9900; + font-size : 24px; +} +/* Text passed with mosmsg url parameter */ +.message { + font-family : "Trebuchet MS", Arial, Helvetica, sans-serif; + font-weight: bold; + font-size : 14px; + color : #FF9900; + text-align: center; +} +.main { + border: 1px solid #d5d5d5; + width: 98%; +} +.quote { + margin: 4px; + border: 1px solid #cccccc; + background-color: #E9ECEF; + padding: 10px; + font-size: 12px; + color: #254D78; +} diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/css/theme.css 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/css/theme.css --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/css/theme.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/css/theme.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,299 @@ +/* */ +.green {color:green} +.red {color:red} + +/* ThemeOfficeMenu Style Sheet */ + +.ThemeOfficeMenu,.ThemeOfficeSubMenuTable +{ + font-family: arial, verdana, sans-serif; + font-size: 13px; + padding: 0; + white-space: nowrap; + cursor: default; + height: 25px; +} + +.ThemeOfficeSubMenu +{ + position: absolute; + visibility: hidden; + + /* + Netscape/Mozilla renders borders by increasing + their z-index. The following line is necessary + to cover any borders underneath + */ + z-index: 100; + border: 0; + padding: 0; + + overflow: visible; + border: 1px solid #8C867B; + + /* comment in because it's not valid css + filter:progid:DXImageTransform.Microsoft.Shadow(color=#BDC3BD, Direction=135, Strength=4); + */ +} + +.ThemeOfficeSubMenuTable +{ + overflow: visible; +} + +.ThemeOfficeMainItem,.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive, +.ThemeOfficeMenuItem,.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive +{ + border: 0; + cursor: default; + white-space: nowrap; +} + +.ThemeOfficeMainItem +{ + /*background-color: #EFEBDE;*/ +} + +.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive +{ + background-color: #B5CDE8; +} + +.ThemeOfficeMenuItem +{ + background-color: #F1F3F5; +} + +.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive +{ + background-color: #B5CDE8; +} + + +/* horizontal main menu */ + +.ThemeOfficeMainItem +{ + padding: 4px 1px 4px 1px; + border: 0; +} + +td.ThemeOfficeMainItemHover,td.ThemeOfficeMainItemActive +{ + padding: 0px; + border-top: 1px solid #30559C; + border-right: 1px solid #30559C; + border-left: 1px solid #30559C; +} + +.ThemeOfficeMainFolderLeft,.ThemeOfficeMainItemLeft, +.ThemeOfficeMainFolderText,.ThemeOfficeMainItemText, +.ThemeOfficeMainFolderRight,.ThemeOfficeMainItemRight +{ + background-color: inherit; +} + +/* vertical main menu sub components */ + +td.ThemeOfficeMainFolderLeft,td.ThemeOfficeMainItemLeft +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 2px; + + border-top: 1px solid #30559C; + border-bottom: 1px solid #30559C; + border-left: 1px solid #30559C; + + background-color: inherit; +} + +td.ThemeOfficeMainFolderText,td.ThemeOfficeMainItemText +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 5px; + padding-right: 5px; + + border-top: 1px solid #30559C; + border-bottom: 1px solid #30559C; + + background-color: inherit; + white-space: nowrap; +} + +td.ThemeOfficeMainFolderRight,td.ThemeOfficeMainItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + + border-top: 1px solid #30559C; + border-bottom: 1px solid #30559C; + border-right: 1px solid #30559C; + + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderLeft, +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 1px; + padding-right: 2px; + + white-space: nowrap; + + border: 0; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderText, +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 5px; + padding-right: 5px; + + border: 0; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemRight, +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + background-color: inherit; +} + +/* sub menu sub components */ + +.ThemeOfficeMenuFolderLeft,.ThemeOfficeMenuItemLeft +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 1px; + padding-right: 3px; + + border-top: 1px solid #30559C; + border-bottom: 1px solid #30559C; + border-left: 1px solid #30559C; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuFolderText,.ThemeOfficeMenuItemText +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 5px; + padding-right: 5px; + + border-top: 1px solid #30559C; + border-bottom: 1px solid #30559C; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuFolderRight,.ThemeOfficeMenuItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + + border-top: 1px solid #30559C; + border-bottom: 1px solid #30559C; + border-right: 1px solid #30559C; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderLeft, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 2px; + padding-right: 3px; + + white-space: nowrap; + + border: 0px; + background-color: #DDE1E6; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderText, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 5px; + padding-right: 5px; + + border: 0px; + background-color: inherit; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderRight, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + background-color: inherit; +} + +/* menu splits */ + +.ThemeOfficeMenuSplit +{ + margin: 2px; + height: 1px; + overflow: hidden; + background-color: inherit; + border-top: 1px solid #C6C3BD; +} + +/* image shadow animation */ + +/* + seq1: image for normal + seq2: image for hover and active + + To use, in the icon field, input the following: + +*/ + +.ThemeOfficeMenuItem img.seq1 +{ + display: inline; +} + +.ThemeOfficeMenuItemHover seq2, +.ThemeOfficeMenuItemActive seq2 +{ + display: inline; +} + +.ThemeOfficeMenuItem .seq2, +.ThemeOfficeMenuItemHover .seq1, +.ThemeOfficeMenuItemActive .seq1 +{ + display: none; +} Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/arrow.gif and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/arrow.gif differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/background.gif and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/background.gif differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/header_blue.jpg and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/header_blue.jpg differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/header_icon.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/header_icon.png differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/header_text.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/header_text.png differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/install_logo.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/install_logo.png differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/login.gif and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/login.gif differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/login_header.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/login_header.png differ Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/images/security.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/images/security.png differ diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/index.html 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/index.html --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/index.php 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/index.php --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/index.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,114 @@ +'; +?> + + + +<?php echo $mosConfig_sitename; ?> - <?php echo T_('Administration') ?> [Mambo] + + + + + + + + +\r\n"; +?> + + + +
      +RELEASE.'.'. $_VERSION->DEV_LEVEL; ?> +
      +
      + +
      + + + + + + + + + + + + + + + +
      + +
      +
      + + + + +
      + getPath( 'admin' )) { + require $path; + } else { + echo "\"".T_('Mambo\r\n
      \r\n"; + } + ?> +
      +
      +
      + + +
      "); +$tend = mosProfiler::getmicrotime(); +$totaltime = ($tend - $tstart); +printf ("Page was generated in %f seconds", $totaltime); +echo (""); +?> +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/login.php 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/login.php --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/login.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/login.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,73 @@ + +\r\n"; ?> + + + +<?php echo $mosConfig_sitename; ?> - Administration [Mambo] + + + + + +
      + +
      +
      + +
      +
      + + + + diff -ruN 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/templateDetails.xml 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/templateDetails.xml --- 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/templateDetails.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,15 @@ + + + Mambo Admin Blue + 07/27/04 + rhuk + GNU/GPL + rhuk@rhuk.net + http://www.mambodev.com + 1.0 + + + index.php + css/template_css.css + + Binary files 4.6rc2/uploadfiles/administrator/templates/mambo_admin_blue/template_thumbnail.png and 4.6-complete/uploadfiles/administrator/templates/mambo_admin_blue/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/cache/index.html 4.6-complete/uploadfiles/cache/index.html --- 4.6rc2/uploadfiles/cache/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/cache/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_banners/banners.class.php 4.6-complete/uploadfiles/components/com_banners/banners.class.php --- 4.6rc2/uploadfiles/components/com_banners/banners.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_banners/banners.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,121 @@ +mosDBTable( '#__bannerclient', 'cid', $_db ); + } + + function check() { + // check for valid client name + if (trim($this->name == "")) { + $this->_error = T_('You must select a name for the client.'); + return false; + } + + // check for valid client contact + if (trim($this->contact == "")) { + $this->_error = T_('You must select a contact for the client.'); + return false; + } + + // check for valid client email + if ((trim($this->email == "")) || (preg_match("/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $this->email )==false)) { + $this->_error = T_('You must select a valid email for the client.'); + return false; + } + return true; + } +} + +/** +* @package Mambo +*/ +class mosBanner extends mosDBTable { + /** @var int */ + var $bid = null; + /** @var int */ + var $cid = null; + /** @var string */ + var $type = ""; + /** @var string */ + var $name = ""; + /** @var int */ + var $imptotal = 0; + /** @var int */ + var $impmade = 0; + /** @var int */ + var $clicks = 0; + /** @var string */ + var $imageurl = ""; + /** @var string */ + var $clickurl = ""; + /** @var date */ + var $date = null; + /** @var int */ + var $showBanner = 0; + /** @var int */ + var $checked_out = 0; + /** @var date */ + var $checked_out_time = 0; + /** @var string */ + var $editor = ""; + /** @var string */ + var $custombannercode = ""; + + function mosBanner( &$_db ) { + $this->mosDBTable( '#__banner', 'bid', $_db ); + $this->set("date",date("Y-m-d G:i:s")); + } + + function clicks() { + $this->_db->setQuery( "UPDATE #__banner SET clicks=(clicks+1) WHERE bid=$this->bid" ); + $this->_db->query(); + } + + function check() { + // check for valid client id + if (is_null($this->cid) || $this->cid == 0) { + $this->_error = T_('You must select a client.'); + return false; + } + + if(trim($this->name) == "") { + $this->_error = T_('You must select a name for the banner.'); + return false; + } + + if(trim($this->imageurl) == "") { + $this->_error = T_('You must select a image for the banner.'); + return false; + } + if(trim($this->clickurl) == "" && trim($this->custombannercode) == "") { + $this->_error = T_('You must select a URL/Custom banner code for the banner.'); + return false; + } + + return true; + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_banners/banners.php 4.6-complete/uploadfiles/components/com_banners/banners.php --- 4.6rc2/uploadfiles/components/com_banners/banners.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_banners/banners.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,112 @@ +getCfg( 'live_site' )); + break; +} + +function viewbanner( $_live_site) { + global $database, $mosConfig_live_site; + + $database->setQuery( "SELECT count(*) AS numrows FROM #__banner WHERE showBanner=1" ); + + $numrows = $database->loadResult(); + if ($numrows === null) { + echo $database->stderr( true ); + return; + } + + if ($numrows > 1) { + mt_srand( (double) microtime()*1000000 ); + $bannum = mt_rand( 0, --$numrows ); + } else { + $bannum = 0; + } + + $database->setQuery( "SELECT * FROM #__banner WHERE showBanner=1 LIMIT $bannum,1" ); + + $banner = null; + if ($database->loadObject( $banner )) { + $database->setQuery( "UPDATE #__banner SET impmade=impmade+1 WHERE bid='$banner->bid'" ); + if(!$database->query()) { + echo $database->stderr( true ); + return; + } + $banner->impmade++; + + if ($numrows > 0) { + // Check if this impression is the last one and print the banner + if ($banner->imptotal == $banner->impmade) { + $query = "INSERT INTO #__bannerfinish (cid, type, name, impressions, clicks, imageurl, datestart, dateend) + VALUES ('$banner->cid', '$banner->type', '$banner->name', '$banner->impmade', '$banner->clicks', '$banner->imageurl', '$banner->date', now())"; + $database->setQuery($query); + if(!$database->query()) { + die($database->stderr(true)); + } + + $query="DELETE FROM #__banner WHERE bid=$banner->bid"; + $database->setQuery($query); + if(!$database->query()) { + die($database->stderr(true)); + } + } + + if (trim( $banner->custombannercode )) { + echo $banner->custombannercode; + } else if (eregi( "(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$", $banner->imageurl )) { + $imageurl = "$mosConfig_live_site/images/banners/$banner->imageurl"; + echo "bid")."\" target=\"_blank\">\"Advertisement\""; + + } else if (eregi("\.swf$", $banner->imageurl)) { + $imageurl = "$mosConfig_live_site/images/banners/".$banner->imageurl; + echo " + "; + } + } + } else { + echo " "; + } +} + +/** +/* Function to redirect the clicks to the correct url and add 1 click +*/ +function clickbanner( $bid ) +{ + global $database, $mainframe; + require_once( $mainframe->getPath( 'class' ) ); + $row = new mosBanner($database); + $row->load($bid); + $row->clicks(); + + $pat = "http.*://"; + if (!eregi( $pat, $row->clickurl )) { + $clickurl = "http://$row->clickurl"; + } else { + $clickurl = $row->clickurl; + } + mosRedirect( $clickurl ); +} +?> diff -ruN 4.6rc2/uploadfiles/components/com_banners/index.html 4.6-complete/uploadfiles/components/com_banners/index.html --- 4.6rc2/uploadfiles/components/com_banners/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_banners/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_comment/comment.php 4.6-complete/uploadfiles/components/com_comment/comment.php --- 4.6rc2/uploadfiles/components/com_comment/comment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_comment/comment.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,84 @@ +usertype) <> ''); +$captcha_success = 0; // captcha not required + +if ($mosConfig_usecaptcha == '1') { + # spam protection + session_name('mos_captcha'); + session_start(); + + if(isset($_SESSION['code']) && ($_SESSION['code'] != "") && ($_SESSION['code'] == $spamstop)) { + $captcha_success = 1; // success + } else { + $captcha_success = 2; // fail + } +} + + + +if ($captcha_success != '2') { + + # if registered users only + if (!$allow_anonymous_entries AND !$is_user) { + + $link = sefRelToAbs("index.php?option=content&task=view&id=$articleid"); + echo ""; + + } else { + + $comments = strip_tags($comments); + $comments = mysql_escape_string(strip_tags($comments)); + $startdate = date( "Y-m-d H:i:s" ); + $ip = getenv('REMOTE_ADDR'); + + $query = "INSERT INTO #__comment SET articleid='$articleid', ip='$ip', name='$mcname', comments='$comments', startdate='$startdate', published='$auto_publish_comments';"; + $database->setQuery($query); + $database->query(); + + + if ($notify_new_entries == "1") { + // messaging for new items + require_once($mosConfig_absolute_path."/includes/mambofunc.php"); + $message = "A new comment has been added\n\n".$comments; + + if ($auto_publish_comments == "0") { + $message = $message . "\n\nYou have chosen not to auto publish new comments. Therefore you need to log in and publish new posts to make them visible."; + } + + mosMail ( $mosConfig_mailfrom, $mosConfig_mailfrom, $mosConfig_mailfrom, "A new comment has been submitted", $message); + } + + $msg = 'Thanks. Your comment has been successfully saved. '; + if ($auto_publish_comments == "0") { + $msg = $msg. "The Administrator will review and publish your comment shortly."; + } + + mosRedirect( "index.php?option=com_content&task=view&id=".$articleid."&Itemid=".$mcitemid, $msg ); + + } + +} else { + echo ""; +} + + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_contact/contact.class.php 4.6-complete/uploadfiles/components/com_contact/contact.class.php --- 4.6rc2/uploadfiles/components/com_contact/contact.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_contact/contact.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,170 @@ +mosDBTable( '#__contact_details', 'id', $database ); + } + + function check() { + $this->default_con = intval( $this->default_con ); + return true; + } + + function &getCategories ($user) { + static $contact_cats = ''; + if (!is_array($contact_cats)) { + $database = mamboDatabase::getInstance(); + /* Query to retrieve all categories that belong under the contacts section and that are published. */ + $query = "SELECT *, COUNT(a.id) AS numlinks, MIN(a.id) as minimum" + . "\n FROM #__categories AS cc" + . "\n LEFT JOIN #__contact_details AS a ON a.catid = cc.id" + . "\n WHERE a.published='1'" + . "\n AND cc.section='com_contact_details'" + . "\n AND cc.published='1'" + . "\n AND a.access <= '". $user->gid ."'" + . "\n AND cc.access <= '". $user->gid ."'" + . "\n GROUP BY cc.id" + . "\n ORDER BY cc.ordering" + ; + $database->setQuery( $query ); + $contact_cats = $database->loadObjectList(); + if (!$contact_cats) $contact_cats = array(); + } + return $contact_cats; + } + + function &getContacts ($catid, $user) { + $database = mamboDatabase::getInstance(); + $query = "SELECT *" + . "\n FROM #__contact_details" + . "\n WHERE catid = '". $catid."'" + . "\n AND published='1'" + . "\n AND access <= '". $user->gid ."'" + . "\n ORDER BY ordering" + ; + $contacts = $database->doSQLget($query, 'mosContact'); + return $contacts; + } +} + +/** +* @package Mambo +* class needed to extend vcard class and to correct minor errors +*/ +class MambovCard extends vCard { + + // needed to fix bug in vcard class + function setName( $family='', $first='', $additional='', $prefix='', $suffix='' ) { + $this->properties["N"] = "$family;$first;$additional;$prefix;$suffix"; + $this->setFormattedName( trim( "$prefix $first $additional $family $suffix" ) ); + } + + // needed to fix bug in vcard class + function setAddress( $postoffice='', $extended='', $street='', $city='', $region='', $zip='', $country='', $type='HOME;POSTAL' ) { + // $type may be DOM | INTL | POSTAL | PARCEL | HOME | WORK or any combination of these: e.g. "WORK;PARCEL;POSTAL" + $key = 'ADR'; + if ( $type != '' ) { + $key .= ';'. $type; + } + $key.= ';ENCODING=QUOTED-PRINTABLE'; + $this->properties[$key] = encode( $extended ) .';'. encode( $street ) .';'. encode( $city ) .';'. encode( $region) .';'. encode( $zip ) .';'. encode( $country ); + } + + // added ability to set filename + function setFilename( $filename ) { + $this->filename = $filename .'.vcf'; + } + + // added ability to set position/title + function setTitle( $title ) { + $title = trim( $title ); + $this->properties['TITLE'] = $title; + } + + // added ability to set organisation/company + function setOrg( $org ) { + $org = trim( $org ); + $this->properties['ORG'] = $org; + } + + function getVCard( $sitename ) { + $text = "BEGIN:VCARD\r\n"; + $text .= "VERSION:2.1\r\n"; + foreach( $this->properties as $key => $value ) { + $text .= "$key:$value\r\n"; + } + $text .= "REV:" .date("Y-m-d") ."T". date("H:i:s"). "Z\r\n"; + $text .= "MAILER: ".sprintf(T_('Mambo vCard for %s'),$sitename) ."\r\n"; + $text .= "END:VCARD\r\n"; + return $text; + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/components/com_contact/contact.html.php 4.6-complete/uploadfiles/components/com_contact/contact.html.php --- 4.6rc2/uploadfiles/components/com_contact/contact.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_contact/contact.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,712 @@ +get( 'page_title' ) ) { + ?> +
      + header; ?> +
      + +
      + + + + + + + + + + + + + + +
      + img ) { + ?> + <?php echo T_('Category'); ?> + descrip; + ?> +
      + +
        + +
      + get( 'type' ) == 'category' ) && $params->get( 'other_cat' ) ) { + HTML_contact::showCategories( $params, $categories, $catid ); + } else if ( ( $params->get( 'type' ) == 'section' ) && $params->get( 'other_cat_section' ) ) { + HTML_contact::showCategories( $params, $categories, $catid ); + } + ?> +
      +
      + + + get( 'headings' ) ) { + ?> + + + get( 'position' ) ) { + ?> + + + get( 'email' ) ) { + ?> + + + get( 'telephone' ) ) { + ?> + + + get( 'fax' ) ) { + ?> + + + + + id .'&Itemid='. $Itemid; + ?> + + + get( 'position' ) ) { + ?> + + + get( 'email' ) ) { + if ( $row->email_to ) { + $row->email_to = mosHTML::emailCloaking( $row->email_to, 1 ); + } + ?> + + + get( 'telephone' ) ) { + ?> + + + get( 'fax' ) ) { + ?> + + + + + +
      + + + + + + + + + +
      + + name; ?> + + + con_position; ?> + + email_to; ?> + + telephone; ?> + + fax; ?> +
      + +
        + catid ) { + ?> +
      • + + title;?> + +   + + (numlinks;?>) + +
      • + catid .'&Itemid='. $Itemid; + ?> +
      • + + title;?> + + get( 'cat_items' ) ) { + ?> +   + + (numlinks;?>) + + + get( 'cat_description' ) ) { + echo '
        '; + echo $cat->description; + } + ?> +
      • + +
      + getTemplate(); + $sitename = $mainframe->getCfg( 'sitename' ); + $hide_js = mosGetParam($_REQUEST,'hide_js', 0 ); + ?> + + + get( 'popup' ) ) { + ?> + <?php echo $sitename ." :: ". $contact->name; ?> + " type="text/css" /> + get( 'page_title' ) ) { + ?> +
      + get( 'header' ); ?> +
      + + + + + + + + +
      + + + + + + + + +
      + +
      + +
      +
      + get( 'page_title' ) && !$params->get( 'popup' ) ) { + ?> + + + get( 'header' ); ?> + + + 1 ) && !$params->get( 'popup' ) && $params->get( 'drop_down' ) ) { + global $Itemid; + ?> + + +
      +
      + +
      + select; ?> +
      + + + name || $contact->con_position ) { + if ( $contact->name && $params->get( 'name' ) ) { + ?> + + + name; + ?> + + id .'&Itemid='. $Itemid .'&pop=1'; + mosHTML::PrintIcon( $contact, $params, $hide_js, $print_link ); + ?> + + con_position && $params->get( 'position' ) ) { + ?> + + + con_position; + ?> +

      + + + image && $params->get( 'image' ) ) { + ?> +
      + <?php echo T_('Contact'); ?> +
      + get( 'address_check' ) > 0 ) && ( $contact->address || $contact->suburb || $contact->state || $contact->country || $contact->postcode ) ) { + global $mosConfig_live_site; + ?> + + get( 'address_check' ) > 0 ) { + ?> + + + + + address && $params->get( 'street_address' ) ) { + ?> + + + + suburb && $params->get( 'suburb' ) ) { + ?> + + + + state && $params->get( 'state' ) ) { + ?> + + + + country && $params->get( 'country' ) ) { + ?> + + + + postcode && $params->get( 'postcode' ) ) { + ?> + + + + +
      + get( 'marker_address' ); + ?> +
      + address; + ?> +
      + suburb; + ?> +
      + state; + ?> +
      + country; + ?> +
      + postcode; + ?> +
      +
      + email_to || $contact->telephone || $contact->fax ) { + global $mosConfig_live_site; + ?> + + email_to && $params->get( 'email' ) ) { + ?> + + + + + telephone && $params->get( 'telephone' ) ) { + ?> + + + + + fax && $params->get( 'fax' ) ) { + ?> + + + + + +
      + get( 'marker_email' ); + ?> + + email; + ?> +
      + get( 'marker_telephone' ); + ?> + + telephone; + ?> +
      + get( 'marker_fax' ); + ?> + + fax; + ?> +
      +
      + misc && $params->get( 'misc' ) ) { + global $mosConfig_live_site; + ?> + + + + + +
      + get( 'marker_misc' ); + ?> + + misc; + ?> +
      +
      + get( 'vcard' ) ) { + ?> + + + + + + + + + email_to && !$params->get( 'popup' ) && $params->get( 'email_form' ) ) { + ?> + + +
      + get( 'email_description' ) ?> +

      +
      +
      + +
      + +
      + +
      + +
      + +
      + +

      + +
      + + get( 'email_copy' ) ) { + ?> +
      + + + +

      + + + + +

      + +
      + + + + +
      + + + +

      + +

      + diff -ruN 4.6rc2/uploadfiles/components/com_contact/contact.php 4.6-complete/uploadfiles/components/com_contact/contact.php --- 4.6rc2/uploadfiles/components/com_contact/contact.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_contact/contact.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,412 @@ +getPath( 'front_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +class contactUserControllers { + var $manager = ''; + var $user = ''; + var $op = ''; + var $con_id = 0; + var $contact_id = 0; + var $catid = 0; + var $Itemid = 0; + + function contactUserControllers ($manager) { + $this->manager = $manager; + $this->user =& mamboCore::get('currentUser'); + $this->op = mosGetParam($_REQUEST, 'op', ''); + $this->con_id = mosGetParam( $_REQUEST ,'con_id', 0 ); + $this->contact_id = mosGetParam( $_REQUEST ,'contact_id', 0 ); + $this->catid = mosGetParam( $_REQUEST ,'catid', 0 ); + $this->Itemid = mamboCore::get('Itemid'); + } + + function sendmail () { + + global $mosConfig_usecaptcha; + + $captcha_success = 0; + if ($mosConfig_usecaptcha == '1') { + + session_name('mos_captcha'); + session_start(); + + $spamstop = mosGetParam( $_POST, 'spamstop', '' ); + + if(isset($_SESSION['code']) && ($_SESSION['code'] != "") && ($_SESSION['code'] == $spamstop)) { + $captcha_success = 1; // success + } else { + $captcha_success = 2; // fail + } + + } + + if ($captcha_success != '2') { + + $contact = new mosContact(); + $contact->load($this->con_id); + + $default = mamboCore::get('mosConfig_sitename').' '.T_('Enquiry'); + $email = mosGetParam( $_POST, 'email', '' ); + $text = mosGetParam( $_POST, 'text', '' ); + $name = mosGetParam( $_POST, 'name', '' ); + $subject = mosGetParam( $_POST, 'subject', $default ); + $email_copy = mosGetParam( $_POST, 'email_copy', 0 ); + + if (!$email OR !$text OR !$this->is_email($email) OR $this->has_emailheaders($text) OR $this->has_newlines($email) OR $this->has_newlines($name) OR $this->has_newlines($subject) OR !isset($_SERVER['HTTP_USER_AGENT']) OR $_SERVER['REQUEST_METHOD'] != 'POST') { + echo ""; + exit(0); + } + $prefix = sprintf( T_('This is an enquiry e-mail via %s from:'), mamboCore::get('mosConfig_live_site') ); + $text = $prefix ."\n". $name. ' <'. $email .'>' ."\n\n". $text; + + mosMail( $email, $name , $contact->email_to, mamboCore::get('mosConfig_fromname') .': '. $subject, $text ); + + if ( $email_copy ) { + $copy_text = sprintf( T_('The following is a copy of the message you sent to %s via %s '), $contact->name, mamboCore::get('mosConfig_sitename') ); + $copy_text = $copy_text ."\n\n". $text .''; + $copy_subject = sprintf(T_('Copy of: %s'),$subject); + mosMail( mamboCore::get('mosConfig_mailfrom'), mamboCore::get('mosConfig_fromname'), $email, $copy_subject, $copy_text ); + } + ?> + + alert('Incorrect Security Code'); window.history.go(-1);"; + } + } + + /** + * Check field contains an email address: + * Returns false if text is not an email address + */ + function is_email($email){ + return preg_match("/^[A-Z0-9._%-]+@[A-Z0-9.-]+.[A-Z]{2,4}$/i", $email ); + } + + /** + * Check single-line inputs: + * Returns true if text contains newline character + */ + function has_newlines($text) { + return preg_match("/(%0A|%0D|\n+|\r+)/i", $text); + } + + /** + * Check multi-line inputs: + * Returns true if text contains newline followed by + * email-header specific string + */ + function has_emailheaders($text) { + return preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i", $text); + } + +} + +class contact_lister_Controller extends contactUserControllers { + + function lister () { + $categories = &mosContact::getCategories($this->user); + $count = count($categories); + if ($count == 0 OR ($count == 1 AND $categories[0]->numlinks == 1)) { + // No or one category that qualifies + $this->contact_id = $count == 1 ? $categories[0]->minimum : 0; + $controller = new contact_view_Controller ($this->manager); + $controller->view(); + if ($this->op == 'sendmail') $this->sendmail(); + return; + } + $rows = array(); + $currentcat =& new stdClass(); + // Parameters + $menuhandler = mosMenuHandler::getInstance(); + $menu =& $menuhandler->getMenuByID($this->Itemid); + $params =& $this->makeParams ($menu->params, $menu->name); + // page header + $currentcat->header = $params->get( 'header' ); + // Path to images + $path = mamboCore::get('mosConfig_live_site').'/images/stories/'; + $currentcat->descrip = ''; + $currentcat->img = ''; + if ( $this->catid ) { + $params->set( 'type', 'category' ); + // url links info for category + $rows = mosContact::getContacts($this->catid, $this->user); + // current category info + foreach ($categories as $category) { + if ($category->id == $this->catid) { + $currentcat =& $category; + // show description + $currentcat->descrip = $currentcat->description; + // page image + $currentcat->img = $path . $currentcat->image; + $currentcat->align = $currentcat->image_position; + // page header + if ( @$currentcat->name <> '' ) $currentcat->header .= ' - '.$currentcat->name; + break; + } + } + } + else { + $params->set( 'type', 'section' ); + // show description + if ( $params->get( 'description' ) ) $currentcat->descrip = $params->get( 'description_text' ); + // page image + if ( $params->get( 'image' ) <> -1 ) { + $currentcat->img = $path . $params->get( 'image' ); + $currentcat->align = $params->get( 'image_align' ); + } + } + // used to show table rows in alternating colours + $tabclass = array( 'sectiontableentry1', 'sectiontableentry2' ); + HTML_contact::displaylist( $categories, $rows, $this->catid, $currentcat, $params, $tabclass ); + if ($this->op == 'sendmail') $this->sendmail(); + } + + function &makeParams ($rawparams, $name) { + $params =& new mosParameters( $rawparams ); + $params->def( 'page_title', 1 ); + $params->def( 'header', $name ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'headings', 1 ); + $params->def( 'back_button', mamboCore::get('mosConfig_back_button') ); + $params->def( 'description_text', T_('The Contact list for this Website.') ); + $params->def( 'image', -1 ); + $params->def( 'image_align', 'right' ); + $params->def( 'other_cat_section', 1 ); + // Category List Display control + $params->def( 'other_cat', 1 ); + $params->def( 'cat_description', 1 ); + $params->def( 'cat_items', 1 ); + // Table Display control + $params->def( 'headings', 1 ); + $params->def( 'position', '1' ); + $params->def( 'email', '0' ); + $params->def( 'phone', '1' ); + $params->def( 'fax', '1' ); + $params->def( 'telephone', '1' ); + return $params; + } + +} + +class contact_view_Controller extends contactUserControllers { + + function view () { + $database = mamboDatabase::getInstance(); + $query = "SELECT a.*, a.id AS value, CONCAT_WS( ' - ', a.name, a.con_position ) AS text" + . "\n FROM #__contact_details AS a" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n WHERE a.published = '1'" + . "\n AND cc.published = '1'" + . "\n AND a.access <=". $this->user->gid + . "\n AND cc.access <=". $this->user->gid + . "\n ORDER BY a.default_con DESC, a.ordering ASC" + ; + $database->setQuery( $query ); + $list = $database->loadObjectList(); + $count = count($list); + if ($count == 0) { + $params =& new mosParameters(); + $params->def( 'back_button', mamboCore::get( 'mosConfig_back_button' ) ); + HTML_contact::nocontact( $params ); + return; + } + if ( $this->contact_id == 0 ) $this->contact_id = $list[0]->id; + foreach ($list as $cont) { + if ($cont->id == $this->contact_id) { + $contact =& $cont; + break; + } + } + if (!isset($contact)) { + echo T_('You are not authorized to view this resource.'); + return; + } + // creates dropdown select list + $contact->select = mosHTML::selectList( $list, 'contact_id', 'class="inputbox" onchange="ViewCrossReference(this);"', 'value', 'text', $this->contact_id ); + // Adds parameter handling + $params =& $this->makeParams ( $contact->params ); + if ( $contact->email_to AND $params->get( 'email' )) { + // email cloacking + $contact->email = mosHTML::emailCloaking( $contact->email_to ); + } + // loads current template for the pop-up window + $pop = mosGetParam( $_REQUEST, 'pop', 0 ); + if ( $pop ) { + $params->set( 'popup', 1 ); + $params->set( 'back_button', 0 ); + } + if ( $params->get( 'email_description' ) ) $params->set( 'email_description', $params->get( 'email_description_text' ) ); + else $params->set( 'email_description', '' ); + + // needed to control the display of the Address marker + $temp = $params->get( 'street_address' ) + . $params->get( 'suburb' ) + . $params->get( 'state' ) + . $params->get( 'country' ) + . $params->get( 'postcode' ) + ; + $params->set( 'address_check', $temp ); + + // determines whether to use Text, Images or nothing to highlight the different info groups + $this->groupMarking($params); + // params from menu item + $menuhandler = mosMenuHandler::getInstance(); + $menu =& $menuhandler->getMenuByID($this->Itemid); + $menu_params =& new mosParameters( $menu->params ); + + $menu_params->def( 'page_title', 1 ); + $menu_params->def( 'header', $menu->name ); + $menu_params->def( 'pageclass_sfx', '' ); + + HTML_contact::viewcontact( $contact, $params, $count, $list, $menu_params ); + } + + function &makeParams ($rawparams) { + $params =& new mosParameters( $rawparams ); + $params->set( 'page_title', 0 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'back_button', mamboCore::get( 'mosConfig_back_button' ) ); + $params->def( 'print', !mamboCore::get( 'mosConfig_hidePrint' ) ); + $params->def( 'name', '1' ); + $params->def( 'email', '0' ); + $params->def( 'street_address', '1' ); + $params->def( 'suburb', '1' ); + $params->def( 'state', '1' ); + $params->def( 'country', '1' ); + $params->def( 'postcode', '1' ); + $params->def( 'telephone', '1' ); + $params->def( 'fax', '1' ); + $params->def( 'misc', '1' ); + $params->def( 'image', '1' ); + $params->def( 'email_description', '1' ); + $params->def( 'email_description_text', T_('Send an Email to this Contact:') ); + $params->def( 'email_form', '1' ); + $params->def( 'email_copy', '1' ); + // global pront|pdf|email + $params->def( 'icons', mamboCore::get( 'mosConfig_icons' ) ); + // contact only icons + $params->def( 'contact_icons', 0 ); + $params->def( 'icon_address', '' ); + $params->def( 'icon_email', '' ); + $params->def( 'icon_telephone', '' ); + $params->def( 'icon_fax', '' ); + $params->def( 'icon_misc', '' ); + $params->def( 'drop_down', '0' ); + $params->def( 'vcard', '1' ); + return $params; + } + + function groupMarking ($params) { + switch ( $params->get( 'contact_icons' ) ) { + case 1: + // text + $params->set( 'marker_address', T_('Address: ') ); + $params->set( 'marker_email', T_('Email: ') ); + $params->set( 'marker_telephone', T_('Telephone: ') ); + $params->set( 'marker_fax', T_('Fax: ') ); + $params->set( 'marker_misc', T_('Information: ') ); + $params->set( 'column_width', '100px' ); + break; + case 2: + // none + $params->set( 'marker_address', '' ); + $params->set( 'marker_email', '' ); + $params->set( 'marker_telephone', '' ); + $params->set( 'marker_fax', '' ); + $params->set( 'marker_misc', '' ); + $params->set( 'column_width', '0px' ); + break; + default: + // icons + $mainframe = mosMainFrame::getInstance(); + $image1 = $mainframe->ImageCheck( 'con_address.png', '/images/M_images/', $params->get( 'icon_address' ) ); + $image2 = $mainframe->ImageCheck( 'emailButton.png', '/images/M_images/', $params->get( 'icon_email' ) ); + $image3 = $mainframe->ImageCheck( 'con_tel.png', '/images/M_images/', $params->get( 'icon_telephone' ) ); + $image4 = $mainframe->ImageCheck( 'con_fax.png', '/images/M_images/', $params->get( 'icon_fax' ) ); + $image5 = $mainframe->ImageCheck( 'con_info.png', '/images/M_images/', $params->get( 'icon_misc' ) ); + $params->set( 'marker_address', $image1 ); + $params->set( 'marker_email', $image2 ); + $params->set( 'marker_telephone', $image3 ); + $params->set( 'marker_fax', $image4 ); + $params->set( 'marker_misc', $image5 ); + $params->set( 'column_width', '40px' ); + break; + } + } + +} + +class contact_vcard_Controller extends contactUserControllers { + + function vcard () { + $contact = new mosContact(); + $contact->load($this->contact_id); + $params = new mosParameters($contact->params); + if (!$params->get('vcard')) { + echo ""; + exit(0); + } + $name = explode(' ', $contact->name); + $firstname = $name[0]; + unset($name[0]); + $last = count($name); + if (isset($name[$last])) { + $surname = $name[$last]; + unset($name[$last]); + } + else $surname = ''; + $middlename = trim (implode(' ', $name)); + + $v = new MambovCard(); + $v->setPhoneNumber( $contact->telephone, 'PREF;WORK;VOICE' ); + $v->setPhoneNumber( $contact->fax, 'WORK;FAX' ); + $v->setName( $surname, $firstname, $middlename, '' ); + $v->setAddress( '', '', $contact->address, $contact->suburb, $contact->state, $contact->postcode, $contact->country, 'WORK;POSTAL' ); + $v->setEmail( $contact->email_to ); + $v->setNote( $contact->misc ); + $v->setURL( mamboCore::get('mosConfig_live_site'), 'WORK' ); + $v->setTitle( $contact->con_position ); + $v->setOrg( mamboCore::get('mosConfig_sitename') ); + + $filename = str_replace( ' ', '_', $contact->name ); + $v->setFilename( $filename ); + + $output = $v->getVCard( mamboCore::get('mosConfig_sitename') ); + $filename = $v->getFileName(); + + // header info for page + header( 'Content-Disposition: attachment; filename='. $filename ); + header( 'Content-Length: '. strlen( $output ) ); + header( 'Connection: close' ); + header( 'Content-Type: text/x-vCard; name='. $filename ); + + print $output; + //mosRedirect('index.php'); + } + +} + +$alternatives = array (); +$admin =& new mosComponentUserManager ('contact', 'task', $alternatives, 'lister', T_('Contact Us'), $version); + +?> diff -ruN 4.6rc2/uploadfiles/components/com_contact/index.html 4.6-complete/uploadfiles/components/com_contact/index.html --- 4.6rc2/uploadfiles/components/com_contact/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_contact/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_containers/containers.class.php 4.6-complete/uploadfiles/components/com_containers/containers.class.php --- 4.6rc2/uploadfiles/components/com_containers/containers.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_containers/containers.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,282 @@ +loaded == 0 AND $this->id) { + $database->setQuery("SELECT * FROM #__containers WHERE id=$this->id"); + $database->loadObject($this); + $this->loaded = 1; + } + } + + function saveValues () { + $database = mamboDatabase::getInstance(); + $this->prepareValues(); + if ($this->id == 0) $database->doSQL($this->insertSQL()); + else $database->doSQL($this->updateSQL()); + } + + function trash () { + $this->isTrash = true; + } + + function isTrash () { + return $this->isTrash; + } + + function addChild ($id) { + $this->children[] = $id; + } + + function deleteAll () { + $folders = $this->getChildren(false); + foreach ($folders as $folder) $folder->deleteAll (); +// Need to delete things that are registered with this + $this->trash(); + } + + function setMetaData () { + $mainframe = mosMainFrame::getInstance(); + $mainframe->prependMetaTag('description', strip_tags($this->name)); + if ($this->keywords) $mainframe->prependMetaTag('keywords', $this->keywords); + else $mainframe->prependMetaTag('keywords', $this->name); + } + + function isCategory () { + if ($this->parentid == 0) return true; + else return false; + } + + function getCategoryName ($showself=false) { + $category = $this->getCategory(); + if ($this->parentid OR $showself) return $category->name; + return '*'; + } + + function getCategory () { + $container =& $this; + while ($container->parentid) $container =& $container->getParent(); + return $container; + } + + function getFamilyNames ($include=false) { + $names = $include ? '/'.$this->name : ''; + $generation = 1; + $ancestor =& $this; + while ($ancestor->parentid AND $generation < 3) { + $ancestor =& $ancestor->getParent(); + $generation++; + $names = '/'.$ancestor->name.$names; + } + if ($ancestor->parentid) $names = '..'.$names; + if ($names) return $names; + return '-'; + } + + function &addChildren (&$descendants, $published=true, $search='', $recurse=false) { + $children = array(); + $handler = mosContainerHandler::getInstance(); + foreach ($this->children as $i) { + $container =& $handler->getBasicContainer($i); + if ($published AND $container->published == 0) continue; + if ($search AND strpos(strtolower($container->name), strtolower($search)) === false) continue; + $children[] =& $container; + $descendants[] =& $container; + } + if ($recurse) foreach ($children as $child) $child->addChildren ($descendants, $published, $search, $recurse); + return $children; + } + + function &getChildren ($published=true, $search='') { + $children = array(); + $this->addChildren($children, $published, $search); + return $children; + } + + function &getDescendants ($search='') { + $descendants = array(); + $this->addChildren ($descendants, false, $search, true); + return $descendants; + } + + function &getParent () { + $handler = mosContainerHandler::getInstance(); + $parent =& $handler->getBasicContainer($this->parentid); + return $parent; + } + + function getSelectList ($type, $parm, $published, $notThis=0) { + $selector[] = mosHTML::makeOption(0,T_('No parent')); + $handler = mosContainerHandler::getInstance(); + foreach ($handler->getCategories() as $category) $category->addSelectList('',$selector,$notThis,$published); + return mosHTML::selectList( $selector, $type, $parm, 'value', 'text', $this->id ); + } + + function addSelectList ($prefix, &$selector, $notThis, $published) { + if (($notThis == 0) OR ($this->id != $notThis)) $selector[] = mosHTML::makeOption($this->id, $prefix.htmlspecialchars($this->name)); + foreach ($this->getChildren($published) as $container) $container->addSelectList($prefix.$this->name.'/',$selector,$notThis,$published); + } + + function getURL () { + } + + function setPathway () { + } + + function &getIcons () { + $iconList = ''; + $live_site = mamboCore::get('mosConfig_live_site'); + $iconDir = new mosDirectory (mamboCore::get('mosConfig_absolute_path').'/administrator/components/com_containers/images/folder_icons'); + $files = $iconDir->listAll(); + $ss = 0; + foreach ($files as $file) { + $iconList.="\n\"{$file}\"  "; + $ss++; + if ($ss % 10 == 0) $iconList.="
      \n"; + } + return $iconList; + } + + + function togglePublished ($idlist, $value) { + $cids = implode( ',', $idlist ); + $sql = "UPDATE #__downloads_containers SET published=$value". "\nWHERE id IN ($cids)"; + remositoryRepository::doSQL ($sql); + } + + function mosImageURL($imageName, $width=32, $height=32) { + $live_site = mamboCore::get('mosConfig_live_site'); + $element = '';
+		$element .= $imageName;
+		$element .= ''; + return $element; + } + +} + +class mosContainerHandler { + var $rows = array(); + var $links = array(); + var $anchor = ''; + + function mosContainerHandler () { + $this->resetData(); + } + + static function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new mosContainerHandler(); + return $instance; + } + + function resetData () { + unset ($this->rows, $this->links, $this->anchor); + $database = mamboDatabase::getInstance(); + $this->anchor =& new mosContainer(); + $sql = 'SELECT id, parentid, name, published, ordering FROM #__containers ORDER BY ordering, name'; + $this->rows =& $database->doSQLget($sql, 'mosContainer'); + foreach ($this->rows as $i=>$row) $this->links[$row->id] = $i; + foreach ($this->rows as $row) if ($row->parentid) { + $parent =& $this->rows[$this->links[$row->parentid]]; + $parent->addChild($row->id); + } + else $this->anchor->addChild($row->id); + } + + function &getBasicContainer ($id) { + if ($id == 0) return $this->anchor; + return $this->rows[$this->links[$id]]; + } + + function &getContainer ($id) { + global $database; + $result =& $this->getBasicContainer($id); + $result->load(); + return $result; + } + + function &getCategories ($published = false, $search = null) { + $categories = array(); + foreach ($this->anchor->getChildren() as $category) { + if ($published AND $category->published == 0) continue; + if ($search AND strpos(strtolower($category->name), strtolower($search)) === false) continue; + $categories[] = $category; + } + return $categories; + } + + function getDescendantIDList ($id, $search='') { + $top = $this->getBasicContainer ($id); + $descendants =& $top->getDescendants ($search); + $list = $id; + foreach ($descendants as $descendant) $list .= ','.$descendant->id; + return $list; + } + + function getSelectList ($allowTop, $default, $type, $parm, &$user) { + if ($allowTop) $selector[] = mosHTML::makeOption(0,_DOWN_NO_PARENT); + foreach ($this->getCategories() as $category) $category->addSelectList('', $selector, null, $user); + if (isset($selector)) return mosHTML::selectList( $selector, $type, $parm, 'value', 'text', $default ); + else return ''; + } + + // Only needed for testing + function displayChildren (&$container) { + echo '
      '.$container->name.' has children:
      '; + foreach ($container->children as $child) echo $child->name.' whose parent is '.$child->parent->name.'
      '; + foreach ($container->children as $child) displayChildren ($child); + } + + function markTrash () { + $database = mamboDatabase::getInstance(); + foreach ($this->rows as $row) if ($row->isTrash()) $trash[] = $row->id; + if (isset($trash)) { + $trashlist = implode (',', $trash); + $sql = "DELETE FROM #__containers WHERE id IN ($trashlist)"; + $database->doSQL($sql); + } + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/components/com_content/content.class.php 4.6-complete/uploadfiles/components/com_content/content.class.php --- 4.6rc2/uploadfiles/components/com_content/content.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_content/content.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,449 @@ +mosDBTable( '#__categories', 'id', $db ); + } + // overloaded check function + function check() { + // check for valid name + if (trim( $this->title ) == '') { + $this->_error = "Your Category must contain a title."; + return false; + } + if (trim( $this->name ) == '') { + $this->_error = "Your Category must have a name."; + return false; + } + // check for existing name + $this->_db->setQuery( "SELECT id FROM #__categories " + . "\nWHERE name='".$this->name."' AND section='".$this->section."'" + ); + + $xid = intval( $this->_db->loadResult() ); + if ($xid && $xid != intval( $this->id )) { + $this->_error = "There is a category already with that name, please try again."; + return false; + } + return true; + } +} + +/** +* Section database table class +* @package Mambo +*/ +class mosSection extends mosDBTable { + /** @var int Primary key */ + var $id=null; + /** @var string The menu title for the Section (a short name)*/ + var $title=null; + /** @var string The full name for the Section*/ + var $name=null; + /** @var string */ + var $image=null; + /** @var string */ + var $scope=null; + /** @var int */ + var $image_position=null; + /** @var string */ + var $description=null; + /** @var boolean */ + var $published=null; + /** @var boolean */ + var $checked_out=null; + /** @var time */ + var $checked_out_time=null; + /** @var int */ + var $ordering=null; + /** @var int */ + var $access=null; + /** @var string */ + var $params=''; + + /** + * @param database A database connector object + */ + function mosSection( &$db ) { + $this->mosDBTable( '#__sections', 'id', $db ); + } + // overloaded check function + function check() { + // check for valid name + if (trim( $this->title ) == '') { + $this->_error = "Your Section must contain a title."; + return false; + } + if (trim( $this->name ) == '') { + $this->_error = "Your Section must have a name."; + return false; + } + // check for existing name + $this->_db->setQuery( "SELECT id FROM #__sections " + . "\nWHERE name='$this->name' AND scope='$this->scope'" + ); + + $xid = intval( $this->_db->loadResult() ); + if ($xid && $xid != intval( $this->id )) { + $this->_error = "There is a section already with that name, please try again."; + return false; + } + return true; + } +} + +/** +* Module database table class +* @package Mambo +*/ +class mosContent extends mosDBTable { + /** @var int Primary key */ + var $id=null; + /** @var string */ + var $title=null; + /** @var string */ + var $title_alias=null; + /** @var string */ + var $introtext=null; + /** @var string */ + var $fulltext=null; + /** @var int */ + var $state=null; + /** @var int The id of the category section*/ + var $sectionid=null; + /** @var int DEPRECATED */ + var $mask=null; + /** @var int */ + var $catid=null; + /** @var datetime */ + var $created=null; + /** @var int User id*/ + var $created_by=null; + /** @var string An alias for the author*/ + var $created_by_alias=null; + /** @var datetime */ + var $modified=null; + /** @var int User id*/ + var $modified_by=null; + /** @var boolean */ + var $checked_out=null; + /** @var time */ + var $checked_out_time=null; + /** @var datetime */ + var $frontpage_up=null; + /** @var datetime */ + var $frontpage_down=null; + /** @var datetime */ + var $publish_up=null; + /** @var datetime */ + var $publish_down=null; + /** @var string */ + var $images=null; + /** @var string */ + var $urls=null; + /** @var string */ + var $attribs=null; + /** @var int */ + var $version=null; + /** @var int */ + var $parentid=null; + /** @var int */ + var $ordering=null; + /** @var string */ + var $metakey=null; + /** @var string */ + var $metadesc=null; + /** @var int */ + var $access=null; + /** @var int */ + var $hits=null; + + /** + * @param database A database connector object + */ + function mosContent() { + $db =& mamboDatabase::getInstance(); + $this->mosDBTable( '#__content', 'id', $db ); + } + + /** + * Validation and filtering + */ + function check() { + // filter malicious code + $ignoreList = array( 'introtext', 'fulltext' ); + $this->filter( $ignoreList ); + + /* + TODO: This filter is too rigorous, + need to implement more configurable solution + // specific filters + $iFilter = new InputFilter( null, null, 1, 1 ); + $this->introtext = trim( $iFilter->process( $this->introtext ) ); + $this->fulltext = trim( $iFilter->process( $this->fulltext ) ); + */ + + if (trim( str_replace( ' ', '', $this->fulltext ) ) == '') { + $this->fulltext = ''; + } + + return true; + } + + /** + * Converts record to XML + * @param boolean Map foreign keys to text values + */ + function toXML( $mapKeysToText=false ) { + global $database; + + if ($mapKeysToText) { + $query = 'SELECT name FROM #__sections WHERE id=' . $this->sectionid; + $database->setQuery( $query ); + $this->sectionid = $database->loadResult(); + + $query = 'SELECT name FROM #__categories WHERE id=' . $this->catid; + $database->setQuery( $query ); + $this->catid = $database->loadResult(); + + $query = 'SELECT name FROM #__users WHERE id=' . $this->created_by; + $database->setQuery( $query ); + $this->created_by = $database->loadResult(); + } + + return parent::toXML( $mapKeysToText ); + } +} + +class mosExtendedContent extends mosContent { + /** @var numeric */ + var $rating = null; + /** @var int */ + var $rating_count = null; + /** @var string */ + var $author = null; + /** @var string */ + var $usertype = null; + /** @var string */ + var $section = null; + /** @var string */ + var $category = null; + /** @var string */ + var $groups = null; + /** @var string */ + var $text = null; + + function getText () { + return $this->text; + } + + function saveText ($text) { + $this->text = $text; + } + + function getImages () { + return $this->images; + } + + function saveImages ($images) { + $this->images = $images; + } + + function getId () { + return $this->id; + } + + function getRating () { + return $this->rating; + } + + function getRatingCount () { + return $this->rating_count; + } + +} + +class contentHandler { + var $_section_limit = 250; + var $_section_status = 0; + var $_sections; + + function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new contentHandler(); + return $instance; + } + /** + * @return number of Published Blog Sections + */ + function getBlogSectionCount( ) { + $menuhandler =& mosMenuHandler::getInstance(); + if (count($menuhandler->getMenusByType('content_blog_section'))) { + $query = "SELECT COUNT( m.id )" + ."\n FROM #__content AS i" + ."\n LEFT JOIN #__sections AS s ON i.sectionid=s.id" + ."\n LEFT JOIN #__menu AS m ON m.componentid=s.id " + ."\n WHERE m.type='content_blog_section'" + ."\n AND m.published='1'" + ; + $database =& mamboDatabase::getInstance(); + $database->setQuery( $query ); + $count = $database->loadResult(); + } else { + $count = 0; + } + return $count; + } + + /** + * @return number of Published Blog Categories + */ + function getBlogCategoryCount( ) { + $menuhandler =& mosMenuHandler::getInstance(); + if (count($menuhandler->getMenusByType('content_blog_category'))) { + $query = "SELECT COUNT( m.id )" + . "\n FROM #__content AS i" + . "\n LEFT JOIN #__categories AS c ON i.catid=c.id" + . "\n LEFT JOIN #__menu AS m ON m.componentid=c.id " + . "\n WHERE m.type='content_blog_category'" + . "\n AND m.published='1'" + ; + $database =& mamboDatabase::getInstance(); + $database->setQuery( $query ); + $count = $database->loadResult(); + } + else $count = 0; + return $count; + } + + /** + * @return number of Published Global Blog Sections + */ + function getGlobalBlogSectionCount( ) { + $menuhandler =& mosMenuHandler::getInstance(); + return $menuhandler->getGlobalBlogSectionCount(); + } + + /** + * @return number of Static Content + */ + function getStaticContentCount( ) { + $menuhandler =& mosMenuHandler::getInstance(); + return $menuhandler->getMenuCount ('content_typed', 1); + } + + /** + * @return number of Content Item Links + */ + function getContentItemLinkCount( ) { + $menuhandler =& mosMenuHandler::getInstance(); + return $menuhandler->getMenuCount ('content_item_link', 1); + } + + function getItemid ($id, $typed=1, $link=1, $bs=1, $bc=1, $gbs=1) { + $_Itemid = null; + $menuhandler =& mosMenuHandler::getInstance(); + if ($typed) { + // Search for typed link + $_Itemid = $menuhandler->getIDByTypeLink('content_typed', "index.php?option=com_content&task=view&id=$id"); + } + + if ($_Itemid == null AND $link) { + // Search for item link + $_Itemid = $menuhandler->getIDByTypeLink('content_item_link', "index.php?option=com_content&task=view&id=$id"); + } + $sectionid = $this->getSection($id); + if ($_Itemid == null) { + // Search in sections + $_Itemid = $menuhandler->getIDByTypeCid ('content_section', $sectionid); + } + if ($_Itemid == null) { + // Search in sections + $_Itemid = $menuhandler->getIDByTypeCid ('content_blog_section', $sectionid); + } + if ($_Itemid == null) { + // Search in sections + $_Itemid = $menuhandler->getIDByTypeCid ('content_blog_category', $sectionid); + } + if ($_Itemid == null AND $gbs) { + // Search in global blog section + $_Itemid = $menuhandler->getIDByTypeCid('content_blog_section', 0); + } +/* + if ($_Itemid == '') { + // Search in global blog category + $this->_db->setQuery( "SELECT id " + ."\nFROM #__menu " + ."\nWHERE type='content_blog_category' AND published='1' AND componentid=0" ); + $_Itemid = $this->_db->loadResult(); + } +*/ + if ($_Itemid) return $_Itemid; + else return mamboCore::get('Itemid'); + } + + function getSection ($id) { + $database =& mamboDatabase::getInstance(); + $limit = $this->_section_limit; + if (!$this->_section_status) { + $database->setQuery("SELECT i.id, i.sectionid FROM #__content AS i, #__sections AS s WHERE i.sectionid=s.id ORDER BY i.id DESC LIMIT $limit"); + $sections = $database->loadObjectList(); + if ($sections) { + foreach ($sections as $section) $this->_sections[$section->id] = $section->sectionid; + $this->_section_status = count($sections); + } + } + if ($this->_section_status) { + if (isset($this->_sections[$id])) return $this->_sections[$id]; + if (count($this->_sections) < $limit) return 0; + $database->setQuery("SELECT i.sectionid FROM #__content AS i, #__sections AS s WHERE i.sectionid=s.id AND i.id=$id"); + return $database->loadResult(); + } + else return 0; + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/components/com_content/content.html.php 4.6-complete/uploadfiles/components/com_content/content.html.php --- 4.6rc2/uploadfiles/components/com_content/content.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_content/content.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1353 @@ +id; + } + + if ( $params->get( 'page_title' ) ) { + ?> +
      + name; ?> +
      + + + + + + + + + + + +
      + get( 'description' ) || $params->get( 'description_image' ) ) { + if ( $params->get( 'description_image' ) ) { + if ( $title->image ) { + $link = $mosConfig_live_site .'/images/stories/'. $title->image; + ?> + <?php echo $title->image;?> + get( 'description' ) ) { + echo $title->description; + } + } + ?> +
      + +
      + +

      + +
      + 1 OR count($items) < 1)) { + $paramtype = $params->get('type'); + if (($paramtype == 'category' AND $params->get('other_cat')) OR ($paramtype == 'section' AND $params->get('other_cat_section'))) { + HTML_content::showCategories( $params, $items, $gid, $other_categories, $catid, $id, $Itemid ); + } + } + ?> +
      + +
        + id ) { + if ( $row->access <= $gid ) { + $link = sefRelToAbs( 'index.php?option=com_content&task=category&sectionid='. $id .'&id='. $row->id .'&Itemid='. $Itemid ); + ?> +
      • + + name;?> + + get( 'cat_items' ) ) { + ?> +  ( numitems), $row->numitems)?> ) + get( 'cat_description' ) && $row->description ) { + echo "
        "; + echo $row->description; + } + ?> +
      • + +
      • + name; ?> + + ( ) + + +
      + +
      + + + + + get( 'headings' ) ) { + ?> + + get( 'date' ) ) { + ?> + + get( 'title' ) ) { + ?> + + get( 'author' ) ) { + ?> + + get( 'hits' ) ) { + ?> + + + + created = mosFormatDate ($row->created, $params->get( 'date_format' )); + ?> + + get( 'date' ) ) { + ?> + + get( 'title' ) ) { + if( $row->access <= $gid ){ + $link = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid ); + ?> + + + + get( 'author' ) ) { + ?> + + get( 'hits' ) ) { + ?> + + + + get( 'navigation' ) ) { + ?> + + + + + + + + + + + canEdit || $access->canEditOwn ) { + $link = sefRelToAbs( 'index.php?option=com_content&task=new&sectionid='. $id .'&cid='. $row->id .'&Itemid='. $Itemid ); + ?> + + + + +
      + + + get( 'filter' ) ) { + ?> + + get( 'order_select' ) ) { + ?> + + get( 'display' ) ) { + ?> + + + +
      + + + + + + getLimitBox( $link ); + ?> +
      +
      +   + + + + + + +
      + created; ?> + + + title; ?> + + + + title .' : '; + $link = sefRelToAbs( 'index.php?option=com_registration&task=register' ); + ?> + + + + + created_by_alias ? $row->created_by_alias : $row->author; ?> + + hits ? $row->hits : '-'; ?> +
       
      + writePagesLinks( $link ); + ?> +
      + writePagesCounter(); ?> +
      + + <?php echo T_('New');?> +   + +
      + + + + +
      + +
      + + + +
      +
        + = $total ) { + // stops loop if total number of items is less than the number set to display as intro + leading + break; + } + // needed to reduce queries used by getItemid + $_Itemid = $mainframe->getItemid( $rows[$i]->id, 0, 0, $ItemidCount['bs'], $ItemidCount['bc'], $ItemidCount['gbs'] ); + $link = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $rows[$i]->id .'&Itemid='. $_Itemid ) + ?> +
      • + + title; ?> + +
      • + +
      + false
      , the print button links to a popup window. If true then the print button invokes the browser print method. + */ + function show( $row, $params, $access, $page=0, $option, $ItemidCount=NULL ) { + global $mainframe, $my, $hide_js; + global $mosConfig_sitename, $Itemid, $mosConfig_live_site, $task; + global $_MAMBOTS; + + if (!$ItemidCount) { + $mainframe->appendMetaTag( 'description', $row->metadesc ); + $mainframe->appendMetaTag( 'keywords', $row->metakey ); + } + + $gid = $my->gid; + $_Itemid = $Itemid; + $link_on = ''; + $link_text = ''; + + // process the new bots + $_MAMBOTS->loadBotGroup( 'content' ); + $results = $_MAMBOTS->trigger( 'onPrepareContent', array( &$row, &$params, $page ), true ); + + // adds mospagebreak heading or title to Title + if ( @$row->page_title ) { + $mainframe->SetPageTitle( $row->title .': '. $row->page_title ); + } + + // determines the link and link text of the readmore button + if ( $params->get( 'intro_only' ) ) { + // checks if the item is a public or registered/special item + if ( $row->access <= $gid ) { + if ($task != "view") { + $_Itemid = $mainframe->getItemid( $row->id, 0, 0, $ItemidCount['bs'], $ItemidCount['bc'], $ItemidCount['gbs'] ); + } + $link_on = sefRelToAbs("index.php?option=com_content&task=view&id=".$row->id."&Itemid=".$_Itemid); + if ( strlen( trim( $row->fulltext ) )) { + $link_text = T_('Read more...'); + } + } else { + $link_on = sefRelToAbs("index.php?option=com_registration&task=register"); + if (strlen( trim( $row->fulltext ) )) { + $link_text = T_('Register to read more...'); + } + } + } + + $no_html = mosGetParam( $_REQUEST, 'no_html', null); + + // for pop-up page + if ( $params->get( 'popup' ) && $no_html == 0) { + ?> + + <?php echo $mosConfig_sitename .' :: '. $row->title; ?> + + get( 'item_navigation' ) ) { + if ( $row->prev ) { + $row->prev = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->prev .'&Itemid='. $_Itemid ); + } else { + $row->prev = 0; + } + if ( $row->next ) { + $row->next = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->next .'&Itemid='. $_Itemid ); + } else { + $row->next = 0; + } + } + + if ( $params->get( 'item_title' ) || $params->get( 'pdf' ) || $params->get( 'print' ) || $params->get( 'email' ) ) { + // link used by print button + $print_link = $mosConfig_live_site. '/index2.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid .'&pop=1&page='. @$page; + ?> + + + + +
      + canEdit ) { + // edit icon when item title set to hide + ?> + + + + +
      + +
      + get( 'intro_only' ) ) { + $results = $_MAMBOTS->trigger( 'onAfterDisplayTitle', array( &$row, &$params, $page ) ); + echo trim( implode( "\n", $results ) ); + } + + $results = $_MAMBOTS->trigger( 'onBeforeDisplayContent', array( &$row, &$params, $page ) ); + echo trim( implode( "\n", $results ) ); + ?> + + + + + + + +
      + text; + ?> +
      + trigger( 'onAfterDisplayContent', array( &$row, &$params, $page ) ); + echo trim( implode( "\n", $results ) ); + + // displays the next & previous buttons + HTML_content::Navigation ( $row, $params ); + + // displays close button in pop-up window + mosHTML::CloseButton ( $params, $hide_js ); + + // displays back button in pop-up window + mosHTML::BackButton ( $params, $hide_js ); + } + + + /** + * Writes Title + */ + function Title( $row, $params, $link_on, $access ) { + global $mosConfig_live_site, $Itemid; + if ( $params->get( 'item_title' ) ) { + if ( $params->get( 'link_titles' ) && $link_on != '' ) { + ?> + + + title;?> + + + + + + title;?> + + + get( 'popup' ) ) { + return; + } + if ( $row->state < 0 ) { + return; + } + if ( !$access->canEdit && !( $access->canEditOwn && $row->created_by == $my->id ) ) { + return; + } + $link = 'index.php?option=com_content&task=edit&id='. $row->id; + $mainframe =& mosMainFrame::getInstance(); + $image = $mainframe->ImageCheck( 'edit.png', '/images/M_images/', NULL, NULL, T_('Edit') ); + ?> + + + + state == 0 ) { + echo '( '. T_('Unpublished') .' )'; + } + echo ' ( '. $row->groups .' )'; + } + + + /** + * Writes PDF icon + */ + function PdfIcon( $row, $params, $link_on, $hide_js ) { + global $mosConfig_live_site; + if ( $params->get( 'pdf' ) && !$params->get( 'popup' ) && !$hide_js ) { + $status = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no'; + $link = $mosConfig_live_site. '/index2.php?option=com_content&do_pdf=1&id='. $row->id; + if ( $params->get( 'icons' ) ) { + $mainframe =& mosMainFrame::getInstance(); + $image = $mainframe->ImageCheck( 'pdf_button.png', '/images/M_images/', NULL, NULL, T_('PDF') ); + } else { + $image = T_('PDF') .' '; + } + ?> + + + + + + get( 'email' ) && !$params->get( 'popup' ) && !$hide_js ) { + $status = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=400,height=250,directories=no,location=no'; + $link = $mosConfig_live_site .'/index2.php?option=com_content&task=emailform&id='. $row->id; + if ( $params->get( 'icons' ) ) { + $mainframe =& mosMainFrame::getInstance(); + $image = $mainframe->ImageCheck( 'emailButton.png', '/images/M_images/', NULL, NULL, T_('E-mail') ); + } else { + $image = ' '. T_('E-mail'); + } + ?> + + + + + + get( 'section' ) || $params->get( 'category' ) ) { + ?> + + + get( 'section' ) || $params->get( 'category' ) ) { + ?> + + + get( 'section' ) ) { + ?> + + section; + // writes dash between section & Category Name when both are active + if ( $params->get( 'category' ) ) { + echo ' - '; + } + ?> + + get( 'category' ) ) { + ?> + + category; + ?> + + get( 'author' ) ) && ( $row->author != "" ) ) { + $grp = $acl->getAroGroup( $row->created_by ); + $is_frontend_user = $acl->is_group_child_of( intval( $grp->group_id ), 'Public Frontend', 'ARO' ); + $by = $is_frontend_user ? T_('Contributed by') : T_('Written by'); + ?> + + + + created_by_alias ? $row->created_by_alias : $row->author ); ?> + +    + + + created ) != 0 ) { + $create_date = mosFormatDate( $row->created ); + } + if ( $params->get( 'createdate' ) ) { + ?> + + + + + + get( 'url' ) && $row->urls ) { + ?> + + + + urls; ?> + + + + toc ) { + echo $row->toc; + } + } + + /** + * Writes Modified Date + */ + function ModifiedDate( $row, $params ) { + $mod_date = null; + if ( intval( $row->modified ) != 0) { + $mod_date = mosFormatDate( $row->modified ); + } + if ( ( $mod_date != '' ) && $params->get( 'modifydate' ) ) { + ?> + + + ( ) + + + get( 'readmore' ) ) { + if ( $params->get( 'intro_only' ) && $link_text ) { + ?> + + + + + + + + get( 'item_navigation' ) && ( $task == "view" ) && !$params->get( 'popup' ) ) { + ?> + + + prev ) { + ?> + + prev && $row->next ) { + ?> + + next ) { + ?> + + + +
      + + < + +   + + + + > + +
      + $row is passed with the id + * property set to 0. + * @param mosContent The category object + * @param string The html for the groups select list + */ + function editContent( &$row, $section, &$lists, &$images, &$access, $myid, $sectionid, $task, $Itemid ) { + global $mosConfig_live_site; + mosMakeHtmlSafe( $row ); + $Returnid = intval( mosGetParam( $_REQUEST, 'Returnid', $Itemid ) ); + ?> + + + + + + + + + + ".T_('Subject:')." "; + //$docinfo .= $row->title."
      "; + $docinfo = "".T_('Expiry Date:')." "; + $docinfo .= $row->publish_down."
      "; + $docinfo .= "".T_('Version:')." "; + $docinfo .= $row->version."
      "; + $docinfo .= "".T_('Created:')." "; + $docinfo .= $row->created."
      "; + $docinfo .= "".T_('Last Modified:')." "; + $docinfo .= $row->modified."
      "; + $docinfo .= "".T_('Hits:')." "; + $docinfo .= $row->hits."
      "; + ?> + + + + + +
      + / id ? T_('Edit') : T_('Add');?>  +     + + [] + + + +
      + +
      + + + + + + + + + sectionid) { + ?> + + + + + + + + + sectionid ) > 0) { + ?> + + + + + + + + + sectionid ) > 0) { + ?> + + + + + + + +
      + +
      + +
      + +
      + +
      + : + + : +
      + introtext , 'introtext', '500', '200', '65', '20' ) ; + ?> +
      + : +
      + fulltext , 'fulltext', '500', '400', '65', '20' ) ; + ?> +
      + startPane( 'content-pane' ); + $tabs->startTab( T_('Images'), 'images-page' ); + ?> + + + + + + + + + + + + + + + + + +
      + :: +
      + + + + + +
      + +
      + +
      + +
      + + + +
      + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + +
      +
      + <?php echo T_('No Image'); ?> + + <?php echo T_('No Image'); ?> +
      + endTab(); + $tabs->startTab( T_('Publishing'), 'publish-page' ); + ?> + + canPublish) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + + +
      + + + + +
      + + + frontpage ? 'checked="checked"' : ''; ?> /> +
      + endTab(); + $tabs->startTab( T_('Metadata'), 'meta-page' ); + ?> + + + + + + + + + +
      + + + +
      + + + +
      + + + + + + + + +
      + endTab(); + $tabs->endPane(); + ?> +
      + + + + <?php echo $mosConfig_sitename; ?> :: <?php echo $title; ?> + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
       
      + + + +
      + + + +
      + + + +
      + + + +
       
      + +    +
      + + +
      + + <?php echo $mosConfig_sitename; ?> + +
      +
      +
      + + + + diff -ruN 4.6rc2/uploadfiles/components/com_content/content.php 4.6-complete/uploadfiles/components/com_content/content.php --- 4.6rc2/uploadfiles/components/com_content/content.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_content/content.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1654 @@ +getPath( 'front_html', 'com_content' ) ); +require_once($mainframe->getPath('class')); + +$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) ); +$sectionid = intval( mosGetParam( $_REQUEST, 'sectionid', 0 ) ); +$pop = intval( mosGetParam( $_REQUEST, 'pop', 0 ) ); +$task = trim( mosGetParam( $_REQUEST, 'task', '' ) ); +$limit = intval( mosGetParam( $_REQUEST, 'limit', '' ) ); +$limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) ); + +$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 ); + +// Editor usertype check +$access = new stdClass(); +$access->canEdit = $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'all' ); +$access->canEditOwn = $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'own' ); +$access->canPublish = $acl->acl_check( 'action', 'publish', 'users', $my->usertype, 'content', 'all' ); + +// cache activation +$cache =& mosCache::getCache( 'com_content' ); + +// loads function for frontpage component +if ( $option == 'com_frontpage' ) { + //frontpage( $option, $gid, $pop, $now ); + $cache->call( 'frontpage', $gid, $access, $pop, $now ); + return; +} + +switch ( strtolower( $task ) ) { + case 'findkey': + findKeyItem( $gid, $access, $pop, $option, $now ); + break; + + case 'view': + showItem( $id, $gid, $access, $pop, $option, $now ); + break; + + case 'section': + $cache->call( 'showSection', $id, $gid, $access, $now ); + break; + + case 'category': + $cache->call( 'showCategory', $id, $gid, $access, $sectionid, $limit, $limitstart, $now ); + break; + + case 'blogsection': + $cache->call('showBlogSection', $id, $gid, $access, $pop, $now ); + break; + + case 'blogcategorymulti': + case 'blogcategory': + $cache->call( 'showBlogCategory', $id, $gid, $access, $pop, $now ); + break; + + case 'archivesection': + showArchiveSection( $id, $gid, $access, $pop, $option ); + break; + + case 'archivecategory': + showArchiveCategory( $id, $gid, $access, $pop, $option, $now ); + break; + + case 'edit': + editItem( $id, $gid, $access, 0, $task, $Itemid ); + break; + + case 'new': + editItem( 0, $gid, $access, $sectionid, $task, $Itemid ); + break; + + case 'save': + mosCache::cleanCache( 'com_content' ); + saveContent( $access ); + break; + + case 'cancel': + cancelContent( $access ); + break; + + case 'emailform': + emailContentForm( $id ); + break; + + case 'emailsend': + emailContentSend( $id ); + break; + + case 'vote': + recordVote ( $url , $user_rating , $cid , $database); + break; + + default: + $cache->call('showBlogSection', 0, $gid, $access, $pop, $now ); + break; +} + +/** + * Searches for an item by a key parameter + * @param int The user access level + * @param object Actions this user can perform + * @param int + * @param string The url option + * @param string A timestamp + */ +function findKeyItem( $gid, $access, $pop, $option, $now ) { + global $database; + $keyref = mosGetParam( $_REQUEST, 'keyref', '' ); + $keyref = $database->getEscaped( $keyref ); + + $query = 'SELECT id + FROM #__content + WHERE attribs LIKE \'%keyref=' . $keyref . '%\' + '; + $database->setQuery( $query ); + $id = $database->loadResult(); + if ($id > 0) { + showItem( $id, $gid, $access, $pop, $option, $now ); + } else { + echo 'Key not found '. $keyref; + } +} + +function frontpage( $gid, &$access, $pop, $now ) { + global $database, $mainframe, $my, $Itemid; + global $mosConfig_offset; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Parameters + $menu =& new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + $orderby_sec = $params->def( 'orderby_sec', '' ); + $orderby_pri = $params->def( 'orderby_pri', '' ); + + // Ordering control + $order_sec = _orderby_sec( $orderby_sec ); + $order_pri = _orderby_pri( $orderby_pri ); + + $now = date( "Y-m-d H:i:s", time()+$mosConfig_offset*60*60 ); + + // query records + $query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, cc.name AS category, g.name AS groups" + . "\n FROM #__content AS a" + . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = a.id" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = a.sectionid" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . "\n WHERE a.state = '1'" + . ( $noauth ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )" + . "\n ORDER BY ". $order_pri . $order_sec + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // Dynamic Page Title + $mainframe->SetPageTitle( $menu->name ); + + BlogOutput( $rows, $params, $gid, $access, $pop, $menu ); +} + + +function showSection( $id, $gid, &$access, $now ) { + global $database, $mainframe, $mosConfig_offset, $Itemid; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Paramters + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosEmpty(); + + } + $orderby = $params->get( 'orderby', '' ); + + $params->set( 'type', 'section' ); + + $params->def( 'page_title', 1 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'other_cat_section', 1 ); + $params->def( 'other_cat', 1 ); + $params->def( 'empty_cat', 0 ); + $params->def( 'cat_items', 1 ); + $params->def( 'cat_description', 1 ); + $params->def( 'description', 1 ); + $params->def( 'description-image', 1 ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + $params->def( 'pageclass_sfx', '' ); + + // Ordering control + $orderby = _orderby_sec( $orderby ); + + $section = new mosSection( $database ); + $section->load( $id ); + + if ( $access->canEdit ) { + $xwhere = ''; + $xwhere2 = "\n AND b.state >= '0'"; + } else { + $xwhere = "\n AND a.published = '1'"; + $xwhere2 = "\n AND b.state = '1'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )" + ; + } + + // show/hide empty categories + if ( $params->get( 'empty_cat' ) ) { + $empty = ''; + } else { + $empty = "\n HAVING COUNT( b.id ) > 0"; + } + + // Main Query + $query = ' + SELECT a.*, COUNT( b.id ) AS numitems + FROM #__categories AS a + LEFT JOIN #__content AS b ON b.catid = a.id '. $xwhere2 .' + WHERE a.section = \'' . $section->id .'\' '. $xwhere; + if ($noauth) { + $query .= ' + AND a.access <= '. $gid; + } + $query .= ' + GROUP BY a.id + ' . $empty . ' + ORDER BY ' . $orderby; + + $database->setQuery( $query ); + $other_categories = $database->loadObjectList(); + + // Dynamic Page Title + $mainframe->SetPageTitle( $menu->name ); + + HTML_content::showContentList( $section, NULL, $access, $id, NULL, $gid, $params, NULL, $other_categories, NULL ); +} + + +/** +* @param int The category id +* @param int The group id of the user +* @param int The access level of the user +* @param int The section id +* @param int The number of items to dislpay +* @param int The offset for pagination +*/ +function showCategory( $id, $gid, &$access, $sectionid, $limit, $limitstart, $now ) { + global $database, $mainframe, $Itemid, $mosConfig_offset, $mosConfig_list_limit; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + $selected = mosGetParam( $_POST, 'order', '' ); + + // Paramters + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + if ( $selected ) { + $orderby = $selected; + } else { + $orderby = $params->get( 'orderby', 'rdate' ); + $selected = $orderby; + } + + $params->set( 'type', 'category' ); + + $params->def( 'page_title', 1 ); + $params->def( 'title', 1 ); + $params->def( 'hits', $mainframe->getCfg( 'hits' ) ); + $params->def( 'author', !$mainframe->getCfg( 'hideAuthor' ) ); + $params->def( 'date', !$mainframe->getCfg( 'hideCreateDate' ) ); + $params->def( 'date_format', _DATE_FORMAT_LC ); + $params->def( 'navigation', 2 ); + $params->def( 'display', 1 ); + $params->def( 'display_num', $mosConfig_list_limit ); + $params->def( 'other_cat', 1 ); + $params->def( 'empty_cat', 0 ); + $params->def( 'cat_items', 1 ); + $params->def( 'cat_description', 0 ); + $params->def( 'description', 1 ); + $params->def( 'description-image', 1 ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'headings', 1 ); + $params->def( 'order_select', 1 ); + $params->def( 'filter', 1 ); + $params->def( 'filter_type', 'title' ); + + // Ordering control + $orderby = _orderby_sec( $orderby ); + + $category = new mosCategory( $database ); + $category->load( $id ); + + if ( $sectionid == 0 ) { + $sectionid = $category->section; + } + + $pathway =& mosPathway::getInstance(); + $pathway->addItem($category->title, categoryURL($sectionid, $id)); + + if ( $access->canEdit ) { + $xwhere = ''; + $xwhere2 = "\n AND b.state >= '0'"; + } else { + $xwhere = "\n AND c.published='1'"; + $xwhere2 = "\n AND b.state='1'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )" + ; + } + + $pagetitle = ''; + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $pagetitle = $menu->name; + } // if + + // show/hide empty categories + $empty = ''; + if ( !$params->get( 'empty_cat' ) ) + $empty = "\n HAVING COUNT( b.id ) > 0"; + + // get the list of other categories + $query = "SELECT c.*, COUNT( b.id ) AS numitems" + . "\n FROM #__categories AS c" + . "\n LEFT JOIN #__content AS b ON b.catid = c.id " + . $xwhere2 + . ( $noauth ? "\n AND b.access <= '". $gid ."'" : '' ) + . "\n WHERE c.section = '". $category->section. "'" + . $xwhere + . ( $noauth ? "\n AND c.access <= '". $gid ."'" : '' ) + . "\n GROUP BY c.id" + . $empty + . "\n ORDER BY c.ordering" + ; + $database->setQuery( $query ); + $other_categories = $database->loadObjectList(); + + // get the total number of published items in the category + // filter functionality + $_and = ''; + if ($filter = mosGetParam($_POST, 'filter', '')) { + $filter = strtolower( $filter ); + $filter = $database->getEscaped($filter); + if ( $params->get( 'filter' ) ) { + switch ( $params->get( 'filter_type' ) ) { + case 'title': + $_and = "\n AND LOWER( a.title ) LIKE '%". $filter ."%'"; + break; + case 'author': + $_and = "\n AND ( ( LOWER( u.name ) LIKE '%". $filter ."%' ) OR ( LOWER( a.created_by_alias ) LIKE '%". $filter ."%' ) )"; + break; + case 'hits': + $_and = "\n AND a.hits LIKE '%". $filter ."%'"; + break; + } + } + + } + + if ( $access->canEdit ) { + $xwhere = "\n AND a.state >= '0'"; + } else { + $xwhere = "\n AND a.state='1'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )" + ; + } + + $query = "SELECT COUNT(a.id) as numitems" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . "\n WHERE a.catid='". $category->id ."' ". $xwhere + . ( $noauth ? "\n AND a.access<='". $gid ."'" : '' ) + . "\n AND '". $category->access ."'<='". $gid ."'" + . $_and + . "\n ORDER BY ". $orderby ."" + ; + $database->setQuery( $query ); + $counter = $database->loadObjectList(); + $total = $counter[0]->numitems; + $limit = $limit ? $limit : $params->get( 'display_num' ) ; + if ( $total <= $limit ) $limitstart = 0; + + require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + + // get the list of items for this category + $query = "SELECT a.id, a.title, a.hits, a.created_by, a.created_by_alias, a.created AS created, a.access, u.name AS author, a.state, g.name AS groups" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . "\n WHERE a.catid='". $category->id ."' ". $xwhere + . ( $noauth ? "\n AND a.access<='". $gid ."'" : '' ) + . "\n AND '". $category->access ."'<='". $gid ."'" + . $_and + . "\n ORDER BY ". $orderby ."" + . "\n LIMIT ". $limitstart .", ". $limit + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + + $check = 0; + if ( $params->get( 'date' ) ) { + $order[] = mosHTML::makeOption( 'date', T_('Date Asc') ); + $order[] = mosHTML::makeOption( 'rdate', T_('Date Desc')); + $check .= 1; + } + if ( $params->get( 'title' ) ) { + $order[] = mosHTML::makeOption( 'alpha', T_('Title Asc') ); + $order[] = mosHTML::makeOption( 'ralpha', T_('Title Desc') ); + $check .= 1; + } + if ( $params->get( 'hits' ) ) { + $order[] = mosHTML::makeOption( 'hits', T_('Hits Asc') ); + $order[] = mosHTML::makeOption( 'rhits', T_('Hits Desc') ); + $check .= 1; + } + if ( $params->get( 'author' ) ) { + $order[] = mosHTML::makeOption( 'author', T_('Author Asc') ); + $order[] = mosHTML::makeOption( 'rauthor', T_('Author Desc') ); + $check .= 1; + } + $order[] = mosHTML::makeOption( 'order', T_('Ordering') ); + $lists['order'] = mosHTML::selectList( $order, 'order', 'class="inputbox" size="1" onchange="document.adminForm.submit();"', 'value', 'text', $selected ); + if ( $check < 1 ) { + $lists['order'] = ''; + $params->set( 'order_select', 0 ); + } + + $lists['task'] = 'category'; + $lists['filter'] = $filter; + + // Dynamic Page Title + $mainframe->SetPageTitle( $pagetitle ); + + HTML_content::showContentList( $category, $items, $access, $id, $sectionid, $gid, $params, $pageNav, $other_categories, $lists ); +} // showCategory + + +function showBlogSection( $id=0, $gid, &$access, $pop, $now=NULL ) { + global $database, $mainframe, $mosConfig_offset, $Itemid; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Parameters + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + // new blog multiple section handling + if ( !$id ) { + $id = $params->def( 'sectionid', 0 ); + } + + $where = _where( 1, $access, $noauth, $gid, $id, $now ); + + // Ordering control + $orderby_sec = $params->def( 'orderby_sec', 'rdate' ); + $orderby_pri = $params->def( 'orderby_pri', '' ); + $order_sec = _orderby_sec( $orderby_sec ); + $order_pri = _orderby_pri( $orderby_pri ); + + // Main data query + $query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, g.name AS groups" + . "\n FROM #__content AS a" + . "\n INNER JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . ( count( $where ) ? "\n WHERE ".implode( "\n AND ", $where ) : '' ) + . "\n AND s.access<=$gid" + . "\n ORDER BY ". $order_pri . $order_sec + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // Dynamic Page Title + if ($menu) { + $mainframe->setPageTitle( $menu->name ); + } + + BlogOutput( $rows, $params, $gid, $access, $pop, $menu ); +} + +function showBlogCategory( $id=0, $gid, &$access, $pop, $now ) { + global $database, $mainframe, $mosConfig_offset, $Itemid; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Paramters + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + // new blog multiple section handling + if ( !$id ) { + $id = $params->def( 'categoryid', 0 ); + } + + $where = _where( 2, $access, $noauth, $gid, $id, $now ); + + // Ordering control + $orderby_sec = $params->def( 'orderby_sec', 'rdate' ); + $orderby_pri = $params->def( 'orderby_pri', '' ); + $order_sec = _orderby_sec( $orderby_sec ); + $order_pri = _orderby_pri( $orderby_pri ); + + // Main data query + $query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, g.name AS groups, cc.name AS category" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . ( count( $where ) ? "\n WHERE ".implode( "\n AND ", $where ) : '' ) + . "\n AND s.access <= ". $gid + . "\n ORDER BY ". $order_pri . $order_sec; + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // Dynamic Page Title + $mainframe->SetPageTitle( $menu->name ); + + BlogOutput( $rows, $params, $gid, $access, $pop, $menu ); +} + +function showArchiveSection( $id=NULL, $gid, &$access, $pop, $option ) { + global $database, $mainframe, $mosConfig_offset; + global $Itemid; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + // Paramters + $year = mosGetParam( $_REQUEST, 'year', date( 'Y' ) ); + $month = mosGetParam( $_REQUEST, 'month', date( 'm' ) ); + + $params = new stdClass(); + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + $params->set( 'intro_only', 1 ); + $params->set( 'year', $year ); + $params->set( 'month', $month ); + + // Ordering control + $orderby_sec = $params->def( 'orderby_sec', 'rdate' ); + $orderby_pri = $params->def( 'orderby_pri', '' ); + $order_sec = _orderby_sec( $orderby_sec ); + $order_pri = _orderby_pri( $orderby_pri ); + + // used in query + $where = _where( -1, $access, $noauth, $gid, $id, NULL, $year, $month ); + + // checks to see if 'All Sections' options used + if ( $id == 0 ) { + $check = ''; + } else { + $check = 'AND a.sectionid = '. $id ; + } + // query to determine if there are any archived entries for the section + $query = "SELECT a.id" + . "\n FROM #__content as a" + . "\n WHERE a.state = '-1'" + . $check + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + $archives = count( $items ); + + // Main Query + $query = "SELECT a.*, ROUND(v.rating_sum/v.rating_count) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, g.name AS groups" + . "\n FROM #__content AS a" + . "\n INNER JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . ( count( $where ) ? "\n WHERE ". implode( "\n AND ", $where ) : '') + . "\n AND s.access <= ". $gid + . "\n ORDER BY ". $order_pri . $order_sec + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // initiate form + echo '
      '; + + // Dynamic Page Title + $mainframe->SetPageTitle( $menu->name ); + + if ( !$archives ) { + // if no archives for category, hides search and outputs empty message + echo '
      '. T_('There are currently no Archived Entries for this Category') .'
      '; + } else { + BlogOutput( $rows, $params, $gid, $access, $pop, $menu, 1 ); + } + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
      '; +} + + +function showArchiveCategory( $id=0, $gid, &$access, $pop, $option, $now ) { + global $database, $mainframe, $mosConfig_offset; + global $Itemid; + + // Parameters + $noauth = !$mainframe->getCfg( 'shownoauth' ); + $year = mosGetParam( $_REQUEST, 'year', date( 'Y' ) ); + $month = mosGetParam( $_REQUEST, 'month', date( 'm' ) ); + $module = trim( mosGetParam( $_REQUEST, 'module', '' ) ); + + // used by archive module + if ( $module ) { + $check = ''; + } else { + $check = 'AND a.catid = '. $id; + } + + if ( $Itemid ) { + $menu = new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + } else { + $menu = ""; + $params =& new mosParameters( '' ); + } + + $params->set( 'year', $year ); + $params->set( 'month', $month ); + + // Ordering control + $orderby_sec = $params->def( 'orderby', 'rdate' ); + $order_sec = _orderby_sec( $orderby_sec ); + + // used in query + $where = _where( -2, $access, $noauth, $gid, $id, NULL, $year, $month ); + + // query to determine if there are any archived entries for the category + $query = "SELECT a.id" + . "\n FROM #__content as a" + . "\n WHERE a.state = '-1'" + . "\n ". $check + ; + $database->setQuery( $query ); + $items = $database->loadObjectList(); + $archives = count( $items ); + + $query = "SELECT a.*, ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count, u.name AS author, u.usertype, s.name AS section, g.name AS groups" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . ( count( $where ) ? "\n WHERE ". implode( "\n AND ", $where ) : '' ) + . "\n AND s.access <= ". $gid + . "\n ORDER BY ". $order_sec + ; +// $database->setQuery( $query ); +// $rows = $database->loadObjectList(); + $rows = $database->doSQLget($query, 'mosExtendedContent'); + + // initiate form + echo '
      '; + + // Page Title + $mainframe->SetPageTitle( $menu->name ); + + if ( !$archives ) { + // if no archives for category, hides search and outputs empty message + echo '
      '. T_('There are currently no Archived Entries for this Category') .'
      '; + } else { + BlogOutput( $rows, $params, $gid, $access, $pop, $menu, 1 ); + } + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
      '; +} + + +function BlogOutput ( &$rows, &$params, $gid, &$access, $pop, &$menu, $archive=NULL ) { + global $mainframe, $Itemid, $task, $id, $option, $database, $mosConfig_live_site; + + // parameters + if ( $params->get( 'page_title', 1 ) && $menu) { + $header = $params->def( 'header', $menu->name ); + } else { + $header = ''; + } + $columns = $params->def( 'columns', 2 ); + if ( $columns == 0 ) { + $columns = 1; + } + $intro = $params->def( 'intro', 4 ); + $leading = $params->def( 'leading', 1 ); + $links = $params->def( 'link', 4 ); + $pagination = $params->def( 'pagination', 2 ); + $pagination_results = $params->def( 'pagination_results', 1 ); + $pagination_results = $params->def( 'pagination_results', 1 ); + $descrip = $params->def( 'description', 1 ); + $descrip_image = $params->def( 'description_image', 1 ); + // needed for back button for page + $back = $params->get( 'back_button', $mainframe->getCfg( 'back_button' ) ); + // needed to disable back button for item + $params->set( 'back_button', 0 ); + $params->def( 'pageclass_sfx', '' ); + $params->set( 'intro_only', 1 ); + + $total = count( $rows ); + + // pagination support + $limitstart = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) ); + $limit = $intro + $leading + $links; + if ( $total <= $limit ) { + $limitstart = 0; + } + $i = $limitstart; + + // needed to reduce queries used by getItemid + require_once(mamboCore::get('mosConfig_absolute_path').'/components/com_content/content.class.php'); + $handler =& new contentHandler(); + $ItemidCount['bs'] = $handler->getBlogSectionCount(); + $ItemidCount['bc'] = $handler->getBlogCategoryCount(); + $ItemidCount['gbs'] = $handler->getGlobalBlogSectionCount(); + + // used to display section/catagory description text and images + // currently not supported in Archives + if ( $menu && $menu->componentid && ( $descrip || $descrip_image ) ) { + switch ( $menu->type ) { + case 'content_blog_section': + $description = new mosSection( $database ); + $description->load( $menu->componentid ); + break; + + case 'content_blog_category': + $description = new mosCategory( $database ); + $description->load( $menu->componentid ); + break; + + default: + $menu->componentid = 0; + break; + } + } + + // Page Output + // page header + if ( $header ) { + echo '
      '. $header .'
      '; + } + + if ( $archive ) { + echo '
      '; + echo mosHTML::monthSelectList( 'month', 'size="1" class="inputbox"', $params->get( 'month' ) ); + echo mosHTML::integerSelectList( 2000, 2010, 1, 'year', 'size="1" class="inputbox"', $params->get( 'year' ), "%04d" ); + echo ''; + } + + // checks to see if there are there any items to display + if ( $total ) { + $col_with = 100 / $columns; // width of each column + $width = 'width="'. $col_with .'%"'; + + if ( $archive ) { + // Search Success message + $msg = sprintf( T_('Here are the Archived entries for %s %s'), $params->get( 'month' ), $params->get( 'year' ) ); + echo "

      ". $msg ."


      "; + } + echo ''; + + // Secrion/Category Description & Image + if ( $menu && $menu->componentid && ( $descrip || $descrip_image ) ) { + $link = $mosConfig_live_site .'/images/stories/'. $description->image; + echo ''; + echo ''; + echo ''; + } + + // Leading story output + if ( $leading ) { + echo ''; + echo ''; + echo ''; + } + + if ( $intro && ( $i < $total ) ) { + echo ''; + echo ''; + echo ''; + } + + // Links output + if ( $links && ( $i < $total ) ) { + echo ''; + echo ''; + echo ''; + } + + // Pagination output + if ( $pagination ) { + if ( ( $pagination == 2 ) && ( $total <= $limit ) ) { + // not visible when they is no 'other' pages to display + } else { + // get the total number of records + $limitstart = $limitstart ? $limitstart : 0; + require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $total, $limitstart, $limit ); + if ( $option == 'com_frontpage' ) { + $link = 'index.php?option=com_frontpage&Itemid='. $Itemid; + } else if ( $archive ) { + $year = $params->get( 'year' ); + $month = $params->get( 'month' ); + $link = 'index.php?option=com_content&task='. $task .'&id='. $id .'&Itemid='. $Itemid.'&year='. $year .'&month='. $month; + } else { + $link = 'index.php?option=com_content&task='. $task .'&id='. $id .'&Itemid='. $Itemid; + } + echo ''; + echo ''; + echo ''; + if ( $pagination_results ) { + echo ''; + echo ''; + echo ''; + } + } + } + + echo '
      '; + if ( $descrip_image && $description->image ) { + echo ''; + } + if ( $descrip && $description->description ) { + echo $description->description; + } + echo '

      '; + echo '
      '; + for ( $z = 0; $z < $leading; $z++ ) { + if ( $i >= $total ) { + // stops loop if total number of items is less than the number set to display as leading + break; + } + echo '
      '; + show( $rows[$i], $params, $gid, $access, $pop, $option, $ItemidCount ); + echo '
      '; + $i++; + } + echo '
      '; + echo ''; + // intro story output + for ( $z = 0; $z < $intro; $z++ ) { + if ( $i >= $total ) { + // stops loop if total number of items is less than the number set to display as intro + leading + break; + } + + if ( !( $z % $columns ) || $columns == 1 ) { + echo ''; + } + + echo ''; + echo ''; + break; + } + + echo ''; + + if ( !( ( $z + 1 ) % $columns ) || $columns == 1 ) { + echo ''; + } + + $i++; + } + + // this is required to output a final closing tag when the number of items does not fully + // fill the last row of output - a blank column is left + if ( $intro % $columns ) { + echo ''; + } + + echo '
      '; + + // outputs either intro or only a link + if ( $z < $intro ) { + show( $rows[$i], $params, $gid, $access, $pop, $option, $ItemidCount ); + } else { + echo '
      '; + echo '
      '; + echo '
      '; + HTML_content::showLinks( $rows, $links, $total, $i, 1, $ItemidCount ); + echo '
      '; + echo '
      '; + echo $pageNav->writePagesLinks( $link ); + echo '

      '; + echo '
      '; + echo $pageNav->writePagesCounter(); + echo '
      '; + + } else if ( $archive && !$total ) { + // Search Failure message for Archives + $msg = sprintf( T_('There are no Archived entries for %s %s'), $params->get( 'month' ), $params->get( 'year' ) ); + echo '

      '. $msg .'

      '; + } else { + // Generic blog empty display + echo T_('There are no items to display'); + } + + // Back Button + $params->set( 'back_button', $back ); + mosHTML::BackButton ( $params ); +} + + +function showItem( $uid, $gid, &$access, $pop, $option, $now ) { + global $database, $mainframe; + global $mosConfig_offset, $mosConfig_live_site, $mosConfig_MetaTitle, $mosConfig_MetaAuthor; + + if ( $access->canEdit ) { + $xwhere=''; + } else { + $xwhere = "AND (a.state = '1' OR a.state = '-1')" + . "\n AND (publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now')" + . "\n AND (publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now')" + ; + } + + $query = "SELECT a.*, ROUND(v.rating_sum/v.rating_count) AS rating, v.rating_count, u.name AS author, u.usertype, cc.name AS category, s.name AS section, g.name AS groups" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__categories AS cc ON cc.id = a.catid" + . "\n LEFT JOIN #__sections AS s ON s.id = cc.section AND s.scope='content'" + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n LEFT JOIN #__content_rating AS v ON a.id = v.content_id" + . "\n LEFT JOIN #__groups AS g ON a.access = g.id" + . "\n WHERE a.id='". $uid ."' ". $xwhere + . "\n AND a.access <= ". $gid + ; + $database->setQuery( $query ); +// $row = NULL; + $row = new mosExtendedContent(); + + if ( $database->loadObject( $row ) ) { + $pathway =& mosPathway::getInstance(); + $pathway->addItem($row->category, categoryURL($row->sectionid, $row->catid)); + $pathway->addItem($row->title, ''); + $params =& new mosParameters( $row->attribs ); + $params->set( 'intro_only', 0 ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + if ( $row->sectionid == 0) { + $params->set( 'item_navigation', 0 ); + } else { + $params->set( 'item_navigation', $mainframe->getCfg( 'item_navigation' ) ); + } + // loads the links for Next & Previous Button + if ( $params->get( 'item_navigation' ) ) { + $query = "SELECT a.id" + . "\n FROM #__content AS a" + . "\n WHERE a.catid = ". $row->catid."" + . "\n AND a.state = $row->state AND ordering < $row->ordering" + . ($access->canEdit ? "" : "\n AND a.access <= '". $gid ."'" ) + . "\n ORDER BY a.ordering DESC" + . "\n LIMIT 1" + ; + $database->setQuery( $query ); + $row->prev = $database->loadResult(); + + $query = "SELECT a.id" + . "\n FROM #__content AS a" + . "\n WHERE a.catid = ". $row->catid."" + . "\n AND a.state = $row->state AND ordering > $row->ordering" + . ($access->canEdit ? "" : "\n AND a.access <= '". $gid ."'" ) + . "\n ORDER BY a.ordering" + . "\n LIMIT 1" + ; + $database->setQuery( $query ); + $row->next = $database->loadResult(); + } + // page title + $mainframe->setPageTitle( $row->title ); + if ($mosConfig_MetaTitle=='1') { + $mainframe->addMetaTag( 'title' , $row->title ); + } + if ($mosConfig_MetaAuthor=='1') { + $mainframe->addMetaTag( 'author' , $row->author ); + } + + show( $row, $params, $gid, $access, $pop, $option ); + } else { + mosNotAuth(); + return; + } +} + + +function show( $row, $params, $gid, &$access, $pop, $option, $ItemidCount=NULL ) { + global $database, $mainframe, $Itemid; + global $mosConfig_live_site, $mosConfig_absolute_path; + global $options, $cache; + + $noauth = !$mainframe->getCfg( 'shownoauth' ); + + if ( $access->canEdit ) { + if ( $row->id === null || $row->access > $gid ) { + mosNotAuth(); + return; + } + } else { + if ( $row->id === null || $row->state == 0 ) { + mosNotAuth(); + return; + } + if ( $row->access > $gid ) { + if ( $noauth ) { + mosNotAuth(); + return; + } else { + if ( !( $params->get( 'intro_only' ) ) ) { + mosNotAuth(); + return; + } + } + } + } + + // GC Parameters + $params->def( 'link_titles', $mainframe->getCfg( 'link_titles' ) ); + $params->def( 'author', !$mainframe->getCfg( 'hideAuthor' ) ); + $params->def( 'createdate', !$mainframe->getCfg( 'hideCreateDate' ) ); + $params->def( 'modifydate', !$mainframe->getCfg( 'hideModifyDate' ) ); + $params->def( 'print', !$mainframe->getCfg( 'hidePrint' ) ); + $params->def( 'pdf', !$mainframe->getCfg( 'hidePdf' ) ); + $params->def( 'email', !$mainframe->getCfg( 'hideEmail' ) ); + $params->def( 'rating', $mainframe->getCfg( 'vote' ) ); + $params->def( 'icons', $mainframe->getCfg( 'icons' ) ); + $params->def( 'readmore', $mainframe->getCfg( 'readmore' ) ); + // Other Params + $params->def( 'image', 1 ); + $params->def( 'section', 0 ); + $params->def( 'section_link', 0 ); + $params->def( 'category', 0 ); + $params->def( 'category_link', 0 ); + $params->def( 'introtext', 1 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'item_title', 1 ); + $params->def( 'url', 1 ); + + // loads the link for Section name + if ( $params->get( 'section_link' ) ) { + $query = "SELECT a.id" + . "\n FROM #__menu AS a" + . "\n WHERE a.componentid = '". $row->sectionid."'" + . "\n AND a.type = 'content_section'" + . "\n AND a.published = 1" + ; + $database->setQuery( $query ); + $_Itemid = $database->loadResult(); + if (!intval($_Itemid)) + $_Itemid = intval($Itemid) ? intval($Itemid) : 1; + $link = sefRelToAbs( 'index.php?option=com_content&task=section&id='. $row->sectionid .'&Itemid='.$_Itemid ); + $row->section = ''. $row->section .''; + } + + // loads the link for Category name + if ( $params->get( 'category_link' ) ) { + $query = "SELECT a.id" + . "\n FROM #__menu AS a" + . "\n WHERE a.componentid = ". $row->catid."" + . "\n AND a.type = 'content_category'" + . "\n AND a.published = 1" + ; + $database->setQuery( $query ); + $_Itemid = $database->loadResult(); + if (!intval($_Itemid)) + $_Itemid = intval($Itemid) ? intval($Itemid) : 1; + $link = sefRelToAbs( 'index.php?option=com_content&task=section&id='. $row->sectionid .'&Itemid='.$_Itemid ); + $link = sefRelToAbs( 'index.php?option=com_content&task=category&sectionid='. $row->sectionid .'&id='. $row->catid .'&Itemid='.$_Itemid ); + $row->category = ''. $row->category .''; + } + + // loads current template for the pop-up window + $template = ''; + if ( $pop ) { + $params->set( 'popup', 1 ); + $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" ); + $template = $database->loadResult(); + } + + // show/hides the intro text + if ( $params->get( 'introtext' ) ) { + $row->text = $row->introtext. ( $params->get( 'intro_only' ) ? '' : chr(13) . chr(13) . $row->fulltext); + } else { + $row->text = $row->fulltext; + } + + // deal with the {mospagebreak} mambots + // only permitted in the full text area + $page = intval( mosGetParam( $_REQUEST, 'limitstart', 0 ) ); + + // record the hit + if ( !$params->get( 'intro_only' ) ) { + $obj = new mosContent( $database ); + $obj->hit( $row->id ); + } + + $cache->call( 'HTML_content::show', $row, $params, $access, $page, $option, $ItemidCount ); +} + + +function editItem( $uid, $gid, &$access, $sectionid=0, $task, $Itemid ){ + global $database, $mainframe, $my; + global $mosConfig_absolute_path, $mosConfig_live_site; + + $row = new mosContent( $database ); + // load the row from the db table + $row->load( $uid ); + + // fail if checked out not by 'me' + if ( $row->checked_out && $row->checked_out <> $my->id ) { + echo""; + exit; + } + + if ( $uid ) { + // existing record + if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) { + mosNotAuth(); + return; + } + } else { + // new record + if (!($access->canEdit || $access->canEditOwn)) { + mosNotAuth(); + return; + } + } + + if ( $uid ) { + $sectionid = $row->sectionid; + } + + $lists = array(); + + // get the type name - which is a special category + $query = "SELECT name FROM #__sections WHERE id='$sectionid'"; + $database->setQuery( $query ); + $section = $database->loadResult(); + + if ( $uid == 0 ) { + $row->catid = 0; + } + + if ( $uid ) { + $row->checkout( $my->id ); + if (trim( $row->publish_down ) == "0000-00-00 00:00:00") { + $row->publish_down = 'Never'; + } + if (trim( $row->images )) { + $row->images = explode( "\n", $row->images ); + } else { + $row->images = array(); + } + $query = "SELECT name from #__users" + . "\n WHERE id = ". $row->created_by + ; + $database->setQuery( $query ); + $row->creator = $database->loadResult(); + + $query = "SELECT name from #__users" + . "\n WHERE id = ". $row->modified_by + ; + $database->setQuery( $query ); + $row->modifier = $database->loadResult(); + + $query = "SELECT content_id from #__content_frontpage" + ."\n WHERE content_id = ". $row->id + ; + $database->setQuery( $query ); + $row->frontpage = $database->loadResult(); + } else { + $row->sectionid = $sectionid; + $row->version = 0; + $row->state = 0; + $row->ordering = 0; + $row->images = array(); + $row->publish_up = date( 'Y-m-d', time() ); + $row->publish_down = 'Never'; + $row->creator = 0; + $row->modifier = 0; + $row->frontpage = 0; + } + + // calls function to read image from directory + $pathA = $mosConfig_absolute_path .'/images/stories'; + $pathL = $mosConfig_live_site .'/images/stories'; + $images = array(); + $folders = array(); + $folders[] = mosHTML::makeOption( '/' ); + require_once($mosConfig_absolute_path.'/administrator/includes/mosAdminMenus.php'); + mosAdminMenus::ReadImages( $pathA, '/', $folders, $images ); + // list of folders in images/stories/ + $lists['folders'] = mosAdminMenus::GetImageFolders( $folders, $pathL ); + // list of images in specfic folder in images/stories/ + $lists['imagefiles'] = mosAdminMenus::GetImages( $images, $pathL ); + // list of saved images + $lists['imagelist'] = mosAdminMenus::GetSavedImages( $row, $pathL ); + + // make the select list for the states + $states[] = mosHTML::makeOption( 0, T_('Unpublished') ); + $states[] = mosHTML::makeOption( 1, T_('Published') ); + $lists['state'] = mosHTML::selectList( $states, 'state', 'class="inputbox" size="1"', 'value', 'text', intval( $row->state ) ); + + // build the html select list for ordering + $query = "SELECT ordering AS value, title AS text" + . "\n FROM #__content" + . "\n WHERE catid = '$row->catid'" + . "\n ORDER BY ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $uid, $query, 1 ); + // build list of categories + $lists['catid'] = mosAdminMenus::ComponentCategory( 'catid', $sectionid, intval( $row->catid ) ); + // build the select list for the image positions + $lists['_align'] = mosAdminMenus::Positions( '_align' ); + // build the html select list for the group access + $lists['access'] = mosAdminMenus::Access( $row ); + + HTML_content::editContent( $row, $section, $lists, $images, $access, $my->id, $sectionid, $task, $Itemid ); +} + + +/** +* Saves the content item an edit form submit +*/ +function saveContent( &$access ) { + global $database, $mainframe, $my; + global $mosConfig_absolute_path; + + $row = new mosContent( $database ); + if ( !$row->bind( $_POST ) ) { + echo "\n"; + exit(); + } + // sanitize + $row->id = intval($row->id); + $row->catid = intval($row->catid); + $row->sectionid = intval($row->sectionid); + $isNew = $row->id < 1; + if ( $isNew ) { + // new record + if ( !( $access->canEdit || $access->canEditOwn ) ) { + mosNotAuth(); + return; + } + $row->created = date( 'Y-m-d H:i:s' ); + $row->created_by = $my->id; + } else { + // existing record + if ( !( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) ) { + mosNotAuth(); + return; + } + $row->modified = date( 'Y-m-d H:i:s' ); + $row->modified_by = $my->id; + } + if ( trim( $row->publish_down ) == 'Never' ) { + $row->publish_down = '0000-00-00 00:00:00'; + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + $row->version++; + if (!$row->store()) { + echo "\n"; + exit(); + } + + // manage frontpage items + require_once( $mainframe->getPath( 'class', 'com_frontpage' ) ); + $fp = new mosFrontPage( $database ); + + if ( mosGetParam( $_REQUEST, 'frontpage', 0 ) ) { + + // toggles go to first place + if (!$fp->load( $row->id )) { + // new entry + $database->setQuery( "INSERT INTO #__content_frontpage VALUES ('$row->id','1')" ); + if (!$database->query()) { + echo "\n"; + exit(); + } + $fp->ordering = 1; + } + } else { + // no frontpage mask + if ( !$fp->delete( $row->id ) ) { + $msg .= $fp->stderr(); + } + $fp->ordering = 0; + } + $fp->updateOrder(); + + $row->checkin(); + $row->updateOrder( "catid='$row->catid'" ); + + // gets section name of item + $database->setQuery( "SELECT s.title" + . "\n FROM #__sections AS s" + . "\n WHERE s.scope = 'content'" + . "\n AND s.id = '". $row->sectionid ."'" + ); + // gets category name of item + $section = $database->loadResult(); + $database->setQuery( "SELECT c.title" + . "\n FROM #__categories AS c" + . "\n WHERE c.id = '". $row->catid ."'" + ); + $category = $database->loadResult(); + + if ( $isNew ) { + // messaging for new items + require_once( $mosConfig_absolute_path .'/components/com_messages/messages.class.php' ); + + $database->setQuery( "SELECT id FROM #__users WHERE sendEmail = '1'" ); + $users = $database->loadResultArray(); + foreach ($users as $user_id) { + $msg = new mosMessage( $database ); + $msg->send( $my->id, $user_id, T_("New Item"), sprintf( T_('A new content item has been submitted by [ %s ] titled [ %s ] from section [ %s ] and category [ %s ]'), $my->username, $row->title, $section, $category ) ); + } + } + + $Itemid = mosGetParam( $_POST, 'Returnid', '0' ); + $msg = $isNew ? T_('Thanks for your submission; it will be reviewed before being posted to the site.') : T_('Item saved successfully.'); + mosRedirect( 'index.php', $msg ); +} + + +/** +* Cancels an edit operation +* @param database A database connector object +*/ +function cancelContent( &$access ) { + global $database, $mainframe, $my; + + $row = new mosContent( $database ); + $row->bind( $_POST ); + + if ( $access->canEdit || ( $access->canEditOwn && $row->created_by == $my->id ) ) { + $row->checkin(); + } + + $Itemid = mosGetParam( $_POST, 'Returnid', '0' ); + + mosRedirect( 'index.php' ); +} + +/** +* Shows the email form for a given content item. +*/ +function emailContentForm( $uid ) { + global $database, $mainframe, $my; + $row = new mosContent( $database ); + $row->load( $uid ); + + if ( $row->id === null || $row->access > $my->gid ) { + mosNotAuth(); + return; + } else { + $template=''; + $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id = '0' AND menuid = '0'" ); + $template = $database->loadResult(); + HTML_content::emailForm( $row->id, $row->title, $template ); + } + +} + + +/** +* Shows the email form for a given content item. +*/ +function emailContentSend( $uid ) { + global $database, $mainframe; + global $mosConfig_live_site, $mosConfig_sitename; + global $mosConfig_mailfrom, $mosConfig_fromname; + + $_Itemid = $mainframe->getItemid( $uid, 0, 0 ); + + $email = trim( mosGetParam( $_POST, 'email', '' ) ); + $yourname = trim( mosGetParam( $_POST, 'yourname', '' ) ); + $youremail = trim( mosGetParam( $_POST, 'youremail', '' ) ); + $subject_default = sprintf(T_('Item sent by %s'), $yourname); + $subject = trim( mosGetParam( $_POST, 'subject', $subject_default ) ); + + $form_check = mosGetParam( $_POST, 'form_check', '' ); + if (empty($_SESSION['_form_check_']['com_content']) || $form_check != $_SESSION['_form_check_']['com_content']) { + // the form hasn't been generated by the server on this session + exit; + } + if ( !$email || !$youremail || ( is_email( $email ) == false ) || ( is_email( $youremail ) == false ) ) { + echo ""; + exit(0); + } + + $template=''; + $database->setQuery( "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'" ); + $template = $database->loadResult(); + + // link sent in email + $link = sefRelToAbs( $mosConfig_live_site .'/index.php?option=com_content&task=view&id='. $uid .'&Itemid='. $_Itemid ); + // message text + $msg = sprintf( T_(' The following page from the "%s" website has been sent to you by %s ( %s ). + +You can access it at the following url: +%s'), $mosConfig_sitename, $yourname, $youremail, $link ); + + // mail function + mosMail( $mosConfig_mailfrom, $mosConfig_fromname, $email, $subject, $msg ); + + HTML_content::emailSent( $email, $template ); +} + +function is_email( $email ){ + $rBool = false; + + if ( preg_match( "/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email ) ) { + $rBool = true; + } + return $rBool; +} + +function recordVote() { + global $database; + + $user_rating = mosGetParam( $_REQUEST, 'user_rating', 0 ); + $url = mosGetParam( $_REQUEST, 'url', '' ); + $cid = mosGetParam( $_REQUEST, 'cid', 0 ); + $cid = intval( $cid ); + $user_rating = intval( $user_rating ); + + if ( ( $user_rating >= 1 ) and ( $user_rating <= 5 ) ) { + $currip = getenv( 'REMOTE_ADDR' ); + + $query = "SELECT * FROM #__content_rating WHERE content_id = $cid"; + $database->setQuery( $query ); + $votesdb = NULL; + if ( !( $database->loadObject( $votesdb ) ) ) { + $query = "INSERT INTO #__content_rating ( content_id, lastip, rating_sum, rating_count )" + . "\n VALUES ( '$cid', '$currip', '$user_rating', '1' )"; + $database->setQuery( $query ); + $database->query() or die( $database->stderr() );; + } else { + if ($currip <> ($votesdb->lastip)) { + $query = "UPDATE #__content_rating" + . "\n SET rating_count = rating_count + 1," + . "\n rating_sum = rating_sum + $user_rating," + . "\n lastip = '$currip'" + . "\n WHERE content_id = ". $cid + ; + $database->setQuery( $query ); + $database->query() or die( $database->stderr() ); + } else { + mosRedirect ( $url, T_('You already voted for this poll today!') ); + } + } + mosRedirect ( $url, T_('Thanks for your vote!') ); + } +} + + +function _orderby_pri( $orderby ) { + switch ( $orderby ) { + case 'alpha': + $orderby = 'cc.title, '; + break; + case 'ralpha': + $orderby = 'cc.title DESC, '; + break; + case 'order': + $orderby = 'cc.ordering, '; + break; + default: + $orderby = ''; + break; + } + + return $orderby; +} + + +function _orderby_sec( $orderby ) { + switch ( $orderby ) { + case 'date': + $orderby = 'a.created'; + break; + case 'rdate': + $orderby = 'a.created DESC'; + break; + case 'alpha': + $orderby = 'a.title'; + break; + case 'ralpha': + $orderby = 'a.title DESC'; + break; + case 'hits': + $orderby = 'a.hits DESC'; + break; + case 'rhits': + $orderby = 'a.hits ASC'; + break; + case 'order': + $orderby = 'a.ordering'; + break; + case 'author': + $orderby = 'a.created_by, u.name'; + break; + case 'rauthor': + $orderby = 'a.created_by DESC, u.name DESC'; + break; + case 'front': + $orderby = 'f.ordering'; + break; + default: + $orderby = 'a.ordering'; + break; + } + + return $orderby; +} + +/* +* @param int 0 = Archives, 1 = Section, 2 = Category +*/ +function _where( $type=1, &$access, &$noauth, $gid, $id, $now=NULL, $year=NULL, $month=NULL ) { + $where = array(); + + // normal + if ( $type > 0) { + $where[] = "a.state = '1'"; + if ( !$access->canEdit ) { + $where[] = "( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )"; + $where[] = "( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )"; + } + if ( $noauth ) { + $where[] = "a.access <= '". $gid ."'"; + } + if ( $id > 0 ) { + if ( $type == 1 ) { + $where[] = "a.sectionid IN ( ". $id ." ) "; + } else if ( $type == 2 ) { + $where[] = "a.catid IN ( ". $id ." ) "; + } + } + } + + // archive + if ( $type < 0 ) { + $where[] = "a.state='-1'"; + if ( $year ) { + $where[] = "YEAR( a.created ) = '". $year ."'"; + } + if ( $month ) { + $where[] = "MONTH( a.created ) = '". $month ."'"; + } + if ( $noauth ) { + $where[] = "a.access <= '". $gid ."'"; + } + if ( $id > 0 ) { + if ( $type == -1 ) { + $where[] = "a.sectionid = '". $id ."'"; + } else if ( $type == -2) { + $where[] = "a.catid = '". $id ."'"; + } + } + } + + return $where; +} + +function sectionURL ($sectionid) { + global $Itemid; + return "index.php?option=com_content&task=section&id=$sectionid&Itemid=$Itemid"; +} + +function categoryURL ($sectionid, $catid) { + global $Itemid; + return "index.php?option=com_content&task=category§ionid=$sectionid&id=$catid&Itemid=$Itemid"; +} + +?> diff -ruN 4.6rc2/uploadfiles/components/com_content/index.html 4.6-complete/uploadfiles/components/com_content/index.html --- 4.6rc2/uploadfiles/components/com_content/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_content/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_frontpage/frontpage.class.php 4.6-complete/uploadfiles/components/com_frontpage/frontpage.class.php --- 4.6rc2/uploadfiles/components/com_frontpage/frontpage.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_frontpage/frontpage.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,31 @@ +mosDBTable( '#__content_frontpage', 'content_id', $db ); + } +} +?> diff -ruN 4.6rc2/uploadfiles/components/com_frontpage/frontpage.php 4.6-complete/uploadfiles/components/com_frontpage/frontpage.php --- 4.6rc2/uploadfiles/components/com_frontpage/frontpage.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_frontpage/frontpage.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,19 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_frontpage/index.html 4.6-complete/uploadfiles/components/com_frontpage/index.html --- 4.6rc2/uploadfiles/components/com_frontpage/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_frontpage/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_login/index.html 4.6-complete/uploadfiles/components/com_login/index.html --- 4.6rc2/uploadfiles/components/com_login/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_login/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_login/login.html.php 4.6-complete/uploadfiles/components/com_login/login.html.php --- 4.6rc2/uploadfiles/components/com_login/login.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_login/login.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,178 @@ +get( 'login' )) ? $params->get( 'login' ) : 'index.php'; + + $return = mosGetParam( $_SERVER, 'REQUEST_URI', null ); + ?> +
      + + + + + + + + + + + +
      + get( 'page_title' ) ) { + ?> +
      + get( 'header_login' ); ?> +
      + +
      + + get( 'description_login' ) ) { + ?> + get( 'description_login_text' ); ?> +

      + +
      +
      +
      + + + + + + + + + + + + +
      + +
      +
      + +
      +
      + + + +
      +
      + + +
      + + + + get( 'registration' ) ) { + ?> +
      + + + + + +


      +
      +
      +
      + +
      + +
      + +
      + + + + + + +
      + get( 'logout' )) ? $params->get( 'logout' ) : 'index.php'; + ?> +
      + + + + + + + +
      + get( 'page_title' ) ) { + ?> +
      + get( 'header_logout' ); ?> +
      + +
      + get( 'description_logout' ) ) { + echo $params->get( 'description_logout_text' ); + ?> +

      + +
      +
      +
      + +
      +
      + + + + + + +
      + diff -ruN 4.6rc2/uploadfiles/components/com_login/login.php 4.6-complete/uploadfiles/components/com_login/login.php --- 4.6rc2/uploadfiles/components/com_login/login.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_login/login.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,65 @@ +getPath( 'front_html' ) ); + +global $database, $my; +global $mosConfig_live_site; + +$return = mosGetParam( $_SERVER, 'REQUEST_URI', null ); +$return = ampReplace( $return ); + +$menuhandler =& mosMenuHandler::getInstance(); +$menu =& $menuhandler->getMenuByID($Itemid); +$params =& new mosParameters( $menu->params ); + +$params->def( 'page_title', 1 ); +$params->def( 'header_login', $menu->name ); +$params->def( 'header_logout', $menu->name ); +$params->def( 'pageclass_sfx', '' ); +$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); +$params->def( 'login', $mosConfig_live_site ); +$params->def( 'logout', $mosConfig_live_site ); +$params->def( 'login_message', 0 ); +$params->def( 'logout_message', 0 ); +$params->def( 'description_login', 1 ); +$params->def( 'description_logout', 1 ); +$params->def( 'description_login_text', T_('To access the Private areas of this site please Login') ); +$params->def( 'description_logout_text', T_('You are now Logged in to a private area of this site') ); +$params->def( 'image_login', 'key.jpg' ); +$params->def( 'image_logout', 'key.jpg' ); +$params->def( 'image_login_align', 'right' ); +$params->def( 'image_logout_align', 'right' ); +$params->def( 'registration', $mainframe->getCfg( 'allowUserRegistration' ) ); + +$image_login = ''; +$image_logout = ''; +if ( $params->get( 'image_login' ) <> -1 ) { + $image = $mosConfig_live_site .'/images/stories/'. $params->get( 'image_login' ); + $image_login = ''; +} +if ( $params->get( 'image_logout' ) <> -1 ) { + $image = $mosConfig_live_site .'/images/stories/'. $params->get( 'image_logout' ); + $image_logout = ''; +} + +if ( $my->id ) { + loginHTML::logoutpage( $params, $image_logout ); +} else { + loginHTML::loginpage( $params, $image_login ); +} + +?> diff -ruN 4.6rc2/uploadfiles/components/com_messages/index.html 4.6-complete/uploadfiles/components/com_messages/index.html --- 4.6rc2/uploadfiles/components/com_messages/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_messages/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_messages/messages.class.php 4.6-complete/uploadfiles/components/com_messages/messages.class.php --- 4.6rc2/uploadfiles/components/com_messages/messages.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_messages/messages.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,88 @@ +mosDBTable( '#__messages', 'message_id', $db ); + } + + function send( $from_id=null, $to_id=null, $subject=null, $message=null ) { + global $database; + global $mosConfig_site_name; + + if (is_object( $this )) { + $from_id = $from_id ? $from_id : $this->user_id_from; + $to_id = $to_id ? $to_id : $this->user_id_to; + $subject = $subject ? $subject : $this->subject; + $message = $message ? $message : $this->message; + } + + $database->setQuery( "SELECT cfg_name, cfg_value" + . "\nFROM #__messages_cfg" + . "\nWHERE user_id='$to_id'" + ); + $config = $database->loadObjectList( 'cfg_name' ); + $locked = @$config['lock']->cfg_value; + $domail = @$config['mail_on_new']->cfg_value; + + if (!$locked) { + + $this->user_id_from = $from_id; + $this->user_id_to = $to_id; + $this->subject = $subject; + $this->message = $message; + $this->date_time = date( "Y-m-d H:i:s" ); + + if ($this->store()) { + if ($domail) { + $database->setQuery( "SELECT email FROM #__users WHERE id='$to_id'" ); + $recipient = $database->loadResult(); + $subject = T_('A new private message has arrived'); + $msg = T_('A new private message has arrived'); + mosMail($mosConfig_mailfrom, $mosConfig_fromname, $recipient, $subject, $msg); + } + return true; + } + } else { + if (is_object( $this )) { + $this->_error = T_('The user has locked their mailbox. Message failed.'); + } + } + return false; + } +} +?> diff -ruN 4.6rc2/uploadfiles/components/com_newsfeeds/index.html 4.6-complete/uploadfiles/components/com_newsfeeds/index.html --- 4.6rc2/uploadfiles/components/com_newsfeeds/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_newsfeeds/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_newsfeeds/newsfeeds.html.php 4.6-complete/uploadfiles/components/com_newsfeeds/newsfeeds.html.php --- 4.6rc2/uploadfiles/components/com_newsfeeds/newsfeeds.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_newsfeeds/newsfeeds.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,338 @@ +get( 'page_title' ) ) { + ?> +
      + header; ?> +
      + +
      + + + + + + + + + + + + + + +
      + img ) { + ?> + <?php echo T_('Web Links'); ?> + descrip; + ?> +
      + +
        + +
      + get( 'type' ) == 'category' ) && $params->get( 'other_cat' ) ) { + HTML_newsfeed::showCategories( $params, $categories, $catid ); + } else if ( ( $params->get( 'type' ) == 'section' ) && $params->get( 'other_cat_section' ) ) { + HTML_newsfeed::showCategories( $params, $categories, $catid ); + } + ?> +
      +
      + ImageCheck( 'con_info.png', '/images/M_images/', $params->get( 'icon' ) ); + ?> + + get( 'headings' ) ) { + ?> + + get( 'name' ) ) { + ?> + + + get( 'articles' ) ) { + ?> + + + get( 'link' ) ) { + ?> + + + + + id .'&Itemid='. $Itemid; + ?> + + get( 'name' ) ) { + ?> + + + get( 'articles' ) ) { + ?> + + + get( 'link' ) ) { + ?> + + + + + +
      + + + + + +
      + + name; ?> + + + numarticles; ?> + + link; ?> +
      + +
        + catid ) { + ?> +
      • + + title;?> + +   + + (numlinks;?>) + +
      • + catid .'&Itemid='. $Itemid; + ?> +
      • + + title;?> + + get( 'cat_items' ) ) { + ?> +   + + (numlinks;?>) + + + get( 'cat_description' ) ) { + echo '
        '; + echo $cat->description; + } + ?> +
      • + +
      + + + get( 'header' ) ) { + ?> + + + + link); + if (!is_object($rss)) { + echo ''; + break; + } + if (isset($rss->image['title'])) $iTitle = $rss->image['title']; + if (isset($rss->image['url'])) $iUrl = $rss->image['url']; + ?> + + + + get( 'feed_descr' ) ) { + ?> + + + + get( 'feed_image' ) ) { + ?> + + + + + + + + + + + +
      + get( 'header' ); ?> +
      RSS feed failed
      + + channel['title']; ?> + +
      + channel['description'])) echo $rss->channel['description']; ?> +

      +
      + <?php echo $iTitle; ?> +
      +
        + items as $item) { + if ($itemnumber > $newsfeed->numarticles) break; + $itemnumber++; + ?> +
      • + + + + get( 'item_descr' ) ) { + $text = html_entity_decode( $item['description'] ); + $num = $params->get( 'word_count' ); + + // word limit check + if ( $num ) { + $texts = explode( ' ', $text ); + $count = count( $texts ); + if ( $count > $num ) { + $text = ''; + for( $i=0; $i < $num; $i++ ) { + $text .= ' '. $texts[$i]; + } + $text .= '...'; + } + } + ?> +
        + +

        + +
      • + +
      +
      +
      +
      + diff -ruN 4.6rc2/uploadfiles/components/com_newsfeeds/newsfeeds.php 4.6-complete/uploadfiles/components/com_newsfeeds/newsfeeds.php --- 4.6rc2/uploadfiles/components/com_newsfeeds/newsfeeds.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_newsfeeds/newsfeeds.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,188 @@ +getPath( 'front_html' ) ); + +$feedid = intval( mosGetParam( $_REQUEST ,'feedid', 0 ) ); +$catid = intval( mosGetParam( $_REQUEST ,'catid', 0 ) ); + +switch( $task ) { + case 'view': + showFeed( $option, $feedid ); + break; + default: + listFeeds( $option, $catid ); + break; +} + + +function listFeeds( $option, $catid ) { + global $mainframe, $database, $my; + global $mosConfig_shownoauth, $mosConfig_live_site, $mosConfig_absolute_path; + global $cur_template, $Itemid; + + /* Query to retrieve all categories that belong under the contacts section and that are published. */ + $query = "SELECT cc.*, a.catid, COUNT(a.id) AS numlinks" + . "\n FROM #__categories AS cc" + . "\n LEFT JOIN #__newsfeeds AS a ON a.catid = cc.id" + . "\n WHERE a.published='1'" + . "\n AND cc.section='com_newsfeeds'" + . "\n AND cc.published='1'" + . "\n AND cc.access <= '". $my->gid ."'" + . "\n GROUP BY cc.id" + . "\n ORDER BY cc.ordering" + ; + $database->setQuery( $query ); + $categories = $database->loadObjectList(); + + $rows = array(); + $currentcat = NULL; + if ( $catid ) { + // url links info for category + $query = "SELECT *" + . "\n FROM #__newsfeeds" + . "\n WHERE catid = '". $catid."'" + . "\n AND published='1'" + . "\n ORDER BY ordering" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + // current category info + $query = "SELECT name, description, image, image_position" + . "\n FROM #__categories" + . "\n WHERE id = '". $catid ."'" + . "\n AND published = '1'" + . "\n AND access <= '". $my->gid ."'" + ; + $database->setQuery( $query ); + $database->loadObject( $currentcat ); + } + + // Parameters + $menu =& new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + + $params->def( 'page_title', 1 ); + $params->def( 'header', $menu->name ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'headings', 1 ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + $params->def( 'description_text', '' ); + $params->def( 'image', -1 ); + $params->def( 'image_align', 'right' ); + $params->def( 'other_cat_section', 1 ); + // Category List Display control + $params->def( 'other_cat', 1 ); + $params->def( 'cat_description', 1 ); + $params->def( 'cat_items', 1 ); + // Table Display control + $params->def( 'headings', 1 ); + $params->def( 'name', 1 ); + $params->def( 'articles', '1' ); + $params->def( 'link', '1' ); + + if ( $catid ) { + $params->set( 'type', 'category' ); + } else { + $params->set( 'type', 'section' ); + } + + // page description + $currentcat->descrip = ''; + if( ( @$currentcat->description ) <> '' ) { + $currentcat->descrip = $currentcat->description; + } else if ( !$catid ) { + // show description + if ( $params->get( 'description' ) ) { + $currentcat->descrip = $params->get( 'description_text' ); + } + } + + // page image + $currentcat->img = ''; + $path = $mosConfig_live_site .'/images/stories/'; + if ( ( @$currentcat->image ) <> '' ) { + $currentcat->img = $path . $currentcat->image; + $currentcat->align = $currentcat->image_position; + } else if ( !$catid ) { + if ( $params->get( 'image' ) <> -1 ) { + $currentcat->img = $path . $params->get( 'image' ); + $currentcat->align = $params->get( 'image_align' ); + } + } + + // page header + $currentcat->header = ''; + if ( @$currentcat->name <> '' ) { + $currentcat->header = $currentcat->name; + $pathway =& mosPathway::getInstance(); + $pathway->addItem($currentcat->header, ''); + } else { + $currentcat->header = $params->get( 'header' ); + } + // used to show table rows in alternating colours + $tabclass = array( 'sectiontableentry1', 'sectiontableentry2' ); + + $mainframe->SetPageTitle($menu->name); + + HTML_newsfeed::displaylist( $categories, $rows, $catid, $currentcat, $params, $tabclass ); +} + + +function showFeed( $option, $feedid ) { + global $database, $mainframe, $mosConfig_absolute_path, $Itemid; + + // Adds parameter handling + $menu =& new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + $params->def( 'page_title', 1 ); + $params->def( 'header', $menu->name ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + // Feed Display control + $params->def( 'feed_image', 1 ); + $params->def( 'feed_descr', 1 ); + $params->def( 'item_descr', 1 ); + $params->def( 'word_count', 0 ); + + if ( !$params->get( 'page_title' ) ) { + $params->set( 'header', '' ); + } + + $_and = ''; + if ( $feedid ) { + $_and = "\n AND id='". $feedid ."'"; + } + + $query = "SELECT name, link, numarticles, cache_time" + . "\n FROM #__newsfeeds" + . "\n WHERE published='1'" + . "\n AND checked_out='0'" + . $_and + . "\n ORDER BY ordering" + ; + $database->setQuery( $query ); + $newsfeeds = $database->loadObjectList(); + + $mainframe->SetPageTitle($menu->name); + + HTML_newsfeed::showNewsfeeds( $newsfeeds, $params ); +} + +?> Binary files 4.6rc2/uploadfiles/components/com_poll/images/blank.png and 4.6-complete/uploadfiles/components/com_poll/images/blank.png differ Binary files 4.6rc2/uploadfiles/components/com_poll/images/poll.png and 4.6-complete/uploadfiles/components/com_poll/images/poll.png differ diff -ruN 4.6rc2/uploadfiles/components/com_poll/index.html 4.6-complete/uploadfiles/components/com_poll/index.html --- 4.6rc2/uploadfiles/components/com_poll/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_poll/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_poll/poll.html.php 4.6-complete/uploadfiles/components/com_poll/poll.html.php --- 4.6rc2/uploadfiles/components/com_poll/poll.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_poll/poll.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,222 @@ + + +
      + get( 'page_title' ) ) { + ?> +
      + get( 'header' ); ?> +
      + + + + + +
      + + + + + +
      +   + + +
      + + + text); + $data_arr["hits"][$j]=$vote->hits; + $j++; + } + ?> + + + + + + + + +
      + title, $first_vote, $last_vote ); + ?> +
      + +
      +
      + +
      + +
      + + + + + 0 && $sumval > 0) { + $width = ceil( $hits*$polls_graphwidth/$maxval ); + $percent = round( 100*$hits/$sumval, 1 ); + } else { + $width = 0; + $percent = 0; + } + ?> + + + + + + + +
      + + +
      + +
      + + + + + + + + +
      + + + +   + + + % + +
      +   + +
      +
      +
      + +
      + + + + + + + + + + + + + +
      + + +  :  + +
      + + +  :  + +
      + + +  :  + +
      + diff -ruN 4.6rc2/uploadfiles/components/com_poll/poll.php 4.6-complete/uploadfiles/components/com_poll/poll.php --- 4.6rc2/uploadfiles/components/com_poll/poll.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_poll/poll.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,179 @@ +getPath( 'front_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); + +$tabclass = 'sectiontableentry2,sectiontableentry1'; +$polls_graphwidth = 200; +$polls_barheight = 2; +$polls_maxcolors = 5; +$polls_barcolor = 0; + +$poll = new mosPoll( $database ); + +$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) ); +$task = mosGetParam( $_REQUEST, 'task', '' ); + +switch ($task) { + + case 'vote': + pollAddVote( $id ); + break; + + default: + pollresult( $id ); + break; +} + +function pollAddVote( $uid ) { + global $database, $mosConfig_offset, $Itemid; + + $redirect = 1; + + $sessionCookieName = md5( 'site'.$GLOBALS['mosConfig_live_site'] ); + $sessioncookie = mosGetParam( $_REQUEST, $sessionCookieName, '' ); + + if (!$sessioncookie) { + echo '

      '. T_('Cookies must be enabled!') .'"

      '; + echo ''; + return; + } + + $poll = new mosPoll( $database ); + if (!$poll->load( $uid )) { + echo '

      '. T_('You are not authorized to view this resource.') .'

      '; + echo ''; + return; + } + + $cookiename = "voted$poll->id"; + $voted = mosGetParam( $_COOKIE, $cookiename, '0' ); + + if ($voted) { + echo "

      ".T_('You already voted for this poll today!')."

      "; + echo ""; + return; + } + + $voteid = mosGetParam( $_POST, 'voteid', 0 ); + if (!$voteid) { + echo "

      ".T_('No selection has been made, please try again')."

      "; + echo ''; + return; + } + + setcookie( $cookiename, '1', time()+$poll->lag ); + + $database->setQuery( "UPDATE #__poll_data SET hits=hits + 1" + ."\n WHERE pollid='$poll->id' AND id='$voteid'"); + + $database->query(); + + $database->setQuery( "UPDATE #__polls SET voters=voters + 1" + ."\n WHERE id='$poll->id'"); + + $database->query(); + + $now = date("Y-m-d G:i:s"); + $database->setQuery( "INSERT INTO #__poll_date SET date='$now', vote_id='$voteid', poll_id='$poll->id'"); + + $database->query(); + if ( $redirect ) { + mosRedirect( sefRelToAbs( 'index.php?option=com_poll&task=results&id='. $uid ), T_('Thanks for your vote!')); + } else { + echo '

      '. T_('Thanks for your vote!') .'

      '; + echo '
      '; + echo ''; + echo '
      '; + } +} + + +function pollresult( $uid ) { + global $database, $mosConfig_offset, $mosConfig_live_site, $Itemid; + global $mainframe; + + $poll = new mosPoll( $database ); + $poll->load( $uid ); + + if (empty($poll->title)) { + $poll->id = ''; + $poll->title = T_('Select Poll from the list'); + } + + $first_vote = ''; + $last_vote = ''; + + if (isset($poll->id) && $poll->id != "") { + $query = "SELECT MIN(date) AS mindate, MAX(date) AS maxdate" + ."\n FROM #__poll_date" + ."\n WHERE poll_id='$poll->id'" + ; + $database->setQuery( $query ); + + $dates = $database->loadObjectList(); + + if (isset($dates[0]->mindate)) { + $first_vote = mosFormatDate( $dates[0]->mindate, _DATE_FORMAT_LC2 ); + $last_vote = mosFormatDate( $dates[0]->maxdate, _DATE_FORMAT_LC2 ); + } + } + + $query = "SELECT a.id, a.text, count( DISTINCT b.id ) AS hits, count( DISTINCT b.id )/COUNT( DISTINCT a.id )*100.0 AS percent" + . "\n FROM #__poll_data AS a" + . "\n LEFT JOIN #__poll_date AS b ON b.vote_id = a.id" + . "\n WHERE a.pollid='$poll->id' AND a.text <> ''" + . "\n GROUP BY a.id" + . "\n ORDER BY a.id" + ; + $database->setQuery( $query ); + $votes = $database->loadObjectList(); + + $query = "SELECT id, title" + . "\n FROM #__polls" + . "\n WHERE published=1" + . "\n ORDER BY id" + ; + $database->setQuery( $query ); + $polls = $database->loadObjectList(); + + reset( $polls ); + $link = sefRelToAbs( 'index.php?option=com_poll&task=results&id=\' + this.options[selectedIndex].value + \'&Itemid='. $Itemid .'\' + \'' ); + $pollist = ''; + + // Adds parameter handling + $menu =& new mosMenu( $database ); + $menu->load( $Itemid ); + + $params =& new mosParameters( $menu->params ); + $params->def( 'page_title', 1 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + $params->def( 'header', $menu->name ); + + $mainframe->SetPageTitle($poll->title); + + poll_html::showResults( $poll, $votes, $first_vote, $last_vote, $pollist, $params ); +} +?> diff -ruN 4.6rc2/uploadfiles/components/com_poll/poll_bars.css 4.6-complete/uploadfiles/components/com_poll/poll_bars.css --- 4.6rc2/uploadfiles/components/com_poll/poll_bars.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_poll/poll_bars.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,22 @@ +/* polls Bar Colors/Formats - Follow the format to add your own. + Then update the maxcolors setting for polls in + components/com_poll/poll.php -> $polls_maxcolors +*/ + +.polls_color_1{ background-color: #8D1B1B; border: 2px ridge #B22222; } + +.polls_color_2{ background-color: #6740E1; border: 2px ridge #4169E1; } + +.polls_color_3{ background-color: #8D8D8D; border: 2px ridge #D2D2D2; } + +.polls_color_4{ background-color: #CC8500; border: 2px ridge #FFA500; } + +.polls_color_5{ background-color: #5B781E; border: 2px ridge #6B8E23; } + + + +/* polls Outside Table Border */ +.pollstableborder { + border: 1px solid; + padding: 2px; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_registration/index.html 4.6-complete/uploadfiles/components/com_registration/index.html --- 4.6rc2/uploadfiles/components/com_registration/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_registration/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_registration/registration.html.php 4.6-complete/uploadfiles/components/com_registration/registration.html.php --- 4.6rc2/uploadfiles/components/com_registration/registration.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_registration/registration.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,231 @@ + + +
      + +
      + + + + + + + + + + + + + + + + + +
      '); ?>
      +
      + + + +
      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      *
      *
      *
      *
      *
      *
      Privacy Policy:'); ?> * + +
        +
       
      +
      + + + + + + +
      + + +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       
       
      + + + + + + + + + + +
       
       
      +
      + + + + + + +
      + diff -ruN 4.6rc2/uploadfiles/components/com_registration/registration.php 4.6-complete/uploadfiles/components/com_registration/registration.php --- 4.6rc2/uploadfiles/components/com_registration/registration.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_registration/registration.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,312 @@ +getPath( 'front_html' ) ); + +switch( $task ) { + case "lostPassword": + lostPassForm( $option ); + break; + + case "sendNewPass": + sendNewPass( $option ); + break; + + case "register": + case "reviseRegistration": + registerForm( $option, $mosConfig_useractivation ); + break; + + case "confirmRegistration": + confirmRegistration( $option ); + break; + + case "saveRegistration": + saveRegistration( $option ); + break; + + case "activate": + activate( $option ); + break; +} + +function lostPassForm( $option ) { + global $mainframe; + $mainframe->SetPageTitle(T_('Lost your Password?')); + HTML_registration::lostPassForm($option); +} + +function sendNewPass( $option ) { + global $database, $Itemid; + global $mosConfig_live_site, $mosConfig_sitename, $mosConfig_fromname; + + $_live_site = $mosConfig_live_site; + $_sitename = $mosConfig_sitename; + + // ensure no malicous sql gets past + $checkusername = trim( mosGetParam( $_POST, 'checkusername', '') ); + $checkusername = $database->getEscaped( $checkusername ); + $confirmEmail = trim( mosGetParam( $_POST, 'confirmEmail', '') ); + $confirmEmail = $database->getEscaped( $confirmEmail ); + + $database->setQuery( "SELECT id FROM #__users" + . "\nWHERE username='$checkusername' AND email='$confirmEmail'" + ); + + if (!($user_id = $database->loadResult()) || !$checkusername || !$confirmEmail) { + mosRedirect( "index.php?option=$option&task=lostPassword&mosmsg=".T_('Sorry, no corresponding user was found. Please make sure you entered a valid username and a valid email address. Both are required.') ); + } + + $database->setQuery( "SELECT name, email FROM #__users" + . "\n WHERE usertype='super administrator'" ); + $rows = $database->loadObjectList(); + foreach ($rows AS $row) { + $adminName = $row->name; + $adminEmail = $row->email; + } + + $rawpass = mosMakePassword(); + $message = sprintf(T_("The user account %s has this email associated with it.\n +A web user from %s has just requested that a new password be sent.\n\n +Your New Password is: %s\n\n +If you didn't ask for this, don't worry. You are seeing this message, not them. +If this was an error just login with your new password and then change your password to what you would like it to be."), + $checkusername, $mosConfig_live_site, $rawpass); + #eval ("\$message = \"$message\";"); + $subject = sprintf(T_('%s :: New password for - %s'),$_sitename, $checkusername); + #eval ("\$subject = \"$subject\";"); + + mosMail($mosConfig_mailfrom, $mosConfig_fromname, $confirmEmail, $subject, $message); + + $newpass = md5( $rawpass ); + $sql = "UPDATE #__users SET password='$newpass' WHERE id='$user_id'"; + $database->setQuery( $sql ); + if (!$database->query()) { + die("SQL error" . $database->stderr(true)); + } + $loginfo = new mosLoginDetails($checkusername, $rawpass); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + $mambothandler->trigger('userChange', array($loginfo)); + + mosRedirect( "index.php?Itemid=$Itemid&mosmsg=".T_('New User Password created and sent!') ); +} + +function registerForm( $option, $useractivation ) { + global $mainframe, $database, $my, $acl; + + if (!$mainframe->getCfg( 'allowUserRegistration' )) { + mosNotAuth(); + return; + } + + $mainframe->SetPageTitle(T_('Registration')); + HTML_registration::registerForm($option, $useractivation); +} + + +function confirmRegistration ($option) +{ +$name = trim( mosGetParam( $_REQUEST, 'name', "" ) ); +$username = trim( mosGetParam( $_REQUEST, 'username', "" ) ); +$password = trim( mosGetParam( $_REQUEST, 'password', "" ) ); +$email = trim( mosGetParam( $_REQUEST, 'email', "" ) ); +$useractivation = trim( mosGetParam( $_REQUEST, 'useractivation', "" ) ); + HTML_registration::confirmForm($option, $name, $username, $password, $email, $useractivation); +} + +function saveRegistration( $option ) { + global $database, $my, $acl; + global $mosConfig_sitename, $mosConfig_live_site, $mosConfig_useractivation, $mosConfig_allowUserRegistration; + global $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_mailfrom, $mosConfig_fromname; + + if ($mosConfig_allowUserRegistration=='0') { + mosNotAuth(); + return; + } + + $row = new mosUser( $database ); + + if (!$row->bind( $_POST, 'usertype' )) { + echo "\n"; + exit(); + } + + mosMakeHtmlSafe($row); + + $row->id = 0; + $row->usertype = ''; + $row->gid = $acl->get_group_id( 'Registered', 'ARO' ); + + if ($mosConfig_useractivation == '1') { + $row->activation = md5( mosMakePassword() ); + $row->block = '1'; + } + + if (!$row->check()) { + echo "\n"; + exit(); + } + + $pwd = $row->password; + $row->password = md5( $row->password ); + $row->registerDate = date("Y-m-d H:i:s"); + + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + + $name = $row->name; + $email = $row->email; + $username = $row->username; + + $subject = sprintf (T_('Account details for %s at %s'), $name, $mosConfig_sitename); + $subject = html_entity_decode($subject, ENT_QUOTES); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + if ($mosConfig_useractivation=="1"){ + $message = sprintf (T_('Hello %s, + +Thank you for registering at %s. Your account has been created but, as a precaution, it must be activated by you before you can use it. +To activate the account click on the following link or copy and paste it in your browser: +%s + +After activation you may login to %s using the following username and password: + +Username - %s +Password - %s'), + $name, $mosConfig_sitename, $mosConfig_live_site."/index.php?option=com_registration&task=activate&activation=".$row->activation, $mosConfig_live_site, $username, $pwd); + $loginfo = new mosLoginDetails($username, $pwd); + $mambothandler->trigger('userRegister', array($loginfo)); + } + else { + $message = sprintf (T_("Hello %s, + +Thank you for registering at %s. + +You may now login to %s using the username and password you registered with."), + $name, $mosConfig_sitename, $mosConfig_live_site); + $loginfo = new mosLoginDetails($username, $pwd); + $mambothandler->trigger('userRegister', array($loginfo)); + $mambothandler->trigger('userActivate', array($loginfo)); + } + + $message = html_entity_decode($message, ENT_QUOTES); + // Send email to user + if ($mosConfig_mailfrom != "" && $mosConfig_fromname != "") { + $adminName2 = $mosConfig_fromname; + $adminEmail2 = $mosConfig_mailfrom; + } else { + $database->setQuery( "SELECT name, email FROM #__users" + ."\n WHERE usertype='super administrator'" ); + $rows = $database->loadObjectList(); + $row2 = $rows[0]; + $adminName2 = $row2->name; + $adminEmail2 = $row2->email; + } + + mosMail($adminEmail2, $adminName2, $email, $subject, $message); + + // Send notification to all administrators + $subject2 = sprintf (T_('Account details for %s at %s'), $name, $mosConfig_sitename); + $message2 = sprintf (T_('Hello %s, + +A new user has registered at %s. +This email contains their details: + +Name - %s +e-mail - %s +Username - %s + +Please do not respond to this message as it is automatically generated and is for information purposes only'), + $adminName2, $mosConfig_sitename, $row->name, $email, $username); + $subject2 = html_entity_decode($subject2, ENT_QUOTES); + $message2 = html_entity_decode($message2, ENT_QUOTES); + + // get superadministrators id + $admins = $acl->get_group_objects( 25, 'ARO' ); + + foreach ( $admins['users'] AS $id ) { + $database->setQuery( "SELECT email, sendEmail FROM #__users" + ."\n WHERE id='$id'" ); + $rows = $database->loadObjectList(); + + $row = $rows[0]; + + if ($row->sendEmail) { + mosMail($adminEmail2, $adminName2, $row->email, $subject2, $message2); + } + } + + if ( $mosConfig_useractivation == "1" ){ + echo '
      '.T_('Registration Complete').'

      '; + echo T_('Your account has been created and an activation link has been sent to the e-mail address you entered. Note that you must activate the account by clicking on the activation link before you can login.'); + } else { + echo '
      '.T_('Registration Complete').'

      '; + echo T_('You may now login.'); + } + +} + +function activate( $option ) { + global $database; + global $mosConfig_useractivation, $mosConfig_allowUserRegistration; + + if ($mosConfig_allowUserRegistration == '0' || $mosConfig_useractivation == '0') { + mosNotAuth(); + return; + } + + $activation = mosGetParam( $_REQUEST, 'activation', '' ); + $activation = $database->getEscaped( $activation ); + + if (empty( $activation )) { + echo '
      '.T_('Invalid Activation Link!').'

      '; + echo T_('There is no such account in our database or the account has already been activated.'); + return; + } + + $database->setQuery( "SELECT username FROM #__users" + ."\n WHERE activation='$activation' AND block='1'" ); + $username = $database->loadResult(); + + if ($username) { + $database->setQuery( "UPDATE #__users SET block='0', activation='' WHERE activation='$activation' AND block='1'" ); + if (!$database->query()) { + echo "SQL error" . $database->stderr(true); + } + echo '
      '.T_('Activation Complete!').'

      '; + echo T_('Your account has been activated successfully. You can now login using the username and password you chose during registration.'); + $loginfo = new mosLoginDetails($username); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + $mambothandler->trigger('userActivate', array($loginfo)); + } else { + echo '
      '.T_('Invalid Activation Link!').'

      '; + echo T_('There is no such account in our database or the account has already been activated.'); + } +} + +function is_email($email){ + $rBool=false; + + if(preg_match("/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email)){ + $rBool=true; + } + return $rBool; +} +?> diff -ruN 4.6rc2/uploadfiles/components/com_rss/index.html 4.6-complete/uploadfiles/components/com_rss/index.html --- 4.6rc2/uploadfiles/components/com_rss/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_rss/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_rss/rss.php 4.6-complete/uploadfiles/components/com_rss/rss.php --- 4.6rc2/uploadfiles/components/com_rss/rss.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_rss/rss.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,248 @@ +doSQLget( $query, 'mosComponent' ); + if (isset($components[0])) $component = $components[0]; + else return; + + // load syndication parameters + $params =& new mosParameters( $component->params ); + + $query = "SELECT id FROM #__modules WHERE published=1 AND module='mod_rssfeed'"; + $database->setQuery($query); + if (!$database->loadResult()) { + mosNotAuth(); + return; + } + + $now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 ); + $iso = split( '=', _ISO ); + + // parameter intilization + $info[ 'date' ] = date( 'r' ); + $info[ 'year' ] = date( 'Y' ); + $info[ 'encoding' ] = $iso[1]; + $info[ 'link' ] = htmlspecialchars( $mosConfig_live_site ); + $info[ 'cache' ] = $params->def( 'cache', 1 ); + $info[ 'cache_time' ] = $params->def( 'cache_time', 3600 ); + $info[ 'count' ] = $params->def( 'count', 5 ); + $info[ 'orderby' ] = $params->def( 'orderby', '' ); + $info[ 'title' ] = $params->def( 'title', 'Powered by Mambo' ); + $info[ 'description' ] = $params->def( 'description', 'Mambo site syndication' ); + $info[ 'image_file' ] = $params->def( 'image_file', 'mambo_rss.png' ); + if ( $info[ 'image_file' ] == -1 ) { + $info[ 'image' ] = NULL; + } else{ + $info[ 'image' ] = $mosConfig_live_site .'/images/M_images/'. $info[ 'image_file' ]; + } + $info[ 'image_alt' ] = $params->def( 'image_alt', 'Powered by Mambo' ); + $info[ 'limit_text' ] = $params->def( 'limit_text', 1 ); + $info[ 'text_length' ] = $params->def( 'text_length', 20 ); + // get feed type from url + $info[ 'feed' ] = mosGetParam( $_GET, 'feed', 'RSS2.0' ); + // live bookmarks + $info[ 'live_bookmark' ] = $params->def( 'live_bookmark', '' ); + $info[ 'bookmark_file' ] = $params->def( 'bookmark_file', '' ); + // content to syndicate +// $info[ 'content' ] = $params->def( 'content', -1 ); + + // set filename for live bookmarks feed + if ( !$showFeed & $info[ 'live_bookmark' ] ) { + if ( $info[ 'bookmark_file' ] ) { + // custom bookmark filename + $info[ 'file' ] = $mosConfig_absolute_path .'/cache/'. $info[ 'bookmark_file' ]; + } else { + // standard bookmark filename + $info[ 'file' ] = $mosConfig_absolute_path .'/cache/'. $info[ 'live_bookmark' ]; + } + } else { + // set filename for rss feeds + $info[ 'file' ] = getFeedType( $info[ 'feed' ] ); + if (!$info['file']) return; + } + + // load feed creator class + $rss = new UniversalFeedCreator(); + // load image creator class + $image = new FeedImage(); + + // loads cache file + if ( $showFeed && $info[ 'cache' ] ) { + $rss->useCached( $info[ 'feed' ], $info[ 'file' ], $info[ 'cache_time' ] ); + } + + $rss->title = $info[ 'title' ]; + $rss->description = $info[ 'description' ]; + $rss->link = $info[ 'link' ]; + $rss->syndicationURL = $info[ 'link' ]; + $rss->cssStyleSheet = NULL; + $rss->encoding = $info[ 'encoding' ]; + + if ( $info[ 'image' ] ) { + $image->url = $info[ 'image' ]; + $image->link = $info[ 'link' ]; + $image->title = $info[ 'image_alt' ]; + $image->description = $info[ 'description' ]; + // loads image info into rss array + $rss->image = $image; + } + + // Determine ordering for sql + switch ( strtolower( $info[ 'orderby' ] ) ) { + case 'date': + $orderby = 'a.created'; + break; + + case 'rdate': + $orderby = 'a.created DESC'; + break; + + case 'alpha': + $orderby = 'a.title'; + break; + + case 'ralpha': + $orderby = 'a.title DESC'; + break; + + case 'hits': + $orderby = 'a.hits DESC'; + break; + + case 'rhits': + $orderby = 'a.hits ASC'; + break; + + case 'front': + $orderby = 'f.ordering'; + break; + + default: + $orderby = 'f.ordering'; + break; + } + + $join = "\n INNER JOIN #__content_frontpage AS f ON f.content_id = a.id"; + $_and = ''; + + // query of frontpage content items + $query = "SELECT a.*, u.name AS author, u.usertype" + . "\n FROM #__content AS a" + . $join + . "\n LEFT JOIN #__users AS u ON u.id = a.created_by" + . "\n WHERE a.state = '1'" + . $_and + . "\n AND a.access = 0" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '". $now ."' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '". $now ."' )" + . "\n ORDER BY ". $orderby + . ( $info[ 'count' ] ? "\n LIMIT ". $info[ 'count' ] : '' ) + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + foreach ( $rows as $row ) { + // title for particular item + $item_title = htmlspecialchars( $row->title ); + $item_title = html_entity_decode( $item_title ); + + // article author + $item_author = $row->author; + + // url link to article + // & used instead of & as this is converted by feed creator + $item_link = $mosConfig_live_site .'/index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $mainframe->getItemid( $row->id ); + $item_link = sefRelToAbs( $item_link ); + + // removes all formating from the intro text for the description text + $item_description = $row->introtext; + $item_description = mosHTML::cleanText( $item_description ); + $item_description = html_entity_decode( $item_description ); + if ( $info[ 'limit_text' ] ) { + if ( $info[ 'text_length' ] ) { + // limits description text to x words + $item_description_array = split( ' ', $item_description ); + $count = count( $item_description_array ); + if ( $count > $info[ 'text_length' ] ) { + $item_description = ''; + for ( $a = 0; $a < $info[ 'text_length' ]; $a++ ) { + $item_description .= $item_description_array[$a]. ' '; + } + $item_description = trim( $item_description ); + $item_description .= '...'; + } + } else { + // do not include description when text_length = 0 + $item_description = NULL; + } + } + + // load individual item creator class + $item = new FeedItem(); + // item info + $item->title = $item_title; + $item->link = $item_link; + $item->description = $item_description; + $item->source = $info[ 'link' ]; + $item->author = $item_author; + + // loads item info into rss array + $rss->addItem( $item ); + } + + // save feed file + $rss->saveFeed( $info[ 'feed' ], $info[ 'file' ], $showFeed ); +} + +function getFeedType ($rawfeed) { + global $mosConfig_absolute_path; + $feed = mosGetParam ($_GET, 'feed', 'RSS2.0'); + $feed = strtolower(str_replace('.', '', $feed)); + $legal = array ('rss20', 'rss10', 'rss091', 'atom10', 'opml'); + if (in_array($feed, $legal)) return $mosConfig_absolute_path.'/cache/'.$feed.'.xml'; + else { + mosNotAuth(); + return ''; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/components/com_search/index.html 4.6-complete/uploadfiles/components/com_search/index.html --- 4.6rc2/uploadfiles/components/com_search/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_search/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_search/search.html.php 4.6-complete/uploadfiles/components/com_search/search.html.php --- 4.6rc2/uploadfiles/components/com_search/search.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_search/search.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,167 @@ +get( 'page_title' ) ) { + ?> +
      + get( 'header' ); ?> +
      + +
      + + + + + + + + + + +
      :  + +  
      + +
      :
      + + + +
      + + + + + + + + +
      + ' . stripslashes($searchword) . ''; ?> + + + + + +
      + +
      + +
      +
      + + created) { + $created = mosFormatDate ($row->created, '%d %B, %Y'); + } else { + $created = ''; + } + ?> + + + + + + + + + + + + + + + + + + + +
      + browsernav == 1) { + ?> + + + + title; + ?> + + + (section; ?>) + +
      + text;?> … +
      + +
        + +
        + +
      + $searchword"); + ?> + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_search/search.php 4.6-complete/uploadfiles/components/com_search/search.php --- 4.6rc2/uploadfiles/components/com_search/search.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_search/search.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,223 @@ +getPath( 'front_html' ) ); + +switch ( $task ) { + default: + viewSearch(); + break; +} + +function viewSearch() { + global $mainframe, $mosConfig_absolute_path, $mosConfig_lang, $my; + global $Itemid, $database, $_MAMBOTS; + + $gid = $my->gid; + + // Adds parameter handling + if( $Itemid > 0 ) { + $menu =& new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + $params->def( 'page_title', 1 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'header', $menu->name, T_('Search') ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + } else { + $params =& new mosParameters(''); + $params->def( 'page_title', 1 ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'header', T_('Search') ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + } + + // html output + search_html::openhtml( $params ); + + $searchword = mosGetParam( $_REQUEST, 'searchword', '' ); + $searchword = $database->getEscaped( trim( $searchword ) ); + + $search_ignore = array(); + @include "$mosConfig_absolute_path/language/$mosConfig_lang.ignore.php"; + + $orders = array(); + $orders[] = mosHTML::makeOption( 'newest', T_('Newest first') ); + $orders[] = mosHTML::makeOption( 'oldest', T_('Oldest first') ); + $orders[] = mosHTML::makeOption( 'popular', T_('Most popular') ); + $orders[] = mosHTML::makeOption( 'alpha', T_('Alphabetical') ); + $orders[] = mosHTML::makeOption( 'category', T_('Section/Category') ); + $ordering = mosGetParam( $_REQUEST, 'ordering', 'newest'); + if (!in_array($ordering, array('newest', 'oldest', 'popular', 'alpha', 'category'))) $ordering = 'newest'; + $lists = array(); + $lists['ordering'] = mosHTML::selectList( $orders, 'ordering', 'class="inputbox"', 'value', 'text', $ordering ); + + $searchphrase = mosGetParam( $_REQUEST, 'searchphrase', 'any' ); + if (!in_array($searchphrase, array('any', 'all', 'exact'))) $searchphrase = 'any'; + $searchphrases = array(); + + $phrase = new stdClass(); + $phrase->value = 'any'; + $phrase->text = T_('Any words'); + $searchphrases[] = $phrase; + + $phrase = new stdClass(); + $phrase->value = 'all'; + $phrase->text = T_('All words'); + $searchphrases[] = $phrase; + + $phrase = new stdClass(); + $phrase->value = 'exact'; + $phrase->text = T_('Exact phrase'); + $searchphrases[] = $phrase; + + $lists['searchphrase']= mosHTML::radioList( $searchphrases, 'searchphrase', '', $searchphrase ); + + // html output + search_html::searchbox( htmlspecialchars( $searchword ), $lists, $params ); + + if (!$searchword) { + if ( count( $_POST ) ) { + // html output + // no matches found + search_html::message( T_('No results were found'), $params ); + } + } else { + foreach ($search_ignore as $ignore_word) $searchword = preg_replace("/(^|\W)$ignore_word($|\W)/i", '$1$2', $searchword); + $searchword = trim($searchword); + if (!$searchword) search_html::message( T_('One or more common words were ignored in the search'), $params ); + } + if ($searchword) { + // html output + search_html::searchintro( htmlspecialchars( $searchword ), $params ); + + mosLogSearch( $searchword ); + $phrase = mosGetParam( $_REQUEST, 'searchphrase', '' ); + if (!in_array($phrase, array('any', 'all', 'exact'))) $phrase = 'any'; + $ordering = mosGetParam( $_REQUEST, 'ordering', '' ); + if (!in_array($ordering, array('newest', 'oldest', 'popular', 'alpha', 'category'))) $ordering = 'newest'; + + $_MAMBOTS->loadBotGroup( 'search' ); + $results = $_MAMBOTS->trigger( 'onSearch', array( $searchword, $phrase, $ordering ) ); + $rows = array(); + foreach($results as $result) { + if ($result) $rows = array_merge($rows, $result); + } + + $totalRows = count( $rows ); + + for ($i=0; $i < $totalRows; $i++) { + $row = &$rows[$i]->text; + if ($phrase == 'exact') { + $searchwords = array($searchword); + $needle = $searchword; + } else { + $searchwords = explode(' ', $searchword); + $needle = $searchwords[0]; + } + + $row = mosPrepareSearchContent( $row, 200, $needle ); + + foreach ($searchwords as $hlword) { + $row = preg_replace( '/'. preg_quote($hlword, '/'). '/i', "\\0", $row); + } + + if (!eregi( '^http', $rows[$i]->href )) { + // determines Itemid for Content items + if ( strstr( $rows[$i]->href, 'view' ) ) { + // tests to see if itemid has already been included - this occurs for typed content items + if ( !strstr( $rows[$i]->href, 'Itemid' ) ) { + $temp = explode( 'id=', $rows[$i]->href ); + $rows[$i]->href = $rows[$i]->href. '&Itemid='. $mainframe->getItemid($temp[1]); + } + } + } + } + + $mainframe->setPageTitle( T_('Search') ); + + if ( $totalRows ) { + // html output + search_html::display( $rows, $params ); + } else { + // html output + search_html::displaynoresult(); + } + + // html output + search_html::conclusion( $totalRows, htmlspecialchars( $searchword ) ); + } + + // displays back button + echo '
      '; + mosHTML::BackButton ( $params, 0 ); +} + + +function mosLogSearch( $search_term ) { + global $database; + global $mosConfig_enable_log_searches; + + if ( @$mosConfig_enable_log_searches ) { + $query = "SELECT hits" + . "\n FROM #__core_log_searches" + . "\n WHERE LOWER(search_term)='$search_term'" + ; + $database->setQuery( $query ); + $hits = intval( $database->loadResult() ); + if ( $hits ) { + $query = "UPDATE #__core_log_searches SET hits=(hits+1) WHERE LOWER(search_term)='$search_term'"; + $database->setQuery( $query ); + $database->query(); + } else { + $query = "INSERT INTO #__core_log_searches VALUES ('$search_term','1')"; + $database->setQuery( $query ); + $database->query(); + } + } +} + +/** +* Prepares results from search for display +* @param string The source string +* @param int Number of chars to trim +* @param string The searchword to select around +* @return string +*/ +function mosPrepareSearchContent( $text, $length=200, $searchword ) { + // strips tags won't remove the actual jscript + $text = preg_replace( "']*>.*?'si", "", $text ); + $text = preg_replace( '/{.+?}/', '', $text); + //$text = preg_replace( '/]*>([^<]+)<\/a>/is','\2', $text ); + return mosSmartSubstr( strip_tags( $text ), $length, $searchword ); +} + +/** +* returns substring of characters around a searchword +* @param string The source string +* @param int Number of chars to return +* @param string The searchword to select around +* @return string +*/ +function mosSmartSubstr($text, $length=200, $searchword) { + $wordpos = strpos(strtolower($text), strtolower($searchword)); + $halfside = intval($wordpos - $length/2 - strlen($searchword)); + if ($wordpos && $halfside > 0) { + return '...' . substr($text, $halfside, $length); + } else { + return substr( $text, 0, $length); + } +} + +?> diff -ruN 4.6rc2/uploadfiles/components/com_user/index.html 4.6-complete/uploadfiles/components/com_user/index.html --- 4.6rc2/uploadfiles/components/com_user/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_user/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_user/user.html.php 4.6-complete/uploadfiles/components/com_user/user.html.php --- 4.6rc2/uploadfiles/components/com_user/user.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_user/user.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,107 @@ + +
      + +
      + + + + + +
      + + +
      +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + +
      + +
      + +
      + + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_user/user.php 4.6-complete/uploadfiles/components/com_user/user.php --- 4.6rc2/uploadfiles/components/com_user/user.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_user/user.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,228 @@ +usertype) == 'author' || strtolower($my->usertype) == 'editor' || strtolower($my->usertype) == 'administrator' || strtolower($my->usertype) == 'super administrator' ); +$access = new stdClass(); +$access->canEdit = $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'all' ); +$access->canEditOwn = $acl->acl_check( 'action', 'edit', 'users', $my->usertype, 'content', 'own' ); + +require_once ( $mainframe->getPath( 'front_html' ) ); +$task = mosGetParam( $_REQUEST, 'task' ); + +switch( $task ) { + case "saveUpload": + saveUpload( $mosConfig_dbprefix, $uid, $option, $userfile, $userfile_name, $type, $existingImage); + break; + + case "UserDetails": + userEdit( $option, $my->id, T_('Update') ); + break; + + case "saveUserEdit": + userSave( $option, $my->id ); + break; + + case "CheckIn": + CheckIn( $my->id, $access, $option ); + break; + + default: + HTML_user::frontpage(); + break; +} + +function saveUpload($database, $_dbprefix, $uid, $option, $userfile, $userfile_name, $type, $existingImage) { + global $database; + + if ($uid == 0) { + mosNotAuth(); + return; + } + + $base_Dir = "images/stories/"; + $checksize=filesize($userfile); + if ($checksize > 50000) { + echo "\n"; + } else { + if (file_exists($base_Dir.$userfile_name)) { + $message = sprintf(T_('Image %s already exists. Please rename the file and try again.'),$userfile_name); + print "\n"; + } else { + if ((!strcasecmp(substr($userfile_name,-4),".gif")) || (!strcasecmp(substr($userfile_name,-4),".jpg"))) { + if (!move_uploaded_file($userfile, $base_Dir.$userfile_name)) + { + printf(T_('Failed to copy %s'), $userfile_name); + } else { + echo ""; + if ($type=="news") { + $op="UserNews"; + } elseif ($type=="articles") { + $op="UserArticle"; + } + + if ($existingImage!="") { + if (file_exists($base_Dir.$existingImage)) { + //delete the exisiting file + unlink($base_Dir.$existingImage); + } + } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + } else { + echo "\n"; + } + } + } +} + +function userEdit( $option, $uid, $submitvalue) { + global $database; + if ($uid == 0) { + mosNotAuth(); + return; + } + $row = new mosUser( $database ); + $row->load( $uid ); + $row->orig_password = $row->password; + HTML_user::userEdit( $row, $option, $submitvalue ); +} + +function userSave( $option, $uid) { + global $database; + + $user_id = intval( mosGetParam( $_POST, 'id', 0 )); + + // do some security checks + if ($uid == 0 || $user_id == 0 || $user_id <> $uid) { + mosNotAuth(); + return; + } + $row = new mosUser( $database ); + $row->load( $user_id ); + $row->orig_password = $row->password; + + if (!$row->bind( $_POST, "gid usertype" )) { + echo "\n"; + exit(); + } + mosMakeHtmlSafe($row); + + if(isset($_POST["password"]) && $_POST["password"] != "") { + if(isset($_POST["verifyPass"]) && ($_POST["verifyPass"] == $_POST["password"])) { + $row->password = md5($_POST["password"]); + } else { + echo "\n"; + exit(); + } + } else { + // Restore 'original password' + $row->password = $row->orig_password; + } + if (!$row->check()) { + echo "\n"; + exit(); + } + + unset($row->orig_password); // prevent DB error!! + + if (!$row->store()) { + echo "\n"; + exit(); + } + + $loginfo = new mosLoginDetails($row->username, $_POST['password']); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + $mambothandler->trigger('userChange', array($loginfo)); + mosRedirect ("index.php?option=$option", T_('Your settings have been saved.')); +} + +function CheckIn( $userid, $access, $option ){ + global $database; + global $mosConfig_db; + + if (!($access->canEdit || $access->canEditOwn || $userid > 0)) { + mosNotAuth(); + return; + } + + $lt = mysql_list_tables($mosConfig_db); + $k = 0; + echo ""; + while (list($tn) = mysql_fetch_array($lt)) { + // only check in the mos_* tables + if (strpos( $tn, $database->_table_prefix ) !== 0) { + continue; + } + $lf = mysql_list_fields($mosConfig_db, "$tn"); + $nf = mysql_num_fields($lf); + + $checked_out = false; + $editor = false; + + for ($i = 0; $i < $nf; $i++) { + $fname = mysql_field_name($lf, $i); + if ( $fname == "checked_out") { + $checked_out = true; + } else if ( $fname == "editor") { + $editor = true; + } + } + + if ($checked_out) { + if ($editor) { + $database->setQuery( "SELECT checked_out, editor FROM $tn WHERE checked_out > 0 AND checked_out=$userid" ); + } else { + $database->setQuery( "SELECT checked_out FROM $tn WHERE checked_out > 0 AND checked_out=$userid" ); + } + $res = $database->query(); + $num = $database->getNumRows( $res ); + + if ($editor) { + $database->setQuery( "UPDATE $tn SET checked_out=0, checked_out_time='00:00:00', editor=NULL WHERE checked_out > 0" ); + } else { + $database->setQuery( "UPDATE $tn SET checked_out=0, checked_out_time='0000-00-00 00:00:00' WHERE checked_out > 0" ); + } + $res = $database->query(); + + if ($res == 1) { + + if ($num > 0) { + echo "\n"; + echo "\n "; + echo "\n "; + echo "\n"; + } + $k = 1 - $k; + } + } + } +?> + + + +
      "; + echo T_('Checking table'); + echo " - $tn"; + printf(Tn_('Checked in %d item', 'Checked in %d items', $num), $num); + echo T_(); + echo "
      + diff -ruN 4.6rc2/uploadfiles/components/com_weblinks/index.html 4.6-complete/uploadfiles/components/com_weblinks/index.html --- 4.6rc2/uploadfiles/components/com_weblinks/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_weblinks/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_weblinks/weblinks.class.php 4.6-complete/uploadfiles/components/com_weblinks/weblinks.class.php --- 4.6rc2/uploadfiles/components/com_weblinks/weblinks.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_weblinks/weblinks.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,99 @@ +mosDBTable( '#__weblinks', 'id', $db ); + } + /** overloaded check function */ + function check() { + // filter malicious code + $ignoreList = array( 'params' ); + $this->filter( $ignoreList ); + + // specific filters + $callcheck = array('InputFilter', 'process'); + if (!is_callable($callcheck)) require_once(mamboCore::get('mosConfig_absolute_path').'/includes/phpInputFilter/class.inputfilter.php'); + // specific filters + $iFilter =& new InputFilter(); + + if ($iFilter->badAttributeValue( array( 'href', $this->url ))) { + $this->_error = T_('Please provide a valid URL'); + return false; + } + + /** check for valid name */ + if (trim( $this->title ) == '') { + $this->_error = T_('Your web link must be given a title.'); + return false; + } + + if ( !( eregi( 'http://', $this->url ) || ( eregi( 'https://',$this->url ) ) || ( eregi( 'ftp://',$this->url ) ) ) ) { + $this->url = 'http://'.$this->url; + } + + /** check for existing name */ + $this->title = $this->_db->getEscaped($this->title); + $this->catid = $this->_db->getEscaped($this->catid); + $this->_db->setQuery( "SELECT id FROM #__weblinks " + . "\nWHERE title='$this->title' AND catid='$this->catid'" + ); + + $xid = intval( $this->_db->loadResult() ); + if ($xid && $xid != intval( $this->id )) { + $this->_error = T_('There is already a web link that name, please try again.'); + return false; + } + return true; + } +} +?> diff -ruN 4.6rc2/uploadfiles/components/com_weblinks/weblinks.html.php 4.6-complete/uploadfiles/components/com_weblinks/weblinks.html.php --- 4.6rc2/uploadfiles/components/com_weblinks/weblinks.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_weblinks/weblinks.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,322 @@ +get( 'page_title' ) ) { + ?> +
      + header; ?> +
      + +
      + + + + + + + + + + + + + + +
      + img ) { + ?> + <?php echo T_('Web Links'); ?> + descrip; + ?> +
      + +
        + +
      + get( 'type' ) == 'category' ) && $params->get( 'other_cat' ) ) { + HTML_weblinks::showCategories( $params, $categories, $catid ); + } else if ( ( $params->get( 'type' ) == 'section' ) && $params->get( 'other_cat_section' ) ) { + HTML_weblinks::showCategories( $params, $categories, $catid ); + } + ?> +
      +
      + get( 'weblink_icons' ) <> -1 ) { + $mainframe =& mosMainFrame::getInstance(); + $img = $mainframe->ImageCheck( 'weblink.png', '/images/M_images/', $params->get( 'weblink_icons' ) ); + } else { + $img = NULL; + } + ?> + + get( 'headings' ) ) { + ?> + + + + + + get( 'hits' ) ) { + ?> + + + + params ); + + $link = sefRelToAbs( 'index.php?option=com_weblinks&task=view&catid='. $catid .'&id='. $row->id ); + $menuclass = 'category'.$params->get( 'pageclass_sfx' ); + switch ($iparams->get( 'target' )) { + // cases are slightly different + case 1: + // open in a new window + $txt = ''. $row->title .''; + break; + + case 2: + // open in a popup window + $txt = "". $row->title ."\n"; + break; + + default: // formerly case 2 + // open in parent window + $txt = ''. $row->title .''; + break; + } + ?> + + + + + + get( 'hits' ) ) { + ?> + + + + +
        + + + + + +
      +      + + + get( 'item_description' ) ) { + ?> +
      + description; ?> + +
      + hits; ?> +
      + +
        + catid ) { + ?> +
      • + + name;?> + +   + + (numlinks;?>) + +
      • + catid .'&Itemid='. $Itemid; + ?> +
      • + + name;?> + +   + + (numlinks;?>) + +
      • + +
      + $row is passed with the id + * property set to 0. + * @param mosWeblink The weblink object + * @param string The html for the categories select list + */ + function editWeblink( $option, &$row, &$lists ) { + $Returnid = intval( mosGetParam( $_REQUEST, 'Returnid', 0 ) ); + ?> + + +
      " method="post" name="adminForm" id="adminForm"> + + + + + +
      + + + +
      + + + + + + + + + + + + + + + + + + +
      + + + +
      + + + +
      + + + +
      + + + +
      + + + + + + + +
      + diff -ruN 4.6rc2/uploadfiles/components/com_weblinks/weblinks.php 4.6-complete/uploadfiles/components/com_weblinks/weblinks.php --- 4.6rc2/uploadfiles/components/com_weblinks/weblinks.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_weblinks/weblinks.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,305 @@ +getPath( 'front_html' ) ); +require_once( $mainframe->getPath( 'class' ) ); +$mainframe->setPageTitle( T_('Web Links') ); + +$task = trim( mosGetParam( $_REQUEST, 'task', "" ) ); +$id = intval( mosGetParam( $_REQUEST, 'id', 0 ) ); +$catid = intval( mosGetParam( $_REQUEST, 'catid', 0 ) ); + +switch ($task) { + case 'new': + editWebLink( 0, $option ); + break; + + case 'edit': + /** disabled until permissions system can handle it */ + editWebLink( 0, $option ); + break; + + case 'save': + saveWebLink( $option ); + break; + + case 'cancel': + cancelWebLink( $option ); + break; + + case 'view': + showItem( $id, $catid ); + break; + + default: + listWeblinks( $catid ); + break; +} + +function listWeblinks( $catid ) { + global $mainframe, $database, $my; + global $mosConfig_shownoauth, $mosConfig_live_site, $mosConfig_absolute_path; + global $cur_template, $Itemid; + + /* Query to retrieve all categories that belong under the web links section and that are published. */ + $query = "SELECT *, COUNT(a.id) AS numlinks FROM #__categories AS cc" + . "\n LEFT JOIN #__weblinks AS a ON a.catid = cc.id" + . "\n WHERE a.published='1' AND a.approved='1' AND section='com_weblinks' AND cc.published='1' AND cc.access <= '$my->gid'" + . "\n GROUP BY cc.id" + . "\n ORDER BY cc.ordering" + ; + $database->setQuery( $query ); + $categories = $database->loadObjectList(); + + $rows = array(); + $currentcat = NULL; + if ( $catid ) { + // url links info for category + $query = "SELECT id, url, title, description, date, hits, params FROM #__weblinks" + . "\nWHERE catid = '$catid' AND published='1' AND approved='1' AND archived=0" + . "\nORDER BY ordering" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + // current cate info + $query = "SELECT name, description, image, image_position FROM #__categories" + . "\n WHERE id = '$catid'" + . "\n AND published = '1'" + ; + $database->setQuery( $query ); + $database->loadObject( $currentcat ); + } + + // Parameters + $menu =& new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + $params->def( 'page_title', 1 ); + $params->def( 'header', $menu->name ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'headings', 1 ); + $params->def( 'hits', $mainframe->getCfg( 'hits' ) ); + $params->def( 'item_description', 1 ); + $params->def( 'other_cat_section', 1 ); + $params->def( 'other_cat', 1 ); + $params->def( 'description', 1 ); + $params->def( 'description_text', T_('From the list below choose one of our web link categories, then select a URL to visit the site.') ); + $params->def( 'image', '-1' ); + $params->def( 'weblink_icons', '' ); + $params->def( 'image_align', 'right' ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + + if ( $catid ) { + $params->set( 'type', 'category' ); + } else { + $params->set( 'type', 'section' ); + } + + // page description + $currentcat->descrip = ''; + if( ( @$currentcat->description ) <> '' ) { + $currentcat->descrip = $currentcat->description; + } else if ( !$catid ) { + // show description + if ( $params->get( 'description' ) ) { + $currentcat->descrip = $params->get( 'description_text' ); + } + } + + // page image + $currentcat->img = ''; + $path = $mosConfig_live_site .'/images/stories/'; + if ( ( @$currentcat->image ) <> '' ) { + $currentcat->img = $path . $currentcat->image; + $currentcat->align = $currentcat->image_position; + } else if ( !$catid ) { + if ( $params->get( 'image' ) <> -1 ) { + $currentcat->img = $path . $params->get( 'image' ); + $currentcat->align = $params->get( 'image_align' ); + } + } + + // page header + $currentcat->header = ''; + if ( @$currentcat->name <> '' ) { + $currentcat->header = $currentcat->name; + $pathway =& mosPathway::getInstance(); + $pathway->addItem($currentcat->name, ''); + } else { + $currentcat->header = $params->get( 'header' ); + } + + // used to show table rows in alternating colours + $tabclass = array( 'sectiontableentry1', 'sectiontableentry2' ); + + HTML_weblinks::displaylist( $categories, $rows, $catid, $currentcat, $params, $tabclass ); +} + + +function showItem ( $id, $catid ) { + global $database; + + //Record the hit + $sql="UPDATE #__weblinks SET hits = hits + 1 WHERE id = ". $id .""; + $database->setQuery( $sql ); + $database->query(); + + $database->setQuery( "SELECT url FROM #__weblinks WHERE id = ". $id ."" ); + $url = $database->loadResult(); + + mosRedirect ( $url ); + + listWeblinks( $catid ); + +} + +function editWebLink( $id, $option ) { + global $database, $my; + global $mosConfig_absolute_path, $mosConfig_live_site; + + if ($my->gid < 1) { + mosNotAuth(); + return; + } + + $row = new mosWeblink( $database ); + // load the row from the db table + $row->load( $id ); + + // fail if checked out not by 'me' + if ($row->checked_out && $row->checked_out <> $my->id) { + mosRedirect( "index2.php?option=$option",sprintf(T_('The module %s is currently being edited by another administrator.'), $row->title) ); + } + + if ($id) { + $row->checkout( $my->id ); + } else { + // initialise new record + $row->published = 0; + $row->approved = 0; + $row->ordering = 0; + } +/* + // make the select list for the image positions + $yesno[] = mosHTML::makeOption( '0', 'No' ); + $yesno[] = mosHTML::makeOption( '1', 'Yes' ); + // build the html select list + $applist = mosHTML::selectList( $yesno, 'approved', 'class="inputbox" size="2"', 'value', 'text', $row->approved ); + // build the html select list for ordering + $query = "SELECT ordering AS value, title AS text" + . "\n FROM #__weblinks" + . "\n WHERE catid='$row->catid'" + . "\n ORDER BY ordering" + ; + $lists['ordering'] = mosAdminMenus::SpecificOrdering( $row, $id, $query, 1 ); +*/ + + // build list of categories + require_once($mosConfig_absolute_path.'/administrator/includes/mosAdminMenus.php'); + $lists['catid'] = mosAdminMenus::ComponentCategory( 'catid', $option, intval( $row->catid ) ); + + HTML_weblinks::editWeblink( $option, $row, $lists ); +} + +function cancelWebLink( $option ) { + global $database, $my; + + if ($my->gid < 1) { + mosNotAuth(); + return; + } + + $row = new mosWeblink( $database ); + $row->id = intval( mosGetParam( $_POST, 'id', 0 ) ); + $row->checkin(); + $Itemid = mosGetParam( $_POST, 'Returnid', '' ); + mosRedirect( "index.php?Itemid=$Itemid" ); +} + +/** +* Saves the record on an edit form submit +* @param database A database connector object +*/ +function saveWeblink( $option ) { + global $database, $my; + + if ($my->gid < 1) { + mosNotAuth(); + return; + } + + $row = new mosWeblink( $database ); + if (!$row->bind( $_POST, "approved published" )) { + echo "\n"; + exit(); + } + $isNew = $row->id < 1; + + $row->date = date( "Y-m-d H:i:s" ); + + $row->title = $database->getEscaped($row->title); + $row->catid = $database->getEscaped($row->catid); + + if (!$row->check()) { + echo "\n"; + exit(); + } + if (!$row->store()) { + echo "\n"; + exit(); + } + $row->checkin(); + + /** Notify admin's */ + $query = "SELECT email, name" + . "\n FROM #__users" + . "\n WHERE usertype = 'super administrator'" + . "\n AND sendemail = '1'" + ; + $database->setQuery( $query ); + if(!$database->query()) { + echo $database->stderr( true ); + return; + } + + $adminRows = $database->loadObjectList(); + foreach( $adminRows as $adminRow) { + sendAdminMail($adminRow->name, $adminRow->email, 'Web Link', $row->title, $my->username ); + } + + $msg = $isNew ? T_('Thanks for your submission; it will be reviewed before being posted to the site.') : ''; + $Itemid = mosGetParam( $_POST, 'Returnid', '' ); + mosRedirect( 'index.php?Itemid='. $Itemid, $msg ); +} + +/** +* Sends mail to admin +*/ +function sendAdminMail( $adminName, $adminEmail, $type, $title, $author ) { + $mosConfig_live_site = mamboCore::get('mosConfig_live_site'); + $from = mamboCore::get('mosConfig_mailfrom'); + $fromname = mamboCore::get('mosConfig_fromname'); + $subject = sprintf(T_("User Submitted '%'"),$type); + $message = sprintf(T_('Hello %s,\n\n\nA user submitted %s:\n [ %s ]\n has been just been submitted by user:\n [ %s ]\n' +.' for %s.\n\n\n\n' +.'Please go to %s/administrator to view and approve this %s.\n\n' +.'Please do not respond to this message as it is automatically generated and is for information purposes only\n'), $adminName, $type, $title, $author, $mosConfig_live_site, $mosConfig_live_site, $type); + require_once(mamboCore::get('mosConfig_absolute_path').'/includes/phpmailer/class.phpmailer.php'); + $mail =& new mosMailer ($from, $fromname, $subject, $message); + return $mail->mosMail($adminEmail); +} + +?> diff -ruN 4.6rc2/uploadfiles/components/com_wrapper/index.html 4.6-complete/uploadfiles/components/com_wrapper/index.html --- 4.6rc2/uploadfiles/components/com_wrapper/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_wrapper/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_wrapper/wrapper.html.php 4.6-complete/uploadfiles/components/com_wrapper/wrapper.html.php --- 4.6rc2/uploadfiles/components/com_wrapper/wrapper.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_wrapper/wrapper.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,63 @@ + + +
      + + get( 'page_title' ) ) { + ?> +
      + get( 'header' ); ?> +
      + + + +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/components/com_wrapper/wrapper.php 4.6-complete/uploadfiles/components/com_wrapper/wrapper.php --- 4.6rc2/uploadfiles/components/com_wrapper/wrapper.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/com_wrapper/wrapper.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,59 @@ +getPath( 'front_html' ) ); + +showWrap( $option ); + +function showWrap( $option ) { + global $database, $Itemid, $mainframe; + + $menu =& new mosMenu( $database ); + $menu->load( $Itemid ); + $params =& new mosParameters( $menu->params ); + $params->def( 'back_button', $mainframe->getCfg( 'back_button' ) ); + $params->def( 'scrolling', 'auto' ); + $params->def( 'page_title', '1' ); + $params->def( 'pageclass_sfx', '' ); + $params->def( 'header', $menu->name ); + $params->def( 'height', '500' ); + $params->def( 'height_auto', '1' ); + $params->def( 'width', '100%' ); + $params->def( 'add', '1' ); + $url = $params->def( 'url', '' ); + + if ( $params->get( 'add' ) ) { + // adds 'http://' if none is set + if ( !strstr( $url, 'http' ) && !strstr( $url, 'https' ) ) { + $row->url = 'http://'. $url; + } else { + $row->url = $url; + } + } else { + $row->url = $url; + } + + // auto height control + if ( $params->def( 'height_auto' ) ) { + $row->load = 'window.onload = iFrameHeight;'; + } else { + $row->load = ''; + } + + $mainframe->SetPageTitle($menu->name); + HTML_wrapper::displayWrap( $row, $params, $menu ); +} + +?> diff -ruN 4.6rc2/uploadfiles/components/index.html 4.6-complete/uploadfiles/components/index.html --- 4.6rc2/uploadfiles/components/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/components/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/configuration.php-dist 4.6-complete/uploadfiles/configuration.php-dist --- 4.6rc2/uploadfiles/configuration.php-dist 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/configuration.php-dist 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,96 @@ + mv configuration.php-dist configuration.php +* Windows -> rename configuration.php-dist configuration.php +* +* Now edit this file and configure the parameters for your site and +* database. +* ------------------------------------------------------------------------- +* Database configuration section +* ------------------------------------------------------------------------- +*/ +$mosConfig_offline = '0'; +$mosConfig_host = 'localhost'; // This is normally set to localhost +$mosConfig_user = ''; // MySQL username +$mosConfig_password = ''; // MySQL password +$mosConfig_db = ''; // MySQL database name +$mosConfig_dbprefix = 'mos_'; // Do not change unless you need to! +/** +* ------------------------------------------------------------------------- +* Site specific configuration +* ------------------------------------------------------------------------- +*/ +$mosConfig_absolute_path = '/path/to/mambo/install'; // No trailing slash +$mosConfig_live_site = 'http://www.your_mambo_site.com'; // No trailing slash. Make sure to use www. +$mosConfig_sitename = 'Mambo'; // Name of Mambo site +$mosConfig_shownoauth = '1'; // Display links & categories users don't have access to +$mosConfig_useractivation = '1'; // Send new registration passwords via e-mail +$mosConfig_uniquemail = '1'; // Require unique email adress for each user +$mosConfig_usecaptcha = '0'; // Enable form captcha security +$mosConfig_offline_message = 'This site is down for maintenance.
      Please check back again soon.'; +$mosConfig_lifetime = '900'; // Session time +$mosConfig_MetaDesc = 'Mambo - the dynamic portal engine and content management system'; +$mosConfig_MetaKeys = 'mambo, Mambo, Mambo, Mambo'; +$mosConfig_MetaTitle = '1'; +$mosConfig_MetaAuthor = '1'; +$mosConfig_debug = '0'; +$mosConfig_lang = 'en'; // Site language +$mosConfig_locale = 'en_GB'; +$mosConfig_offset = '0'; // Local time offset +$mosConfig_locale_debug = 0; +$mosConfig_locale_use_gettext = 0; +$mosConfig_hideAuthor = '0'; +$mosConfig_hideCreateDate = '0'; +$mosConfig_hideModifyDate = '0'; +$mosConfig_hidePdf = '0'; +$mosConfig_hidePrint = '0'; +$mosConfig_hideEmail = '0'; +$mosConfig_enable_log_items = '0'; +$mosConfig_enable_log_searches = '0'; +$mosConfig_enable_stats = '1'; +$mosConfig_sef = '0'; +$mosConfig_vote = '0'; +$mosConfig_gzip = '0'; +$mosConfig_multipage_toc = '0'; +$mosConfig_allowUserRegistration = '1'; +$mosConfig_error_reporting = -1; +$mosConfig_register_globals = 1; +$mosConfig_error_message = 'This site is temporarily unavailable.
      Please contact your System Administrator.'; +$mosConfig_link_titles = '0'; +$mosConfig_list_limit = '50'; +$mosConfig_caching = '0'; +$mosConfig_cachepath = '/path/to/mambo/install/cache'; +$mosConfig_cachetime = '900'; +$mosConfig_mailer = 'mail'; +$mosConfig_mailfrom = ''; +$mosConfig_fromname = ''; +$mosConfig_sendmail = '/usr/sbin/sendmail'; +$mosConfig_smtpauth = '0'; +$mosConfig_smtpuser = ''; +$mosConfig_smtppass = ''; +$mosConfig_smtphost = 'localhost'; +$mosConfig_back_button = '0'; +$mosConfig_item_navigation = '1'; +$mosConfig_secret = 'FBVtggIk5lAzEU9H'; //Change this to something more secure +$mosConfig_pagetitles = '1'; +$mosConfig_readmore = '1'; +$mosConfig_hits = '1'; +$mosConfig_icons = '1'; +$mosConfig_favicon = 'favicon.ico'; +$mosConfig_fileperms = ''; +$mosConfig_dirperms = ''; +$mosConfig_mbf_content='0'; +setlocale (LC_TIME, $mosConfig_locale); // Country locale +?> diff -ruN 4.6rc2/uploadfiles/editor/editor.htmlarea2.php 4.6-complete/uploadfiles/editor/editor.htmlarea2.php --- 4.6rc2/uploadfiles/editor/editor.htmlarea2.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/editor/editor.htmlarea2.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,56 @@ + + + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/editor/editor.htmlarea3.php 4.6-complete/uploadfiles/editor/editor.htmlarea3.php --- 4.6rc2/uploadfiles/editor/editor.htmlarea3.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/editor/editor.htmlarea3.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,104 @@ + + + + + + + + + + +loadBotGroup( 'editors' ); + $_MAMBOTS->loadBotGroup( 'editors-xtd' ); + + function initEditor() { + global $_MAMBOTS; + + $results = $_MAMBOTS->trigger( 'onInitEditor' ); + foreach ($results as $result) { + if (trim($result)) { + echo $result; + } + } + } + function getEditorContents( $editorArea, $hiddenField ) { + global $_MAMBOTS; + + $results = $_MAMBOTS->trigger( 'onGetEditorContents', array( $editorArea, $hiddenField ) ); + foreach ($results as $result) { + if (trim($result)) { + echo $result; + } + } + } + // just present a textarea + function editorArea( $name, $content, $hiddenField, $width, $height, $col, $row ) { + global $_MAMBOTS; + + $results = $_MAMBOTS->trigger( 'onEditorArea', array( $name, $content, $hiddenField, $width, $height, $col, $row ) ); + foreach ($results as $result) { + if (trim($result)) { + echo $result; + } + } + } + define( '_MOS_EDITOR_INCLUDED', 1 ); +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/editor/editor.wysiwygpro.php 4.6-complete/uploadfiles/editor/editor.wysiwygpro.php --- 4.6rc2/uploadfiles/editor/editor.wysiwygpro.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/editor/editor.wysiwygpro.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,69 @@ + + +", $content); + $content = str_replace("&", "&", $content); + $content = str_replace(" ", " ", $content); + $content = str_replace(""", "\"", $content); + + + // include the config file and editor class: + include_once ($mosConfig_absolute_path.'/editor/wysiwygpro/config.php'); + include_once ($mosConfig_absolute_path.'/editor/wysiwygpro/editor_class.php'); + + // create a new instance of the wysiwygPro class: + $name = new wysiwygPro(); + + $name->set_name($hiddenField); + + if ($hiddenField=='fulltext') { + $name->subsequent(true); + } + + $name->usep(true); + + // insert some HTML + $name->set_code($content); + + // print the editor to the browser: + $name->print_editor('100%', intval($height)); + +} + +function getEditorContents( $editorArea, $hiddenField ) { +?> + +submit_form(); + + diff -ruN 4.6rc2/uploadfiles/editor/editor.xstandard.php 4.6-complete/uploadfiles/editor/editor.xstandard.php --- 4.6rc2/uploadfiles/editor/editor.xstandard.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/editor/editor.xstandard.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ + + + + + + + + + document.getElementById('').EscapeUNICODE = true; + document.getElementById('').value = document.getElementById('').value; + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/editor/index.html 4.6-complete/uploadfiles/editor/index.html --- 4.6rc2/uploadfiles/editor/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/editor/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/files/index.html 4.6-complete/uploadfiles/files/index.html --- 4.6rc2/uploadfiles/files/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/files/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/admin.cpanel.html 4.6-complete/uploadfiles/help/admin.cpanel.html --- 4.6rc2/uploadfiles/help/admin.cpanel.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/admin.cpanel.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,120 @@ + + + +Control Panel + + + +Control Panel + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Control + Panel is the first page you see when you log into the + Administrators area. At anytime, you can return to it + by clicking the "Home" menu + item in the top menu bar. 

      +

      Control Panel. has two + states: Simple and Advanced. In + Simple state, displays only 4 shortcut icons; Advanced + state, displays 11 shortcut icons

      +

      From the + Control Panel you can have easy access to + the frequently used parts of the Administrator area.

      +

      Control Panel + Icons:

        +
      • Help: Click this icon to view an + index of the locally available Help Screens. You can + also have access to special help screens by pressing + the help icon, found on the right top corner of each screen.All + Content Items: Click this icon to access the All + Content Items screen.  All Content Items, lists + all of your Content Items. Clicking on a Content Item, + you can edit it.Static Content Manager: + Click this icon to access the Static Content Manager. You + will be able to edit these type of  items.
      • +
      • Frontpage: Click this icon to + access the Front Page Manager. You will be able to edit Content + items that appear on your Frontpage.
      • +
      • Sections: Click this icon to + access the Section Manager. You will be able + to edit your Sections.
      • +
      • Categories: + Click this icon to access the Category + Manager. You will be able to edit + your Categories.
      • +
      • Media: + Click this icon to access the Media + Manager. Tou will be able to administer + your media files.
      • +
      • Trash: Click this icon to + access the Trash manager. You will be able + to delete permanently or to restore any items in + the Trash Manager.
      • +
      • Menus: Click this + icon to access the Menu Manager. You will be able  to  edit + any of your menus. 
      • +
      • Users: Click this icon to access + the Users Manager. You will be able  to add, + remove, administer users of your site.  Global + Configuration: Click this icon to access the Global + configuration. You will be able to edit any of your + web site configurations.
      • +
      +

      On + the right side of the screen there are five + tabs:

      +
        +
      • Logged: + This displays a list of users currently + logged on (both in the Admin and the + Frontend sections). Click a users' name to go to the User + Edit page for that user.
      • +
      • Components: + Click this shortcut tab to + access any of the components + and component links + that you wish to edit.
      • +
      • Popular: + Click this tab + to access the screen which + lists in order, the most popular + Content Items on your + site. This includes the date the + Content Item was created and the number of hits. Click + the Content Item name to edit that item.
      • +
      • Latest Items: + Click this tab to access the screen which lists the + most recently added Content Items. This includes + the creation date and the author. Click the Content + item name to edit that item.
      • +
      • Menu + Stats: Click this tab to access + the screen which lists all + menus and the number of item + links in each menu.  The number + of links is the total created, not the total + published. Click the name of a menu to access + the screen which lists the items for that + menu.
      • +
      +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons: n/a
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/admin.system.info.html 4.6-complete/uploadfiles/help/admin.system.info.html --- 4.6rc2/uploadfiles/help/admin.system.info.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/admin.system.info.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,76 @@ + + + + +System Information + + + +System Information + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The information + is displayed in a tabbed format with three main sections + of content.

      +
        +
      • System Info Tab: This a + broad snapshot of the server and versions of the current + installation components of your Mambo site. Here you + will find your PHP build and version, your MySQL database + version along with the Mambo version and relevant settings + that your server has set that might interfere with your + current site installation. Here, you will also find + the contents of your Mambo Configuration file. This + file is produced when you perform the installation of + Mambo on your server, and is changed when you make changes + to in the global configuration section of the Administration + of Mambo. This file defines many of the global + variables that Mambo uses to execute. You can not edit + the file from here, but it does allow you to look at + your current settings to find problems or to copy the + information. 
      • +
      • PHP + Info Tab: PHP is the server side scripting + language that Mambo runs on. This language is installed + and executes on the server, and therefore all the settings + are made on that server. Everything you ever wanted + to know about the PHP installation on your Mambo server + is listed here. How much control you have over changing + this information depends on whether you own the server + or if your server host is willing to work with you on + needed changes. The PHP tab will allow you to look at + all the settings and variables that define your PHP + installation. It is a good practice to insure that you + know what requirements are needed for any 'Third + Party' Components that you plan to use with Mambo. You + can then check for those requirements here.  
      • +
      • Permissions + Tab: Displays a list of all critical Mambo + directories that should be writable in order for Mambo to + function correctly. If you find a directory that is + not writable, you should change it to writable. You cannot + do it from here. You have to do it using your FTP client, + or asking your hoster to do it for you.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons: n/a
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/banners.client.edit.html 4.6-complete/uploadfiles/help/banners.client.edit.html --- 4.6rc2/uploadfiles/help/banners.client.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/banners.client.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,43 @@ + + + + +Banner Client - Edit + + +Banner Client Manager : Edit + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page displays information + about a client when you edit it.

      + Details +
        +
      • Client Name: Type here the name of the business which buys banner display from your site.
      • +
      • Contact Name: Type here the name of whom to contact about matters related to this client.
      • +
      • Contact Email: The e-mail of the person to contact. Will only be visible here.
      • +
      • Extra Info: Any other information about the client you wish to store. Only visible here.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Click here to save your new or edited client's details.
      • +
      • Close: Cancels the action. Any modification is lost. If opened to edit, the client remains checked-in.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/banners.client.html 4.6-complete/uploadfiles/help/banners.client.html --- 4.6rc2/uploadfiles/help/banners.client.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/banners.client.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,48 @@ + + + + +Banner Client Manager + + +Banner Client Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows the list of Clients whose banners may be displayed on your site.

      Display Columns +
        +
      • Client Name: This is the name of the client.
      • +
      • Client ID: System-generated ID number unique + to each client.
      • +
      • Contact: Displays the contact for the Client.
      • +
      • No of active banners: Displays the number + of banners published for this client.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • New:  Click this icon to add a new client.
      • +
      • Edit:  Click this icon to edit an existing + client's + details.
      • +
      • Delete: Click this icon to delete one or + more clients.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/banners.client.new.html 4.6-complete/uploadfiles/help/banners.client.new.html --- 4.6rc2/uploadfiles/help/banners.client.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/banners.client.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,44 @@ + + + + +Banner Client - New + + +Banner Client Manager : Create a New Banner Client + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allows you to + create a new banner client.

      + Details +
        +
      • Client Name: Type here the name for the Client.
      • +
      • Contact Name: Add a contact for this client.
      • +
      • Contact Email: Add the Contact's e-mail address.
      • +
      • Extra Info: Any other information about the + client you wish to store.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Click here to save.
      • +
      • Close: Cancels without saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/banners.manager.edit.html 4.6-complete/uploadfiles/help/banners.manager.edit.html --- 4.6rc2/uploadfiles/help/banners.manager.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/banners.manager.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,54 @@ + + + + +Banner - Edit + + +Banner Manager : Edit Banner + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allow you to + edit a banner's details.

      + Details +
        +
      • Banner Name: Enter a name for the Banner.
      • +
      • Client Name: Select from the list of Banner + clients. 
      • +
      • Impressions Purchased: Enter the number of times to display to banner into the input field, or tick the "Unlimited" checkbox for unlimited display. 
      • +
      • Banner URL: Select the banner image to be displayed from the list of available banners. Images need to be stored in the "images/banners" folder to be available for selection here. The selected image will be displayed at the bottom of the screen. 
      • +
      • Show Banner: Select Yes or No to display + / hide the banner.
      • +
      • Click URL: Enter here the full URL to the page which should open when the banner is clicked on. 
      • +
      • Custom banner code:  You may enter here some code (See Developper Manual for more information). 
      • +
      • Clicks: "Reset Clicks": Reset the + click count shown on the right for the banner to 0.
      • +
      • Banner Image: Image selected under "Banner URL" is displayed here for your convenience.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Upload: Opens a new window which lets you upload an image from your computer to the images/banners folder.
      • +
      • Save: Saves and returns you to Banner + Manager.
      • +
      • Close: + Cancels without saving and returns you to Banner Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/banners.manager.html 4.6-complete/uploadfiles/help/banners.manager.html --- 4.6rc2/uploadfiles/help/banners.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/banners.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,49 @@ + + + + +Banner Manager + + +Banner Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows the list of the banners you may display on your site.

      Display Columns +
        +
      • Banner Name: This is the name of the banner. If you click on this name, you may edit the related parameters. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit.
      • +
      • Published: This displays whether the banner is currently Published or not for Frontend display. Click the column icon to toggle state.
      • +
      • Impressions Made: This is the number of times the banner has been shown on your site.
      • +
      • Impressions Left: This is the number of impressions left to display if a limit has been set while creating or editing a banner. 
      • +
      • Clicks: This is the number of times that particular banner has been clicked on by a user of the site. 
      • +
      • % Clicks: This is the number of clicks as a percentage ratio to the number of impressions that have been made. 1% would mean for example, that 1 in every 100 people had clicked on the banner. 
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click to publish any + number of selected banners
      • +
      • Unpublish: Click to unpublish + any number of selected banners.
      • +
      • Upload: Opens a new window which lets you upload a file or an image from your computer to the images/stories folder.
      • +
      • New: Click this icon to add a new banner.
      • +
      • Edit: Click this icon to edit the banner's details.
      • +
      • Delete: Click this icon to delete the banner.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/banners.manager.new.html 4.6-complete/uploadfiles/help/banners.manager.new.html --- 4.6rc2/uploadfiles/help/banners.manager.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/banners.manager.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,65 @@ + + + + +Banner Manager - New + + +Banner Manager : New Banner + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allow you to + add to the system a new banner.

      + Details +
        +
      • Banner Name: Enter a name for the Banner.
      • +
      • Client Name: Select from the list of Banner + Clients. 
      • +
      • Impressions Purchased: Enter the number of + times to display to banner into the input field, or tick + the "Unlimited" checkbox for unlimited display. 
      • +
      • Banner URL: Select the banner image to be + displayed from the list of available banners. Images need + to be stored in the "images/banners" folder to + be available for selection here. The selected image will + be displayed at the bottom of the screen. 
      • +
      • Show Banner: Select Yes or No to display + / hide the Banner.
      • +
      • Click URL: Enter here the full URL to the + page which should open when the banner is clicked on. 
      • +
      • Custom banner code:  Allows for entry + of parameters for the Banner.
      • +
      • Clicks: "Reset + Clicks": clicking this button will reset + the click count shown on the right for the banner to + 0.
      • +
      • Banner Image: Image selected under "Banner + URL" is displayed here for your convenience.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Upload: Opens a new window which lets you upload an image from your computer to the images/banners folder.
      • +
      • Save: Saves and returns to Banner + Manager.
      • +
      • Close: + Cancels without saving and returns you to Banner Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.contact.edit.html 4.6-complete/uploadfiles/help/categories.contact.edit.html --- 4.6rc2/uploadfiles/help/categories.contact.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.contact.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,67 @@ + + + + +Contact Category - Edit + + +Contact Category: Edit a Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allows you to + edit a Contact Categories.

      + Details
        +
      • Category Title : Enter a name for the + Category.
      • +
      • Category Name: A redundant field for + entering a Category name.
      • +
      • Section: Unused field -- n/a.
      • +
      • Image: Select an image to be associated + with this Contact Category.
      • +
      • Image Position: Controls position of + the image, above, relative to the text on the page.
      • +
      • Ordering: Will not be active until you + save Category. Once active,you can reorder the Category + relative to others with this dropdown menu.
      • +
      • Access: This is the User access level.
      • +
      • Published: Publish or unpublish the + Category.
      • +
      • Description: Free text field supported + by WYSIWYG editor (where enabled in the Global Configuration + Settings) where you can enter text and images to appear + with this Category.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Link to Menu: Allows you to create + a new Menu Item linking to this Category.
      • +
      Toolbar Icons:
        +
      • Upload: Upload an image (or other) file for + use with this Category.
      • +
      • Save: Save your changes and return to Category + Manager.
      • +
      • Apply: Save changes without leaving this + page.
      • +
      • Cancel Cancel without saving changes and + return to Category Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.contact.manager.html 4.6-complete/uploadfiles/help/categories.contact.manager.html --- 4.6rc2/uploadfiles/help/categories.contact.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.contact.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,52 @@ + + + + +Contact Category Manager + + +Contact Category Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows show a list of the Newsfeeds or Contact categories defined on your site.

      Display Columns +
        +
      • Category Name: This is the name of a category. Click the name to edit the category parameters. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit.
      • +
      • Published: Whether a category is published or not. Click the icon to change the state.
      • +
      • Reorder: This shows the order of categories in the list. Click the arrow icons to move the item up or down in the list.
      • +
      • Order: Order of the categories on the list + (this has no effect on site display).
      • +
      • Access: This is the User access level.
      • +
      • Category ID: There is the ID for each category as defined in the database.
      • +
      +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click to publish any number of selected Categories.
      • +
      • Unpublish: Click to unpublish any number + of selected Categories.
      • + +
      • New: Click the 'New' icon to create a new category.
      • +
      • Edit: Click the 'Edit' icon to edit the category.
      • +
      • Delete: Click the 'Delete' icon to delete one or multiple categories. An Alert will pop to let you confirm this choice. This action can't be performed if the category contains Newsfeeds or Contacts. In this last case, you would have to delete the Newsfeeds or Contacts first.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.contact.new.html 4.6-complete/uploadfiles/help/categories.contact.new.html --- 4.6rc2/uploadfiles/help/categories.contact.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.contact.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,68 @@ + + + + +Contact Category - New + + +Contact Category: Create a New Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allows you to + create a new Contact Category.

      + Details +
        +
      • Category Title : Enter a name for the Category.
      • +
      • Category Name: A redundant field for entering + a Category name.
      • +
      • Section: Unused field -- n/a.
      • +
      • Image: Select an image to be associated with + this Contact Category.
      • +
      • Image Position: Controls position of the + image, above, relative to the text on the page.
      • +
      • Ordering: Will not be active until you save + Category. Once active,you can reorder the Category relative + to others with this dropdown menu.
      • +
      • Access: This is the User access level.
      • +
      • Published: Publish or unpublish the Category.
      • +
      • Description: Free text field supported by + WYSIWYG editor (where enabled in the Global Configuration + Settings) where you can enter text and images to appear with + this Category.
      • +
      +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Link to Menu: This parameter will not appear + until you click Save or Apply. Allows you to create a new + Menu Item linking to this Category.
      • +
      Toolbar Icons:
        +
      • Upload: Upload an image (or other) file for + use with this Category.
      • +
      • Save: Save your changes and return to Category + Manager.
      • +
      • Apply: Save changes without leaving this + page.
      • +
      • Cancel Cancel without saving changes and + return to Category Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.copy.html 4.6-complete/uploadfiles/help/categories.copy.html --- 4.6rc2/uploadfiles/help/categories.copy.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.copy.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,43 @@ + + + + +Category - Copy + + +Category Manager +: Copy a Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      You + can Copy a Category and its contents between Sections. + When you Copy a Category, you create an exact duplicate of it + along with its Content Items.

      +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • +
      Toolbar Icons:
        +
      • Save: Click this icon to save the changes.
      • +
      • Cancel: + Cancel the action and return to previous screen.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.edit.html 4.6-complete/uploadfiles/help/categories.edit.html --- 4.6rc2/uploadfiles/help/categories.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,109 @@ + + + + +Category - Edit + + +Category Manager : + Edit a Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you edit a Category.

      + Details +
        +
      • Category Title: Type here the name of + the category as you want it to display on your site.
      • +
      • Category Name: + Type here the name of the category as you want it to + appear in the database and the back-end.
      • +
      • Section: + Select here the Section you want the category to belong + to. This choice will not be available once the category + is Applied or Saved. Instead it will show the Section + the category belongs to.
      • +
      • Image: + Select here an image to display next to the Category + Description text. The dropdown list an image choice + from the images/stories folder.
      • +
      • Image position: + Select here the position of the image relative to the + description text. Left or right.
      • +
      • Ordering: + Select here the order of the category among other categories + in the same section. This will reflect in the Category + Manager.
      • +
      • Access: + This is the user access level for the category. Public, + Registered or Special.
      • +
      • Published: Check + the box to let the item show on your site.
      • +
      • Description:  Type + here a description of the Category. This text will show + if decided so when the category is displayed as a table, + blog or other categories.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      The following parameters will only show once + the category is applied or saved.

      +
        +
      • Link + to Menu: + This will create a new Menu Item in the menu you + select. +
      • +
      • Select + a Menu: Highlight here + one the menus defined for your site.
      • +
      • Select Menu + Type: + Select here 'Content Category + Table', 'Content + Category Blog' or 'Content + Category Archive Blog' Menu + Item types.
      • +
      • Menu + Item Name: + The name of the Menu as it + will appear on your site.
      • +
      • Link to Menu: + Click on this button to + create the Menu Item.Existing Menu + LinksThis displays a list + of all Menu Items referencing + this category.
      • +
      Toolbar Icons:
        +
      • Upload: Opens a new + window which lets you upload a file or an image from your computer + to the images/stories folder.
      • +
      • Save: Saves the + category and returns to Manager.
      • +
      • Apply: + Saves the category and keep the page displayed + to edit.
      • +
      • Close: + Cancels the action. Any modification is lost. If + opened for edit, the Category remains checked-in.
      • +
      + +

       

      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.manager.html 4.6-complete/uploadfiles/help/categories.manager.html --- 4.6rc2/uploadfiles/help/categories.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,92 @@ + + + + +Category Manager + + +Category Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows show a + list of the Categories defined on your site. They are ordered + by the section they belong to. The Select Section drop-down + lets you display the categories belonging to one specific + section at a time. You may filter the categories by the section + they belong to.

      Display Columns +
        +
      • Category Name: This is the name of a category. + Click the name to edit the category parameters. A padlock + icon next to it shows that it is checked-out. To check-in, + click the name to edit ,
      • +
      • Published: Whether a category is + published or not. Click the icon to change the + state.
      • +
      • Order: + Order of the categories on the list (this + has no effect on site display). You may change it by editing + 2 # conjointly and clicking on the Save Order icon in the + heading.
      • +
      • Access: This is the User access level. Oublic, + Registered or Special.
      • +
      • Section: The + name of the Section de category belongs to. Clicking + on this name lets you edit the category's section's + parameters.
      • +
      • Category + ID: There is the ID for each category + as defined in the database.
      • +
      • # Active: + This is the number of published Content Items + in the category.
      • +
      • #Trash: + Number of Content Items belonging to + this category and currently in the Trash.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish and Unpublish: + Same function as Published in the headings. You may check multiple + checkboxes.
      • +
      • New: Create a new Category.
      • +
      • Edit: + Edit an existing category parameters.
      • +
      • Move: Opens + a new Move Category window where you can choose + to move the specific Category and *all its Content Items* + to another existing Section. You may click multiple checkboxes + here.
      • +
      • Copy: + Opens a new Copy Category window where you can + choose to copy the specific Category and *all its Content + Items* to another existing Section. You may click multiple + checkboxes here. (The Content Items copied will keep the + same name)
      • +
      • Delete: + Lets you delete the category chosen. An Alert will pop + to let you confirm this choice. This action can't + be performed if the category contains Content Items. + In this last case, you would have to delete the Content + Items first.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.move.html 4.6-complete/uploadfiles/help/categories.move.html --- 4.6rc2/uploadfiles/help/categories.move.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.move.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,43 @@ + + + + +Category - Move + + +Category Manager +: Move a Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      You + can Move a Category and its contents between Sections. When you Move a Category, + it is deleted from its original Section and it is recreated + under the new Section, along with its items.

      +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • +
      Toolbar Icons:
        +
      • Save: Click this icon to save the changes.
      • +
      • Cancel: + Cancel the action and return to previous screen.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.new.html 4.6-complete/uploadfiles/help/categories.new.html --- 4.6rc2/uploadfiles/help/categories.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,109 @@ + + + + +Category - New + + +Category Manager : Create a New Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you create + a Category.

      + Details +
        +
      • Category Title: Type here the name of + the category as you want it to display on your site.
      • +
      • Category Name: + Type here the name of the category as you want it to + appear in the database and the back-end.
      • +
      • Section: + Select here the Section you want the category to belong + to. This choice will not be available once the category + is Applied or Saved. Instead it will show the Section + the category belongs to.
      • +
      • Image: + Select here an image to display next to the Category + Description text. The dropdown list an image choice + from the images/stories folder.
      • +
      • Image position: + Select here the position of the image relative to the + description text. Left or right.
      • +
      • Ordering: + Select here the order of the category among other categories + in the same section. This will reflect in the Category + Manager.
      • +
      • Access: + This is the user access level for the category. Public, + Registered or Special.
      • +
      • Published: Check + the box to let the item show on your site.
      • +
      • Description:  Type + here a description of the Category. This text will show + if decided so when the category is displayed as a table, + blog or other categories.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      The following parameters will only show once + the category is applied or saved.

      +
        +
      • Link + to Menu: + This will create a new Menu Item in the menu you select.
      • +
      • Select + a Menu: Highlight + here one the menus defined + for your site.
      • +
      • Select Menu + Type: + Select here 'Content Category + Table', 'Content + Category Blog' or 'Content + Category Archive Blog' Menu + Item types.
      • +
      • Menu + Item Name: + The name of the Menu as + it will appear on your + site.
      • +
      • Link to Menu: + Click on this button + to create the Menu Item.Existing Menu + LinksThis displays + a list of all Menu Items referencing + this category.
      • +
      Toolbar Icons:
        +
      • Upload: Opens a new + window which lets you upload a file or an image from your computer + to the images/stories folder.
      • +
      • Save: Saves the + category and returns to Manager.
      • +
      • Apply: + Saves the category and keep the page displayed + to edit.
      • +
      • Close: + Cancels the action. Any modification is lost. If + opened for edit, the Category remains checked-in.
      • +
      + +

       

      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.newsfeeds.edit.html 4.6-complete/uploadfiles/help/categories.newsfeeds.edit.html --- 4.6rc2/uploadfiles/help/categories.newsfeeds.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.newsfeeds.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,69 @@ + + + + +Newsfeed Category - Edit + + +Newsfeeds: Edit A Category + + + + + + + + +
       
      + + + + + + + + + + + + +
      Purpose:

      This page allows you to + edit Newsfeed Categories.

      + Details +
        +
      • Category Title : Enter a name for the + Category.
      • +
      • Category Name: A redundant field for + entering a Category name.
      • +
      • Section: Unused field -- n/a.
      • +
      • Image: Select an image to be associated + with this Contact Category.
      • +
      • Image Position: Controls position of + the image, above, relative to the text on the page.
      • +
      • Ordering: Will not be active until you + save Category. Once active,you can reorder the Category + relative to others with this dropdown menu.
      • +
      • Access: This is the User access level.
      • +
      • Published: Publish or unpublish the + Category.
      • +
      • Description: Free text field supported + by WYSIWYG editor (where enabled in the Global Configuration + Settings) where you can enter text and images to appear + with this Category.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Link to Menu: Allows you to create a new + Menu Item linking to this Category.
      • +
      Toolbar Icons:
        +
      • Upload: Upload an image (or other) file for + use with this Category.
      • +
      • Save: Save your changes and return to Category + Manager.
      • +
      • Apply: Save changes without leaving this + page.
      • +
      • Cancel Cancel without saving changes and + return to Category Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.newsfeeds.manager.html 4.6-complete/uploadfiles/help/categories.newsfeeds.manager.html --- 4.6rc2/uploadfiles/help/categories.newsfeeds.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.newsfeeds.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,69 @@ + + + + +Newsfeed Category Manager + + +Newsfeeds: Categories + + + + + + + + +
       
      + + + + + + + + + + + + +
      Purpose:

      This page shows show a + list of the Newsfeeds categories defined on your site.

      + Display Columns +
        +
      • Category Name: This is the + name of a category. Click the name to edit the category parameters. + A padlock icon next to it shows that it is checked-out. To + check-in, click the name to edit.
      • +
      • Published: Whether a category is published + or not. Click the icon to change the state.
      • +
      • Reorder: This shows the order of categories + in the list. Click the arrow icons to move the item up or + down in the list.
      • +
      • Order: Order of the categories on the list + (this has no effect on site display).
      • +
      • Access: This is the User access level. Public, + Registered or Special.
      • +
      • Category ID: There is the ID for each category + as defined in the database.
      • +
      +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click to publish any number of selected + Categories.
      • +
      • Unpublish: Click to unpublish any number + of selected Categories.
      • +
      • New: Click + the 'New' icon to create a new category.
      • +
      • Edit: + Click the 'Edit' icon to edit the category.
      • +
      • Delete: + Click the 'Delete' icon to delete one or multiple + categories. An Alert will pop to let you confirm this + choice. This action can't be performed if the category + contains Newsfeeds or Contacts. In this last case, you + would have to delete the Newsfeeds or Contacts first.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.newsfeeds.new.html 4.6-complete/uploadfiles/help/categories.newsfeeds.new.html --- 4.6rc2/uploadfiles/help/categories.newsfeeds.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.newsfeeds.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,70 @@ + + + + +Newsfeed Category - New + + +Newsfeeds: Create a New Category + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allows you to + create a new Newsfeeds category for your site.

      + Details +
        +
      • Category Title : Enter a name for the + Category.
      • +
      • Category Name: A redundant field for + entering a Category name.
      • +
      • Section: Unused field -- n/a.
      • +
      • Image: Select an image to be associated + with this Contact Category.
      • +
      • Image Position: Controls position of + the image, above, relative to the text on the page.
      • +
      • Ordering: Will not be active until you + save Category. Once active,you can reorder the Category + relative to others with this dropdown menu.
      • +
      • Access: This is the User access level.
      • +
      • Published: Publish or unpublish the + Category.
      • +
      • Description: Free text field supported + by WYSIWYG editor (where enabled in the Global Configuration + Settings) where you can enter text and images to appear + with this Category.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Link to Menu: This parameter will not appear + until you click Save or Apply. Allows you to create a new + Menu Item linking to this Category.
      • +
      Toolbar Icons:
        +
      • Upload: Upload an image (or other) file for + use with this Category.
      • +
      • Save: Save your changes and return to Category + Manager.
      • +
      • Apply: Save changes without leaving this + page.
      • +
      • Cancel Cancel without saving changes and + return to Category Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.weblinks.edit.html 4.6-complete/uploadfiles/help/categories.weblinks.edit.html --- 4.6rc2/uploadfiles/help/categories.weblinks.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.weblinks.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,70 @@ + + + + +Web Link Category - Edit + + +Web Link Manager : Edit +Category + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allow you to + edit the details for a Web Link Category.

      + Details +
        +
      • Category Title : Enter a name for the + Category.
      • +
      • Category Name: A redundant field for + entering a Category name.
      • +
      • Section: Unused field -- n/a.
      • +
      • Image: Select an image to be associated + with this Contact Category.
      • +
      • Image Position: Controls position of + the image, above, relative to the text on the page.
      • +
      • Ordering: Will not be active until you + save Category. Once active,you can reorder the Category + relative to others with this dropdown menu.
      • +
      • Access: This is the User access level.
      • +
      • Published: Publish or unpublish the + Category.
      • +
      • Description: Free text field supported + by WYSIWYG editor (where enabled in the Global Configuration + Settings) where you can enter text and images to appear + with this Category.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Link to Menu: Allows you to create a new + Menu Item linking to this Category.
      • +
      Toolbar Icons:
        +
      • Upload: Upload an image (or other) file for + use with this Category.
      • +
      • Save: Save your changes and return to Category + Manager.
      • +
      • Apply: Save changes without leaving this + page.
      • +
      • Cancel Cancel without saving changes and + return to Category Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.weblinks.manager.html 4.6-complete/uploadfiles/help/categories.weblinks.manager.html --- 4.6rc2/uploadfiles/help/categories.weblinks.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.weblinks.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,58 @@ + + + + +Web Link Category Manager + + +Web Link Manager : Categories + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allow you to + manage Web Link Categories.

      + Details +
        +
      • Category Name: The name of the + Categories. 
      • +
      • Published: Whether the Category is published; + click icon to toggle state. 
      • +
      • Reorder: Click arrows to reorder Categories. 
      • +
      • Order: Reorder the list in whole or in part + by setting the numerical rankings. 
      • +
      • Access: Which class of users can access the + Category; click icon to toggle state.
      • +
      • Category ID : System generated unique ID + for the Category.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Publish: Click to publish any number of selected + Categories.
      • +
      • Unpublish: Click to unpublish any number + of selected Categories.
      • +
      • New: Click to create a new Category.
      • +
      • Edit: Select a Category and click to edit + the Category.
      • +
      • Delete: Click to delete one or more Categories.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/categories.weblinks.new.html 4.6-complete/uploadfiles/help/categories.weblinks.new.html --- 4.6rc2/uploadfiles/help/categories.weblinks.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/categories.weblinks.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,72 @@ + + + + +Web Link Category - New + + + +Web Link Manager : Create +a New Category + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allow you to + add a new Web Link category.

      + Details +
        +
      • Category Title : Enter a name for the + Category.
      • +
      • Category Name: A redundant field for + entering a Category name.
      • +
      • Section: Unused field -- n/a.
      • +
      • Image: Select an image to be associated + with this Contact Category.
      • +
      • Image Position: Controls position of + the image, above, relative to the text on the page.
      • +
      • Ordering: Will not be active until you + save Category. Once active,you can reorder the Category + relative to others with this dropdown menu.
      • +
      • Access: This is the User access level.
      • +
      • Published: Publish or unpublish the + Category.
      • +
      • Description: Free text field supported + by WYSIWYG editor (where enabled in the Global Configuration + Settings) where you can enter text and images to appear + with this Category.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Link to Menu: This parameter will not be + available until you click Save or Apply. Allows you to create + a new Menu Item linking to this Category.
      • +
      Toolbar Icons:
        +
      • Upload: Upload an image (or other) file for + use with this Category.
      • +
      • Save: Save your changes and return to Category + Manager.
      • +
      • Apply: Save changes without leaving this + page.
      • +
      • Cancel Cancel without saving changes and + return to Category Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/checkin.main.html 4.6-complete/uploadfiles/help/checkin.main.html --- 4.6rc2/uploadfiles/help/checkin.main.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/checkin.main.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,57 @@ + + + + +Global Checkin + + + +Global Checkin + + + + + + + + + + + + + + + + + + + + +
      Purpose:When a User edits a file, + Mambo changes its status to, "Checked Out". In effect, + the file is locked and only the User who has "checked it + out" has permission to work with it. This is a security feature + that prevents two Users from editing a document at the same time, + thus preventing loss of data upon saving.A Content Item remains 'Checked + Out' until the User clicks 'Save' or 'Cancel' while + editing the Content Item, at which time the Content Item is "Checked + In". However, if there's a connection error, the user + presses the 'Back' icon in his/her browser, or the User + chooses another Menu Item without saving or canceling the work + in progress, the Content Item remains 'Checked Out'. This + means no one can edit it. This is usually reported or experienced + as Users being unable to edit or access items, and can be verified + by looking at the column labeled "Checked Out" in + the Section, Category, or Item file list .Mambo has a protocol, + called "Global Checkin" that allows an administrator + to unlock all Content Items that are currently "Checked Out".To + perform the "Global Check In", select System > Global + Check In from the Administrator Menubar.  After performing + the "Global Check In", Mambo returns a list showing + how many items, and from which tables, were Checked back in.WARNING: Be + very careful in doing this as anyone who is editing a document + at that very moment can have his or her work lost.
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons: n/a
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/comment.edit.html 4.6-complete/uploadfiles/help/comment.edit.html --- 4.6rc2/uploadfiles/help/comment.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/comment.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,52 @@ + + + +Comment - Edit + + + +Comment Manager : Edit a Comment Item + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you edit a Comment + Item for your site.

      +
      Usage:n/a
      Default + State: n/a
      Parameters: +
        +
      • Name: Enter or edit the name of the user here.
      • +
      • Content Item: This is the content item that this + comment relates to. If you wish to move this comment to another content + item you may select it from here.
      • +
      • Comments: Edit the comment here.
      • +
      • Published: Select Yes/No to publish this comment
      • +
      +
      Toolbar + Icons:
        +
      • Save: Saves and returns you to Comment Manager.
      • +
      • Cancel: Cancels without saving and returns you to + Comment Manager.
      • +
      +
      + + diff -ruN 4.6rc2/uploadfiles/help/comment.manager.html 4.6-complete/uploadfiles/help/comment.manager.html --- 4.6rc2/uploadfiles/help/comment.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/comment.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,64 @@ + + + +Comment - New + + + +Comment Manager + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page displays a list of + the Comment items on your site.

      + Display Columns +
        +
      • Author: Name of the person who wrote the comment. + This will be GUEST if the user is not logged in and anonymous comments + are enabled.
      • +
      • Comment: This shows the connent itself.
      • +
      • Date: This shows the date the comment was added.
      • +
      • Content Item: This is the content item the comment + relates to.
      • +
      • Published: This shows the current published state + of the comment.
      • +
      +
      Usage:n/a
      Default + State: n/a
      Parameters:n/a +

      +
      Toolbar + Icons:
        +
      • Publish: Click to publish any number of selected + items.
      • +
      • Unpublish: Click to unpublish any number of selected + items.
      • +
      • New: Click the 'New' icon to create a new + Comment. 
      • +
      • Edit: Select the feeds and click the 'Edit' icon + to edit the Comment.
      • +
      • Delete: Click the 'Delete' icon to delete + one or multiple Comment.
      • +
      +
      + + diff -ruN 4.6rc2/uploadfiles/help/comment.new.html 4.6-complete/uploadfiles/help/comment.new.html --- 4.6rc2/uploadfiles/help/comment.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/comment.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,52 @@ + + + +Comment - New + + + +Comment Manager : New Item + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you create a + new Comment Item for your site.

      +
      Usage:n/a
      Default + State: n/a
      Parameters: +
        +
      • Name: Enter the name of the user here.
      • +
      • Content Item: Select the content item that this + comment relates to.
      • +
      • Comments: Enter the comments you wish to write + here.
      • +
      • Published: Select Yes/No to publish this comment
      • +
      +
      Toolbar + Icons:
        +
      • Save: Saves and returns you to Comment Manager.
      • +
      • Cancel: Cancels without saving and returns you to + Comment Manager.
      • +
      +
      + + diff -ruN 4.6rc2/uploadfiles/help/comment.settings.html 4.6-complete/uploadfiles/help/comment.settings.html --- 4.6rc2/uploadfiles/help/comment.settings.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/comment.settings.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,79 @@ + + + +Comment - New + + + +Comment Manager : Settings + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you configure + the Comments settings for your site..

      +
      Usage:n/a
      Default + State: n/a
      Parameters:

      The Parameters for this screen include the + following 3 categories of options: General, Notification, + and Admin.

      + (1) General Tab +
        +
      • Sections Available: Select which section(s) should + use the comment system. Hold down [CTRL] to make multiple selections..
      • +
      • Autopublish Comments: Select Yes or No to automatically + publish new comments.
      • +
      • Anonymous Comments: Select Yes or No to allow anonymous + comments to be added to content. If no is selected users must log in + before being able to post comments..
      • +
      • Comments Per Page: Select the number of comments + you want to appear on each content page. Once the comments reach the + level you set the page and its comments will be automatically split + and a paging tab built..
      • +
      +
      + (2) Notification Tab +
        +
      • Notify Admin: You may select here whether to notify + the Administrator upon each new comment added.
      • +
      • Administrators Email: This is the email address + that a notification about new comments will be sent to. This is set + to be the same as the email address for the Administrator in the sites + Global configuration.
      • +
      +
      + (3) Admin:
      Here are various settings for what is displayed when + the user clicks to view a Comment item. +
        +
      • Comment Length: Allows you to set the length of + the comment shown in the admin screen before it is trimmed. The full + comment can be viewed by clicking on the comment link.
        +
      • +
      +
      Toolbar + Icons:
        +
      • Save: Saves and returns you to Comment Manager.
      • +
      • Cancel: Cancels without saving and returns you to + Comment Manager.
      • +
      +
      + + diff -ruN 4.6rc2/uploadfiles/help/config.main.html 4.6-complete/uploadfiles/help/config.main.html --- 4.6rc2/uploadfiles/help/config.main.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/config.main.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,359 @@ + + + + +Global Configuration Manager + + + +Global Configuration Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Global Configuration + Manager allows you to control a number of variables that + affect your site as a whole. Changes made on this screen + will update the configuration.php file; accordingly, this + file must be writable. When your site is configured, + it is a good idea to make configuration.php unwritable for + security reasons.

      +

      Site Tab

      + +
        +
      • Site Offline - Takes the front end of your website + on or offline. Use this option if you are updating the site and do not + wish to have your visitors view the site until you are finished.
      • +
      • Offline Message - When the Site Offline switch is + in the Yes position, this field sets the default message that displays + for your site visitors.
      • +
      • System Error Message - This message will display + if the initial database connection fails.  You can type anything + you like in this box.
      • +
      • Site Name - Sets the name of the site. This will + display in the Title Bar of the visitors' browsers and will also show + in system-generated emails.
      • +
      • ShowUnauthorised Links - With this option turned + on, visitors will see all links, including those to Content Items + to which the visitor may not have access, (that is, content given an + Access Level of 'Registered' or 'Special'). With this + option off, they will only see links to content with an Access Level + of 'Public'.
      • +
      • Allow User Registration - This option allows you + to set whether visitors can register for a user account. If the "Yes" + radio button is chosen, the Login Form will include the prompt “No + account yet? Create one". If the "No" radio button is + chosen, they will not be presented with an option to register.
      • +
      • Use New Account Activation - If the "Yes" + radio button is chosen, an activation link will be sent to user's + e-mail address. A new user can not login until he has clicked on the + activation link.  If the "No" radio button is chosen, + Users will be able to login right away without activation.
      • +
      • Email New User Password - With this option set to + 'Yes', the new user will receive an email with a password generated + by Mambo. If it is set to 'No', new Users will select their + own password.
      • +
      • Require Unique Email - Select whether you want to + prevent registration with duplicate e-mail addresses. In combination + with user activation this option prevents users from signing up more + than once using the same e-mail address.
      • +
      • Use Captcha Authentication - Select whether users + are required to enter verification details from a security image before + submitting forms. This stops automatic form submissions such as spam.
      • +
      • Debug Site - This option allows you to view the error + messages that are created by your site's php installation. It can + be a handy tool for debugging if you are having problems and for reporting + errors to your System Administrator or Web host.
      • +
      • WYSIWYG Editor - Choose which of the installed Text + Editors you want to use to edit Content Items.
      • +
      • List Length - Choose a default length for lists in + the Admin system.
      • +
      • Favourites Site Icon - This sets the icon that appears + in some browsers next to the name and/or address of your site.  + By default this is the Mambo flower.  If you want another icon + to show up, you must upload another icon to replace the Mambo flower. 
      • +
      +

      Locale Tab

      +
        +
      • Language:  Choose + the default language used on your site. Note that you + may have to install a language pack if you wish to use + a language other than that deployed with the system.
      • +
      • Time + Offset: This option sets the time offset in + hours between your server location and GMT (Greenwich + Mean Time - UK).
      • +
      • Debugging:
      • +
      • Use gettext:
      • +
      • Country + Locale: Type the location of your Web site.  For + instance en_GB would be the setting for the UK.
      • +
      +

      Content Tab

      +
        +
      • Linked Titles: + Select 'Yes', if you want the title of a Content + Item to function as a hyper-link leading to the Content + Item.
      • +
      • Read + More Link: Hide / display the + text "Read more" at the end of your "Intro + Text" of your Content Items.
      • +
      • Item Rating / Voting: This + option allows users to vote on / rate Content Items.  Choose 'Yes', + and a 'Star Bar' will be shown on each Content + Item, as well as a form for submitting ratings.
      • +
      • Author + Names: Show /Hide the Author's name when + a Content Item is displayed.
      • +
      • Created Date and Time: Show /Hide the + creation date and time when a Content Item + is displayed
      • +
      • .Modified + Date and Time: Show /Hide the last modified + date and time when + a Content Item is displayed.
      • +
      • Hits: Show /Hide the number + of times an article/content has been viewed.
      • +
      • PDF Icon: + Show /Hide the PDF + maker icon on Content Items.
      • +
      • Print Icon:  Show /Hide the Printer + Friendly Version icon on Content Items.
      • +
      • Email + Icon: Show /Hide the Email Page to Friend + icon on Content Items.
      • +
      • Icons: Choose the + radio button "Show", when you want the hidden links + to Email/Print/PDF to be icons rather than text.
      • +
      • Table + of Contents on multi-page items: Choose the radio + button "Show", to show the Table of Content navigation + index boxes  for multi-page Content Items.
      • +
      • Back Button: Show /Hide navigational + back buttons on each page to make it easier for users + to navigate your site.
      • +
      • Content Item Navigation: + Choose the radio button "Show", to publish  'Next' and 'Previous' links + when viewing Content Items in a category or  to change + pages within the same article.
      • +
      +

      Database Tab

      +

      Warning  These + are very important settings. If your Mambo web site has been + installed on your behalf do not alter these settings.

      +
        +
      • Hostname: + Your Host name - typically "localhost."
      • +
      • MySQL + Username: The username to access + your Mambo database.
      • +
      • MySQL Password:  The password to + access your Mambo database.
      • +
      • MySQL + Database: The name of the database + your Mambo installation uses.
      • +
      • MySQL Database Prefix: + The prefix used for records in your Mambo + database. Typically “mos_" by default. Very + Important! DO NOT CHANGE UNLESS YOU HAVE A + DATABASE BUILT USING TABLES WITH THE PREFIX YOU ARE + SETTING!!
      • +
      +

      Server Tab

      +

      The following two items are predefined + during the installation and are not configurable through + this tab. The only way to change them is by manually editing + the configuration.php file.

      +
        +
      • Absolute Path: This + is the directory information used by Mambo on the server + that orientates it to it's surrounding system.
      • +
      • Live + Site: This is the absolute URL (web address) + for your installation of Mambo. Typical value is http://www.mysite.com.
      • +
      +

      The following items are editable on the screen.

      +
        +
      • GZIP Page Compression: + Choose the radio button "Yes", to allow + your web server to send compressed data, if supported + by the server, to the client web browser.
      • +
      • Login + Session Lifetime: Type the number of seconds + the Administration session should be allowed to stay + live before automatic logout occurs. After automatic + logout, the Administrator will be required to login + again using the correct username and password. 
      • +
      • Error + Reporting: If this option + is enabled under the Site tab, then using the drop down + box, select the level or reporting required. Options + are System Default, None, Simple and Maximum.
      • +
      +
        +
          +
        • System Default -  This turns Error reporting + to the system default according to php.ini on the + server.
        • +
        • None - This turns off error reporting.
        • +
        • Simple -  This turns error reporting to + simple options.
        • +
        •  Maximum -  This turns error reporting + to the Maximum level.
        • +
        +
      • Register Globals Emulation: By + default set to "ON." Setting this to "OFF" may + cause problems with some components.
      • +
      • Help Server: Set the URL for the + system to use to access the live help site data. + Leave blank to disable this feature.
      • +
      • File Creation: + By default, files created by the installation of + components, modules and mambots inherit the server + default permissions. By choosing "CHMOD new + files", you can override + the server permissions.
      • +
      • Directory Creation: + As with files, new directories will by default + inherit the server default permissions. Choose "CHMOD + new directories" to + override the server permissions.
      • +
      +

      Metadata Tab

      +

      These settings, affect the way + search engines index your site.

      +
        +
      • Global Site Meta Description: Type + a description of your web site used to assist Search + Engines. Make sure that the most important + part of your description is in the first 20 words.
      • +
      • Global + Site Meta Keywords: Appears in the keywords + field of your site's metadata. Can append metadata + to this list for individual Content Items, but + the appended text will always come after what is + input here.
      • +
      • Show + Title Meta Tag: Includes the item + / component title name in the Title meta tag + field in the source code.
      • +
      • Show Author Meta + Tag: Includes the Author meta + tag field in the source code when viewing + content.
      • +
      +

      Mail Tab

      +
        +
      • Mailer: Choose + which mailer you wish to use: PHP mail function, Sendmail + or SMTP Server.
      • +
      • Mail From: Choose which email + address will show as the sender of system-generated + emails.
      • +
      • From Name: + Choose what name will show as the sender of system-generated + emails.
      • +
      • Sendmail + Path: This is the directory of the Mail server. + Under Linux installations is normally /usr/sbin/sendmail. + Not applicable on Windows installations.If you have chosen + the SMTP Server as the Mailer, then you have to set the following + settings. Ignore otherwise. 
      • +
      • SMTP Auth: + Choose "Yes" if SMTP Authentication is required + by your host.
      • +
      • SMTP User: If authentication + is required and set above, type your username.
      • +
      • SMTP + Pass: If authentication is required and set + above, type your password.
      • +
      • SMTP Host: This + is usually set as "localhost," but you may + need to check this with your host.
      • +
      +

      Cache Tab

      +
        +
      • Caching: Choose "Yes" to + allow for caching of certain elements within Mambo. This + will generally improve the performance of your site.
      • +
      • Cache + Folder: This is the folder or directory to + store the cache files. This must be writable for this caching + to be successfully implemented. Contact your Web Master if + you have any difficulties.
      • +
      • Cache Time: Edit + the maximum length of time, in seconds, for a cache file + to be stored before it is refreshed.
      • +
      +

      Statistics Tab

      +
        +
      • Statistics: Choose 'Yes', + to allow the browser and visitor domain statistics to be + collected on the basis of settings in  the Content Tab. + You can then access the statistics, from Site -> Statistics.
      • +
      • Log + Content Hits by Date: Choose "Yes" to + enable logging of the hits on Content Items, on + a daily basis. Warning: This will tend to collect + masses of data over time. Be sure that your server + space has the space to to store this information. 
      • +
      • Log + Search Strings: Choose "Yes" to enable + logging of the search text, entered by a user. Such logging + facilitates the 'tuning' of your web site, giving + you an insight into how your visitors are trying to find + the information they seek. Analysis reporting is provided + under Site->Statistics->Search Text.
      • +
      +

      SEO Tab

      +
        +
      • Search Engine Friendly + URLs:  This changes the way site + links are presented and optimises them so that + search engines can access more of your site. This + option is ONLY available to sites hosted on Apache + servers.  Choose 'Yes' to enable Mambo + to output friendly URLs rather than normal database + generated URLs. If you use this option you must + rename your htaccess.txt file to .htaccess.
      • +
      • Dynamic + Page Titles: Choose "Yes" to + set the page titles (that appear at the top of + a viewers browser) to be the same as the page title + they are viewing. Again this helps search engines.NOTE:  
      • +
      +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Make unwritable + after saving Checking + this box will change the file permissions of configuration.php + to unwritable once you have applied your changes.
      • +
      Toolbar Icons:
        +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/contact.edit.html 4.6-complete/uploadfiles/help/contact.edit.html --- 4.6rc2/uploadfiles/help/contact.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/contact.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,154 @@ + + + + +Contact - Edit + + +Contact Manager : Edit a Contact Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you edit + a Contact Item for your site.

      + Details: Note: Any field left + blank is not displayed. Any field filled out will be included + into the downloadable vCard for this Contact. +
        +
      • Category: Drop-down select of all published + Contact categories
      • +
      • Linked to User: Drop-down select of + all registered users of the web site. Can be set to " - + No User - " for independent setup of a site contact.
      • +
      • Name: Type here the name of the contact + as it will display on the site. Can be either a person's + name, or a departement, a product, or whatever you wish.
      • +
      • Contact's Position: Best used with + a Name, as the title is displayed if this field is used. + Example would be "Webmaster".
      • +
      • E-mail: Add an e-mail adress for this + Contact.
      • +
      • The following 5 fields can be used to provide geographical + access information if desired. +
          +
        • Street Address
        • +
        • Town/Suburb 
        • +
        • State/County
        • +
        • Country 
        • +
        • Postal Code/ZIP
        • +
        +
      • +
      • The following two fields can be used to provide Phone + and Fax Contact information if desired. +
          +
        • Telephone  
        • +
        • Fax
        • +
        +
      • +
      • Miscellaneous Info:  Type here + any other information you wish to provide about this + Contact.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      The Parameters for this screen include + the following 3 categories of options: Publishing, Images, + and Parameters.

      + (1) Publishing Tab +
        +
      • Site Default: Select Yes or No to make + this the default Contact for your site.
      • +
      • Published: Select Yes or No to show + this Contact to your visitors.
      • +
      • Ordering: Select the Contact after which + you wish to display the current Contact. Contact needs + to be saved first to display a drop-down select here + to order this Contact in the list of published Contacts + for the site.
      • +
      • Access: Who can view this Contact on + the frontend if published.
      • +
      +
      + (2) Images Tab +
        +
      • You may select here an image to display next to this + Contact, or select "- Select Image -" to not + display any image.If an image is chosen, it will show + in the Preview block.
      • +
      +
      +(3) ParametersTab:
      Here are various settings for what is displayed when +the user clicks to view a Contact item. +
        +
      • Page Class Suffix: Allows you to set customized styles + for this page. The suffix you type here is automatically added to the + CSS classes for this page.
      • +
      • Print Icon: Hides or shows the icon that allows for + printing of the Item.
      • +
      • Back Button: Controls whether to show or hide a "Back" link + on the bottom of the page.
      • +
      • 'Hide' or 'Show': The following 12 + fields defined above may be hidden or shown by checking the radio buttons:
      • +
          +
        • Name
        • +
        • Position
        • +
        • E-mail
        • +
        • Street Address
        • +
        • Town/Suburb 
        • +
        • State/County
        • +
        • Country 
        • +
        • Postal Code/ZIP
        • +
        • Telephone
        • +
        • Fax
        • +
        • Misc. Info
        • +
        • Vcard
        • +
        • Image
        • +
        +
      • E-mail description: Show/Hide the description text + below.
      • +
      • Description text: Type here the description text for + the Email form. If left blank, it will use the default system definition + in the language file.
      • +
      • E-mail Form: Show/Hide the e-mail form.
      • +
      • E-mail copy: Show/Hide the checkbox to e-mail a copy + to the sender's adress.
      • +
      • Drop-down: Hide or Show the drop-down select list when + in full view. Whatever the contact link accessed, this will let the + user choose another contact to display.
      • +
      • Icons/Text: This lets you decide if the fields listed + below should be introduced by an icon, the default text for the fields + in the Contact Details or nothing.You may choose, if decided so above, + a specific icon to introduce the following fields:
      • +
          +
        • Address
        • +
        • E-mail
        • +
        • Telephone
        • +
        • Fax
        • +
        • Misc Info
        • +
        + If you choose a custom image, this image should be uploaded to the  images/stories + directory in the Media Manager. +
      Toolbar Icons:
        +
      • Save: Saves and returns you to Contact Manager.
      • +
      • Close: Cancels without saving and returns + you to Contact Manager.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/contact.manager.html 4.6-complete/uploadfiles/help/contact.manager.html --- 4.6rc2/uploadfiles/help/contact.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/contact.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,58 @@ + + + + +Contact Manager + + +Contact Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Contact Manager allows + you to manage the Contacts Items for your site. The list + may be filtered by name and/or category.

      + Display Columns +
        +
      • Name: This is the name of the contact. You + can click the name to edit that contact.
      • +
      • Published: Click on the icon to toggle Publish/Unpublish.
      • +
      • Reorder: Click the icons to move the record up or down in the list. The order is used in both the contact manager and on the contact page the Visitor will see.
      • +
      • Category: You can assign contacts to different categories. This column displays which category the contact belongs too. Click to edit the Category.
      • +
      • Linked to User: If the contact is linked to a registered user of the site, the users name will appear here. Click to edit user.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click to publish any number of selected + Contacts.
      • +
      • Unpublish: Click to unpublish + any number of selected Contacts.
      • +
      • New: + Click the 'New' icon to create a new Contact + Item.
      • +
      • Edit: + Select an Item then click the 'Edit' icon to + edit a Contact.
      • +
      • Delete: + Click the 'Delete' icon to delete one or more + Contacts from the database.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/contact.new.html 4.6-complete/uploadfiles/help/contact.new.html --- 4.6rc2/uploadfiles/help/contact.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/contact.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,126 @@ + + + + +Contact - New + + +Contact Manager : New Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you create + a new Contact Item for your site.

      + Details: +Note: Any field left blank is not displayed. Any field filled +out will be included into the downloadable vCard for this Contact. +
        +
      • Category: Drop-down select of all published Contact categories
      • +
      • Linked to User: Drop-down select of all registered users of the web site. Can be set to " - No User - " for independent setup of a site contact.
      • +
      • Name: Type here the name of the contact as it will display on the site. Can be either a person's name, or a departement, a product, or whatever you wish.
      • +
      • Contact's Position: Best used with a + Name, as the title is displayed if this field is used. Example + would be "Webmaster".
      • +
      • E-mail: Add an e-mail adress for this Contact.
      • +
      • The following 5 fields can be used to provide geographical access information if desired. +
          +
        • Street Address
        • +
        • Town/Suburb 
        • +
        • State/County
        • +
        • Country 
        • +
        • Postal Code/ZIP
        • +
        +
      • +
      • The following two fields can be used to provide Phone and Fax Contact information if desired. +
          +
        • Telephone  
        • +
        • Fax
        • +
        +
      • +
      • Miscellaneous Info:  Type here any other information you wish to provide about this Contact.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      The Parameters for this screen include the following 3 categories of options: Publishing, Images, and Parameters.

      + (1) Publishing Tab +
        +
      • Site Default: Select Yes or No to make + this the default Contact for your site.
      • +
      • Published: Select Yes or No to show this Contact to your visitors.
      • +
      • Ordering: Select the Contact after which + you wish to display the current Contact. Contact needs + to be saved first to display a drop-down select here + to order this Contact in the list of published Contacts + for the site.
      • +
      • Access: Who can view this Contact on + the frontend if published.
      • +
      +
      (2) Images Tab
        +
      • You may select here an image to display next to this + Contact, or select "- Select Image -" to not display any image.If an image is chosen, it will show in the Preview block.
      • +
      +
      + (3) ParametersTab:
      Here are various settings for what is displayed when the user clicks to view a Contact item. +
        +
      • Page Class Suffix: Allows you to set customized styles for this page. The suffix you type here is automatically added to the CSS classes for this page.
      • +
      • Print Icon: Hides or shows the icon + that allows for printing of the Item.
      • +
      • Back Button: Controls whether to show + or hide a "Back" link + on the bottom of the page.
      • +
      • 'Hide' or 'Show': The following 12 fields defined above may be hidden or shown by checking the radio buttons:
      • +
          +
        • Name
        • +
        • Position
        • +
        • E-mail
        • +
        • Street Address
        • +
        • Town/Suburb 
        • +
        • State/County
        • +
        • Country 
        • +
        • Postal Code/ZIP
        • +
        • Telephone
        • +
        • Fax
        • +
        • Misc. Info
        • +
        • Vcard
        • +
        • Image
        • +
        +
      • E-mail description: Show/Hide the description text below.
      • +
      • Description text: Type here the description + text for the Email form. If left blank, it will use + the default system definition in the language file.
      • +
      • E-mail Form: Show/Hide the e-mail form.
      • +
      • E-mail copy: Show/Hide the checkbox to e-mail a copy to the sender's adress.
      • +
      • Drop-down: Hide or Show the drop-down select list when in full view. Whatever the contact link accessed, this will let the user choose another contact to display.
      • +
      • Icons/Text: This lets you decide if the fields listed below should be introduced by an icon, the default text for the fields in the Contact Details or nothing.You may choose, if decided so above, a specific icon to introduce the following fields:
      • +
          +
        • Address
        • +
        • E-mail
        • +
        • Telephone
        • +
        • Fax
        • +
        • Misc Info
        • +
        + If you choose a custom image, this image should be uploaded to the  images/stories directory in the Media Manager. +
      +
      Toolbar Icons:
        +
      • Save: Saves and returns you to Contact Manager.
      • +
      • Close: Cancels without saving and returns you to Contact Manager.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/content.archive.html 4.6-complete/uploadfiles/help/content.archive.html --- 4.6rc2/uploadfiles/help/content.archive.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/content.archive.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,55 @@ + + + + +Archive Manager + + +Archive Manager + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows a list of + all archived Content Items.You may filter the display by Section, + Category and/or Author

      Display Columns +
        +
      • Title: This is the title of the Content Item.
      • +
      • Order: + This shows the order of the Content Items. Click the + arrow icons to move the item up or down in the list.
      • +
      • Category: + the Category to which the Item belongs. Click + to edit the Category.
      • +
      • Author: + The Author of this Item. + Click to edit Author.
      • +
      • Date: This is + the date the Item was created.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Unarchive: return the + Item to its original location.
      • +
      • Trash: + Click the 'Trash' icon + to put Content Items in the Trash Manager. Items are held in the Trash Manager until Deleted or Restored.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/content.copy.html 4.6-complete/uploadfiles/help/content.copy.html --- 4.6rc2/uploadfiles/help/content.copy.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/content.copy.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,51 @@ + + + + +Content Item - Copy + + + +Content Items +: Copy an Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Using these screens, you + can Copy a Content Item between Section->Categories. + When you Copy an item, you create an exact dublicate of it + in another Category.

      + Controls +
        +
      • Copy to Section: Select + from the list, the Section you want to Copy + the item
      • +
      • Items + being copied: Displays a list of the items + you are going to move or copy.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Click this icon + to save the changes.
      • +
      • Cancel: Cancel + the action and return to previous screen.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/content.edit.html 4.6-complete/uploadfiles/help/content.edit.html --- 4.6rc2/uploadfiles/help/content.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/content.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,299 @@ + + + + +Content Item - Edit + + +Content Items : +Edit + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allows to edit a Content Item. On the left side there are the two + editors where you can add content for the intro and main + text areas. On the right are the parameteres tabs. You can + hide/unhide the parameteres tabs, by clicking the 'Hide/Unhide Advanced Details' link.

      + Details +
        +
      • Title: Type here is the title of the content. This + is the title as it will appear on the page or table listing this + content.
      • +
      • Title Alias: This field is + not used by core.  SEF scripts and dynamic title/meta + scripts use it and it may have a future use.
      • +
      • Section: + Choose here the Section you want the item to belong + to.
      • +
      • Category: + Choose here the category you want the item to belong + to. The dropdown list will display the available Categories + for the Secton chosen above.
      • +
      • Intro Text (required): + Type here the introductory portion of the content. This is the part displayed in + Blog Lists for both Categories and Sections. + It can also be configured to be hidden when you view + the content.
      • +
      • Main + Text (optional): This is the body of your content. + It is only shown when viewing that content in full view, + and is not shown in Blog Lists. 
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      The Attributes Area for content consists of five tabs: Publishing, + Images, Parameters, Meta + Info and Link to Menu.

      +

      (1) Publishing - Publishing Info

      +
        +
      • Show on Frontpage: Check + the box if you want this content to be assigned to the FrontPage + Component.
      • +
      • Published: Check the box to let + the item show on your site.
      • +
      • Access Level: + Choose who will be able to view this content. Public, + registered or special.
      • +
      • Author Alias: + You can publish the author's name for a piece of content. You can + choose a Registered user as displayed through the dropdown + or type any name there (an author that does not have + an account or content created by many authors as a group).
      • +
      • Change + Creator: This allows you to assign ownership + of this content to another registered user.
      • +
      • Ordering: + Select the order in which this content is listed relative + to others in this Category. The choices available in + the dropdown will show once changes to the item are + saved or applied.
      • +
      • Override Created Date: + This shows the created date for the content. You can + change the date if necessary.
      • +
      • Start Publishing: + Select the date when this document is to be published + on the web site.
      • +
      • Finish + Publishing: If desired, you can set the date + when your content is to be expired.
      • +
      • Content ID: + This is the ID of the content in the database.
      • +
      • State: + This shows the current state of the document. It is + not editable.
      • +
      • Hits: + This gives the number of times this content was viewed. + The Reset Hits Value button allows you to reset the + counter to zero.
      • +
      • Revised: This shows + the number of edits this content has undergone.
      • +
      • Created: + This is the date this Content Item was created.
      • +
      • By: + This is the name of the user that created the content + item.
      • +
      • Last + Modified: This is the date when this content + item was last modified, if ever.
      • +
      • By: + This is the name of the user that last modified this + content, if ever.
      • +
      +

      (2) Images - MOSImage Control

      +
        +
      • Sub-folder: + Choose here the sub-folder you want to get the images + from. These are in images/stories/.
      • +
      • Gallery Images: + This dropdown lists the images available in the + specific sub-folder. Highlight one or multiple + image name(s) and click on the 'Add' button.The + name(s) will display in the Content Images dropdown.
      • +
      • Content + Images: The 'up' and 'down' buttons + determine the order of images if there are more + than one on this page. The images will display + relative to the instances of {mosimage} tags in + your content.
      • +
      • Edit + the image selectedSelect an image in 'Content + Images'.
      • +
      • Source: + Displays the default name of the image highlighted. + You may edit that name.
      • +
      • Image Align: + Lets you choose between None, center, + left or right.
      • +
      • Alt + Text: + Lets you choose an Alt Text for + the image.
      • +
      • Border: + Type here the number of pixels + you want the border to be around the + image.
      • +
      • Caption: + Type here a caption for + the image.
      • +
      • Caption Align: + Lets you choose between + None, center, left or right.
      • +
      • Width: + Type here a + number in pixels to override the width of the + image.
      • +
      • Apply: + Click on this + button to apply + all the parameters + defined for + this image
      • +

      (3) Parameters + -- Parameter Control: These parameters control + what you see when you view a Content Item in full view.

      +
        +
      • Page + Class Suffix: + Allows you to set customized styles for this page. + The suffix you type here is automatically added + to the CSS classes for this page, and will have + to be defined in your template's + CSS stylesheet for usage.
      • +
      • Back Button: + Controls whether to show or hide a "Back" text + link that would appear on the bottom of the page and + return the user to the previously viewed page. The pull + down lets select 'Use + Global' to use the parameter as defined globally + through the Site->Global Configuration, 'Hide' or 'Show'.
      • +
      • Page + Title: Text to display at the top of the + page.
      • +
      • Show/Hide + Page Title: Hides or shows the Page Title + text (defined in the field described above).
      • +
      • Section + Name: + Hides or shows the name of the section to which + each item belongs. If this option is turned on, + each item's + section name will be shown under the item's + title on the home page.
      • +
      • Section Name Linkable: + Enables you to make each item's section name linkable. + Applies only when the Section Name option (described + above) is set to 'Show.'
      • +
      • Category + Name: Hides or shows the name of the category + to which each item belongs. If this option is turned + on, each item's category name will be shown under + the item's + title on the home page.
      • +
      • Category Name Linkable: + Enables you to make each item's category name linkable. + Applies only when the Category Name option (described + above) is set to 'Show.'For each of the following + eight items listed below, you can use the option selected + in the Global Configuration settings (Site -> Global + Configuration) by selecting 'Use Global' or + you can override the Global Configuration setting by + selecting 'Show' or 'Hide.' Overriding + the settings here for items will not affect the + Global Configuration settings and will not affect + the settings on the rest of the site.
      • +
      • Linked Titles: + Enables you to make item titles linked. The link + will go to the item page.
      • +
      • Item + Rating: Hides or shows ratings given to + home page items by your site's users.
      • +
      • Author Names: + Hides or shows the names of authors of items.
      • +
      • Created + Date and Time: Hides or shows + the date and time that items were created.
      • +
      • Modified Date and + Time: + Hides or shows the date and time + that items were last modified.
      • +
      • PDF + Icon: Hides or shows + the icon and link to the PDF + version of items.
      • +
      • Print Icon: + Hides or shows the icon + and link to the printer-friendly + format of items.
      • +
      • Email + Icon: Hides + or shows the icon + and link to the page + that enables users + to email items to + others.
      • +

      (4) Meta Info -- Meta Data

      +
        +
      • Description: + This information is inserted in the headers of your + content. It is commonly used by search engines.
      • +
      • Keywords: + These keywords are related to the header information + provided for search engines, but they also provide + another important function. These keywords drive + the What's + Related Module that provides automatic links to + other Content Items that shares a similar keyword.
      • +
      • Add + Sect/Cat/Title:  Clicking + on this button is a convenient way to insert the content's + information into the keywords field, including the content's + title, section name, and category name.
      • +

      (5) Link to Menu: This + will create a 'Link - Content Item' in the menu + you select.

      +
        +
      • Select a Menu: Highlight + here once the menus defined for your site.
      • +
      • Menu + Item Name: + The name of the Menu as it will appear on your + site.
      • +
      • Link + to Menu: Click on this button to create + the Menu Item.Existing Menu ItemsThis displays + a list of all 'Link + - Content Item' Menu Items referencing this content.
      • +
      Toolbar Icons:
        +
      • Preview: Opens a new window to preview + the content as you would in the Frontend of your site.
      • +
      • Upload: + Opens a new window which lets you upload a file + or an image from your computer to the images/stories folder.
      • +
      • Save: + Saves the content and returns to Manager.
      • +
      • Apply: + Saves the content and keep the content displayed + to edit.
      • +
      • Close: Cancels the action. Any + modification is lost. If opened to edit, the + Content Item remains checked-in.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/content.manager.html 4.6-complete/uploadfiles/help/content.manager.html --- 4.6rc2/uploadfiles/help/content.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/content.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,101 @@ + + + + +Content Item Manager + + +Content Items +Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Content Items Manager shows + a list of the Content Items on your site for a particular + Content Section or for All Content Items Manager.

      +

      You may enter text in the "Filter" box + to refine the list based on whether the text is found in + the title of any item. Type in any text and press Enter. + Using the Select Section, Select Category, Select Author + combo boxes, you can limit the list. You can use all filter + utility at once and in combination.

      + Display Columns
        +
      • Title: This is the title of the Content Item. Click + here to edit content. A padlock icon next to it shows that it + is checked-out. To check-in, click the name to edit. Then you + have to Save or Close the item.
      • +
      • Published: This + shows whether the item is published. Hover over this + icon to see a summary of the publishing information. Click + to change state.
      • +
      • Frontpage: + This is whether this item is to be published or is published + through the FrontPage Component.
      • +
      • Reorder: + This shows the order of Menu Items in the menu. Click + the arrow icons to move the item up or down in the list.
      • +
      • Order: + Shows the order of Menu Items in the menu. You may change + it by editing 2 # conjointly and clicking on the
      • +
      • Save Order icon in + the heading.
      • +
      • Access: This is the + user access level for the Content Item. Click on + the Access level to switch it to another value.
      • +
      • Section: + This is the Section that the Content Item belongs + to (this shows when 'All Content + Items' page is open). Click to edit the Section + page.
      • +
      • Category: + This is the Category that the Content Item belongs + to. Click to edit the category page. 
      • +
      • Author: + This shows the name of the author of the Content. + Click to edit the author information.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • New: Click the 'New' icon + to create a new Content Item. 
      • +
      • Edit: + Click the 'Edit' icon to edit the Content Item.
      • +
      • Publish + and Unpublish: Click the 'Publish' or 'Unpublish' icon + to publish or unpublish any number of selected Content + items. 
      • +
      • Move: + Click the 'Move' icon to move Content Items + to another Content Section or Category. 
      • +
      • Copy: + Click the 'Copy' icon to copy Content Items + into a Content Section or Content Category. 
      • +
      • Archive: + Click the 'Archive' icon + to put Content Items into an archived state. They are + still accessible to the Frontend of your site if in + published mode. 
      • +
      • Trash: + Click the 'Trash' icon to put Content Items in the trash + bin. They are not completely removed but can't be + displayed on your site. You can restore this Content + items in the Trash Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/content.move.html 4.6-complete/uploadfiles/help/content.move.html --- 4.6rc2/uploadfiles/help/content.move.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/content.move.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,52 @@ + + + + +Content Item - Move + + + +Content Items +: Move an Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Using this screen, you + can Move a Content Item between Categories. + When you Move an item, it is deleted + from its original Category and it is recreated under the + new Category.

      + Controls +
        +
      • Move to Section/Category: Select + from the list, the Section/Category you want to Move + the item
      • +
      • Items + being moved: Displays a list of the items + you are going to move or copy.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Click this icon + to save the changes.
      • +
      • Cancel: Cancel + the action and return to previous screen.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/content.new.html 4.6-complete/uploadfiles/help/content.new.html --- 4.6rc2/uploadfiles/help/content.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/content.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,298 @@ + + + + +Content item - New + + +Content Items : Create a New Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allows to create a new Content Item. On the left side there are the two + editors where you can add content for the intro and main + text areas. On the right are the parameters tabs. You can + hide/unhide the parameteres tabs, by clicking the 'Hide/Unhide Advanced Details' link.

      + Details +
        +
      • Title: Type here is the title of the content. This + is the title as it will appear on the page or table listing this + content.
      • +
      • Title Alias: This field is + not used by core.  SEF scripts and dynamic title/meta + scripts use it and it may have a future use.
      • +
      • Section: + Choose here the Section you want the item to belong + to.
      • +
      • Category: + Choose here the category you want the item to belong + to. The dropdown list will display the available Categories + for the Secton chosen above.
      • +
      • Intro Text (required): + Type here the introductory portion of the content. This is the part displayed in + Blog Lists for both Categories and Sections. + It can also be configured to be hidden when you view + the content.
      • +
      • Main + Text (optional): This is the body of your content. + It is only shown when viewing that content in full view, + and is not shown in Blog Lists. 
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      The Attributes Area for content consists of five tabs: Publishing, + Images, Parameters, Meta + Info and Link to Menu.

      +

      (1) Publishing - Publishing Info

      +
        +
      • Show on Frontpage: Check + the box if you want this content to be assigned to the FrontPage + Component.
      • +
      • Published: Check the box to let + the item show on your site.
      • +
      • Access Level: + Choose who will be able to view this content. Public, + registered or special.
      • +
      • Author Alias: + You can publish the author's name for a piece of content. You can + choose a Registered user as displayed through the dropdown + or type any name there (an author that does not have + an account or content created by many authors as a group).
      • +
      • Change + Creator: This allows you to assign ownership + of this content to another registered user.
      • +
      • Ordering: + Select the order in which this content is listed relative + to others in this Category. The choices available in + the dropdown will show once changes to the item are + saved or applied.
      • +
      • Override Created Date: + This shows the created date for the content. You can + change the date if necessary.
      • +
      • Start Publishing: + Select the date when this document is to be published + on the web site.
      • +
      • Finish + Publishing: If desired, you can set the date + when your content is to be expired.
      • +
      • Content ID: + This is the ID of the content in the database.
      • +
      • State: + This shows the current state of the document. It is + not editable.
      • +
      • Hits: + This gives the number of times this content was viewed. + The Reset Hits Value button allows you to reset the + counter to zero.
      • +
      • Revised: This shows + the number of edits this content has undergone.
      • +
      • Created: + This is the date this Content Item was created.
      • +
      • By: + This is the name of the user that created the content + item.
      • +
      • Last + Modified: This is the date when this content + item was last modified, if ever.
      • +
      • By: + This is the name of the user that last modified this + content, if ever.
      • +
      +

      (2) Images - MOSImage Control

      +
        +
      • Sub-folder: + Choose here the sub-folder you want to get the images + from. These are in images/stories/.
      • +
      • Gallery Images: + This dropdown lists the images available in the + specific sub-folder. Highlight one or multiple + image name(s) and click on the 'Add' button.The + name(s) will display in the Content Images dropdown.
      • +
      • Content + Images: The 'up' and 'down' buttons + determine the order of images if there are more + than one on this page. The images will display + relative to the instances of {mosimage} tags in + your content.
      • +
      • Edit + the image selectedSelect an image in 'Content + Images'.
      • +
      • Source: + Displays the default name of the image highlighted. + You may edit that name.
      • +
      • Image Align: + Lets you choose between None, center, + left or right.
      • +
      • Alt + Text: + Lets you choose an Alt Text for + the image.
      • +
      • Border: + Type here the number of pixels + you want the border to be around the + image.
      • +
      • Caption: + Type here a caption for + the image.
      • +
      • Caption Align: + Lets you choose between + None, center, left or right.
      • +
      • Width: + Type here a + number in pixels to override the width of the + image.
      • +
      • Apply: + Click on this + button to apply + all the parameters + defined for + this image
      • +

      (3) Parameters + -- Parameter Control: These parameters control + what you see when you view a Content Item in full view.

      +
        +
      • Page + Class Suffix: + Allows you to set customized styles for this page. + The suffix you type here is automatically added + to the CSS classes for this page, and will have + to be defined in your template's + CSS stylesheet for usage.
      • +
      • Back Button: + Controls whether to show or hide a "Back" text + link that would appear on the bottom of the page and + return the user to the previously viewed page. The pull + down lets select 'Use + Global' to use the parameter as defined globally + through the Site->Global Configuration, 'Hide' or 'Show'.
      • +
      • Page + Title: Text to display at the top of the + page.
      • +
      • Show/Hide + Page Title: Hides or shows the Page Title + text (defined in the field described above).
      • +
      • Section + Name: + Hides or shows the name of the section to which + each item belongs. If this option is turned on, + each item's + section name will be shown under the item's + title on the home page.
      • +
      • Section Name Linkable: + Enables you to make each item's section name linkable. + Applies only when the Section Name option (described + above) is set to 'Show.'
      • +
      • Category + Name: Hides or shows the name of the category + to which each item belongs. If this option is turned + on, each item's category name will be shown under + the item's + title on the home page.
      • +
      • Category Name Linkable: + Enables you to make each item's category name linkable. + Applies only when the Category Name option (described + above) is set to 'Show.'For each of the following + eight items listed below, you can use the option selected + in the Global Configuration settings (Site -> Global + Configuration) by selecting 'Use Global' or + you can override the Global Configuration setting by + selecting 'Show' or 'Hide.' Overriding + the settings here for items will not affect the + Global Configuration settings and will not affect + the settings on the rest of the site.
      • +
      • Linked Titles: + Enables you to make item titles linked. The link + will go to the item page.
      • +
      • Item + Rating: Hides or shows ratings given to + home page items by your site's users.
      • +
      • Author Names: + Hides or shows the names of authors of items.
      • +
      • Created + Date and Time: Hides or shows + the date and time that items were created.
      • +
      • Modified Date and + Time: + Hides or shows the date and time + that items were last modified.
      • +
      • PDF + Icon: Hides or shows + the icon and link to the PDF + version of items.
      • +
      • Print Icon: + Hides or shows the icon + and link to the printer-friendly + format of items.
      • +
      • Email + Icon: Hides + or shows the icon + and link to the page + that enables users + to email items to + others.
      • +

      (4) Meta Info -- Meta Data

      +
        +
      • Description: + This information is inserted in the headers of your + content. It is commonly used by search engines.
      • +
      • Keywords: + These keywords are related to the header information + provided for search engines, but they also provide + another important function. These keywords drive + the What's + Related Module that provides automatic links to + other Content Items that shares a similar keyword.
      • +
      • Add + Sect/Cat/Title:  Clicking + on this button is a convenient way to insert the content's + information into the keywords field, including the content's + title, section name, and category name.
      • +

      (5) Link to Menu: This + will create a 'Link - Content Item' in the menu + you select.

      +
        +
      • Select a Menu: Highlight + here once the menus defined for your site.
      • +
      • Menu + Item Name: + The name of the Menu as it will appear on your + site.
      • +
      • Link + to Menu: Click on this button to create + the Menu Item.Existing Menu ItemsThis displays + a list of all 'Link + - Content Item' Menu Items referencing this content.
      • +
      Toolbar Icons:
        +
      • Preview: Opens a new window to preview + the content as you would in the Frontend of your site.
      • +
      • Upload: + Opens a new window which lets you upload a file + or an image from your computer to the images/stories folder.
      • +
      • Save: + Saves the content and returns to Manager.
      • +
      • Apply: + Saves the content and keep the content displayed + to edit.
      • +
      • Close: Cancels the action. Any + modification is lost. If opened to edit, the + Content Item remains checked-in.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/css/docbook.css 4.6-complete/uploadfiles/help/css/docbook.css --- 4.6rc2/uploadfiles/help/css/docbook.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/css/docbook.css 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,1205 @@ +a:hover { + text-decoration: none; +} + +/* ===================================== + Article structure +===================================== */ + +article { + display: block; +} + +article > title { + font-size: 2em; + margin: 0.5ex 0; + border-width: 1px; + border-style: solid; + border-color: transparent transparent #fea540 transparent; +} + +title, +subtitle, +titleabbrev { + display: block; + color: #fea540; + margin: 1.33ex 0; +} + +title, +subtitle { + font-family: tahoma, arial, sans-serif; + font-weight: bold; +} + +/* ------------------------------------- + Sections +------------------------------------- */ + +appendix, +section { + font-family: verdana, arial, sans-serif; + font-size: 10pt; +} + +section, +sect1, +sect2, +sect3, +sect4, +sect5, +simplesect { + display: block; + margin: 5px; +} + +section > title, +sect1 > title { + font-size: 1.5em; + margin: .83ex 0; +} + +section > title:before, +sect1 > title:before { + content: counter(n-) " "; +} + +section section > title, +sect2 > title { + font-size: 1.3em; + margin: 1ex 0; +} + +section * section > title { + font-size: 1em; + margin: 1.33ex 0; +} + +section section > title:before, +sect2 > title:before { + content: counter(nn-) " "; +} + +section section section > title:before, +sect3 > title:before { + content: counter(nnn-) " "; +} + +section section section section > title:before, +sect4 > title:before { + content: counter(nnnn-) " "; +} + +section section section * section > title:before { + content: ""; +} + +/* ------------------------------------- + Appendix +------------------------------------- */ + +appendix { + display: block; +} + +appendix > title { /* in a book or in a part */ + font-size: 2em; + margin: 0.5ex 0; + border-width: 1px; + border-style: solid; + border-color: transparent transparent #fea540 transparent; +} + +article > appendix > title { + font-size: 1.5em; + margin: 0.83ex 0; + border-width: 0; + border-style: none; +} + +appendix > title:before { + content: "Appendix " counter(n-, upper-alpha) ": "; +} + +/* ===================================== + Paragraphs +===================================== */ + +para, +simpara { + display: block; + margin: 1.33ex 0; + font-size: 0.8em; +} + +/* ===================================== + Lists +===================================== */ + +/* ------------------------------------- + itemizedlist +------------------------------------- */ + +itemizedlist { + display: block; + margin-left: 2ex; /* all lists are slightly indented */ + margin-top: 1.33ex; + margin-bottom: 1.33ex; +} + +listitem { + margin-bottom: 1.33ex; + display: list-item; + list-style-type: disc; +} + +listitem > *:first-child { + margin-top: 0; + margin-bottom: 0; +} + +itemizedlist > listitem { + margin-left: 2.5ex; +} + +itemizedlist > listitem:before { + display: marker; + content: disc; + color: #fea540; + padding-top: .6ex; +} + +itemizedlist > listitem itemizedlist > listitem:before { + content: square; +} + +itemizedlist > listitem itemizedlist > listitem itemizedlist > +listitem:before { + content: icon(diamond); +} + +itemizedlist > listitem itemizedlist > listitem itemizedlist > +listitem itemizedlist > listitem:before { + content: circle; +} + +/* ------------------------------------- + orderedlist +------------------------------------- */ + +orderedlist { + display: block; + margin-left: 2ex; + margin-top: 1.33ex; + margin-bottom: 1.33ex; +} + +orderedlist > listitem { + margin-left: 6ex; +} + +orderedlist > listitem:before { + display: marker; + content: counter(n, decimal) "."; + font-weight: bold; + color: #fea540; +} + +orderedlist[numeration=loweralpha] > listitem:before { + content: counter(n, lower-alpha) "."; +} + +orderedlist[numeration=upperalpha] > listitem:before { + content: counter(n, upper-alpha) "."; +} + +orderedlist[numeration=lowerroman] > listitem:before { + content: counter(n, lower-roman) "."; +} + +orderedlist[numeration=upperroman] > listitem:before { + content: counter(n, upper-roman) "."; +} + +/* ------------------------------------- + variablelist +------------------------------------- */ + +variablelist { + display: block; + margin-left: 2ex; + margin-top: 1.33ex; + margin-bottom: 1.33ex; +} + +varlistentry { + display: block; +} + +term { + display: block; + font-weight: bold; +} + +varlistentry > listitem { + margin-left: 4ex; +} + +/* ===================================== + Figures +===================================== */ + +programlisting, +screen, +literallayout, +synopsis { + display: block; + white-space: pre; + font-family: monospace; + font-size: 1.1em; + margin: 1.33ex 0; +} + +programlisting { + background-color: rgb(255,255,221); + border: thin solid gray; + padding: 2px; + color: #00f; +} + +screen { + background-color: #EEEEFF; + border: thin solid #8888FF; + padding: 2px; +} + +figure, +informalfigure, +example, +informalexample { + display: block; + margin: 1.33ex auto; +} + +figure > title, +example > title { + font-style: italic; + font-weight: normal; + text-align: center; + margin: 0; /* content of figure generally already has a margin */ +} + +mediaobject { + display: table; + border-spacing: 2px; + margin: 1.33ex auto; +} + +inlinemediaobject { + display: inline-table; + border-spacing: 2px; +} + +caption { + display: table-caption; + color: #fea540; + font-style: italic; + font-weight: normal; + text-align: center; + /* content of caption already has a margin */ +} + +audioobject, +videoobject, +imageobject, +textobject { + display: table-cell; /* this will create one row per cell */ + text-align: center; +} + +objectinfo { + text-align: left; +} + +mediaobject > objectinfo { + display: table-cell; +} + +audiodata { + display: inline; + content: url(icons/audio.gif); +} + +videodata { + display: inline; + content: url(icons/video.gif); +} + +imagedata { + display: inline; + content: image(attr(fileref), -400, -200); +} + +textdata { + display: inline; + content: url(icons/text.gif); +} + +/* ===================================== + Tables +===================================== */ + +/* + * "black" is the color used to draw a border around the table and its cells + * based on values of attributes such as frame, rowsep and colsep. + * + * "rgb(238,238,224)" (a very light gray) is the color used to draw + * a border around each cell whether the cell actually has borders or not. + * Remove this parameter if this ``cell footprint'' disturbs you. + * + * For more information about table support for DocBook, see + * Power User's Guide. + */ +@extension "com.xmlmind.xmleditapp.docbook.TableSupport black rgb(238,238,224)"; + +table, +informaltable { + display: block; + margin: 1.33ex 0; +} + +table > title { + display: block; + font-style: italic; + font-weight: normal; + text-align: center; + /* keep margin because tgroup has no margin */ +} + +colspec, +spanspec { + display: table-column; + collapsed: yes; +} + +tgroup { + display: table; + border-style: solid; + border-width: 1; +} + +thead, +tfoot { + display: table-row-group; + font-weight: bold; +} + +tbody { + display: table-row-group; +} + +row { + display: table-row; +} + +entry { + display: table-cell; + border-style: solid; + border-width: 1; + padding: 2; +} + +entry > *:first-child { + margin-top: 0; + margin-bottom: 0; +} + +entrytbl { + display: subtable; + border-style: solid; + border-width: 1; +} + +/* ===================================== + Divisions +===================================== */ + +abstract { + display: block; + margin-left: 18ex; + margin-top: 1.33ex; + margin-bottom: 1.33ex; +} + +abstract > *:first-child { + margin-top: 0; + margin-bottom: 0; +} + +abstract:before { + display: marker; + content: element-label(); + font-weight: bold; + color: #fea540; +} + +blockquote, +epigraph { + display: block; + margin: 1.33ex 10ex; +} + +blockquote > title { + font-style: italic; + font-weight: normal; + text-align: center; + margin: 0; /* content of blockquote already has a margin */ +} + +attribution { + display: block; + text-align: right; +} + +attribution:before { + content: " -- "; +} + +footnote { + display: block; + margin-left: 18ex; + margin-top: 1.33ex; + margin-bottom: 1.33ex; + margin-right: 10ex; + font-size: small; + padding: 2px; + background-color: #F0F0FF; +} + +footnote > *:first-child { + margin-top: 0; + margin-bottom: 0; +} + +footnote:before { + display: marker; + content: element-label(); + color: #fea540; +} + +footnote[label]:before { + content: "[" attr(label) "]"; +} + +note, +caution, +important, +tip, +warning { + display: block; + margin-left: 18ex; + margin-top: 1.33ex; + margin-bottom: 1.33ex; +} + +note > *:first-child, +caution > *:first-child, +important > *:first-child, +tip > *:first-child, +warning > *:first-child { + margin-top: 0; + margin-bottom: 0; +} + +note:before, +caution:before, +important:before, +tip:before, +warning:before { + display: marker; + content: element-label(); + font-weight: bold; + color: #fea540; +} + +sidebar { + display: block; + margin: 1.33ex 0; + border: thin solid #00FF00; + background-color: #CCFFCC; + padding: 2px; +} + +sidebar > title { + margin: 0; /* content of sidebar already has a margin */ +} + +/* ===================================== + Special sections +===================================== */ + +/* ------------------------------------- + Question-and-answer set +------------------------------------- */ + +qandaset, +qandadiv { + display: block; + /* content of qandaset has a margin */ +} + +qandaentry { + display: block; + margin: 1.33ex 0; +} + +question { + font-weight: bold; + display: block; + margin-left: 2ex; + margin-bottom: 1.33ex; +} + +answer { + font-weight: normal; + display: block; + margin-left: 4ex; + margin-bottom: 1.33ex; +} + +question > *:first-child, +answer > *:first-child { + margin-top: 0; + margin-bottom: 0; +} + +question:before, +answer:before { + display: marker; + color: #004080; + font-weight: bold; +} + +question > para:before { + color: #004080; + content: "Q: "; + font-weight: bold; +} + +answer > para:before { + color: #004080; + content: "A: "; + font-weight: bold; +} + +label { + display: block; + margin: 1.33ex 0; + color: #004080; + font-weight: bold; +} + +/* ------------------------------------- + Meta-information +------------------------------------- */ + +appendixinfo, +articleinfo, +bibliographyinfo, +blockinfo, +bookinfo, +chapterinfo, +glossaryinfo, +indexinfo, +objectinfo, +partinfo, +prefaceinfo, +refentryinfo, +refmeta, +referenceinfo, +refsect1info, +refsect2info, +refsect3info, +refsectioninfo, +refsynopsisdivinfo, +sect1info, +sect2info, +sect3info, +sect4info, +sect5info, +sectioninfo, +setindexinfo, +setinfo, +sidebarinfo { + display: block; + margin: 0; + border: 0px; + padding: 0px; +} + +authorgroup { + display: block; + /* content of authorgroup has a margin */ +} + +author, +editor, +othercredit { + display: block; /* can contain authorblurb, address */ + margin: 1.33ex 0; +} + +personname { + display: inline; +} + +honorific, +firstname, +surname, +lineage, +othername { + display: inline; +} + +honorific:after, +firstname:after, +surname:after, +lineage:after, +othername:after { + content: " "; +} + +contrib { + display: inline; +} + +authorblurb, +personblurb { + display: block; + /* content of authorblurb has a margin */ +} + +corpauthor, +corpname { + /* Could be block but inline is safer when used in strange places + and when used in meta-info, display is forced to be block. */ + display: inline; +} + +affiliation { + display: block; /* can contain address */ + margin: 1.33ex 0; +} + +shortaffil, +jobtitle, +orgname, +orgdiv { + display: inline; +} + +shortaffil:after, +jobtitle:after, +orgname:after, +orgdiv:after { + content: " "; +} + +copyright { + display: inline; +} + +year, +holder { + display: inline; +} + +year:after, +holder:after { + content: " "; +} + +date, +pubdate { + display: inline; +} + +edition { + display: inline; +} + +issuenum { + display: inline; +} + +keywordset, +subjectset { + display: inline; +} + +keyword, +subject, +subjectterm { + display: inline; +} + +keyword:after, +subjectterm:after { + content: " "; +} + +legalnotice { + display: block; + /* content of legalnotice has a margin */ +} + +publishername { + display: inline; +} + +releaseinfo { + display: inline; +} + +revhistory { + display: block; + margin: 1.33ex 0; +} + +revision { + display: block; + margin-left: 2.5ex; +} + +revision:before { + display: marker; + content: icon(right); + color: #fea540; + padding-top: .6ex; +} + +authorinitials { + display: inline; + font-weight: bold; +} + +revnumber, +revremark { + display: inline; +} + +revnumber:after, +revision > date:after, +revision > authorinitials:after { + content: " "; +} + +revdescription { + display: block; + /* content of revdescription has a margin */ +} + +volumenum { + display: inline; +} + +/* --------------------------------------------------------------------------- + Inlined elements other than those belonging to modules + + Note that default display is inline, so there is no need to specify it. +--------------------------------------------------------------------------- */ + +emphasis { + font-style: italic; +} +emphasis[role=bold] { + font-style: normal; + font-weight: bold; +} +emphasis[role=underline] { + font-style: normal; + text-decoration: underline; +} +emphasis[role=strikethrough] { + font-style: normal; + text-decoration: line-through; +} + +emphasis > emphasis { + font-style: normal; + font-weight: normal; + text-decoration: none; +} + +literal { + font-family: monospace; +} + +link, +ulink, +email { + color: navy; + text-decoration: underline; +} + +/* ------------------------------------- + Technical +------------------------------------- */ + +command, +computeroutput, +filename, +option, +systemitem, +userinput { + font-family: monospace; +} + +computeroutput, +userinput { + background-color: #EEEEEE; +} + +command, +option { + font-weight: bold; +} + +lineannotation { + font-style: italic; + font-size: medium; /* occurs in verbatim, fixed font, blocks */ +} + +replaceable { + font-style: italic; +} + +/* ------------------------------------- + General +------------------------------------- */ + +abbrev, +acronym { + font-weight: bold; +} + +citetitle { + font-style: italic; +} + +footnoteref { + content: "[" attr(linkend) "]"; + font-size: small; + vertical-align: super; + color: navy; +} + +footnoteref[label] { + content: "[" attr(label) "]"; +} + +phrase[revisionflag=deleted] { + text-decoration: line-through; +} + +phrase[revisionflag=added] { + text-decoration: underline; +} + +quote:before { + content: open-quote; + color: gray; +} + +quote:after { + content: close-quote; + color: gray; +} + +trademark:after, +productname:after { + font-size: small; + color: gray; +} + +trademark:after, /* also works for class=trade */ +productname[class=trade]:after { + content: "[tm]"; +} + +trademark[class=copyright]:after, +productname[class=copyright]:after { + content: "\A9"; + font-size: medium; +} + +trademark[class=registered]:after, +productname[class=registered]:after { + content: "\AE"; + font-size: medium; +} + +trademark[class=service]:after, +productname[class=service]:after { + content: "[sm]"; +} + +xref { + content: icon(left-link) attr(linkend); + vertical-align: text-top; /* for the icon */ + color: navy; +} + +xref[endterm] { + content: icon(left-link) attr(endterm); +} + +/* --------------------------------------------------------------------------- + Comments and processing instructions +--------------------------------------------------------------------------- */ + +*::comment, +*::processing-instruction { + display: block; + margin: 2px; + white-space: pre; + text-align: left; + font-family: monospace; + font-size: small; + font-style: normal; + font-weight: normal; +} + +*::comment { + background-color: #FFFFCC; + color: #808000; +} + +*::processing-instruction { + background-color: #CCFFCC; + color: #008000; +} + +/* --------------------------------------------------------------------------- + Other +--------------------------------------------------------------------------- */ + +xi\:include { + display: tree; +} + +*:read-only { + background-color: #F0F0F0; +} + +/* ------------------------------------- + Meta-information +------------------------------------- */ + +appendixinfo > *, +articleinfo > *, +bibliographyinfo > *, +blockinfo > *, +bookinfo > *, +chapterinfo > *, +glossaryinfo > *, +indexinfo > *, +objectinfo > *, +partinfo > *, +prefaceinfo > *, +refentryinfo > *, +refmeta > *, +referenceinfo > *, +refsect1info > *, +refsect2info > *, +refsect3info > *, +refsectioninfo > *, +refsynopsisdivinfo > *, +sect1info > *, +sect2info > *, +sect3info > *, +sect4info > *, +sect5info > *, +sectioninfo > *, +setindexinfo > *, +setinfo > *, +sidebarinfo > * { + display: block; + text-align: right; /* Reset paragraph styles */ + font: normal normal 1em sans-serif; + color: #777; + font-size: 0.8em; +} + +appendixinfo > *:first-child, +articleinfo > *:first-child, +bibliographyinfo > *:first-child, +blockinfo > *:first-child, +bookinfo > *:first-child, +chapterinfo > *:first-child, +glossaryinfo > *:first-child, +indexinfo > *:first-child, +objectinfo > *:first-child, +partinfo > *:first-child, +prefaceinfo > *:first-child, +refentryinfo > *:first-child, +refmeta > *:first-child, +referenceinfo > *:first-child, +refsect1info > *:first-child, +refsect2info > *:first-child, +refsect3info > *:first-child, +refsectioninfo > *:first-child, +refsynopsisdivinfo > *:first-child, +sect1info > *:first-child, +sect2info > *:first-child, +sect3info > *:first-child, +sect4info > *:first-child, +sect5info > *:first-child, +sectioninfo > *:first-child, +setindexinfo > *:first-child, +setinfo > *:first-child, +sidebarinfo > *:first-child { /* nicer */ + margin-top: 0; + margin-bottom: 0; +} + +appendixinfo > *:before, +articleinfo > *:before, +bibliographyinfo > *:before, +blockinfo > *:before, +bookinfo > *:before, +chapterinfo > *:before, +glossaryinfo > *:before, +indexinfo > *:before, +objectinfo > *:before, +partinfo > *:before, +prefaceinfo > *:before, +refentryinfo > *:before, +refmeta > *:before, +referenceinfo > *:before, +refsect1info > *:before, +refsect2info > *:before, +refsect3info > *:before, +refsectioninfo > *:before, +refsynopsisdivinfo > *:before, +sect1info > *:before, +sect2info > *:before, +sect3info > *:before, +sect4info > *:before, +sect5info > *:before, +sectioninfo > *:before, +setindexinfo > *:before, +setinfo > *:before, +sidebarinfo > *:before { + display: marker; + content: element-label(); + font: normal normal small sans-serif; + color: #fea540; +} + +appendixinfo > *:after, +articleinfo > *:after, +bibliographyinfo > *:after, +blockinfo > *:after, +bookinfo > *:after, +chapterinfo > *:after, +glossaryinfo > *:after, +indexinfo > *:after, +objectinfo > *:after, +partinfo > *:after, +prefaceinfo > *:after, +refentryinfo > *:after, +refmeta > *:after, +referenceinfo > *:after, +refsect1info > *:after, +refsect2info > *:after, +refsect3info > *:after, +refsectioninfo > *:after, +refsynopsisdivinfo > *:after, +sect1info > *:after, +sect2info > *:after, +sect3info > *:after, +sect4info > *:after, +sect5info > *:after, +sectioninfo > *:after, +setindexinfo > *:after, +setinfo > *:after, +sidebarinfo > *:after { + content: ""; +} + +appendixinfo > title, +articleinfo > title, +bibliographyinfo > title, +blockinfo > title, +bookinfo > title, +chapterinfo > title, +glossaryinfo > title, +indexinfo > title, +objectinfo > title, +partinfo > title, +prefaceinfo > title, +refentryinfo > title, /* refmeta has no title */ +referenceinfo > title, +refsect1info > title, +refsect2info > title, +refsect3info > title, +refsectioninfo > title, +refsynopsisdivinfo > title, +sect1info > title, +sect2info > title, +sect3info > title, +sect4info > title, +sect5info > title, +sectioninfo > title, +setindexinfo > title, +setinfo > title, +sidebarinfo > title { + font-size: 1.3em; + font-weight: bold; + color: #fea540; + margin-left: 0; + margin-right: 0; + margin-top: 0; + margin-bottom: 1ex; +} + +appendixinfo > title:before, +articleinfo > title:before, +bibliographyinfo > title:before, +blockinfo > title:before, +bookinfo > title:before, +chapterinfo > title:before, +glossaryinfo > title:before, +indexinfo > title:before, +objectinfo > title:before, +partinfo > title:before, +prefaceinfo > title:before, +refentryinfo > title:before, +referenceinfo > title:before, +refsect1info > title:before, +refsect2info > title:before, +refsect3info > title:before, +refsectioninfo > title:before, +refsynopsisdivinfo > title:before, +sect1info > title:before, +sect2info > title:before, +sect3info > title:before, +sect4info > title:before, +sect5info > title:before, +sectioninfo > title:before, +setindexinfo > title:before, +setinfo > title:before, +sidebarinfo > title:before { + content: ""; +} + +graphic, +inlinegraphic { + content: image(attr(fileref)); +} + +graphic { + display: block; + margin: 1.33ex auto; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/css/help.css 4.6-complete/uploadfiles/help/css/help.css --- 4.6rc2/uploadfiles/help/css/help.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/css/help.css 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,87 @@ +body { + font-family: verdana, arial, sans-serif; + font-size: 9pt; +} + +h1 { + + font-family: Arial, Helvetica, sans-serif; + font-size: 16px; + font-weight: bold; + color: #FFFFFF; + background-color: #FF6600; + display: block; + border: 1px solid #000000; + padding: 5px; +} + +h2 { + color: #990000; + font-size: 1.3em; + margin: 1ex 0; +} + +h3 { + color: #006699; + font-size: 1.2em; + margin: 1ex 0; + border-left: 10px solid #fea540; + padding: 0 0 2px 5px; +} + + +pre { + text-align: left; + background-color: #fff; + border-left: 1px solid #aaa; + padding: 5px; +} +.title { + font-family: Arial, Helvetica, sans-serif; + font-size: 16px; + font-weight: bold; + color: #FFFFFF; + background-color: #FF6600; + display: block; + border: 1px solid #000000; + padding: 5px; +} +.datalabel { + font-family: Arial, Helvetica, sans-serif; + font-size: 11px; + font-weight: bold; +} +.data { + font-family: Arial, Helvetica, sans-serif; + font-size: 11px; +} +code { + font-family: "Courier New", Courier, mono; + font-size: 11px; +} +ul { + margin-top: 0px; + margin-bottom: 0px; + padding-top: 0px; + padding-bottom: 0px; +} + +.red { color: red } + + +.helpIndex { + border: 0px; + width: 95%; + height: 100%; + padding: 0px 5px 0px 10px; + overflow: auto; +} +.helpFrame { + border-left: 0px solid #222; + border-right: none; + border-top: none; + border-bottom: none; + width: 100%; + height: 700px; + padding: 0px 5px 0px 10px; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/css/index.html 4.6-complete/uploadfiles/help/css/index.html --- 4.6rc2/uploadfiles/help/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/css/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/frontpage.manager.html 4.6-complete/uploadfiles/help/frontpage.manager.html --- 4.6rc2/uploadfiles/help/frontpage.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/frontpage.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,86 @@ + + + + +Frontpage Manager + + +Frontpage Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows a list + of the Content Items assigned to the FrontPage Component. + You may enter text in the "Filter" box to refine + the list based on whether the text is found in the title + of any Content Item. Type in any text and press Enter. You + may also filter per category and/or section.

      Display Columns +
        +
      • Title: This is the title of the Content Item. + A padlock icon next to it shows that it is checked-out. To + check-in, click the name to edit. You will not be able to + edit a Content Item if it is checked out by another user. + It must be checked back by an administrator. The administrator + navigates to the Menu Item Systems->Global Checkin in + the Menu bar. It can also be checked back in by the User + who has checked the item out by clicking the 'Edit' icon + of the Content Item and then clicking either the 'Save' or 'Cancel' icon. 
      • +
      • Published: + This shows whether the Content Item is published. + Hover over this icon to see a summary of the publishing information.
      • +
      • Reorder: + This shows the order of Items in the list. + Click the arrow icons to move the item up or down.
      • +
      • Order: + Shows the order of items in the list. You may change + it by editing 2 # conjointly and clicking on the Save + Order icon next to the Column Heading Order.Note: The + new ordering has an effect when  the FrontPage + Component is displayed.
      • +
      • Access: This is the user + access level. Public, Registered or Special.
      • +
      • Section: + This is the section the Item belongs to. Click + to edit section.
      • +
      • Category: + This is the category the item belongs to. Click + to edit category.
      • +
      • Author: + This is the name of the author of the Content Item. + Click to edit author.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish and Unpublish: + Click the 'Publish' or 'Unpublish' icons + to publish or unpublish the selected Content Items on + the Frontpage.
      • +
      •  Archive: + Click the 'Archive' icon to put the Content + items into an archived state. They are still accessible + to your Frontpage. 
      • +
      • Remove: + Click the 'Remove' icon to remove Content Items + from the Frontpage Component.
      • +
      + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/index.html 4.6-complete/uploadfiles/help/index.html --- 4.6rc2/uploadfiles/help/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/index.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/installer.mambot.html 4.6-complete/uploadfiles/help/installer.mambot.html --- 4.6rc2/uploadfiles/help/installer.mambot.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/installer.mambot.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,41 @@ + + + + +Mambots - Review and Uninstall + + +Mambots: Review and Uninstall + + + + + + + + + + + + + + + + + + + + +
      Purpose:This page lists the "Site + Mambots" currently installed which can be uninstalled. (Certain + Core Mambots cannot be uninstalled and hence are not listed on + this page.) Users can use the uninstall command to completely + remove the listed Mambots from the system.
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Uninstall: Select a Mambot then click this + icon to uninstall the Mambot. Removes all the Mambot files + from the system.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/installer.module.html 4.6-complete/uploadfiles/help/installer.module.html --- 4.6rc2/uploadfiles/help/installer.module.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/installer.module.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,41 @@ + + + + +Modules - Review and Uninstall + + +Modules: Review and Uninstall + + + + + + + + + + + + + + + + + + + + +
      Purpose:This page lists the Modules + currently installed which can be uninstalled. (Certain Core Modules + cannot be uninstalled and hence are not listed on this page.) + Users can use the uninstall command to completely remove the listed + Modules from the system.
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Uninstall: Select a + Module then click this icon to uninstall the Module. + Removes all the Module files from the system.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/installer.source.html 4.6-complete/uploadfiles/help/installer.source.html --- 4.6rc2/uploadfiles/help/installer.source.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/installer.source.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,34 @@ + + + + +Installer - The Source + + +The Source Installer + + + + + + + + + + + + + + + + + + + + +
      Purpose: 
      Usage: 
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:  
      + +

       

      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/installer.universal.html 4.6-complete/uploadfiles/help/installer.universal.html --- 4.6rc2/uploadfiles/help/installer.universal.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/installer.universal.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,47 @@ + + + +Installer - Universal + + +Universal Installer + + + + + + + + + + + + + + + + + + + + +
      Purpose:Installs packages of Modules, + Components, Mambots and/or Templates. Packages come in .ZIP format + and can be uploaded. System automatically detects the type of + extension you wish to install and acts accordingly. Can handle + packages containing more than one type of extension.
      Usage:
        +
      • Upload Package FileProviding + you have GZip support with PHP, you will be able to + upload a zipped package file that will be automatically installed + to your server. 'Browse' to + the location of the element on your computer. Then click + the 'Upload File & Install' icon.
      • +
      • Install + from directoryIf you don't have GZip support then + you may upload an unpacked archive to your host's server. + Type the location of this file (it must be the absolute location) + then click the 'Install' icon.
      • +
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:  
      + +

       

      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambo.credits.html 4.6-complete/uploadfiles/help/mambo.credits.html --- 4.6rc2/uploadfiles/help/mambo.credits.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambo.credits.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,294 @@ + + + + + + +Credits + + + + + + + + + + + + +

      Credits & Contributions

      + +
        +

        The Mambo Steering Committee (the 'MSC')

        +
      • + Chad Auld: Core Development Team Leader +
      • +
      • + Alain Schmalz: 3rd Party Development Team Leader +
      • +
      • + Ric Shreves: Advocacy & PR Team Leader +
      • +
      • + Carlos Souza: Translation Team Leader +
      • +
      • + (Currently Open): Moderation Team Leader +
      • +
      • + Richard Ong: Documentation Team Leader +
      • +
      • + Chanh Ong: Project Management Team Leader +
      • +
      • + (Currently Open): QA Team Leader +
      • +

        Core & Maintenance Development

        +
      • + Adi Setiawan +
      • +
      • + Akarawuth Tamrareang +
      • +
      • + Carlos Souza +
      • +
      • +Chad Auld +
      • +
      • +Chanh Ong +
      • +
      • +Giorgio Nordo +
      • +
      • +Nalisa Sitabut +
      • +
      • +Neil Thompson +
      • +
      • +Richard Peter Ong +
      • +
      • +Shaoying Su +
      • + +

        Past Contributions

        +
      • + Andrew Eddie, Rey Gigataras, Emir Sakic, Alex Kempkens, Andy Miller, Mitch Pirtle, Tim Broeker, Nick Designer, Brian Teeman, Andy Stewart, Peter Koch, Levis Bisson, Robert Castley, Phil Taylor, Ron Bakker, Steen Rabol, James Logan, Wee Keat, Ilias Antonopoulos, Martin Brampton, Dean Elzey, Despina Stamkou, John Kalantzis +
      • +
      + +

      Third Party Tools

      + + + + + + + + diff -ruN 4.6rc2/uploadfiles/help/mambo.glossary.html 4.6-complete/uploadfiles/help/mambo.glossary.html --- 4.6rc2/uploadfiles/help/mambo.glossary.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambo.glossary.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,31 @@ + + + + + + +Glossary + + + + + + + + + + + +

      Glossary

      + + + +

      Admin Templates: Administrator Templates define the lay-out of your Mambo Web site's Backend.

      Alt Tag: The 'alt' attribute, often called the 'alt tag' is a text attribute added to the image tag to describe the image contained in the tag. This text is viewable (inside a text box) when one hovers their mouse over an image in the Frontend of a Web site.

      Archive: Content items can be archived and managed trough the Backend. The Archive Module provides a way of displaying archived items on your Web site.

      Backend: The 'Backend' is the Mambo Administrator where the site administrator manages the site and it's content.

      Blog: A Blog style within Mambo is the listing of records in a summary form. Example: It could be by link only, or showing just the introductory text with a link to the complete text. Often the "News" page is written in Blog style.

      Category:  A Category is the name for a collection of items that are related in some way. Example: The category 'Fish' may contain the records 'Herring', 'Haddock' and 'Stickleback'.

      Check Out (an item): When a user edits a file they 'Check it Out'. This prevents other users from being able to edit the item at the same time, thus preventing loss of data upon saving.

      CMT: CMT is an acromyme for Components, Modules and Templates.

      CMTM: CMTM is an acromyme for Components, Modules, Templates and Mambots.

      Components:  Components are Mambo's content elements or applications that usually appear in the center of a three column Mambo layout, or on the right of a two column Mambo layout. Components are core elements of Mambo functionality. Mambo core components include: Banners, Contact, News Feeds, Polls and Web Links. Members of the Mambo Community are producing third party Mambo components on a continuous basis. They are available on mamboxchange.com for free download.

      Content item: Please see 'Item'.

      Content Management System (CMS):
       A CMS is a software for managing content on a Web site directly on the server.

      Core: The Mambo core is the zip-file containing the official standard Mambo installation, which can be found on mamboxchange.com and various other sites. It contains some built-in CMTM's, but can be extended with 3rd party developer's addons.

      Database:  A database is an organized collection of information. It contains a collection of records that you can search, sort and analyze rapidly.

      Elements:  Elements are plug-ins like components, modules, templates, mambots or languages that extend your Mambo installation. These elements can already be bundled into the core or they can be third party elements.

      Frontend: The Frontend is the Web site that your visitors (or members) will see.

      Frontpage:  The Frontpage is a built-in Component which shows all the published content items from your site marked with the parameter 'Show on Frontpage'. You may configure the display of the Frontpage by editing the menu item associated with it, usually 'Home'.

      Global Checkin: When an item is 'Checked Out' and it is not saved or cancelled correctly (e.g. in case of a connection error), it will remain 'Checked Out', and thus uneditable for all other users. Performing a 'Global Checkin' will make those items available again.

      Intro Text: When creating or editing a Content Item, the Intro Text should contain a brief introduction. This introduction will be appended by the content in the Main Text box if you have entered content there. When the Content Item is set to show on the Front Page, a 'read on' link will be shown, pointing to the full Content Item.

      Item: An Item is a discrete piece of content within the Mambo hierarchy. An item can be an article, a content category, a menu item or a link.

      Main Text: When creating or editing a Content Item, the Main Text box contains the text you don't want to show on the Front Page.  It shows up after clicking the 'Read On' link in the Frontend of your site.

      Mamber: A Mamber is a general term for someone who is part of the Mambo community.

      Mambo:  Mambo is one of the finest Open Source Web Content Management Systems.

      Mambo Administrator: The Mambo Administrator is an application for administering your Mambo Web site directly on the server. It is sometimes also referred to as any of the Administrator, Backend, Admin Section, Administration Section, or the Control Panel.

      Mambo User (or/and User Group):  Mambo Users can be arranged in several groups with different levels of access control. User groups with access to the Frontend include Anonymous, Registered, Author, Editor and Publisher. There are also three groups with access to the Backend: Mamager, Administrator and Super Administrator.

      Mambot:  A Mambot is a small, task-oriented function that intercepts content before it is displayed and manipulates it in some way. Mambo provides a number of Mambots in the core distribution.

      Media Files: Media files such as .gif, .jpg, .png or .bmp files can be used in Content Items and are organised via the Media Manager.

      Modules: Modules extend the capabilities of Mambo giving the software new functionality.Modules are small content items that can be displayed anywhere that your template allows it to be displayed. Modules are very easy to install in the Admin Section. Mambo modules may include: Main Menu, Top menu, Template Chooser, Polls, Newsflash, Hit Counter, etc. Members of the Mambo Community are producing third party Mambo modules on a continuous basis. They are available on mamboxchange.com for free download.

      News Feeds: News Feeds are a way of sharing content between different sites. This sharing method is meant for creating a news introduction in the way the provider wants it and it normally has a link to the provider's web site. Mambo offers you the posibility to both offer and display News Feeds.

      Open Source (OS):  Open Source is a general term describing several parts of the Free Software Licence movement.

      Parameters:  Parameters can be used to alter the presentation of specific items, menu's or modules.

      Preview: The 'Preview' icon enables you to see from the Backend what your content item would look like in the Frontend of your site.

      Projects: Projects  can be compoents, modules, templates, mambots and scripts that are freely set up and managed by their authors at http:projects.mamboserver.com.

      Publish(ed):  This defines the state of various parts of your Mambo installation. For example, installed Elements will only display on your Web site if they're published. Content items can be managed with a start- and end date of publishing.

      Record:  A Record is a generic term for a 'row' in the database, just like a card. A record very often represents a 'piece' of content. The dynamic functionality and much of the content of Mambo relies on a database in order to function.

      Section:  A Section is a collection of Categories that are related in some way. Think of it this way. A section might be called 'News', categories in this section might be 'Today's News', 'Yesterdays News' and 'Other News'.

      Site:  The Mambo Site is the Web site displayed to your visitors or users, containing all the content added in the Admin Section. It is sometime referred to as the 'Frontend'.

      Templates: Templates define the lay-out of your Mambo Web site. You can assign different templates to various pages of your Web site.  Templates can be created for the Frontend of your site called Site Template as well as the Backend called Administrator Templates.

      Title: This is the name which is displayed above a Content Item.

      Title Alias: This is an alternative title for Content Items. This field is not used by the Mambo core itself, but SEF scripts and dynamic title/meta scripts use it and it may have a future use.

      Workspace:  The Workspace is the section of the Mambo Admin Section where the business of configuration and content publishing takes place. The workspace dynamically updates as you select tools and menu options. The workspace can include: HTML editor, article and link management and several other features.

      Wrapper: A Wrapper is a built-in Mambo component which can display any URL in your website. This can be used to wrap an application like a forum or a gallery, individual pages as well as an entire website. An alternative name is an Iframe.
       

      + + + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambo.support.html 4.6-complete/uploadfiles/help/mambo.support.html --- 4.6rc2/uploadfiles/help/mambo.support.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambo.support.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,20 @@ + + + +Support + + + + + +

      Support

      +

      Official Sites

      +
      + +

      Addons for Mambo

      • MamboXchange.com - The object of MamboXChange is to provide a free project management and download environment for Mambo related projects. It is one of largest central repositories on the web for everything that is to do with Mambo.



      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambo.whatsnew.html 4.6-complete/uploadfiles/help/mambo.whatsnew.html --- 4.6rc2/uploadfiles/help/mambo.whatsnew.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambo.whatsnew.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,64 @@ + + + + + + +What's New in Version 4.6 + + + + + + + + + + + +

      What's New in Version 4.6

      +Version 4.6 represents another milestone for the Mambo open source CMS project. In 4.6 much of the underlying code has been rewritten and optimized. Mambo now uses significantly fewer database calls during its normal operation. A large number of bugs have been corrected. A new feature rich default editor and user friendly database backup utility have been added. Plus more... + +

      Templates

      +New templates have been added to this release. Special thanks to Water & Stone for donating these! The new templates really show off what's possible with Mambo's flexible templating system. + +

      Help System Changes

      +New help screens have been added and the help system has been expanded to help decrease inaccuracies in the delivery of help content. New and updated screenshots have been added. A lot work has gone into the contextual help screens as well. + +

      Components

      +

      MOStlyCE

      +MOStlyCE is the new default editor for Mambo. MOStlyCE is based on the latest version of TinyMCE and the old mosCE project. MOStlyCE offers some great new enhancements like editor compression for faster load times and reduced traffic, a customizable interface, and ability to enable / disable plugins as needed. There are also a number of great new plugins like a spellchecker, layer support, etc. Enjoy! + +

      MOStlyDBAdmin

      +MOStlyDBAdmin is a new component based on the old dbadmin component. Some minor tweaks and security fixes have been applied. This component offers users an easy way to backup and restore Mambo's database. + +

      Comments

      +v4.6 offers a new built-in comments component for handling end user comments. + +

      Installers

      +

      Universal Installer

      +The individual installers for templates, mambots, components, etc have been removed. Version 4.6 brings a new Universal Installer capable of installing any type of Mambo package (i.e.) Component, Module, Mambot, and/or Template. + +

      Add-On Installer

      +Another new installation method is the Add-On Installer. It requires PHP5 and will be displayed under the Installers menu if the system has the required PHP5 version. The Add-On installer displays a list of official Mambo add-on packages that can be installed with the click of a button. Any number and/or type of packages can be installed with 1 simple click. You'll recognize many of these as formerly built in Mambo core items. With Mambo Raw we have started to slim down the core and thus are offering pulled packages as fully installable add-ons. We like to call it Mambo Your Way. + +This is also the spot to find Peer Reviewed / Certified 3rd Party Add-Ons. Note though the process for certifying add-ons is still in the works so when 4.6 is released this list will be empty until we have had time to get this effort officially underway. + +

      Other New Features

      +

      Check For Updates

      +The Check For Updates feature requires PHP5 and will be displayed under the System menu if the system has the required PHP5 version. This new feature checks the Mambo Foundation server to see if you are running the latest version and/or patch of Mambo and will offer suggestions if not. It can also be used to display messages to Mambo admins and may come in handy as a tool to communicate things like security warnings. The functionality is not automatic at this time. It will not update Mambo automatically, this is still a manual process. It also does not check for updates without the user requesting it do so. + +

      Enhanced Language Manager

      +Version 4.6 brings an enhanced language manager that allows for simple translation of the Mambo core. + +

      Spam Protection

      +Optional CAPTCHA authentication has been added to the core. By requiring the user +pass a CAPTCHA test before submitting contact or comment contents automated spam +entries by bots should be elimitated. +

      Bug Fixes

      +For details on other additions and bug fixes not listed here, please check the changelog.php file that is included with the distribution. + + + diff -ruN 4.6rc2/uploadfiles/help/mambots.categories.searchbot.html 4.6-complete/uploadfiles/help/mambots.categories.searchbot.html --- 4.6rc2/uploadfiles/help/mambots.categories.searchbot.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.categories.searchbot.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Mambot - Search Categories + + +Mambot: Search +Categories + + + + + + + + + + + + + + + + + + + + +
      Purpose:Search Categories mambot, + belongs to the search bots family of mambots. These mambots have + no visual output. When they are enabled, search is also performed + inside the content denoted by their names. When this Mambot is + enabled, a search returns results also from the Categories + section.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.contacts.searchbot.html 4.6-complete/uploadfiles/help/mambots.contacts.searchbot.html --- 4.6rc2/uploadfiles/help/mambots.contacts.searchbot.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.contacts.searchbot.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Mambot - Search Contacts + + +Mambot: Search +Contacts + + + + + + + + + + + + + + + + + + + + +
      Purpose:Search Contacts mambot, + belongs to the search bots family of mambots. These mambots have + no visual output. When they are enabled, search is also performed + inside the content denoted by their names. When this Mambot is + enabled, a search returns results also from the Contacts + data.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.content.searchbot.html 4.6-complete/uploadfiles/help/mambots.content.searchbot.html --- 4.6rc2/uploadfiles/help/mambots.content.searchbot.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.content.searchbot.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,40 @@ + + + +Mambot - Search Content + + +Mambot: Search +Content + + + + + + + + + + + + + + + + + + + + +
      Purpose:Content mambot, belongs to + the search bots family of mambots. These mambots have no visual + output. When they are enabled, search is also performed inside + the content denoted by their names. When this Mambot is enabled, + a search returns results also from Content. Note: It is adviced + to keep this mambot published, otherwise your search results will + be limited.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.geshi.html 4.6-complete/uploadfiles/help/mambots.geshi.html --- 4.6rc2/uploadfiles/help/mambots.geshi.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.geshi.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,64 @@ + + + +Mambot - GeSHi + + +Mambot: GeSHi + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This displays formatted + code in Content Items based on the GeSHi highlighting engine. + This is an enhanced version of Code Support, + allowing the rendering of many different programming languages + with color-highlighted code by specifying the to-be-used + language.

      +

      NOTE: In some versions of Mambo , this bot has an incompatibility + with the Email Cloaking Mambot.

      Usage:Use the "pre" tag and add the + programming language you want to use for highlighting purposes + as a parameter.
      + Example: + < pre lang="xml" >your code here ... < /pre >
      Default State: Unpublished
      Parameters:The mambot version of the GeSHi highlight + code comes with the following highlighters for the most common + renders installed, ready to be used: + +
        +
      • CSS => use lang="css"
      • +
      • Html4 Strict => use lang="html4strict"
      • +
      • JavaScript => use lang="javascript"
      • +
      • PHP => use lang="php"
      • +
      • PHP Brief => use lang="php-brief"
      • +
      • SQL => use lang="sql"
      • +
      • XML => use lang="xml"
      • +
      +Should you need additonal languages, you may download the full package from + the developer site: http://qbnz.com/highlighter/ which includes + over 30 languages. You should then upload the required "newLanguage.php" from + the package into your "\mambots\content\geshi\geshi" folder.
      Toolbar Icons:
        +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Close: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.legacybots.html 4.6-complete/uploadfiles/help/mambots.legacybots.html --- 4.6rc2/uploadfiles/help/mambots.legacybots.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.legacybots.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Mambot - Legacy Includer + + +Mambot: Legacy Mambot +Includer + + + + + + + + + + + + + + + + + + + + +
      Purpose:This is support for outdated + Mambo 4.5 mambots. Note: This Mambot is unpublished by default; + should you experience disfunctions with a particular, older mambot, + try to publish it.
      Usage:n/a
      Default State: Unpublished
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Close: Cancel the present operation without + saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.manager.html 4.6-complete/uploadfiles/help/mambots.manager.html --- 4.6rc2/uploadfiles/help/mambots.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,82 @@ + + + +Mambot Manager + + +Mambot Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:Mambots are essentially code snippets which when called via various parameters either activate a program, script or perform a specific function. They can be as simple as a function which replaces typed text with code (such as typing to display an image in a Content Item) to full fledged third party libraries (such as WYSIWYG editors or other programs). Mambots are divided into 5 types/categories that may be displayed by filtering in the filter field: +
        +
      • authentication
      • +
      • content
      • +
      • editors
      • +
      • editors-xtd
      • +
      • search
      • +

      +Display Columns: +
      • Mambot Name: This lists the names of + the Mambots currently installed. Click the name to edit any of + the mambots. + +
      • Published: This shows whether the Mambot + is published or unpublished. Click on the icon if you + wish to toggle its state.
      • +
      • Reorder:  Click + the arrow icons to move the item up or down in the list. + This has no effect on the Front-end of your site.  You + only reorder to help you organize your list of mambots + in the Back-end.
      • +
      • Order: This shows the order of Mambots + in relation to other Mambots of the same type. Type  the + new numbers in the order that you wish your mambots + to appear in the Back-end. You can change the order + any two or more mambots at the same time.  Click + the "Save Order" icon + next to the Column Heading "Order." This has + no effect on the Front-end of your site.
      • +
      • Access: This shows who can see or use + the Mambots on the Frontend of a Web page. Choose the + level of access by clicking the link to toggle through + Public, Registered and Special access.
      • +
      • Type: This displays the type of mambot. + Types include editors, content, editors-xtd and search.
      • +
      • File: This + displays the mambots filename
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish/ Unpublish: Click the icon to Publish + or Unpublish the Mambot.
      • +
      • New:  Click the "New" icon + to create a new Mambot. Then fill in the fields listed.
      • +
      • Edit: Click the "Edit" icon to + change the settings as desired.
      • +
      • Delete: Click the "Delete" icon. + This will uninstall it. WARNING: This cannot be undone. Deleted + Mambots cannot be restored as a "Menu Item" or "Content + Item" can. If you have deleted a Mambot and you wish + to use that Mambot again, you must re-Install the Mambot. + NOTE: Mambots essential to core operations cannot be deleted.
      • +
      +
      +
      +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.moscode.html 4.6-complete/uploadfiles/help/mambots.moscode.html --- 4.6rc2/uploadfiles/help/mambots.moscode.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.moscode.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,44 @@ + + + +Mambot - Code Support + + +Mambot: Code +Support + + + + + + + + + + + + + + + + + + + + +
      Purpose:This displays formatted code + in Content Items. The code will appear in + the Courier font face and with no syntax highlighting.
      Usage:{ moscode }... { /moscode }
      +Example: { moscode }<body onload="winManage(850,700,true);"><a +name="top"></a><div><div id="wrapper"></div></div>{ +/moscode }
      +NOTE:  The tag described above should have no space after  "{" and +before "}". It has been displayed with spaces here not to implement +the function in this screen.
      Default State: Unpublished.
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Close: Cancel the present operation without + saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mosemailcloak.html 4.6-complete/uploadfiles/help/mambots.mosemailcloak.html --- 4.6rc2/uploadfiles/help/mambots.mosemailcloak.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mosemailcloak.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,43 @@ + + + +Mambot - Email Cloaking + + +Mambot: Email +Cloaking + + + + + + + + + + + + + + + + + + + + +
      Purpose:Publishing this mambot cloaks + all e-mails in content from spambots, using javascript .
      Usage:These are the ways the + address should be written:
      + 1. In plain text: mail@mail.com
      2
      . As + a mail to: <a href="mailto:mail@mail.com">mail@mail.com</a>
      + Otherwise + the cloaking prevents the address from being decrypted when calling + the mailer.
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Close: Cancel the present operation without + saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mosimage.btn.html 4.6-complete/uploadfiles/help/mambots.mosimage.btn.html --- 4.6rc2/uploadfiles/help/mambots.mosimage.btn.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mosimage.btn.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,40 @@ + + + +Mambot - MOSimage Button + + +Mambot: MOS Image Editor +Button + + + + + + + + + + + + + + + + + + + + +
      Purpose:This provides the button + to insert the MOS Image tag into content edit box. This +mambot replaces tag in content with specified images.  You can insert as +many of these tags as needed in your articles.  To do this while creating +or editing a Content Item,  select the images on the "Image" tab +under "MOSImage Control".  The replacement of the tags will follow +the order of the images in the "Content Images" box.
      Usage: { mosimage }
      +NOTE: +The tag described above should have no space after  "{" +and before "}". It has been displayed with spaces here not to +implement the function in this screen.
      Default State: Published
      Parameters:n/a
      Toolbar Icons:  
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mosimage.html 4.6-complete/uploadfiles/help/mambots.mosimage.html --- 4.6rc2/uploadfiles/help/mambots.mosimage.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mosimage.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,44 @@ + + + +Mambot - MOSimage + + +Mambot: MOS Image + + + + + + + + + + + + + + + + + + + + +
      Purpose:This Mambot replaces tag + in content with specified images.  You can insert as many + of these tags as needed in your articles.  To do this while + creating or editing a Content Item,  select the images on + the "Image" tab under "MOSImage Control".  The + replacement of the tags will follow the order of the images in + the "Content Images" box.
      Usage:

      { mosimage }
      + NOTE: The tag described above should have no space after  "{" and + before "}". It has been displayed with spaces here not + to implement the function in this screen

      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      +

       

      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mosloadposition.html 4.6-complete/uploadfiles/help/mambots.mosloadposition.html --- 4.6rc2/uploadfiles/help/mambots.mosloadposition.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mosloadposition.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,52 @@ + + + +Mambot - Load Positions + + +Mambot: Load Module + Positions + + + + + + + + + + + + + + + + + + + + +
      Purpose:This loads module positions + within the content area of a Content Item. This means you may + load any module assigned to this position at this specific place + in a Content Item without defining the position in the Template + file.
      Usage:{mosloadposition user1} +
        +
      • where 'user1' is one of the positions defined for your site + through Site->Templates->Modules Positions
      • +
      Default + State Published
      Parameters:Lets you choose a style of HTML code + to insert the module: +
        +
      • Wrapped by Table - Column
      • +
      • Wrapped by Table - Horizontal
      • +
      • Wrapped by Divs
      • +
      • No wrapping, raw output
      • +
      Toolbar Icons:
        +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Close: Cancel the present operation without + saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mospage.btn.html 4.6-complete/uploadfiles/help/mambots.mospage.btn.html --- 4.6rc2/uploadfiles/help/mambots.mospage.btn.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mospage.btn.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,35 @@ + + + +Mambot - MOSPagebreak Button + + +Mambot: MOSPagebreak Editor +Button + + + + + + + + + + + + + + + + + + + + +
      Purpose:This provides the button + to insert the { mospagebreak }  tag into content edit box.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mospaging.html 4.6-complete/uploadfiles/help/mambots.mospaging.html --- 4.6rc2/uploadfiles/help/mambots.mospaging.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mospaging.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,47 @@ + + + +Mambot - Pagination + + +Mambot: MOS +Pagination + + + + + + + + + + + + + + + + + + + + +
      Purpose:This provides the button + to insert the { mospagebreak }  tag into content edit box. + This will add a Table of Contents functionality to a paginated + item.
      Usage:{ mospagebreak } or
      + { mospagebreak title=The page title } or
      + { mospagebreak heading=The first page } or
      + { mospagebreak title=The page title&heading=The first + page } or
      + { mospagebreak heading=The first page&title=The page + title }
      +NOTE: The tags described above should have no space after  "{" and +before "}". They have been displayed with spaces here not to implement +the function in this screen.
      Default State: Published
      Parameters:The 'contenttoc' CSS class is + used to control the display this Table of Contents.
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mossef.html 4.6-complete/uploadfiles/help/mambots.mossef.html --- 4.6rc2/uploadfiles/help/mambots.mossef.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mossef.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Mambot - SEF + + +Mambot: SEF + + + + + + + + + + + + + + + + + + + + +
      Purpose:Powers the Search Engine + Friendly URL re-writing function. Though this Mambot is published + by default, to enable the functionality you must access the Global + Configuration Manager and activate the function and you must rename + the file "htaccess.txt" to ".htaccess" -- located in the Mambo + root directory.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mostlyce.html 4.6-complete/uploadfiles/help/mambots.mostlyce.html --- 4.6rc2/uploadfiles/help/mambots.mostlyce.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mostlyce.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,36 @@ + + + +Mambot - MOStlyCE + + + +Mambot: MOStlyCE + + + + + + + + + + + + + + + + + + + + +
      Purpose:This Mambot powers the MOStlyCE + WYSIWYG content editor. To use the editor, it must be selected + in the Global Configuration Manager.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mosvaliduserbot.html 4.6-complete/uploadfiles/help/mambots.mosvaliduserbot.html --- 4.6rc2/uploadfiles/help/mambots.mosvaliduserbot.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mosvaliduserbot.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,33 @@ + + + +Mambot - User Authenticator + + +Mambot: User Authenticator + + + + + + + + + + + + + + + + + + + + +
      Purpose:Mambo user credential management.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.mosvote.html 4.6-complete/uploadfiles/help/mambots.mosvote.html --- 4.6rc2/uploadfiles/help/mambots.mosvote.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.mosvote.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Mambot - MOS Rating + + +Mambot: MOS Rating + + + + + + + + + + + + + + + + + + + + +
      Purpose:This will add the Voting + functionality to Content Items. NOTE: For this +mambot's output to be visible, you must set "Item Rating/Voting:" to "Show" through +Site- > Global Configuration- > Content.Users will then be presented with +a rating system from 1 to 5 at the top of a full Content Item.  They will +be able to cast their vote (once).
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.new.html 4.6-complete/uploadfiles/help/mambots.new.html --- 4.6rc2/uploadfiles/help/mambots.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,60 @@ + + + +Mambot - New + + +Mambot: New + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Lets you create a new + Site Mambot.

      + Principal Fields: +
        +
      • Name: Type the name of the Mambot as + it will appear on the Site Mambots listing. This + has no impact on your site.
      • +
      • Folder: This shows into which + category the Mambot is placed.
      • +
      • Mambot + file: This is the name of the Mambot file as it + appears in the folder.
      • +
      • Mambot Order: Choose the order + of the Mambot as listed in the Folder when filtering + by category.
      • +
      • Access Level: Choose who will be + able to view this content. Public, Registered + or Special.
      • +
      • Published: Check the box to let + the Mambot show on your site or + provide the function it is designed to do.
      • +

      For an explanation of the function of each Mambot and a list of the available parameters, click the Help icon that appears on each individual Mambot's page.
      Usage:n/a
      Default State: n/a
      Parameters:

      There is an open Parameters field + on this page which will appear once you save the new Mambot.

      +
      Toolbar Icons:
        +
      • Save: Click to save the information you have + entered and return to the Mambot Manager.
      • +
      • Apply: Click to save the information entered + AND keep the same window open for editing.
      • +
      • Close: Click to cancel any modification + just made and to close the window.  Any modification + is lost.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.newsfeeds.searchbot.html 4.6-complete/uploadfiles/help/mambots.newsfeeds.searchbot.html --- 4.6rc2/uploadfiles/help/mambots.newsfeeds.searchbot.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.newsfeeds.searchbot.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Mambot - Search Newsfeeds + + +Mambot: Search +Newsfeeds + + + + + + + + + + + + + + + + + + + + +
      Purpose:Search Newsfeeds mambot, + belongs to the search bots family of mambots. These mambots have + no visual output. When they are enabled, search is also performed + inside the content denoted by their names.When this Mambot is + enabled, a search returns results also from the Newsfeeds section.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.none.html 4.6-complete/uploadfiles/help/mambots.none.html --- 4.6rc2/uploadfiles/help/mambots.none.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.none.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,37 @@ + + + +Mambot - No WYSIWYG Editor + + +Mambot: No WYSIWYG + Editor + + + + + + + + + + + + + + + + + + + + +
      Purpose:Powers the plain text editor + for Content Items. To use the plain text editor you must select + "No WYSIWYG Editor" on the Global Configuration Manager screen.
      Usage:n/a
      Default State: Unpublished
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.sections.searchbot.html 4.6-complete/uploadfiles/help/mambots.sections.searchbot.html --- 4.6rc2/uploadfiles/help/mambots.sections.searchbot.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.sections.searchbot.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Mambot - Search Sections + + +Mambot: Search +Sections + + + + + + + + + + + + + + + + + + + + +
      Purpose:Search Sections mambot, + belongs to the search bots family of mambots. These mambots have + no visual output. When they are enabled, search is also performed + inside the content denoted by their names. When this Mambot is + enabled, a search returns results also from the Sections content.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.tinymce.html 4.6-complete/uploadfiles/help/mambots.tinymce.html --- 4.6rc2/uploadfiles/help/mambots.tinymce.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.tinymce.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,51 @@ + + + +Mambot - TinyMCE + + +Mambot:TinyMCE WYSIWYG +Editor + + + + + + + + + + + + + + + + + + + + +
      Purpose:This Mambot powers the TinyMCE + WYSIWYG content editor. To enable the use of TinyMCE, you must + select it in the Global Configuration Manager and publish this + Mambot.
      Usage:n/a
      Default State: Unpublished
      Parameters:
        +
      • Functionality: Specify advanced or simple interface.
      • +
      • Text Direction: Will text read left to right or right to left?
      • +
      • Prohibited Elements: Block usage of certain elements from + the content area (for security).
      • +
      • Template CSS Classes: Use template CSS or custom CSS.
      • +
      • Custom CSS Classes: Can specify custom CSS file to be used + for your Content Items.
      • +
      • Newlines: Determined whether new lines are executed with a + < br / > or a < p > tag.
      • +
      • Toolbar: Controls placement of the toolbar relative to the + content window.
      • +
      • Popup Height: Sets height of HTML editing popup.
      • +
      • Popup Width: Sets width of HTML editing popup.
      • +
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/mambots.weblinks.searchbot.html 4.6-complete/uploadfiles/help/mambots.weblinks.searchbot.html --- 4.6rc2/uploadfiles/help/mambots.weblinks.searchbot.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/mambots.weblinks.searchbot.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Mambot - Search Web Links + + + +Mambot: Search Web Links + + + + + + + + + + + + + + + + + + + + +
      Purpose:Search Web Links Mambot, + belongs to the search bots family of Mambots. These Mambots have + no visual output. When they are enabled, search is also performed + inside the content denoted by their names. When this Mambot is + enabled, a search returns results also from the Web Links.
      Usage:n/a
      Default State: Published
      Parameters:n/a
      Toolbar Icons:
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Close: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/massmail.main.html 4.6-complete/uploadfiles/help/massmail.main.html --- 4.6rc2/uploadfiles/help/massmail.main.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/massmail.main.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,40 @@ + + + +Mass Mail + + +Mass Mail Users + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allow you to + send mail to one or more groups of Users.

      + Details +
        +
      • Group: Make a selection from the list. Select "All User Groups" to mail the message to all users. Only one selection can be made from this list. 
      • +
      • Mail to Child Groups: Check this box to automatically include all of the child groups of the selected group. For example, if you select the "Editor" group and check this box, all users in the Publisher group will also be included in the mass mail. 
      • +
      • Subject: Type a subject for the message. 
      • +
      • Message: Type the body of the message.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Send Mail: Click to send message.
      • +
      • Cancel: Click to cancel without saving or sending message.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/media.manager.html 4.6-complete/uploadfiles/help/media.manager.html --- 4.6rc2/uploadfiles/help/media.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/media.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,76 @@ + + + +Media Manager + + +Media Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Media Manager enables + you upload, delete and organise your media files within Mambo + for use in various articles on your Web site - it serves + essentially, as a replacement for FTP transfer of media files. + The Media Manager only works under the /images/stories + directory. If you need to upload media files in other location + you have to do it through FTP.Note also that batch uploading + is not possible with the Media Manager.

      + Details +
        +
      • Directory: The drop + down box displayes the folder you are in. A forward + slash (/) denotes you are in the root or top of the + Media Manager directory structure. As root is considered + the /images/stories directory. You can use to navigate. + Alternatively you can click on any folder icon, displayed + bellow as thumbnail.
      • +
      • Upload: + Enter the files location or click the 'Browse' button + and select the file that you want to upload from your + PC or workstation.
      • +
      • Pencil Icon : + Clicking the thumbnail image or the pencil icon under + it in the Media Manager window will enter the hyperlink + code in the 'Code' text field. This can copied + for pasting, for example, into a News item or other + item appearing on the Frontend of your Web site.
      • +
      • Create Directory: + Enter a name for the new directory in the 'Create + Directory' text + box and click the 'Create' icon + on the toolbar. The new directory will be created and + will be available for storing files.
      • +
      • Trash Can Icon : + To delete a file or a directory, click the 'Trash + Can' icon + under the image of the file in the Media Manager window. + A directory must be empty before it can be deleted.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Upload: Click to initiate the uploading + of a file entered in the Upload field at the bottom of the + page.
      • +
      • Create: Click to initiate the creation of + a new directory, as specified at the bottom of the page.
      • +
      + +

       

      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menumanager.copy.html 4.6-complete/uploadfiles/help/menumanager.copy.html --- 4.6rc2/uploadfiles/help/menumanager.copy.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menumanager.copy.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Menu - Copy + + +Menu Manager : Copy Menu + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you copy + a Menu and all its Menu Items. A list displays + the name of the Menu and Menu Items copied.

      + Primary Fields +
        +
      • New Menu Name:Type here to create a + new Menu Name. This is the identification name used + by Mambo to identify this menu within the code so + it must be unique.  It is recommended to use no + spaces within this name. For example, in the core Mambo + the User Menus Menu Name is usermenu and the Main Menus + Menu Name is mainmenu.
      • +
      • New Module Name: Type here a name for + the Module that handles your new menu.This is the name + given to the new mod_mainmenu module which is automatically + created when you save this menu. It is also the Name + of the menu as it will appear on the page if you choose + to show it (this may be changed when editing the module). + In the example described above these are User Menu and + Main Menu.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Copy: A new Menu Name will be created  in + the Menu Manager list where it may be edited.A + new mod_mainmenu module, with the Name you have entered above, + will also be created. Parameters for the created module can be + edited through the 'Modules Manager [site]': + Modules -> Site Modules.
      • +
      • Cancel:Click on this + icon if you wish to stop the copying and cancel + any action.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menumanager.edit.html 4.6-complete/uploadfiles/help/menumanager.edit.html --- 4.6rc2/uploadfiles/help/menumanager.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menumanager.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,62 @@ + + + +Menu - Edit + + +Menu Manager: +Edit Menu + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page + lets you edit an existing + menu.

      + Details +
        +
      • Menu Name:  Type here to create + or edit a Menu Name. This is the identification name + used by Mambo to identify this menu within the code + so it must be + unique.  It is recommended to use no space within + this name. For example, in the core Mambo the User Menus + Menu Name is usermenu and the Main Menus Menu Name is + mainmenu.
      • +
      • Module Title: Type here a Module Name.This is the name given + to the new mod_mainmenu module which is automatically + created when you save this menu. It is also the + Name of the menu as it will appear on the page + if you choose to show it (this may be changed when + editing the module). In the example described above + these are User Menu and Main Menu.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Save:  A new mod_mainmenu module, with + the Name you have entered above will automatically be created.Parameters + for the module created are to be edited through the 'Modules + Manager [site]': Modules -> Site Modules.
      • +
      • Cancel: Click + on this icon if you wish to stop any action.
      • +
      + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menumanager.main.html 4.6-complete/uploadfiles/help/menumanager.main.html --- 4.6rc2/uploadfiles/help/menumanager.main.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menumanager.main.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,104 @@ + + + +Menu Manager + + +Menu Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      "Menus" in Mambo + are groups of navigational links to sections, categories, + Content Items, components or external pages. These links + are called 'Menu Items'.Each menu must have an identification + name which is only used internally by Mambo. A menu only + becomes visible on a site if it has a published mod_mainmenu + module which references it. A menu may have multiple + mod_mainmmenu modules referencing it.

      Display + Headings : +
        +
      • Menu Name: Click + on the name to edit it. This name may be the one that + is given to the menu by default or the name you gave + to that menu.
      • +
      • Menu + Items: Click on the Edit icon in this column + to add or edit Menu Items associated with a menu. Or + alternatively go to "Menu->the-menu-you-choose-to-edit". + A "Menu Manager [the-menu-you-choose-to-edit]" window + will appear with a list of all Menu Items associated + to this Menu.
      • +
      • #Published: This is the + number of Menu Items published.
      • +
      • #Unpublished: + This is the number of Menu Items unpublished.
      • +
      • #Trash: This + is the number of Menu Items in the Trash Manager.
      • +
      • #Modules: This + is the number of menu modules associated to the Menu + Name.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • New: Click this icon + to create a new Menu. You will access the "Menu Details" window.  Type + a Menu Name. This is the identification name used by Mambo + to identify this menu within the code.  It must be unique.  It + is recommended to use no spaces within this name. For + example, in the core Mambo the User Menus Menu Name + is usermenu and the Main Menus Menu Name is mainmenu.  Next: Type + the Module Title. This is the name given to the new + mod_mainmenu module which is automatically created when + you save this menu. It is also the Name of the menu + as it will appear on the page if you choose to publish + it. This may be changed in the future when editing the + module.  In the example + described above, these are User Menu and Main Menu. + Click on the Save icon. Your new menu appears in the + Menu Manager list.
      • +
      • Edit:  Click the radio button next to + the Menu Name you want to edit.  Then, click on the "Edit" icon + which will take you to the Editing page.
      • +
      • Copy: Click + the radio button next to the Menu Name you want to copy. + Then, click the Copy icon in the toolbar. This will + duplicate the menu. You may copy any of your menus. + Copying will create a new Menu Name, containing the + same Menu Items as the menu copied, associated to a + new Menu Module. A Copy Page will display, with the + same choices as in Create New Menu. It will also state + the name of the Menu being copied and a list of the + Menu Items associated to the menu being copied. Fill + in the fields as in the "Create New Menu" screen.
      • +
      • Delete: Click the radio button next to the + Menu Name you want to delete. Then, click the Delete + icon in the toolbar. This will delete the Menu. A "Delete + Menu : Name-of-the-menu" screen will display. It shows + the Module(s) to be deleted (the mod_mainmenu modules associated + to this Menu) and the Menu Items to be deleted. Click the + Delete Icon surrounded by a dotted line. This will delete + this Menu, ALL its Menu Items and ALL the Modules associated + with it. A Javascript alert popup box gives you the choice + to "OK" or to "Cancel" this action. + NOTE: Deleted Menus cannot be recovered from the Trash + Manager!
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menumanager.new.html 4.6-complete/uploadfiles/help/menumanager.new.html --- 4.6rc2/uploadfiles/help/menumanager.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menumanager.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,60 @@ + + + +Menu - New + + +Menu Manager: +New Menu + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page + lets you create a new menu.

      + Details +
        +
      • Menu Name:  Type here to create or edit a + Menu Name. This is the identification name used by Mambo + to identify this menu within the code so it must be + unique.  It is recommended to use no space within + this name. For example, in the core Mambo the User Menus + Menu Name is usermenu and the Main Menus Menu Name is + mainmenu.
      • +
      • Module Title: Type here a Module Name.This is the name given + to the new mod_mainmenu module which is automatically + created when you save this menu. It is also the + Name of the menu as it will appear on the page + if you choose to show it (this may be changed when + editing the module). In the example described above + these are User Menu and Main Menu.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Save:  A new mod_mainmenu module, with + the Name you have entered above will automatically be created.Parameters + for the module created are to be edited through the 'Modules + Manager [site]': Modules -> Site Modules.
      • +
      • Cancel: Click + on this icon if you wish to stop any action.
      • +
      + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.component_item_link.html 4.6-complete/uploadfiles/help/menus.component_item_link.html --- 4.6rc2/uploadfiles/help/menus.component_item_link.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.component_item_link.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,93 @@ + + + +Menu Format - Link Component Item + + +Menu Item Format: Link +- Component Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Link - Component + Item Menu Item adds a link to a component that automatically + reflects the parameters of the original component as defined + in the "Component" Menu Item. The "Link - + Component Item" is useful if you want a component to + appear in more than one menus and just want to change the 'Details' parameters + for that component while keeping the general parameters as + defined in the Component Menu Item. One aspect is added to + the 'Details' function : the possibility of opening + the link in a certain type of window.

      + Details +
        +
      • Name: Enter + the name of the Menu Item as you want it to appear + on the menu of your site.
      • +
      • Component: Here you may select + one specific component. The list shows the 'Component + Menu Item' names as defined in the 'Component' Menu + Item.
      • +
      • URL: (The URL for this item will + show after Apply/Save.)
      • +
      • On Click, Open in: +
          +
        • 'Parent Window With Browser Navigation' is + the same window you call the link + from,
        • +
        • 'New Window with Browser Navigation' is + a full featured new window,
        • +
        • 'New Window Without Browser Navigation' is + a new pop-up window with just scroll + bars which may be resized.
        • +
        +
      • +
      • Parent Item: Select 'Top' if + you want the Menu Item to appear at the same level + as your primary navigation. You can also put the + Menu Item under an existing Menu Item by selecting + that existing Menu Item as parent.
      • +
      • Ordering: By default, Mambo adds + new items to the end of the Menu Items list. After + saving or applying the new item, you can change + its order when editing, using a pull-down menu + to select the item after which the item will appear.
      • +
      • Access Level: Sets who can view + this item.
      • +
      • Published: Sets whether the Menu + Item is published or not. By default, new Menu + Items are set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.components.html 4.6-complete/uploadfiles/help/menus.components.html --- 4.6rc2/uploadfiles/help/menus.components.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.components.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,68 @@ + + + +Menu Format - Component + + +Menu Item Format: Component + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Component Menu + Item adds a link to a page produced by a component.

      + Details
        +
      • Name :Enter the name of the Menu Item + as you want it to appear on the menu of your site.
      • +
      • Component + : Select one specific component.
      • +
      • URL : (The + URL for this item will appear after Apply/Save.)
      • +
      • Parent Item : + Select 'Top' if + you want the Menu Item to appear at the same level as + your primary navigation. You can also put the Menu Item + as a sublevel of an existing Menu Item by selecting + that existing Menu Item as parent.
      • +
      • Ordering: By + default, Mambo adds new items to the end of the + existing Menu Items list. After saving or applying the + new item, you can change its order when editing, using + a pull-down menu to select the item after which the + item will appear.
      • +
      • Access Level: Sets + who can view this item.
      • +
      • Published: Sets + whether the Menu Item is published or + not. By default, new Menu Items are set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • The settings that can be edited under the Parameters tab vary + according to the selected component and will appear only + after you click "Apply" or"Save."
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.contact_category_table.html 4.6-complete/uploadfiles/help/menus.contact_category_table.html --- 4.6rc2/uploadfiles/help/menus.contact_category_table.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.contact_category_table.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,106 @@ + + + +Menu Format - Table Contact Category + + +Menu Item Format: Table +- Contact Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Table - Contact + Category Menu Item adds a link to an existing category + of contacts, displaying the category as a table listing all + published Contacts in it, as clickable Names. If there + is only one Contact published, the Table will behave as in 'Link + - Contact Item', displaying only that contact.

      + Details +
        +
      • Name : Enter the name of the Menu + Item as you want it to appear on the menu of your site. + If you leave this blank, the Category name will automatically + be used.
      • +
      • Category : Select one published Category.
      • +
      • URL : (The URL for this item will appear + after Apply/Save.)
      • +
      • Parent Item : Select *Top* if you want + the Menu Item to appear at the same level as your primary + navigation. You can also put the Menu Item under an + existing Menu Item by selecting that existing menu item + as parent.
      • +
      • Ordering: By default, Mambo adds new + items to the end of the Menu Items list. After saving + or applying the new item, you can change its order when + editing, using a pull-down menu to select the item after + which the item will appear.
      • +
      • Access Level: Sets who can view this + item
      • +
      • Published: Sets whether the Menu Item + is published or not. By default, new menu items are + set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows you to set customized + styles for this page. The suffix you type here is automatically + added to the CSS classes for this page, and will have to + be defined in your template's CSS stylesheet for usage.
      • +
      • Back Button: Show or hide a "Back" button + on the bottom of the page to allow the user to return to + the previously viewed page.
      • +
      • Page Title: Show/Hide the page(s) title.
      • +
      • Page Title: Text + to display at the top of the page. If left blank, the + menu name will display instead.
      • +
      • Other Categories: Show/Hide other categories + when viewing a specific category. When set to show, + the displayed category titles will act as clickable links.
      • +
      • # + Category Items : Show/Hide the number of items + for each category displayed.
      • +
      • Table Headings: + Show/Hide the Table headings ('Name,' 'Position,' 'Email,' 'Phone,' and 'Fax').Position + Column: Show/Hide the column displaying the contacts' 'Position'.
      • +
      • Position Column: Show/Hide the column displaying + the contacts' 'Position'.
      • +
      • Email + Column: Show/Hide the column displaying the + contacts' 'Email'.
      • +
      • Telephone + Column: Show/Hide Show/Hide the column displaying + the contacts' 'Telephone' number.
      • +
      • Fax + Column: Hides or shows Show/Hide the column + displaying the contacts' 'Fax' number.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.contact_item_link.html 4.6-complete/uploadfiles/help/menus.contact_item_link.html --- 4.6rc2/uploadfiles/help/menus.contact_item_link.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.contact_item_link.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,95 @@ + + + +Menu Format - Link Contact Item + + +Menu Item Format: Link +- Contact Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Link - Contact + Item Menu Item adds a link to an existing published + contact. Displays information about this contact and displays + a form to fill and mail to this contact.

      + Details +
        +
      • Name: Enter + the name of the Menu Item as you want it to appear + on the menu of your site.
      • +
      • Contact to Link: Select + a specific contact.
      • +
      • URL: (The URL for this item will + show after Apply/Save.)
      • +
      • On Click, Open in: +
          +
        • 'Parent Window With Browser Navigation' is + the same window you call the link + from,
        • +
        • 'New Window with Browser Navigation' is + a full featured new window,
        • +
        • 'New Window Without Browser Navigation' is + a new pop-up window with just scroll + bars which may be resized.
        • +
        +
      • +
      • Parent Item: Select 'Top' if + you want the Menu Item to appear at the same level + as your primary navigation. You can also put the + Menu Item under an existing Menu Item by selecting + that existing Menu Item as parent.
      • +
      • Ordering: By default, Mambo adds + new items to the end of the Menu Items list. After + saving or applying the new item, you can change + its order when editing, using a pull-down menu + to select the item after which the item will appear.
      • +
      • Access Level: Sets who can view + this item.
      • +
      • Published: Sets whether the Menu + Item is published or not. By default, new Menu + Items are set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows + you to set customized styles for this page. The + suffix you type here is automatically added to the CSS classes + for this page.
      • +
      • Page Title : Show/Hide the page + title.
      • +
      • Page + Title: Text to display at the top + of the page. If left blank the Menu Name will + be used instead.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.content_archive_category.html 4.6-complete/uploadfiles/help/menus.content_archive_category.html --- 4.6rc2/uploadfiles/help/menus.content_archive_category.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.content_archive_category.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,182 @@ + + + +Menu Format - Blog Content Category Archive + + +Menu Item Format: Blog +- Content Category Archive + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Blog + - Content Category Archive Menu Item adds a link that lists in a "blog" format + the archived items in a particular Content Category within + a Section. The list of Archived Items can be accessed through + Content -> Archives Manager.

      + Details +
        +
      • Name : Enter the name of the Menu + Item as you want it to appear on the menu of your + site.
      • +
      • Category : Here you may select all, + one or multiple categories.
      • +
      • URL : (The URL for this item will appear + after Apply/Save.)
      • +
      • Parent Item : Select "Top" if + you want the Menu Item to appear at the same level as + your primary navigation. You can also put the Menu Item + under an existing Menu Item by selecting that existing + Menu Item as parent.
      • +
      • Ordering: By default, Mambo adds new + items to the end of the existing Menu Items list. After + saving or applying the new item, you can change its + order when editing, using a pull-down menu to select + the item after which the item will appear.
      • +
      • Access Level: Sets who can view this + item.
      • +
      • Published: Sets whether the Menu Item + is published or not. By default, new Menu Items are + set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows you to set customized + styles for this page. The suffix you type here is automatically + added to the CSS classes for this page, and will have to + be defined in your template's CSS stylesheet for usage.
      • +
      • Back Button: Controls whether to show or + hide a "Back" text link that would appear on the + bottom of the page and return the user to the previously + viewed page. The pull down lets select 'Use Global' to + use the parameter as defined globally through the Site->Global + Configuration, 'Hide' or 'Show'.
      • +
      • Page Title: Text to display at the top of + the page.
      • +
      • Page Title: Hides or shows the + Page Title text (defined in the field described above).
      • +
      • # Leading: Number of items to display as + leading (running the width of the display area on the page). + These items will display with the introductory text shown + as defined in a content item's Intro Text field.
      • +
      • # Intro: Number of items to display with + the introductory text shown (as defined in a Content Item's + Intro Text field) in the columns as defined hereafter (if + only one column is chosen, these items will display in the + same way as the #Leading Items).
      • +
      • Columns: Number of columns used to display + items whose introductory text is displayed.
      • +
      • # Links: Number of items to display as linked + titles, with no introductory text. These items will appear + under the leading items and items with the Intro Text showing.
      • +
      • Order by: This controls the order that + the items will be displayed in. The setting in the Category + Order field (described above) takes precedence. In this drop-down + menu, one of the following options can be selected:
      • +
          +
        • 'Default': Arranges items according to + the order set for the specific category in the + Content Items
        • +
        • 'Oldest first': Arranges items in chronological + order, with the oldest items first.
        • +
        • 'Most recent first': Arranges items in + chronological order, with the newest items first.
        • +
        • 'Title Alphabetical': Arranges items by + title in alphabetical order.
        • +
        • 'Title Reverse-Alphabetical': Arranges + items by title in reverse alphabetical order.
        • +
        • 'Author Alphabetical': Arranges items by + author in alphabetical order.
        • +
        • 'Author Reverse-Alphabetical': Arranges + items by author in reverse alphabetical order.
        • +
        • 'Most Hits': Arranges items according to + the number of hits, with the items with the most + hits first.
        • +
        • 'Least Hits': Arranges items according + to the number of hits, with the items with the + least hits first.
        • +
        • 'Ordering': Manual ordering.
        • +
        +
      • Pagination: Hides, shows or sets to 'auto' the + pagination of page items. The Pagination shows links to other + pages on the list of items (such as << Start < Prev + 1 2 Next > End >>).
      • +
      • Pagination Results: Hides or shows the Pagination + Results information (the number of items to be displayed + on the page, such as 'Results 1-6 of 6').
      • +
      • MOSImages: Hides or shows images displayed + by the tag. These images are defined within each Content + Item.
      • +
      • Section Name: Hides or shows the name of + the section to which each item belongs. If this option is + turned on, each item's section name will be shown under + the item's title on the home page.
      • +
      • Section Name Linkable: Enables you to make + each item's section name linkable. Applies only when + the Section Name option (described above) is set to 'Show.'
      • +
      • Item Title: Hides or shows the titles for + items on the page.
      • +
      +

      For each of the following nine items listed below, you can + use the option selected in the Global Configuration settings + (Site -> Global Configuration) by selecting 'Use Global' or + you can override the Global Configuration setting by selecting 'Show' or 'Hide.' Overriding + the settings here for items will not affect the Global Configuration + settings and will not affect the settings on the rest of + the site.Linked Titles: Enables you to make item titles linked. + The link will go to the item page.

      +
        +
      • Linked Titles: Enable the Content Items' + titles to be hyperlinks to the Content Item.
      • +
      • Read More: Hides or shows + the 'Read + more' link that appears after the introductory text + of Content Items. The link will go to the Content Item + in full.
      • +
      • Item Rating: Hides or shows ratings + given to home page items by your site's users.
      • +
      • Author Names: Hides or shows the names + of authors of items.
      • +
      • Created Date and Time: Hides or shows + the date and time the items were created.
      • +
      • Modified Date and Time: Hides or shows + the date and time the items were last modified.
      • +
      • PDF Icon: Hides or shows the icon and + link to the PDF version of the items.
      • +
      • Print Icon: Hides or shows the icon + and link to the printer-friendly format of the items.
      • +
      • Email Icon: Hides or shows the icon + and link to the page that enables users to email items + to others.
      • +
      +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.content_archive_section.html 4.6-complete/uploadfiles/help/menus.content_archive_section.html --- 4.6rc2/uploadfiles/help/menus.content_archive_section.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.content_archive_section.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,198 @@ + + + +Menu Format - Blog Content Section Archive + + +Menu Item Format: Blog +- Content Section Archive + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Blog - Content Section + Archive Menu Item adds a link that lists in a "blog" format + the archived items in a whole Content Section, as listed in the + Archive Manager (Content -> Archive Manager).

      + Details +
        +
      • Name : Enter the name of the Menu Item as + you want it to appear on the menu of your site.
      • +
      • Section : Here you may select all, one or + multiple sections.
      • +
      • URL : (The URL for this item will appear + after you Apply/Save.)
      • +
      • Parent Item : Select *Top* if you want the + Menu Item to appear at the same level as your primary navigation. + You can also put the menu item under an existing Menu Item + by selecting that existing menu item as parent.
      • +
      • Ordering: By default, Mambo adds new items + to the end of the Menu Items list. After saving or applying + the new item, you can change its order when editing, using + a pull-down menu to select the item after which the item + will appear.
      • +
      • Access Level: Sets who can view this item.
      • +
      • Published: Sets whether the Menu Item is + published or not. By default, new Menu Items are set to be + published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows you to set customized + styles for this page. The suffix you type here is automatically + added to the CSS classes for this page, and will have to + be defined in your template's CSS stylesheet for usage.
      • +
      • Back Button: Controls whether to show or + hide a "Back" text link that would appear on the + bottom of the page and return the user to the previously + viewed page. The pull down lets select 'Use Global' to + use the parameter as defined globally through the Site->Global + Configuration, 'Hide' or 'Show'.
      • +
      • Page Title: Text to display at the top of + the page.
      • +
      • Page Title: Hides or shows the Page Title + text (defined in the field described above).
      • +
      • # Leading: Number of items to display as + leading (running the width of the display area on the page). + These items will display with the introductory text shown + as defined in a content item's Intro Text field.
      • +
      • # Intro: Number of items to display with + the introductory text shown (as defined in a Content Item's + Intro Text field) in the columns as defined hereafter (if + only one column is chosen, these items will display in the + same way as the #Leading Items).
      • +
      • Columns: Number of columns used to display + items whose introductory text is displayed.
      • +
      • # Links: Number of items to display as linked + titles, with no introductory text. These items will appear + under the leading items and items with the Intro Text showing.
      • +
      • Category Order: If the page displays items + from several categories, the items can be grouped by category, + then by primary order (as specified in the Primary Order + field, described below). In this drop-down menu, one of the + following options can be selected: +
          +
        • 'No, order by primary ordering only': + Arranges items only by primary order (as specified + in the Primary Order field, described below), + regardless of category.
        • +
        • 'Title Alphabetical': Arranges items + first by category in alphabetical order, then + by the primary order (as specified in the + Primary Order field).
        • +
        • 'Title Reverse-Alphabetical': Arranges + items first by category in reverse alphabetical + order, then by the primary order (as specified + in the Primary Order field).
        • +
        • 'Ordering': Arranges items first by + category order as set in the Category Manager + (Content ->Category Manager), then by the + primary order (as specified in the Primary + Order field).
        • +
        +
      • +
      • Primary Order: This controls the order that + the items will be displayed in. The setting in the Category + Order field (described above) takes precedence. In this drop-down + menu, one of the following options can be selected:
      • +
          +
        • 'Default': Arranges items according to the order + set for the specific category in the Content Items
        • +
        • Manager [section: Name-of-section] (Content ->Content + by Section).
        • +
        • 'Oldest first': Arranges items in chronological + order, with the oldest items first.
        • +
        • 'Most recent first': Arranges items in chronological + order, with the newest items first.
        • +
        • 'Title Alphabetical': Arranges items by title + in alphabetical order.
        • +
        • 'Title Reverse-Alphabetical': Arranges items + by title in reverse alphabetical order.
        • +
        • 'Author Alphabetical': Arranges items by author + in alphabetical order.
        • +
        • 'Author Reverse-Alphabetical': Arranges items + by author in reverse alphabetical order.
        • +
        • 'Most Hits': Arranges items according to the + number of hits, with the items with the most hits first.
        • +
        • 'Least Hits': Arranges items according to the + number of hits, with the items with the least hits first.
        • +
        +
      • Pagination: Hides, shows or sets to 'auto' the + pagination of page items. The Pagination shows links to other + pages on the list of items (such as << Start < Prev + 1 2 Next > End >>).
      • +
      • Pagination Results: Hides or shows the Pagination + Results information (the number of items to be displayed + on the page, such as 'Results 1-6 of 6').
      • +
      • MOSImages: Hides or shows images displayed + by the tag. These images are defined within each Content + Item.
      • +
      • Category Name: Hides or shows the name of + the category to which each item belongs. If this option is + turned on, each item's category name will be shown under + the item's title on the home page.
      • +
      • Category Name Linkable: Enables you to make + each item's category name linkable. Applies only when + the Category Name option (described above) is set to 'Show.'
      • +
      • Item Title: Hides or shows the titles for + items on the page.
      • +
      +

      For each of the following nine items listed below, you can + use the option selected in the Global Configuration settings + (Site -> Global Configuration) by selecting 'Use Global' or + you can override the Global Configuration setting by selecting 'Show' or 'Hide.' Overriding + the settings here for items will not affect the Global Configuration + settings and will not affect the settings on the rest of + the site.Linked Titles: Enables you to make item titles linked. + The link will go to the item page.

      +
        +
      • Linked Titles: Enable the Content Items' + titles to be hyperlinks to the Content Item.
      • +
      • Read More: Hides or shows the 'Read + more' link that appears after the introductory text + of Content Items. The link will go to the Content Item + in full.
      • +
      • Item Rating: Hides or shows ratings + given to home page items by your site's users.
      • +
      • Author Names: Hides or shows the names + of authors of items.
      • +
      • Created Date and Time: Hides or shows + the date and time the items were created.
      • +
      • Modified Date and Time: Hides or shows + the date and time the items were last modified.
      • +
      • PDF Icon: Hides or shows the icon and + link to the PDF version of the items.
      • +
      • Print Icon: Hides or shows the icon + and link to the printer-friendly format of the items.
      • +
      • Email Icon: Hides or shows the icon + and link to the page that enables users to email items + to others
      • +
      +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.content_blog_category.html 4.6-complete/uploadfiles/help/menus.content_blog_category.html --- 4.6rc2/uploadfiles/help/menus.content_blog_category.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.content_blog_category.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,285 @@ + + + +Menu Format - Blog Content Category + + +Menu Item Format: Blog +- Content Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Blog - Content + Category Menu Item Format adds a link that lists + published items from one or multiple Content Categories in + a "blog" format. + The blog format displays articles as a series of short summaries + of items on your site.

      + Details +
        +
      • Name : Enter the name of + the Menu Item as you want it to appear on the menu of your + site.
      • +
      • Category : Here you may select + all, one or multiple categories.
      • +
      • URL : (The URL for this item + will appear + after Apply/Save.)
      • +
      • Parent Item : Select "Top" if + you want the Menu Item to appear at the same level as + your primary navigation. You can also put the Menu Item under + an existing Menu Item by selecting that existing Menu Item + as parent.
      • +
      • Ordering: By default, Mambo + adds new items to the end of the existing Menu Items list. + After saving or applying the new item, you can change its + order when editing, using a pull-down menu to select the + item after which the item will appear.
      • +
      • Access Level: Sets who can view + this item.
      • +
      • Published: Sets whether the + Menu Item is published or not. By default, new Menu Items + are set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows + you to set customized styles for this page. The suffix + you type here is automatically added to the CSS classes + for this page, and will have to be defined in your template's + CSS stylesheet for usage.
      • +
      • Back Button: Controls + whether to show or hide a "Back" text link + that would appear on the bottom of the page and return + the user to the previously viewed page. The pull down + lets select 'Use + Global' to use the parameter as defined globally + through the Site->Global Configuration, 'Hide' or 'Show'.
      • +
      • Page Title: Text to display + at the top of the page.
      • +
      • Page Title: Hides + or shows the Page Title text (defined + in the field described above).
      • +
      • # Leading: Number + of items to display as leading (running the width of + the display area on the page). These items will display with + the introductory text shown as defined in a content + item's + Intro Text field.
      • +
      • # Intro: Number + of items to display with the introductory text + shown (as defined in a Content Item's Intro + Text field) in the columns as defined hereafter + (if only one column is chosen, these items will + display in the same way as the #Leading Items).
      • +
      • Columns: Number of columns + used to display items whose introductory text is + displayed.
      • +
      • # Links: Number of items + to display as linked titles, + with no introductory text. These items will appear under + the leading items and items with the Intro Text showing.
      • +
      • Category Order: If the page + displays items from + several categories, the items can be grouped by category, + then by primary order (as specified in the Primary Order + field, described below). In this drop-down menu, one of the + following options can be selected: +
          +
        • + 'No, order by primary ordering only': + Arranges + items only by primary order (as specified + in the + Primary Order field, described below), + regardless of category. +
        • +
        • + 'Title Alphabetical': Arranges + items first by category in alphabetical + order, then by the primary order (as + specified in the Primary Order field). +
        • +
        • + 'Title Reverse-Alphabetical': + Arranges items first by category in reverse + alphabetical order, then by the primary + order (as specified in the Primary Order + field). +
        • +
        • + 'Ordering': Arranges items first + by category + order as set in the Category Manager + (Content ->Category Manager), then + by the primary order (as specified in + the Primary Order field). +
        • +
        +
      • +
      • Primary Order: This controls + the order that the + items will be displayed in. The setting in the Category Order + field (described above) takes precedence. In this drop-down + menu, one of the following options can be selected:
      • +
          +
        • + 'Default': Arranges + items according to the order + set for the specific category + in the Content Items +
        • +
        • + Manager [section: Name-of-section] + (Content ->Content by Section). +
        • +
        • + 'Oldest first': Arranges + items in chronological order, + with the oldest items first. +
        • +
        • + 'Most recent first': + Arranges items in chronological + order, with the newest items + first. +
        • +
        • + 'Title Alphabetical': + Arranges items by title in + alphabetical order.
        • +
        • 'Title Reverse-Alphabetical': Arranges + items by title in reverse alphabetical order.
        • +
        • + 'Author Alphabetical': + Arranges items by author in + alphabetical order. +
        • +
        • + 'Author Reverse-Alphabetical': + Arranges items by author in + reverse alphabetical order. +
        • +
        • + 'Most Hits': Arranges + items according to the number + of hits, with the items with + the most hits first. +
        • +
        • + 'Least Hits': Arranges + items according to the number + of hits, with the items with + the least hits first. +
        • +
        +
      • Pagination: Hides, + shows or sets to 'auto' the pagination + of page items. The Pagination shows links + to other pages on the list of items (such + as << Start < Prev 1 2 Next > End >>).
      • +
      • Pagination Results: Hides + or shows the + Pagination Results information (the number of items + to be displayed on the page, such as 'Results + 1-6 of 6').
      • +
      • MOSImages: Hides or shows + images + displayed by the tag. These images are defined within each + Content Item.
      • +
      • Description: Show/Hide the + Category description.
      • +
      • Description image: Show/Hide + the Category Description image.
      • +
      • Category Name: Hides + or shows the name of the category to which + each item belongs. If this option is turned on, each + item's category + name will be shown under the item's + title on the + home page.
      • +
      • Category Name Linkable: Enables + you to make + each item's category name linkable. + Applies only when the Category Name option (described + above) is set to 'Show.'
      • +
      • Item Title: Hides or shows + the titles for items on the page.
      • +
      +

      For each of the following nine items + listed below, you can use the option selected + in the Global Configuration settings (Site -> Global Configuration) + by selecting 'Use Global' or you can override + the Global Configuration setting by selecting 'Show' or 'Hide.' Overriding + the settings + here for items + will not affect + the Global Configuration + settings and + will not affect + the settings + on the rest + of the site.Linked + Titles: Enables + you to make + item titles + linked. The + link will go + to the item + page.

      +
        +
      • Linked Titles: Enable the Content Items' + titles to be hyperlinks to the Content Item.
      • +
      • Read More: Hides or shows + the 'Read more' link that appears after the + introductory text of Content Items. The link will go + to the Content Item in full.
      • +
      • Item Rating: Hides + or shows ratings given to home page items + by your site's + users.
      • +
      • Author Names: Hides or shows + the names of authors of items.
      • +
      • Created Date and Time: Hides + or shows the date and time the items were created.
      • +
      • Modified Date and Time: Hides + or shows the date and time the items were + last modified.
      • +
      • PDF Icon: Hides or shows + the icon and link to the PDF version of the items.
      • +
      • Print Icon: Hides or shows + the icon + and link to the printer-friendly format of the items.
      • +
      • Email Icon: Hides or shows + the icon + and link to the page that enables users to email items + to others.
      • +
      Toolbar Icons:
      • Back: Return to the previous page.
      • + +
      • Save: Save your changes.
      • + +
      • Apply: Apply your changes to the site without saving.
      • + +
      • Cancel: Cancel the present operation without saving.
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.content_blog_section.html 4.6-complete/uploadfiles/help/menus.content_blog_section.html --- 4.6rc2/uploadfiles/help/menus.content_blog_section.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.content_blog_section.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,235 @@ + + + +Menu Format - Blog Content Section + + +Menu Item Format: Blog +- Content Section + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Blog - Content + Section Menu Item adds a link that lists published + items in a whole Content Section.

      + Details +
        +
      • + Name : Enter the name of + the Menu Item as you want it to appear on + the menu of your site.
      • +
      • + Section : Here + you may select all, one or multiple + sections.
      • +
      • + URL : (The URL for this item + will appear after you Apply/Save.) +
      • +
      • + Parent + Item : Select + *Top* if you want + the Menu Item to + appear at the same + level as your primary + navigation. You can + also put the menu + item under an existing + Menu Item by selecting + that existing menu + item as parent.
      • +
      • Ordering: By + default, + Mambo adds new items to the + end + of the Menu Items list. After saving + or + applying the new item, you can change + its + order when editing, using a pull-down + menu + to select the item after which + the + item will appear.
      • +
      • Access + Level: Sets + + who can + + view this + item.
      • +
      • + Published: Sets + whether the Menu Item + is published or not. By default, + new Menu Items are set to be published. +
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows you to set customized + styles for this page. The suffix you type here is automatically + added to the CSS classes for this page, and will have to + be defined in your template's CSS stylesheet for usage.
      • +
      • Back Button: Controls whether to show or + hide a "Back" text link that would appear on the + bottom of the page and return the user to the previously + viewed page. The pull down lets select 'Use Global' to + use the parameter as defined globally through the Site->Global + Configuration, 'Hide' or 'Show'.
      • +
      • Page Title: Text to display at the top of + the page.
      • +
      • Page Title: Hides or shows the + Page Title text (defined in the field described above).
      • +
      • # Leading: Number of items to display as + leading (running the width of the display area on the page). + These items will display with the introductory text shown + as defined in a content item's Intro Text field.
      • +
      • # Intro: Number of items to display with + the introductory text shown (as defined in a Content Item's + Intro Text field) in the columns as defined hereafter (if + only one column is chosen, these items will display in the + same way as the #Leading Items).
      • +
      • Columns: Number of columns used to display + items whose introductory text is displayed.
      • +
      • # Links: Number of items to display as linked + titles, with no introductory text. These items will appear + under the leading items and items with the Intro Text showing.
      • +
      • Category Order: If the page displays items + from several categories, the items can be grouped by category, + then by primary order (as specified in the Primary Order + field, described below). In this drop-down menu, one of the + following options can be selected: +
          +
        • 'No, order by primary ordering only': + Arranges items only by primary order (as specified + in the Primary Order field, described below), + regardless of category.
        • +
        • 'Title Alphabetical': Arranges items + first by category in alphabetical order, then + by the primary order (as specified in the + Primary Order field).
        • +
        • 'Title Reverse-Alphabetical': Arranges + items first by category in reverse alphabetical + order, then by the primary order (as specified + in the Primary Order field).
        • +
        • 'Ordering': Arranges items first by + category order as set in the Category Manager + (Content ->Category Manager), then by the + primary order (as specified in the Primary + Order field).
        • +
        +
      • +
      • Primary Order: This controls the order that + the items will be displayed in. The setting in the Category + Order field (described above) takes precedence. In this drop-down + menu, one of the following options can be selected:
      • +
          +
        • 'Default': Arranges items according to the order + set for the specific category in the Content Items
        • +
        • Manager [section: Name-of-section] (Content ->Content + by Section).
        • +
        • 'Oldest first': Arranges items in chronological + order, with the oldest items first.
        • +
        • 'Most recent first': Arranges items in chronological + order, with the newest items first.
        • +
        • 'Title Alphabetical': Arranges items by title + in alphabetical order.
        • +
        • 'Title Reverse-Alphabetical': Arranges items + by title in reverse alphabetical order.
        • +
        • 'Author Alphabetical': Arranges items by author + in alphabetical order.
        • +
        • 'Author Reverse-Alphabetical': Arranges items + by author in reverse alphabetical order.
        • +
        • 'Most Hits': Arranges items according to the + number of hits, with the items with the most hits first.
        • +
        • 'Least Hits': Arranges items according to the + number of hits, with the items with the least hits first.
        • +
        +
      • Pagination: Hides, shows or sets to 'auto' the + pagination of page items. The Pagination shows links to other + pages on the list of items (such as << Start < Prev + 1 2 Next > End >>).
      • +
      • Pagination Results: Hides or shows the Pagination + Results information (the number of items to be displayed + on the page, such as 'Results 1-6 of 6').
      • +
      • MOSImages: Hides or shows images displayed + by the tag. These images are defined within each Content + Item.
      • +
      • Description: Show/Hide the Category description.
      • +
      • Description image: Show/Hide the Category + Description image.
      • +
      • Category Name: Hides or shows the name of + the category to which each item belongs. If this option is + turned on, each item's category name will be shown under + the item's title on the home page.
      • +
      • Category Name Linkable: Enables you to make + each item's category name linkable. Applies only when + the Category Name option (described above) is set to 'Show.'
      • +
      • Item Title: Hides or shows the titles for + items on the page.
      • +
      +

      For each of the following nine items listed below, you can + use the option selected in the Global Configuration settings + (Site -> Global Configuration) by selecting 'Use Global' or + you can override the Global Configuration setting by selecting 'Show' or 'Hide.' Overriding + the settings here for items will not affect the Global Configuration + settings and will not affect the settings on the rest of + the site.Linked Titles: Enables you to make item titles linked. + The link will go to the item page.

      +
        +
      • Linked Titles: Enable the Content Items' + titles to be hyperlinks to the Content Item.
      • +
      • Read More: Hides or shows the 'Read + more' link that appears after the introductory text + of Content Items. The link will go to the Content Item + in full.
      • +
      • Item Rating: Hides or shows ratings + given to home page items by your site's users.
      • +
      • Author Names: Hides or shows the names + of authors of items.
      • +
      • Created Date and Time: Hides or shows + the date and time the items were created.
      • +
      • Modified Date and Time: Hides or shows + the date and time the items were last modified.
      • +
      • PDF Icon: Hides or shows the icon and + link to the PDF version of the items.
      • +
      • Print Icon: Hides or shows the icon + and link to the printer-friendly format of the items.
      • +
      • Email Icon: Hides or shows the icon + and link to the page that enables users to email items + to others.
      • +
      +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.content_category.html 4.6-complete/uploadfiles/help/menus.content_category.html --- 4.6rc2/uploadfiles/help/menus.content_category.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.content_category.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,179 @@ + + + +Menu Format - Table Content Category + + +Menu Item Format: Table +- Content Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Table - Content + Category Menu Item adds a link to a Content Category, + displaying the category as a table that lists all published + Content Items in this category as clickable titles.

      + Details +
        +
      • Name : Enter the name of the Menu + Item as you want it to appear on the menu of your site. + If you leave this blank, the Category name will automatically + be used.
      • +
      • Category + : Select one published Category.
      • +
      • URL : (The URL for this item will appear + after Apply/Save.)
      • +
      • Parent Item : Select *Top* + if you want the Menu Item to appear at the same level + as your primary navigation. You can also put the Menu Item + under an existing Menu Item by selecting that existing menu + item as parent.
      • +
      • Ordering: By default, Mambo adds + new items to the end of the Menu Items list. After saving + or applying the new item, you can change its order when + editing, using a pull-down menu to select the item after + which the item will appear.
      • +
      • Access Level: Sets who + can view this item
      • +
      • Published: Sets whether + the Menu Item is published or not. By default, new menu + items are set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows + you to set an image to appear to the left or right of the + Item on themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Title: Show/Hide + the page(s) title.
      • +
      • Page Class Suffix: Allows + you to set customized styles for this page. + The suffix you type here is automatically + added to the CSS classes for this page, and + will have to be defined in your template's + CSS stylesheet for usage.
      • +
      • Back Button: Show or hide a "Back" button on + the bottom of the page to allow the user to return to the + previously viewed page.
      • +
      • Order + by: Controls the order that + the Content Items will be displayed on + the category page. In this drop-down + menu, one of the following options can + be selected: +
          +
        • Default: Arranges items according to the order shown + in the Content + Items Manager (Content -> All + Content Items)
        • +
        • Title Alphabetical: Arranges items in alphabetical + order
        • +
        • Title Reverse-Alphabetical: Arranges items in reverse + alphabetical order
        • +
        • Ordering: Arranges items according to the order + set in the Content + Items Manager (Content -> All + Content Items)
        • +
        +
      • +
      • Date Format: Set the format for the + dates of items to be displayed in the category + table. (See the Administration Manual for detailed information).
      • +
      • Date + Column: Show/Hide the date column on the + category table. You can use the option set in the + Global Configuration page (Site -> Global Configuration) by setting this + option to *Use Global*, or you can override the Global + Configuration setting (for the category table page only) + by setting this option to "Show" or "Hide".
      • +
      • Author + Column: Show/Hide the author column on + the category table. You can use the option set + in the Global Configuration page (Site -> Global Configuration) + by setting this option to "Use Global", or + you can override the Global Configuration setting (for + the category table page only) by setting this option + to "Show" or "Hide".
      • +
      • Hits + Column: Show/Hide the Hits column on the + category page that shows the number of hits for + each item. You can use the option set in the Global + Configuration page (Site -> Global Configuration) + by setting this option to *Use Global* or you can + override the Global Configuration setting (for + the category pages only).
      • +
      • Table Headings: + Show/Hide the headings (*Date,* *Item Title,* + *Author,* and *Hits*) on the category page.
      • +
      • Navigation + Bar: Show/Hide the Navigation bar on the + category page. The Navigation bar shows links to + other pages,  such + as, << Start < Prev 1 2 Next > End >>.
      • +
      • Order + Select: Show/Hide the Order Select dropdown + on the category page. The Order Select dropdown + provides several options for your site's users + to change the order in which the items are displayed + on the category page. + Changes that users make in the Order Select don't + affect the display for other users.
      • +
      • Display Select: + Show/Hide the Display Number dropdown (detailed + below) on the category page.
      • +
      • Display Number: Sets + the default number of items to be displayed + in the Display Number dropdown on the category page. The + Display Number dropdown controls the number of items that + users see at one time on the category page.
      • +
      • Filter: Show/Hide + the Filter text box on the category page.
      • +
      • Filter + Field: Controls which field the filter + applies to. Options are *Author* *Title* + and *Hits* (number of hits that + the item has had).
      • +
      • Other Categories: Show/Hide + other categories when viewing a specific content + category. When set to show, the displayed category titles + will act as clickable links.
      • +
      • Empty categories : Show/Hide + empty categories (categories containing no Content + Items).
      • +
      • # Category Items : Show/Hide the number of + items for each category displayed.
      • +
      • Category + Description: Show/Hide the descriptions + of other content categories. These category descriptions + appear under the category name in the list of categories, + which appears under the table of  content + items details.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.content_item_link.html 4.6-complete/uploadfiles/help/menus.content_item_link.html --- 4.6rc2/uploadfiles/help/menus.content_item_link.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.content_item_link.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,84 @@ + + + +Menu Format - Link Content Item + + +Menu Item Format: Link +- Content Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Link - Content + Item Menu Item creates a link to a published + Content Item in full view.

      + Details +
        +
      • Name: Enter the name of the Menu Item as you want it to appear on the menu of your + site.
      • +
      • Content to Link: Select + a Content Item.
      • +
      • URL: (The URL for this item will + show after Apply/Save.)
      • +
      • On Click, Open in:
          +
        • 'Parent Window + With Browser Navigation' is the same window + you call the link from,
        • +
        • 'New Window with Browser + Navigation' is a full featured new window,
        • +
        • 'New + Window Without Browser Navigation' is + a new pop-up window with just scroll bars + which may be resized.
        • +
        +
      • +
      • Parent Item: Select 'Top' if + you want the Menu Item to appear at the same level + as your primary navigation. You can also put the + Menu Item under an existing Menu Item by selecting + that existing Menu Item as parent.
      • +
      • Ordering: By default, Mambo adds + new items to the end of the Menu Items list. After + saving or applying the new item, you can change + its order when editing, using a pull-down menu + to select the item after which the item will appear.
      • +
      • Access Level: Sets who can view + this item.
      • +
      • Published: Sets whether the Menu + Item is published or not. By default, new Menu + Items are set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows + you to set an image to appear to the left + or right of the Item on themenu. The image must + be placed in the /images/stories directory. Note: + The 'Show + Menu Items' option located in the parameters at + Modules -> Site Modules -> [name-of-menu] must + be set to 'Yes'.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.content_section.html 4.6-complete/uploadfiles/help/menus.content_section.html --- 4.6rc2/uploadfiles/help/menus.content_section.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.content_section.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,172 @@ + + + +Menu Format - Table Content Section + + +Menu Item Format: Table - +Content Section + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Table - + Content Section Menu Item adds a link that + will display a list of the categories in the selected section. + The number of Content Items in the Category can be displayed + beside the Category name. Selecting the link to the Category + will present a tabular list of Content Items in a particular + Section Category.

      + Details +
        +
      • Name : Enter the name of the + Menu Item as you want it to appear on the menu + of your site. If you leave this blank, the Category + name will automatically be used.
      • +
      • Section: Select a + specific section.
      • +
      • URL : (The URL for this item will appear + after Apply/Save.)
      • +
      • Parent Item : Select *Top* if you + want the Menu Item to appear at the same level + as your primary navigation. You can also put the + Menu Item under an existing Menu Item by selecting + that existing menu item as parent.
      • +
      • Ordering: By default, Mambo adds + new items to the end of the Menu Items list. After + saving or applying the new item, you can change + its order when editing, using a pull-down menu + to select the item after which the item will appear.
      • +
      • Access Level: Sets who can view + this item
      • +
      • Published: Sets whether the Menu + Item is published or not. By default, new menu + items are set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you + to set an image to appear to the left or right of the Item + on themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Section Title: Show/Hide the section title.
      • +
      • Page Class Suffix: Allows you to set customized + styles for this page. The suffix you type here is automatically + added to the CSS classes for this page, and will have to + be defined in your template's CSS stylesheet for usage.
      • +
      • Back Button: Show or hide a "Back" button + on the bottom of the page to allow the user to return to + the previously viewed page.
      • +
      • Order by: Controls the order that the Content + Items will be displayed on the category page. In this drop-down + menu, one of the following options can be selected: +
          +
        • Default: + Arranges items according + to the order shown in + the Content Items Manager + (Content -> All Content + Items)
        • +
        • Title Alphabetical: + Arranges items in alphabetical + order
        • +
        • Title Reverse-Alphabetical: + Arranges items in reverse + alphabetical order
        • +
        • Ordering: + Arranges items according + to the order set in the + Content Items Manager + (Content -> All Content + Items)
        • +
        +
      • +
      • Category List - Section: Show/Hide the list + of categories in List View page.
      • +
      • Description: Show/Hide the descriptions for + each category. The descriptions appear under the category + name.
      • +
      • Description Image: Show/Hide the images contained + in category descriptions.
      • +
      • Category List - Category: Show/Hide the list + of categories in Table view page.
      • +
      • Empty Categories: Show/Hide the categories + with no items published.
      • +
      • # Category Items: Show/Hide the number of + items in each category.
      • +
      • Category Description: Hides or shows the + description of each category. The category descriptions are + defined on the category pages, which are accessible in the + Category Manager (Content -> Category Manager).
      • +
      • Date Format: Set + the format for the dates of items to be displayed in + the category table. (See the Administration Manual for detailed + information).
      • +
      • Date Column: Show/Hide the date column on + the category table. You can use the option set in the Global + Configuration page (Site -> Global Configuration) by setting + this option to *Use Global*, or you can override the Global + Configuration setting (for the category table page only) + by setting this option to "Show" or "Hide".
      • +
      • Author Column: Show/Hide the author column + on the category table. You can use the option set in the + Global Configuration page (Site -> Global Configuration) + by setting this option to "Use Global", or you + can override the Global Configuration setting (for the category + table page only) by setting this option to "Show" or "Hide".
      • +
      • Hits Column: Show/Hide the Hits column on + the category page that shows the number of hits for each + item. You can use the option set in the Global Configuration + page (Site -> Global Configuration) by setting this option + to *Use Global* or you can override the Global Configuration + setting (for the category pages only).
      • +
      • Table Headings: Show/Hide the headings (*Date,* + *Item Title,* *Author,* and *Hits*) on the category page.
      • +
      • Navigation Bar: Show/Hide the Navigation + bar on the category page. The Navigation bar shows links + to other pages,  such as, << Start < Prev 1 + 2 Next > End >>.
      • +
      • Order Select: Show/Hide the Order Select + dropdown on the category page. The Order Select dropdown + provides several options for your site's users to change + the order in which the items are displayed on the category + page. Changes that users make in the Order Select don't + affect the display for other users.
      • +
      • Display Select: Show/Hide the Display Number + dropdown (detailed below) on the category page.
      • +
      • Display Number: Sets the default number of + items to be displayed in the Display Number dropdown on the + category page. The Display Number dropdown controls the number + of items that users see at one time on the category page.
      • +
      • Filter: Show/Hide the Filter text box on + the category page.
      • +
      • Filter Field: Controls which field the filter + applies to. Options are *Author* *Title* and *Hits* (number + of hits that the item has had).
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.content_typed.html 4.6-complete/uploadfiles/help/menus.content_typed.html --- 4.6rc2/uploadfiles/help/menus.content_typed.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.content_typed.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,89 @@ + + + +Menu Format - Link Static Content + + +Menu Item Format: Link +- Static Content + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Link - Static + Content Menu Item adds a link to a Static Content + Item (this type of content is not part of a section + or category). Static Content Items are very useful but they + cannot be added to a blog, category or section page.

      + Details +
        +
      • Name: Eter + the name of the Menu Item as you want it to appear + on the menu of your site.
      • +
      • Static Content: Select one specific + Static Content Item.
      • +
      • URL: ((The URL for this item will show after Apply/Save.))
      • +
      • On Click, Open in: +
          +
        • 'Parent Window With Browser Navigation' is + the same window you call the link from,
        • +
        • 'New Window with Browser Navigation' is + a full featured new window,
        • +
        • 'New Window Without Browser Navigation' is + a new pop-up window with just scroll + bars which may be resized.
        • +
        +
      • +
      • Parent + Item: Select *Top* if you want + the Menu Item to appear at the same level + as your primary navigation. You can also + put the Menu Item under an existing menu + item by selecting that existing menu + item as parent.
      • +
      • Ordering: By + default, Mambo adds new items to the + end of the Menu Items list. After saving or applying + the new item, you can change its order + when editing, using a pull-down menu to select + the item after which the item will appear.
      • +
      • Access + Level: Sets who can view this + item.
      • +
      • Published: Sets + whether the Menu Item is published + or not. By default, new Menu Items are set + to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.copy.html 4.6-complete/uploadfiles/help/menus.copy.html --- 4.6rc2/uploadfiles/help/menus.copy.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.copy.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,49 @@ + + + +Menu - Copy Items + + +Menus: Copy Menu +Items + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page + lets you copy one or more  Menu Items + to another existing Menu.  If you choose to copy a Parent + Menu Item,  its sub-level menus will be copied too, + keeping their Parent-child relationship. Check the Menu Item + that you want to copy and + click on the copy icon. A new screen appears, in which + you can choose the target Menu.

      + Displayed +
        +
      • Copy to Menu: This list displays all your + existing Menus the way they look through the Menu Manager. + You may choose to which of them the Menu Item(s) + will be copied.
      • +
      • Menu Items being copied: This shows a list of the Menu Items + being copied.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Copy: Click this icon to copy the Menu Items.
      • +
      • Cancel: Click + this icon to abort the copying process.
      • +
      \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.edit.html 4.6-complete/uploadfiles/help/menus.edit.html --- 4.6rc2/uploadfiles/help/menus.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,53 @@ + + + +Menu - Edit Items + + +Menus: Edit Menu +Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      By clicking on a menu + item, you have access to the Edit Menu Item screen + where you can edit his details and parameters. Every Menu + Item has different parameters. Some of them though are common + at all. This screen is divided into 2 main parts : Details and + Parameters. These vary in function, depending from the type + of Menu Item chosen. Some Details can also be edited through + the list in the Menu Manager. Some parameters may appear only + after clicking on the Apply or Save icon.

      Usage:n/a
      Default State: n/a
      Parameters:These vary in function, depending from the type of Menu Item + chosen. Some parameters may appear only + after clicking on the Apply or Save icon.
      Toolbar Icons:
        +
      • Save : Click on this + icon to save the parameters chosen and return to + the Menu Manager.
      • +
      • Apply : Click on + this icon to save the parameters chosen AND keep the + same screen open for editing.
      • +
      • Close + : Click on this icon to cancel any action in + this screen.  You + will return to the previous screen.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.main.html 4.6-complete/uploadfiles/help/menus.main.html --- 4.6rc2/uploadfiles/help/menus.main.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.main.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,106 @@ + + + +Menu Manager - Individual Menus + + +Menu Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      "Menus" in Mambo + are groups of navigational links to sections, categories, + Content Items, components or external pages. These links + are called 'Menu Items'.Each menu must have an identification + name which is only used internally by Mambo. A menu only + becomes visible on a site if it has a published mod_mainmenu + module which references it. A menu may have multiple + mod_mainmmenu modules referencing it.

      Display + Headings +
        +
      • Menu Name: + Click on the name to edit it. This name may be + the one that is given to the menu by default or + the name you gave to that menu.
      • +
      • Menu + Items: Click on the Edit + icon in this column to add or edit + Menu Items associated with a menu. + Or alternatively go to "Menu->the-menu-you-choose-to-edit". + A "Menu Manager [the-menu-you-choose-to-edit]" window + will appear with a list of + all Menu Items associated to this + Menu.
      • +
      • #Published: + This is the number of Menu Items published.
      • +
      • #Unpublished: + This is the number of Menu Items unpublished.
      • +
      • #Trash: This + is the number of Menu Items in the Trash Manager.
      • +
      • #Modules: This + is the number of + menu modules associated to the Menu Name.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • New: Click this icon + to create a new Menu. You will access the "Menu Details" window.  Type + a Menu Name. This is the identification name used by Mambo + to identify this menu within the code.  It must be unique.  It + is recommended to use no spaces within this name. For + example, in the core Mambo the User Menus Menu Name + is usermenu and the Main Menus Menu Name is mainmenu.  Next: Type + the Module Title. This is the name given to the new + mod_mainmenu module which is automatically created when + you save this menu. It is also the Name of the menu + as it will appear on the page if you choose to publish + it. This may be changed in the future when editing the + module.  In the example + described above, these are User Menu and Main Menu. + Click on the Save icon. Your new menu appears in the + Menu Manager list.
      • +
      • Edit:  Click the radio button next to + the Menu Name you want to edit.  Then, click on the "Edit" icon + which will take you to the Editing page.
      • +
      • Copy: Click + the radio button next to the Menu Name you want to copy. + Then, click the Copy icon in the toolbar. This will + duplicate the menu. You may copy any of your menus. + Copying will create a new Menu Name, containing the + same Menu Items as the menu copied, associated to a + new Menu Module. A Copy Page will display, with the + same choices as in Create New Menu. It will also state + the name of the Menu being copied and a list of the + Menu Items associated to the menu being copied. Fill + in the fields as in the "Create New Menu" screen.
      • +
      • Delete: Click the radio button next to the + Menu Name you want to delete. Then, click the Delete + icon in the toolbar. This will delete the Menu. A "Delete + Menu : Name-of-the-menu" screen will display. It shows + the Module(s) to be deleted (the mod_mainmenu modules associated + to this Menu) and the Menu Items to be deleted. Click the + Delete Icon surrounded by a dotted line. This will delete + this Menu, ALL its Menu Items and ALL the Modules associated + with it. A Javascript alert popup box gives you the choice + to "OK" or to "Cancel" this action. + NOTE: Deleted Menus cannot be recovered from the Trash + Manager!
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.move.html 4.6-complete/uploadfiles/help/menus.move.html --- 4.6rc2/uploadfiles/help/menus.move.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.move.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,48 @@ + + + +Menu - Move Items + + +Menus: Move Menu +Items + + + + + + + + + + + + + + + + + + + + +
      Purpose:This page + lets you move one or more Menu Items to + another existing Menu. If you choose to move a Parent Menu + Item,  its sub-level menus will be moved too, keeping + their Parent-child relationship.  +

      Check the Menu Item that you want to move and + click on the Move icon. A new screen appears, + in which you can choose the target Menu.Move to Menu: This + list displays all your existing Menus the way they + look through the Menu Manager. You may choose to which + of them the Menu Item(s) will be moved.Menu Items + being moved: This shows a list of the Menu Items being moved.

      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Move: Click this icon to move the + Menu Items.
      • +
      • Cancel: Click this icon to abort + the moving process.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.new.html 4.6-complete/uploadfiles/help/menus.new.html --- 4.6rc2/uploadfiles/help/menus.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,49 @@ + + + +Menu - New Item + + +Menus: New Menu +Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Create a new Menu Item + to add a link to your site navigation. During the proces + of creating the Menu Item you will have to choose the Menu + Item Format, designate the content or component or URL that + the Item will display, name the Item and select from the + various parameters vailable for the Item. The first step + -- selecting a Menu Item Type is shown on this page. The + choice you make here will determine much about the formatting + and display of the Item. After you select the Format and + click the Next icon, you will have a chance to learn mroe + by clicking the Help icon. If you wish to change the Format, + you will have the option to return to this page.

      +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Next:  After selecting the + radio button for the format of Menu Item you wish to + create, click the Next icon in the Toolbar.
      • +
      • Cancel: Click + on the "Cancel" Icon to quit without saving + the changes.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.newsfeed_category_table.html 4.6-complete/uploadfiles/help/menus.newsfeed_category_table.html --- 4.6rc2/uploadfiles/help/menus.newsfeed_category_table.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.newsfeed_category_table.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,109 @@ + + + +Menu Format - Table Newsfeed Category + + +Menu Item Format: Table +- Newsfeed Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Table - Newsfeed + Category Menu Item adds a link to a category + of Newsfeeds. The category is displayed as a table listing + all published Newsfeeds' in the category with clickable titles.

      + Details +
        +
      • Name : Enter the name of the Menu Item + as you want it to appear on the menu of your site. If you + leave this blank, the Category name will automatically be + used.
      • +
      • Category : Select one published Category.
      • +
      • URL : (The URL for this item will appear + after Apply/Save.)
      • +
      • Parent Item : Select *Top* if you want the + Menu Item to appear at the same level as your primary navigation. + You can also put the Menu Item under an existing Menu Item + by selecting that existing menu item as parent.
      • +
      • Ordering: By default, Mambo adds new items + to the end of the Menu Items list. After saving or applying + the new item, you can change its order when editing, using + a pull-down menu to select the item after which the item + will appear.
      • +
      • Access Level: Sets who can view this item
      • +
      • Published: Sets whether the Menu Item is + published or not. By default, new menu items are set to be + published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to set an image that + would appear to the left or right of the Menu Item. The image + must be placed in the /images/stories directory. Furthermore, + for the image to show, in Modules -> Site Modules -> [name-of-menu], + the 'Show Menu Items' option in the parameters must + be set to 'Yes'.
      • +
      • Page Class Suffix: Allows + you to set customized styles for this page. The suffix + you type here is automatically added to the CSS classes for + this page, and will have to be defined in your template's + CSS stylesheet for usage.
      • +
      • Back Button: Controls + whether to show or hide a "Back" text link that + would appear on the bottom of the page and return the user + to the previously viewed page. The pull down lets select 'Use + Global' to use the parameter as defined globally through + the Site->Global Configuration, 'Hide' or 'Show'.
      • +
      • Page + Title : Show/Hide the page title.
      • +
      • Page Title: Text + to display at the top of the page. If left blank, + the menu name will display instead.
      • +
      • Table Headings: Show/Hide + the Table headings ('Name' , 'Articles', 'Link')
      • +
      • Name + Column : Show/Hide the column displaying the + Feed name of the Newsfeed.
      • +
      • Articles Column : Show/Hide + the column displaying the # of Articles column.
      • +
      • Link + Column : Show/Hide the column displaying the + Feed Link of the Newsfeed.
      • +
      • Other Categories: Show/Hide + other published Newsfeed categories when viewing a specific + Newsfeed category. When set to show, the category is + clickable.
      • +
      • Category + Description: Show/Hide the descriptions of + other published Newsfeed categories set to Show above. + These category descriptions appear under the category + name in the list of categories, which appears under + the table of  Newsfeeds + items details.
      • +
      • # Category Items : Show/Hide + the number of items for each category displayed.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.newsfeed_link.html 4.6-complete/uploadfiles/help/menus.newsfeed_link.html --- 4.6rc2/uploadfiles/help/menus.newsfeed_link.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.newsfeed_link.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,108 @@ + + + +Menu Format - Link Newsfeed + + +Menu Item Format: Link +- Newsfeed + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Link - Newsfeeds Menu + Item adds a link to an existing newsfeed. Newsfeeds are obtained + from any site syndicating news using an RSS format. Mambo is shipping + with an integrated newsfeed reader. Newsfeeds may also be displayed + on your site through the creation of a custom module accessed + in the Module Manager [site] (Modules -> Site Modules -> New).

      + Details +
        +
      • Name: Enter the name of the Menu Item as + you want it to appear on the menu of your site.
      • +
      • Newsfeed to Link: Select one + specific Newsfeed.
      • +
      • URL: (The URL for this item will show after + Apply/Save.)
      • +
      • On Click, Open in: +
          +
        • 'Parent Window With Browser Navigation' is + the same window you call the link from,
        • +
        • 'New Window with Browser Navigation' is + a full featured new window,
        • +
        • 'New Window Without Browser Navigation' is + a new pop-up window with just scroll bars + which may be resized.
        • +
        +
      • +
      • Parent Item: Select 'Top' if you + want the Menu Item to appear at the same level as your primary + navigation. You can also put the Menu Item under an existing + Menu Item by selecting that existing Menu Item as parent.
      • +
      • Ordering: By default, Mambo adds new items + to the end of the Menu Items list. After saving or applying + the new item, you can change its order when editing, using + a pull-down menu to select the item after which the item + will appear.
      • +
      • Access Level: Sets who can view this item.
      • +
      • Published: Sets whether the Menu Item is + published or not. By default, new Menu Items are set to be + published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows + you to set customized styles for this page. The suffix + you type here is automatically added to the CSS classes for + this page, and will have to be defined in your template's + CSS stylesheet for usage.
      • +
      • Back Button: Show or hide a "Back" button at + the bottom of the page to allow the user to return to the + previously viewed page.
      • +
      • Page + Title: Text to display at the top of the page.
      • +
      • Page + Title: Show/Hide the page title.
      • +
      • Feed Image: Show/Hide + the image of the feed, as defined by the syndicating + site.
      • +
      • Feed + Description: Show/Hide the description text + of the feed, as defined by the syndicating site.
      • +
      • Item Description: Show/Hide + the description or intro text of an item. If 'Hide' selected, the + Title of the Item will be displayed.
      • +
      • Word Count: Allows + you to limit the amount of visible item description + text. 0 will show all text. The amount shown also depends + on the parameters defined by the syndicated site.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.separator.html 4.6-complete/uploadfiles/help/menus.separator.html --- 4.6rc2/uploadfiles/help/menus.separator.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.separator.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,72 @@ + + + +Menu Format - Separator, Placeholder + + +Menu Item Format: Separator +/ Placeholder + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Separator / Placeholder Menu + item adds a plain-text Separator or Placeholder to the menu.When + used as a Placeholder, it serves as a Parent Menu Item for Children + Menu Items placed down in the hierarchy thus defined.

      + Details +
        +
      • Pattern/Name: Type + here the pattern you want to display when the Menu Item + is used as a Separator, or type the name of the Menu + item as it will appear on the site menu if you want + to use it as a Placeholder Menu Item .
      • +
      • Parent + Item: Select 'Top' if you want the + Menu Item to appear at the same level as your primary + navigation. You can also put the Menu Item under an + existing Menu Item by selecting that existing Menu Item + as parent.
      • +
      • Ordering: By default, Mambo + adds new items to the end of the Menu Items list. After + saving or applying the new item, you can change its + order when editing, using a pull-down menu to select + the item after which the item will appear.
      • +
      • Access + Level: Sets who can view this item.
      • +
      • Published: Sets + whether the Menu Item is published or not. By default, + new Menu Items are set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu + Image:Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.url.html 4.6-complete/uploadfiles/help/menus.url.html --- 4.6rc2/uploadfiles/help/menus.url.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.url.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,85 @@ + + + +Menu Format - Link URL + + +Menu Item Format: Link +- Url + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Link - Url Menu + Item adds a link to a Web page. It can be either another page + within your site or a web page on another web site.The default 'usermenu' is + mostly based on this type of link. See the administrator manual + for details.

      + Details +
        +
      • Name: Enter the name of the Menu Item + as you want it to appear on the menu of your site.
      • +
      • Link: Type or paste here the URL desired + (full URL including "http://" for + external weblinks!).
      • +
      • URL: (The URL for this item will show + after Apply/Save.)
      • +
      • On Click, Open in: +
          +
        • 'Parent Window With Browser Navigation' is + the same window you call the link from,
        • +
        • 'New Window with Browser Navigation' is + a full featured new window,
        • +
        • 'New Window Without Browser Navigation' is + a new pop-up window with just scroll + bars which may be resized.
        • +
        +
      • +
      • Parent Item: Select 'Top' if + you want the Menu Item to appear at the same level as + your primary navigation. You can also put the Menu Item + under an existing Menu Item by selecting that existing + Menu Item as parent.
      • +
      • Ordering: By default, Mambo adds new + items to the end of the Menu Items list. After saving + or applying the new item, you can change its order when + editing, using a pull-down menu to select the item after + which the item will appear.
      • +
      • Access Level: Sets who can view this + item.
      • +
      • Published: Sets whether the Menu Item + is published or not. By default, new Menu Items are + set to be published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.weblink_category_table.html 4.6-complete/uploadfiles/help/menus.weblink_category_table.html --- 4.6rc2/uploadfiles/help/menus.weblink_category_table.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.weblink_category_table.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,89 @@ + + + +Menu Format - Table Web Link Category + + + +Menu Item Format: Table +- Web Link Category + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Table - Web + Link Category Menu Item adds a link to a category + of Web links.

      + Details +
        +
      • Name : Enter the name of the Menu Item + as you want it to appear on the menu of your site. If you + leave this blank, the Category name will automatically be + used.
      • +
      • Category : Select one published Category.
      • +
      • URL : (The URL for this item will appear + after Apply/Save.)
      • +
      • Parent Item : Select *Top* if you want the + Menu Item to appear at the same level as your primary navigation. + You can also put the Menu Item under an existing Menu Item + by selecting that existing menu item as parent.
      • +
      • Ordering: By default, Mambo adds new items + to the end of the Menu Items list. After saving or applying + the new item, you can change its order when editing, using + a pull-down menu to select the item after which the item + will appear.
      • +
      • Access Level: Sets who can view this item
      • +
      • Published: Sets whether the Menu Item is + published or not. By default, new menu items are set to be + published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows you to set customized + styles for this page. The suffix you type here is automatically + added to the CSS classes for this page, and will have to + be defined in your template's CSS stylesheet for usage.
      • +
      • Back Button: Show or hide a "Back" button + on the bottom of the page to allow the user to return to + the previously viewed page.
      • +
      • Page Title: Show/Hide the page(s) title.
      • +
      • Page Title: Text to display at the top of + the page. If left blank, the menu name will display instead.
      • +
      • Table + Headings: Show/Hide the Table headings ('Hits' , 'Link + Descriptions')
      • +
      • Hits : Show/Hide the number of hits the Weblinks + items have received.
      • +
      • Link + Descriptions : Show/Hide the links descriptions.
      • +
      • Other + Categories : Show/Hide other Weblinks Categories.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/menus.wrapper.html 4.6-complete/uploadfiles/help/menus.wrapper.html --- 4.6rc2/uploadfiles/help/menus.wrapper.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/menus.wrapper.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,117 @@ + + + +Menu Format - Wrapper + + +Menu Item Format: Wrapper + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Wrapper Menu + Item creates a page that wraps an external Web page into + your site. The external Web page is inserted as an 'inline frame' (also + called an Iframe) into your template.

      + Details +
        +
      • Name :Enter the name of the Menu Item as + you want it to appear on the menu of your site. +
      • +
      • Wrapper Link : Enter the URL + of the page you wish to wrap.
      • +
      • URL : (The URL for this item will appear + after Apply/Save.)
      • +
      • Parent Item : Select 'Top' if you + want the Menu Item to appear at the same level as your primary + navigation. You can also put the Menu Item under an existing + Menu Item by selecting that existing Menu Item as parent.
      • +
      • Ordering: A pull-down menu will appear here + after using the "Save" or "Apply" button, + to select the item after which the item will appear. + By default, Mambo adds new items to the end of the list. + After creating an item, you can change its order here + when editing.
      • +
      • Access Level: Sets who can view this item.
      • +
      • Published: Sets whether the Menu Item is + published or not. By default, new Menu Items are set to be + published.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Menu Image: Allows you to + set an image to appear to the left or right of the Item on + themenu. The image must be placed in the /images/stories + directory. Note: The 'Show Menu Items' option located + in the parameters at Modules -> Site Modules -> [name-of-menu] + must be set to 'Yes'.
      • +
      • Page Class Suffix: Allows you to set customized + styles for this page. The suffix you type here is automatically + added to the CSS classes for this page, and will have to + be defined in your template's CSS stylesheet for usage.
      • +
      • Back Button: Show or hide a "Back" button + on the bottom of the page to allow the user to return to + the previously viewed page.
      • +
      • Page Title: Show/Hide the page(s) title.
      • +
      • Page Title: Text to display at the top of + the page. If left blank, the menu name will display instead.
      • +
      • Scroll Bars: Determines whether horizontal + and vertical scroll bars are added. +
          +
        • 'No' means + scroll bars are never shown even when content extends + beyond the inline frame,
        • +
        • 'Yes' means scroll + bars are always used even when content does + not extend beyond the inline frame,
        • +
        • 'Auto' means + scrolls bars are shown only when necessary.
        • +
        +
      • +
      • Width: Type in a value for the width + of the Iframe window, either in pixels or in percentage.
      • +
      • Height: Type in a value for the height + of the Iframe window, either in pixels or + in percentage.
      • +
      • Auto Height: Sets whether or not the + height of the Wrapper page is set to the size + of the external Web page.
      • +
      • Auto Add: Determines whether or not 'http://' is + added to the URL that you type in the Wrapper Link field + in the Details tab. If set to 'No,' then you + can must type 'http://' or 'https://' at + the beginning of the URL in the Wrapper Link field, + or else the link in the Wrapper Link field will + be treated as a link relative to the URL of your + site.
      • +
      Toolbar Icons:
        +
      • Back: Return to the previous page.
      • +
      • Save: Save your changes.
      • +
      • Apply: Apply your changes to the site without + saving.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + +

       

      + +

       

      + +

       

      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/messages.configuration.html 4.6-complete/uploadfiles/help/messages.configuration.html --- 4.6rc2/uploadfiles/help/messages.configuration.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/messages.configuration.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,50 @@ + + + +Messages Configuration + + +Messages Configuration + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      There are + two configuration options available to your Administrator. + Use the select box to choose your option: 'YES AND NO'

      +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Lock Inbox: This option allows + you to prevent Administrators or System processes from + sending you messages. If you are the only administrator + or work with a small group of admins you may choose + not to use this feature at all. It is a good idea to + leave the box open while you are adding new components + as it will help you be aware of system processes. 
      • +
      • Mail me on new Message: This option + will result in an email being sent to you each time + you receive a new message.
      • +
      Toolbar Icons:
        +
      • Save: Save and apply your changes.
      • +
      • Cancel: Cancel operation and retuen to previous + screen.
      • +
      + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/messages.inbox.html 4.6-complete/uploadfiles/help/messages.inbox.html --- 4.6rc2/uploadfiles/help/messages.inbox.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/messages.inbox.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,45 @@ + + + +Messages Inbox + + +Messages Inbox + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The private + messaging function is for sending messages to other + system administrators. This + menu option displays your current Inbox.

      + Display Columns: +
        +
      • Subject: displays the message's subject line. Click to + view the message.
      • +
      • From: The sender of the message.
      • +
      • Date: When the message was created.
      • +
      • Read: Indicates whether you have read the message.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • New: Click this icon to open the window + for creating a new message.
      • +
      • Delete: Select a message and click this icon to delete the + message.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/messages.new.html 4.6-complete/uploadfiles/help/messages.new.html --- 4.6rc2/uploadfiles/help/messages.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/messages.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,46 @@ + + + +Messages - New + + +Messages: New + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Using this screen you + can write and send private messages to other system administrators.

      +
        +
      • To: Select from + the drop-down list the administrator you want to send message + to.
      • +
      • Subject: + Type the subject of your message.
      • +
      • Message: Type the body + of your message.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Send: Click this icon + to send your message.
      • +
      • Cancel: Cancel operation + and retuen to previous screen.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.components.html 4.6-complete/uploadfiles/help/modules.admin.components.html --- 4.6rc2/uploadfiles/help/modules.admin.components.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.components.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - Components + + +Admin Module: Components + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Components administrator module shows all the Components installed in your Mambo site. This enables you to access their option and parameter pages right from the frontpage of your Mambo Administration Page. This is accessible by clicking the Components tab in your Control Panel.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.latest.html 4.6-complete/uploadfiles/help/modules.admin.latest.html --- 4.6rc2/uploadfiles/help/modules.admin.latest.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.latest.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - Latest Items + + +Admin Module: Latest Items + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Latest Items administrator module shows a list of the recently added and published content in your Mambo site and is accessible by clicking the Latest Items tab in the frontpage of your Mambo Administration Control Panel. NOTE: Items that are displayed on the Front Page Component are not included in the list.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.logged.html 4.6-complete/uploadfiles/help/modules.admin.logged.html --- 4.6rc2/uploadfiles/help/modules.admin.logged.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.logged.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,59 @@ + + + +Admin Module - Logged + + +Admin Module: Logged + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Logged administrator module shows a list of currently logged in users (those that have registered) in your Mambo site. This enables you to directly edit their account information or log them out. This is accessible by clicking the Logged tab in your Mambo Administration Control Panel.

      + Details  
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - this + cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.manager.html 4.6-complete/uploadfiles/help/modules.admin.manager.html --- 4.6rc2/uploadfiles/help/modules.admin.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,55 @@ + + + +Admin Module Manager + + +Admin Module Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Admin Module Manager shows a table of the all the administrator modules installed in your Mambo site. This enables you to control each of the admin modules' settings and parameters.

      + Details  
        +
      • Module Name: The name of the module.
      • +
      • Published: Specifies whether a module is published or not. You may click the corresponding iconlet which toggles a modules' published/unpublished state.
      • +
      • Reorder: Enables you to reorder the modules by clicking the up/down arrow iconlets.
      • +
      • Order: Specifies the numbered ordering of the modules. You can also edit the number sequence of the modules through this column, clicking the Save iconlet next to the Column Heading "Order" stores the new sequence you supplied.
      • +
      • Position: Specifies the position where the module item is displayed or set active.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Type: The type of the module item.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click on the 'Publish' icon to publish your modules on the Mambo Admininistration Site.
      • +
      • Unpublish: Click on the 'Unpublish' icon to unpublish your modules from your Mambo Admininistration Site.
      • +
      • Copy: Click on the 'Copy' icon to make a copy of the selected module. This enables it to be displayed in more than one place on the Mambo Administration Site. A new version is created with the name 'Copy of (the name of the module you copied)'. You can rename it.
      • +
      • New: Click on the "New" icon to create a custom module. This is a very useful module which may be used to output customized code for your Mambo Administration Site.
      • +
      • Edit: Click on the 'Edit' icon to edit or modify the module. Clicking the linked name will also perform this function. This enables you to change the attributes of a module like it's title, it's position, the order in which it appears on the Mambo Administration Site, and whether it is published or not. From this page you will also be able to change the location the module appears on edit any parameters that apply to the module.
      • +
        +
      • Delete: Click on the 'Delete' icon + to delete/uninstall a module from your system. NOTE: You + cannot delete the 'last' module of a particular 'type' on + this screen. If you want to delete a specific type + of module, go to the Install/Uninstall screen as + explained above.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.mosmsg.html 4.6-complete/uploadfiles/help/modules.admin.mosmsg.html --- 4.6rc2/uploadfiles/help/modules.admin.mosmsg.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.mosmsg.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - System Messages + + +Admin Module: System Messages + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The System Messages administrator module displays a confirmation message after a function has successfully taken place i.e. saving an edited content or deleting a module. This is visible under the 'Toolbar'.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.new.html 4.6-complete/uploadfiles/help/modules.admin.new.html --- 4.6rc2/uploadfiles/help/modules.admin.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - New + + +Admin Module: New + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The New administrator module enables you to write your own modules for your Mambo Administration Site. This is useful if you would like to output custom content as to your preference for administering a Mambo site. This is accessible by clicking the 'New' icon on your toolbar in the Administration Module Manager.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.online.html 4.6-complete/uploadfiles/help/modules.admin.online.html --- 4.6rc2/uploadfiles/help/modules.admin.online.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.online.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - Online Users + + +Admin Module: Online Users + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Online Users administrator module displays the number of users connected to your Mambo site (guests and registered users). You can see this with a small icon of 'people' and by default located on the upper right corner next to the 'Unread Messages' icon.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.pathway.html 4.6-complete/uploadfiles/help/modules.admin.pathway.html --- 4.6rc2/uploadfiles/help/modules.admin.pathway.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.pathway.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - Pathway + + + Admin Module: Pathway + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Pathway administrator module by default appears under the 'Home' menu item in the upper-left corner of the Admin Screen. This module displays a link to the frontpage of your Mambo Administration Site plus the location you are currently viewing from the back-end. For ex. if you are editing a content item, the 'Pathway' should display something like 'Mambo Site/com_content/edit'.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.popular.html 4.6-complete/uploadfiles/help/modules.admin.popular.html --- 4.6rc2/uploadfiles/help/modules.admin.popular.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.popular.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - Popular + + +Admin Module: Popular + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Popular administrator module shows a table list of content items which received the most number of hits in your Mambo site - denoting the frequently visited ones. This is accessible by clicking the Popular tab on your Mambo Administration Control Panel.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.quickicon.html 4.6-complete/uploadfiles/help/modules.admin.quickicon.html --- 4.6rc2/uploadfiles/help/modules.admin.quickicon.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.quickicon.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - Quick Icons + + +Admin Module: Quick Icons + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Quick Icons administrator module shows the icon shortcuts to some basic 'Managers' of Mambo. It provides quick access to locations that you most likely go to in defining your Mambo site and can be found on the frontpage of the Administration Site.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.stats.html 4.6-complete/uploadfiles/help/modules.admin.stats.html --- 4.6rc2/uploadfiles/help/modules.admin.stats.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.stats.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - Menu Stats + + +Admin Module: Menu Stats + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Menu Stats administrator module shows a list of all the 'Menus' and the number of 'Menu Items' in your Mambo Site.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.toolbar.html 4.6-complete/uploadfiles/help/modules.admin.toolbar.html --- 4.6rc2/uploadfiles/help/modules.admin.toolbar.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.toolbar.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,59 @@ + + + +Admin Module - Toolbar + + +Admin Module: Toolbar + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Toolbar administrator module displays the provided functional icons for your Mambo Administration Site. Such clickable icons include the ones you see in your 'Content Manager' (New, Edit, Copy...).

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.admin.unread.html 4.6-complete/uploadfiles/help/modules.admin.unread.html --- 4.6rc2/uploadfiles/help/modules.admin.unread.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.admin.unread.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Admin Module - Unread Messages + + +Admin Module: Unread Messages + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Unread Messages administrator module displays the number of messages received by your account that has not been read. You can see this with a small Mail icon and by default located in the upper right corner before the 'Online users' icon.

      + Details   +
        +
      • Title: The title of the module.
      • +
      • Show Title: "N/A" - this cannot + be changed.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: "Administrator" - + this cannot be changed.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • open
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.archive.html 4.6-complete/uploadfiles/help/modules.archive.html --- 4.6rc2/uploadfiles/help/modules.archive.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.archive.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,80 @@ + + + +Site Module - Archive + + +Module: Archive + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Archive module shows + a linked list of the calendar months which contain Archived + items. After you have changed the status of a Content Item + to "Archived", + this list will be automatically generated. A click on the + month link will activate the Archive content overview in + a Blog form. All site archived Items are displayed.

      +

      + Details
        +
      • Title: Title of the module to display on the + page.
      • +
      • Show title: Sets if the Title will + display or not on the page.
      • +
      • Position: + Sets which of the positions available + the module will display in.
      • +
      • Module order: The order + the module will appear among modules + assigned to the same page, in the same position.
      • Access + Level: Sets who can view this module. Public, Registered + or Special.
      • +
      • Published: + Sets if the module contents + will show on the Frontend of your Web site (if chosen + Position is available in the template).
      • +
      • ID: + This is the ID number + for the module item. This is auto-allocated by + the Mambo system when the module is saved.
      • +
      • Description: This is + a short description of the functions provided by the Module + Type.
      • +
      • Pages / Items: Sets on which pages the module should be displayed. +
      Usage:n/a
      Default State: Unpublished
      Parameters:
        +
      • Count: The number of items to display (the + default is 10).
      • +
      • Enable Cache: Select to + cache or not the content of this module.
      • +
      • Module Class + Suffix: A suffix to be applied to the CSS class + of the module (table.moduletable) to allow individual + module styling.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.banners.html 4.6-complete/uploadfiles/help/modules.banners.html --- 4.6rc2/uploadfiles/help/modules.banners.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.banners.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,74 @@ + + + +Site Module - Banners + + +Module: Banners + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Banners + Module controls the display of banners on your + site, as defined by the Banner Manager Component.

      + Details  
        +
      • Title: + Title of the module to display on the page.
      • +
      • Show Title: + Show/Hide the Title (above) of the Module on the + page.
      • +
      • Position: + Assign the Module to a position on the template.
      • +
      • Module order: + The order the module will appear among modules + assigned to the same page, in the same position.
      • +
      • Access Level: + Determines who (which class of user) can view + the Module.
      • +
      • Published: + Show/Hide the Module.
      • +
      • ID: This + is the ID number for the module item. This is auto-allocated + by the Mambo system when the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages + / Items: Sets on which pages the Module + will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Banner Client: + Type here a reference to the client as listed in the + Clients Manager (Components->Banners->Manage Clients).
      • +
      • Module + Class Suffix: A suffix + to be applied to the CSS class of the module (table.moduletable) to allow + individual module styling. +
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.edit.html 4.6-complete/uploadfiles/help/modules.edit.html --- 4.6rc2/uploadfiles/help/modules.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,51 @@ + + + +Site Module - Edit + + +Modules: Edit + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page displays the editable parameters for Modules in Mambo. See the individual Modules for specific help.

      +

      Details  

      +
        +
      • Title: Title of the module to display on the page.
      • +
      • Show title: Decides if the Title will display or not on the page. It is not usual to display this title for banners.
      • +
      • Position: Sets which of the positions available the module will display in.
      • +
      • Module order: The order the module will appear among modules assigned to the same page, in the same position.
      • +
      • Access Level: Sets who can view this module. Public, Registered or Special.
      • +
      • Published: Sets if the module contents will show on the Frontend of your Web site (if chosen Position is available in the template).
      • +
      • ID: This is the ID number for the module item. This is auto-allocated by the Mambo system when the module is saved.
      • +
      • Description: This is a short description of the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the module should be displayed.
      • +
      Usage: 
      Default State:  
      Parameters:
        +
      • Count: The number of items to display (the default is 10)
      • +
      • Module Class Suffix (available for all module): Type (if needed) the suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      Toolbar Icons:
        +
      • Preview: Click on the "Preview" icon to preview only typed modules.
      • +
      • Save: Click on the "Save" icon to save the parameters you have chosen and to go back to the Menu Manager [the-menu-you-chose-to-edit].
      • +
      • Apply: Click on the "Apply" icon to save the parameters you have chosen and to keep the same window open for editing.
      • +
      • Close: Click on the "Close" icon to cancel the action and to close the "Modules: Edit" window.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.latestcontent.html 4.6-complete/uploadfiles/help/modules.latestcontent.html --- 4.6rc2/uploadfiles/help/modules.latestcontent.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.latestcontent.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,93 @@ + + + +Site Module - Latest Content + + +Module: Latest Content + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Latest Content module displays the + most recently published Item.

      + Details   +
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) + of the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Module Class Suffix: A suffix to be applied + to the CSS class of the module (table.moduletable) to allow + individual module styling.
      • +
      • Enable Cache: + Cache the contents of the Module..
      • +
      • Module + Mode: Allows choice between display of Content + Items, Static Content Items or both.
      • +
      • Frontpage Items: + Show/Hide items designated for the Frontpage Component + (this works only for Content Items).
      • +
      • Read More: Show/Hide the Read More... link if needed.
      • +
      • Item Title: Show/Hide the title of the Item.
      • +
      • Show Images: Show/Hide images included in + the Item.
      • +
      • Style: If more than one Item is displayed, + how are they laid out relative to each other?
      • +
      • Count: + The number of items to display. The default is 5.
      • +
      • Category + ID: Select to display items from a specific + category or set of Categories (to specify more than + one category, separate with commas). Categories IDs + may be found in the list accessed through Content ->Category Manager.
      • +
      • Section + ID: Select to display items from a specific + Section or set of Sections (to specify more than one + Section, separate with commas). Sections IDs may be + found in the list accessed through Content -> Section Manager.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.latestnews.html 4.6-complete/uploadfiles/help/modules.latestnews.html --- 4.6rc2/uploadfiles/help/modules.latestnews.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.latestnews.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,90 @@ + + + +Site Module - Latest News + + +Module: Latest +News + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Latest News module shows + a list of the most recently published Items that are still + current (some may have expired even though they are the most + recent). Items that are displayed on the Front Page Component + are not included in the list.

      + Details   +
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type.
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Module Class Suffix: A suffix to be applied + to the CSS class of the module (table.moduletable) to allow + individual module styling.
      • +
      • Enable Cache: + Cache the contents of the Module..
      • +
      • Module + Mode: Allows choice between display of Content + Items, Static Content Items or both.
      • +
      • Frontpage Items: + Show/Hide items designated for the Frontpage Component + (this works only for Content Items).
      • +
      • Count: + The number of items to display. The default is 5.
      • +
      • Category + ID: Select to display items from a specific + category or set of Categories (to specify more than + one category, separate with commas). Categories IDs + may be found in the list accessed through Content ->Category Manager.
      • +
      • Section + ID: Select to display items from a specific + Section or set of Sections (to specify more than one + Section, separate with commas). Sections IDs may be + found in the list accessed through Content -> Section Manager.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.login.html 4.6-complete/uploadfiles/help/modules.login.html --- 4.6rc2/uploadfiles/help/modules.login.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.login.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,95 @@ + + + +Site Module - Login Form + + +Module: Login +Form + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Login Form module + displays a Username and Password login form. It also displays + a link to retrieve a forgotten password. If user registration + is enabled, (refer to the Global Configuration settings), + then another link will be shown to invite users to self-register. + If the user is logged in, the module displays a "Logout" link.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) + of the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Module Class Suffix: A suffix to be applied + to the CSS class of the module (table.moduletable) to allow + individual module styling.
      • +
      • Pre-text: This + allows to display text or HTML above the login form.
      • +
      • Post-text: + This allows to display text or HTML below the login + form.
      • +
      • Login + Redirection URL:You may enter here the URL + of a page you want the logout to redirect to. If left + blank, it will load the Home Page.
      • +
      • Logout Redirection URL: + You may enter here the URL of a page you want the logout + to redirect to. If left blank, it will load the Home + Page.
      • +
      • Login + Message: Show/Hide the javascript Alert indicating + Login success or failure.
      • +
      • Logout Message: + Show/Hide the javascript Alert indicating Logout success.
      • +
      • Greeting: + Show/Hide the simple greeting text.
      • +
      • Name/Username: + Choose whether to display Name or Username in the greeting. + The Name is defined for each registered user in the + list accessed through Site -> User Manager -> Add/Edit + users under the heading Name, the Username in the same + list under the heading UserID
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.mainmenu.html 4.6-complete/uploadfiles/help/modules.mainmenu.html --- 4.6rc2/uploadfiles/help/modules.mainmenu.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.mainmenu.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,124 @@ + + + +Site Module - Menus + + +Module: Main +Menu and other Menus + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Each Menu in the system + has a corresponding Module. The settings in each individual + Module apply to the specific Menu tied to that Module.

      + Details   +
        +
      • Title: Title of the module to display on + the page.
      • +
      • Show Title: Show/Hide the Title (above) of the + Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will appear + among modules assigned to the same page, in the same position.
      • +
      • Access Level: Determines who (which class + of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when the + module is saved.
      • +
      • Description: A short description of the functions + provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the Module + will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Menu Class Suffix: Type + (if needed) a suffix to be applied to the CSS class + of the Menu Items (mainlevel and sublevel).
      • +
      • Module Class Suffix: + Type (if needed) a suffix to be applied to the CSS class + of  (table.moduletable).  This allows individual + module styling.
      • +
      • Menu Name: Type the name + of the menu as defined in the Menu Manager. + This menu contains the Menu Items that will display on your + site.
      • +
      • Menu + Style: Three styles of menu + are provided with Mambo. Vertical, Horizontal + and Flat List. +
          +
        • + The Vertical menu displays its Menu Items + vertically in a table format. + It may display sublevels menus if desired. + These are presented in an indented form. +
        • +
        • + The Horizontal Menu honors only the first + level items and produces a + horizontal collection of Menu Items separated + (if desired) by a Spacer as defined below. + It is displayed in a table format. +
        • +
        • The Flat List is a type of Menu displayed in a list + format (<li> tags). Depending on the CSS, + it may display horizontally or vertically. It does + not display sublevels.
        • +
        +
      • +
      • Enable Cache: Cache the contents of the Module..
      • +
      • Show Menu Icons: + Show or Hide the menu icons + you have specified for your Menu Items.
      • +
      • Menu Icon Alignment: + Choose which alignment to display these + icons if checked to show.
      • +
      • Expand Menu: + Show or hide the sublevel menus for the + chosen menu by default (only + for Vertical Menus).
      • +
      • Indent Image: + Choose which indent system to use. It + could be None, provided by the template, + be the default Mambo system or customized + with the following parameters "Indent Image 1 to 6".  This + lets you choose a specific image for + each menu level (the images must be in + the images/M_images folder to be available + as a choice).
      • +
      • Spacer: + Choose a character to act as spacer in + an Horizontal menu. It is often a "|" or a "-".
      • +
      • End + Spacer: Choose a character + to act as a spacer for the end of + the menu.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.manager.html 4.6-complete/uploadfiles/help/modules.manager.html --- 4.6rc2/uploadfiles/help/modules.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,81 @@ + + + +Site Module Manager + + + +Site Module Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Modules are used to display + information items or interactive features on select pages + of a Mambo Site. The main characteristic is to be assigned + to pre-established positions by way of module position holders + placed in the code of the template. Though Modules can be + positioned anywhere, they are typically located in side columns + or at the extreme top or bottom of pages. Examples of modules + include: Menus, Login Forum, and the Mambo Search form. + Simple HTML Modules can be created directly from the Module + Manager; more Modules have to be + installed.

      +

      The Module Manager displays the installed modules.  You can manage them by clicking on the appropriate icon in the Tool Bar.

      + Display Columns
        +
      • Module Name: This lists the names of + the Modules currently installed. Click the name to edit + any of the Modules.
      • +
      • Published: This shows whether the Module is + published or unpublished. Click on the icon if you wish + to toggle its state.
      • +
      • Reorder:  Click the arrow icons + to move the item up or down in the list. This changes + the order relative to other Modules in the same position.
      • +
      • Order: This shows the order of Modules in + relation to other Modules in the same position. Type  the + new numbers in the order that you wish your Modules + to appear. You can change the order any two or more + Modules at the same time.  Click + the "Save Order" icon next to the Column Heading "Order."
      • +
      • Access: Defines which classes of user + have access to the Module.
      • +
      • Position: Assigns the Module to a particular + Module position holder.
      • +
      • Pages: Assigns the Module to one or + more pages.
      • +
      • ID: System generated ID number for the + Module.
      • +
      • Type: The name of the Module's file + in the Mambo Modules directory.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click on the 'Publish' icon to publish your modules on the Front-end of your Web site.
      • +
      • Unpublish: Click on the 'Unpublish' icon to unpublish your modules on the Front-end of your Web site.
      • +
      • Copy: Click on the 'Copy' icon to make a copy of the selected module. This enables it to be displayed in more than one place on the Front-end of your Web site. A new version is created with the name 'Copy of (the name of the module you copied)'. You can rename it.
      • +
      • New: Click on the "New" icon to create a custom module with a "User" type.  This is a very useful module which may be used to display Content (this content is not related to Sections, Categories or Static Content Items) or an  RSS Feed. It can be used as a text box, image module or even to include customized code.
      • +
      • Edit: Click on the 'Edit' icon to edit or modify the module. Clicking the linked name will also perform this function. This enables you to change the attributes of a module like it's title, it's position, the order in which it appears on the page, access level and whether it is published or not. From this page you will also be able to change the location the module appears on the Front-end of your site and any parameters that apply to the module.
      • +
        +
      • Delete: Click on the 'Delete' icon + to delete/uninstall a module from your system. NOTE: You + cannot delete the 'last' module of a particular 'type' on + this screen. If you want to delete a specific type + of module, go to the Install/Uninstall screen as + explained above.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.mostread.html 4.6-complete/uploadfiles/help/modules.mostread.html --- 4.6rc2/uploadfiles/help/modules.mostread.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.mostread.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,67 @@ + + + +Site Module - Popular + + +Module: Popular + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Popular module shows a list of the currently published Items that have been viewed the most - determined by the number of times the page has been viewed.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Module Class Suffix: A suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      • Enable Cache: Cache the contents of the Module..
      • +
      • Module Mode: Allows choice between display of Content Items, Static Content Items or both.
      • +
      • Frontpage Items: Show/Hide items designated for the Frontpage Component (this works only for Content Items).
      • +
      • Count: The number of items to display (the default is 5)
      • +
      • Category ID: Select to display items from a specific category or set of Categories (to specify more than one category, separate with commas). Categories IDs may be found in the list accessed through Content ->Category Manager.
      • +
      • Section ID: Select to display items from a specific Section or set of Sections (to specify more than one Section, separate with commas). Sections IDs may be found in the list accessed through Content ->Section Manager.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.new.html 4.6-complete/uploadfiles/help/modules.new.html --- 4.6rc2/uploadfiles/help/modules.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,81 @@ + + + +Site Module - New + + +Modules: New + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The User module is + a custom module created when clicking the 'New' icon + in the Module Manager. You can use this module to display Content + (this content is not related to Sections, Categories or Static + Content Items) or an RSS Feed.

      Details   +
        +
      • Title: Title of the module to display on the page.
      • +
      • Show title: Decides if the Title will display or not on the page. It is not usual to display this title for banners.
      • +
      • Position: Sets which of the positions available the module will display in.
      • +
      • Module order: The order the module will appear among modules assigned to the same page, in the same position.
      • +
      • Access Level: Sets who can view this module. Public, Registered or Special.
      • +
      • Published: Sets if the module contents will show on the Frontend of your Web site (if chosen Position is available in the template).
      • +
      • ID: This is the ID number for the module item. This is auto-allocated by the Mambo system when the module is saved.
      • +
      • Description: This is a short description of the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the module should be displayed.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Module Class Suffix: Add a suffix if needed to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      • Custom Output: Here you may enter any text  or code you like that you wish to display it's output  in + this module anywhere on the pages of your site. NOTE: This content may not be accessed through a Menu Item.
      • +
      +

      The following Parameters are only relevant to the creation of a module who's express purpose is to to hold RSS feed output.

      +
        +
      • RSS URL: Enter + here the URL of the RSS feed you want to display + on your site.
      • +
      • Feed description: + Choose to show or hide the description text for + the whole Feed.
      • +
      • Feed Image: Choose + to show or not the image associated with + the whole feed.
      • +
      • Items: + Enter the number of RSS Items to display. + If this number is higher than the number fixed + by the Syndicating site, the latter one will be + used.
      • +
      • Item description: + Type the description or intro text for + individual News Items.
      • +
      • Word Count: + Choose the the maximum number of visible words + available from the description of the New + Item. 0 means all text will be displayed.
      • +
      • Enable Cache: Cache the contents of the Module..
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the page.
      • +
      • Cancel: Cancel without saving your changes.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.newsflash.html 4.6-complete/uploadfiles/help/modules.newsflash.html --- 4.6rc2/uploadfiles/help/modules.newsflash.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.newsflash.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,92 @@ + + + +Site Module - Newsflash + + +Module: Newsflash + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Newsflash module + randomly selects one of the published items from a category upon + each page refresh. It may also display multiple items in horizontal + or vertical configurations.

      + Details   +
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Category: Use this drop-down to choose a content + category among those published on your site.
      • +
      • Style: The + style to display the category. Note: The + space allowed in the template for this module is quite + important to define in order not to get unreadable content.
      • +
      • Show + images: Sets if content images should + be displayed or not.
      • +
      • Linked Titles: Make + the Items titles linkable or not. Choice in + the drop-down is between Global (set in Global Configuration), + yes or no.
      • +
      • Read More: Hide/Show + the Read more link.
      • +
      • Item Title: Show/Hide + the Item Title.
      • +
      • No. of Items: Number + of items to display.
      • +
      • Enable Cache: + Select to cache or not + the content of this module.
      • +
      • Module + Class Suffix: + A suffix to be applied + to the CSS class + of the module (table.moduletable) + to allow individual + module styling.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.poll.html 4.6-complete/uploadfiles/help/modules.poll.html --- 4.6rc2/uploadfiles/help/modules.poll.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.poll.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,69 @@ + + + +Site Module - Poll + + +Module: Polls + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Polls module + compliments the Polls component. It is used to display the configured + polls. The module differs from other modules in as much as the + Component supports linking between Menu Items and Polls. This + means that the module shows only those Polls which are configured + for a certain Menu Item.

      + Details   +
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Enable Cache: Select to cache or not the + content of this module. Module Class Suffix: + A suffix to be applied to the CSS class of the module (table.moduletable) + to allow individual module styling.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.random_image.html 4.6-complete/uploadfiles/help/modules.random_image.html --- 4.6rc2/uploadfiles/help/modules.random_image.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.random_image.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,66 @@ + + + +Site Module - Random Image + + +Module: Random +Image + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Random Image module displays a randomly selected image from a designated folder/directory.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Unpublished
      Parameters:
        +
      • Image Type: Type of image (jpg, png, gif, etc.). Default is jpg.
      • +
      • Image folder: Path to the images folder relative to the site URL (eg. images/stories).
      • +
      • Link: URL to redirect to if image is clicked on (eg. http://www.mamboserver.com)
      • +
      • Width (px): Image's width in pixels. This forces all images to be displayed with this width. This may cause unwanted results if the original image has a different width.
      • +
      • Height (px): Image's height in pixels. This forces all images to be displayed with this height. This may cause unwanted results if the original image has a different height.
      • +
      • Module Class Suffix: A suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.related_items.html 4.6-complete/uploadfiles/help/modules.related_items.html --- 4.6rc2/uploadfiles/help/modules.related_items.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.related_items.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,61 @@ + + + +Site Module - Related Items + + +Module: Related +Items + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Related Items module displays other Content Items that are related to the Item currently displayed. These are based on the keywords Metadata. All the keywords of the current Content Item are searched against all the Metadata keywords of all other published items. For example, you may have an Item on 'Breeding Parrots' and you may have another on 'Hand Raising Black Cockatoos'. If you include the keyword 'parrot' in both Items, then the Related Items module will list the 'Breeding Parrots' Item when viewing 'Hand Raising Black Cockatoos' and vice-versa.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Unpublished
      Parameters:
        +
      • Module Class Suffix: A suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling. Enable Cache: Cache the contents of the Module..
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.rssfeed.html 4.6-complete/uploadfiles/help/modules.rssfeed.html --- 4.6rc2/uploadfiles/help/modules.rssfeed.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.rssfeed.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,69 @@ + + + +Site Module - Syndicate + + + +Module: Syndicate + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Syndicate module displays a syndication link for the content listed on the Frontpage Manager. NOTE: The + parameters for the display may be entered through the + Syndicating Component.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Text: Enter the text to be displayed on top of the RSS links.
      • +
      • Enable Cache: Cache the contents of the Module..
      • +
      • Module Class Suffix: A suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      • RSS 0.91 /RSS 1.0 / RSS 2.0 / ATOM / OPML: Hide/Show the type of RSS you want to provide.
      • +
      • RSS 0.91 Image / RSS 1.9 Image /  RSS 2.9 Image / ATOM  Image / OPML Image: Lets you choose an image to be used to show the specific kind of Feed.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.search.html 4.6-complete/uploadfiles/help/modules.search.html --- 4.6rc2/uploadfiles/help/modules.search.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.search.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,79 @@ + + + +Site Module - Search + + +Module: Search + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Search module shows + a box into which users can enter query and then search your + site for occurrences of that query.

      + Details
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Module Class + Suffix: A suffix to be applied to the CSS class + of the module (table.moduletable) to allow individual + module styling.
      • +
      • Enable Cache: Select to cache the + contents of this module.
      • +
      • Box Width: Set the length of the box into which users can + enter their search query.
      • +
      • Text: Enter text to appear in the blank search box; if you + leave this blank, the system default text will appear.
      • +
      • Search Button: Show/Hide button for users to click to begin + search. If you do not show button, user has to hit the enter + key to begin the search.
      • +
      • Button Position: Select where the button appears relative + to the search box.
      • +
      • Button Text: Specify text to appear on the button; if you + leave this blank, the system default text will appear.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.sections.html 4.6-complete/uploadfiles/help/modules.sections.html --- 4.6rc2/uploadfiles/help/modules.sections.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.sections.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,63 @@ + + + +Site Module - Sections + + +Module: Sections + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Sections module shows a list of all Sections configured in your database. The Sections refer here to the Published Item Sections in the order shown in the list displayed through Content  -> Section Manager. If the configuration 'Show Unauthorized Links' is set to 'No' in Global Configuration, the list will be limited to the sections the user is allowed to see.

      + Details +
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Unpublished
      Parameters:
        +
      • Count: The number of Sections to display on the list (default is 5).
      • +
      • Module Class Suffix: A suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.stats.html 4.6-complete/uploadfiles/help/modules.stats.html --- 4.6rc2/uploadfiles/help/modules.stats.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.stats.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,74 @@ + + + +Site Module - Statistics + + +Module: Statistics + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Statistics module shows information about your server installation and statistics about the web site, members, number of contents in your database, and number of web links you provide.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Unpublished
      Parameters:
        +
      • Module Class Suffix: A suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      • Enable Cache: Cache the contents of the Module..
      • +
      • Server Info: Displays or not Server Information.
      • +
      • Site Info: Displays or not site information.
      • +
      • Hit Counter: Displays or not the number of hits on your site.
      • +
      • Increase Counter: Amount to increase the number of hits in the counter.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      +

      + + + + + + + + +
      \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.templatechooser.html 4.6-complete/uploadfiles/help/modules.templatechooser.html --- 4.6rc2/uploadfiles/help/modules.templatechooser.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.templatechooser.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,66 @@ + + + +Site Module - Template Chooser + + +Module: Template +Chooser + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Template Chooser  module allows the user (visitor) to change the template on the fly from the Frontend via a drop down selection list. The list proposes a choice from all the templates installed in templates/.module allows the User (visitor) to change the template on the fly, from the Frontend, via a drop down selection list. NOTE: This may cause display problems if needed module positions are not provided for in certain templates.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Unpublished
      Parameters:
        +
      • Max. Name Length: This is the maximum length of the template name to display (default 20)
      • +
      • Show preview: Show/Hide Template preview (the template_thumbnail.png file in the specific template folder)
      • +
      • Width: The width of the preview image (default is 140 pixels). This may cause unwanted results if the original image has a different width.
      • +
      • Height: The height of the template image (default is 90 pixels). This may cause unwanted results if the original image has a different width.
      • +
      • Module Class Suffix:A suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      +

       

      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.whosonline.html 4.6-complete/uploadfiles/help/modules.whosonline.html --- 4.6rc2/uploadfiles/help/modules.whosonline.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.whosonline.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,65 @@ + + + +Site Module - Who's Online + + +Module: Who's +Online + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Who's Online module displays the number of anonymous users (guests) and Registered users (those that are logged in), that are currently accessing the web site.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Published
      Parameters:
        +
      • Module Class Suffix: A suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      • Enable Cache: Cache the contents of the Module..
      • +
      • Show details: Display details of online users.
      • +
      • Show users: Hide/Show online users.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/modules.wrapper.html 4.6-complete/uploadfiles/help/modules.wrapper.html --- 4.6rc2/uploadfiles/help/modules.wrapper.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/modules.wrapper.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,67 @@ + + + +Site Module - Wrapper + + +Module: Wrapper + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Wrapper Module wraps an external Web page into your site. The external Web page is inserted as an 'inline frame' (also called an Iframe) into your template. This is not only useful to display other people's sites but also to include in your site pure dhtml pages you would have created with a specialized Web Editor, because they would be difficult/impossible to create through available Mambo editors. It also allows you to integrate independent applications and scripts (galleries, directories,..) into your Mambo site content.

      + Details  
        +
      • Title: Title of the module to display + on the page.
      • +
      • Show Title: Show/Hide the Title (above) of + the Module on the page.
      • +
      • Position: Assign the Module to a position + on the template.
      • +
      • Module order: The order the module will + appear among modules assigned to the same page, in the + same position.
      • +
      • Access Level: Determines who (which + class of user) can view the Module.
      • +
      • Published: Show/Hide the Module.
      • +
      • ID: This is the ID number for the module + item. This is auto-allocated by the Mambo system when + the module is saved.
      • +
      • Description: A short description of + the functions provided by the Module Type
      • +
      • Pages / Items: Sets on which pages the + Module will appear.
      • +
      Usage:n/a
      Default State: Unpublished
      Parameters:
        +
      • Module Class Suffix:  Type, if needed, the suffix to be applied to the CSS class of the module (table.moduletable) to allow individual module styling.
      • +
      • URL: Enter the URL for the site/file you wish to display within the IFrame.
      • +
      • Scroll Bars: Choose whether horizontal and vertical scroll bars are added to your page. 'No' means scroll bars are never shown even when content extends beyond the inline frame, 'Yes' means scroll bars are always used even when content does not extend beyond the inline frame, and 'Auto' means scrolls bars are shown only when necessary.
      • +
      • Width: Type in a value for the width of the Iframe window, either in pixels or in percentage. Percentage is relative to the html element where the <?php include_once("mainbody.php"); ?> tag is placed in the template.
      • +
      • Height: Type in a value for the height of the Iframe window, either in pixels or in percentage (see above).
      • +
      • Auto Height:  Choose "Yes" if you desire the height of the Wrapper page to be set to the size of the external Web page.   Choose "No" if you do not.
      • +
      • Auto Add: Choose "Yes"  if you wish  'http://' is added automatically to the URL that you type in the Wrapper Link field in the Details tab.  If you already have typed in the "http://"  in the  link field then Mambo will recognize this and not put a second "http:" in the link field.  If set to 'No,' then you must type 'http://' or 'https://' at the beginning of the URL in the URL field, or else the link in the URL field will be treated as a link relative to the URL of your site.
      • +
      Toolbar Icons:
        +
      • Preview: Preview Module. NOTE: You can only + Preview typed modules.
      • +
      • Save: Save changes and return to Module Manager.
      • +
      • Apply: Apply changes without exiting the + page.
      • +
      • Close: Cancel without saving your changes + and return to Module Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/newsfeeds.edit.html 4.6-complete/uploadfiles/help/newsfeeds.edit.html --- 4.6rc2/uploadfiles/help/newsfeeds.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/newsfeeds.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,54 @@ + + + +Newsfeed - Edit + + +Newsfeeds Manager : Edit a Newsfeed + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you + edit a Newsfeed Item.

      + Details +
        +
      • Name: Enter the name of the Newsfeed + as you want it to appear on your site.
      • +
      • Category: Select a Category for this + Newsfeed Item.
      • +
      • Link: Enter here the link to the feed + (as provided by the source).
      • +
      • Number of Articles: Enter the maximum + number of Articles to display.
      • +
      • Cache Time (in seconds): Enter the time + between refreshes, in seconds.
      • +
      • Ordering: This is the order the Item + will display in the Newsfeed Manager. Defaults to last + when created, may be changed when editing.
      • +
      • Published: Click the radio button to + decide whether this Newsfeed will display or not on + your site.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • +
      Toolbar Icons:
        +
      • Save: Click this icon to save the created or modified Newsfeed.
      • +
      • Cancel: Cancels any change or creation. When clicking while editing, the item will remain checked-in.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/newsfeeds.manager.html 4.6-complete/uploadfiles/help/newsfeeds.manager.html --- 4.6rc2/uploadfiles/help/newsfeeds.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/newsfeeds.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,51 @@ + + + +Newsfeed Manager + + +Newsfeed Manager + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page displays a list of the Newsfeeds you may provide to the users of your site.These Newsfeeds may be displayed through a Menu Item link. Alternatively, you may also display Newsfeeds individually through the Custom/User Module.

      Display Columns +
        +
      • Newsfeed:  Name of the Newsfeed as it appears on your site. If you click on this name, you may edit the related parameters. A padlock icon next to it shows that it is checked-out. To check-in, click the name to edit.
      • +
      • Published: This shows whether the Newsfeed is published or unpublished. By clicking on the icon, you may switch its state.
      • +
      • Reorder: This shows the order of Newsfeeds + in the list. Click the arrow icons to move the item up or + down in the list. This ordering may be changed by editing + the related Menu Item parameters.
      • +
      • Category: This is the category the Newsfeed belongs to. Click to edit.
      • +
      • #Articles: This shows the number of Articles to display on your site as defined in the parameters for the Newsfeed.
      • +
      • Cache time: This is the time between refreshes as defined in the parameters for the Newsfeed.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click to publish any number of selected items.
      • +
      • Unpublish: Click to unpublish any number + of selected items.
      • +
      • New: Click the 'New' icon to create a new Newsfeed. 
      • +
      • Edit: Select the feeds and click the 'Edit' icon + to edit the Newsfeed.
      • +
      • Delete: Click the 'Delete' icon to delete one or multiple Newfeeds.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/newsfeeds.new.html 4.6-complete/uploadfiles/help/newsfeeds.new.html --- 4.6rc2/uploadfiles/help/newsfeeds.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/newsfeeds.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,50 @@ + + + +Newsfeed - New + + +Newsfeeds Manager : Create a New Newsfeed Items + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you create + a Newsfeed Item.

      + Details +
        +
      • Name: Enter the name of the Newsfeed as you + want it to appear on your site.
      • +
      • Category: Select a Category for this Newsfeed + Item.
      • +
      • Link: Enter here the link to the feed (as + provided by the source).
      • +
      • Number of Articles: Enter the maximum number + of Articles to display.
      • +
      • Cache Time (in seconds): Enter the time between + refreshes, in seconds.
      • +
      • Ordering: This is the order the Item will display in the Newsfeed Manager. Defaults to last when created, may be changed when editing.
      • +
      • Published: Click the radio button to decide whether this Newsfeed will display or not on your site.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Saves and returns you to Newsfeed Manager.
      • +
      • Cancel: Cancels without saving and returns + you to Newsfeed Manager.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/poll.edit.html 4.6-complete/uploadfiles/help/poll.edit.html --- 4.6rc2/uploadfiles/help/poll.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/poll.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,49 @@ + + + +Poll - Edit + + +Poll Manager : Edit + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you edit + a poll for your site.

      + Details +
        +
      • Question: Enter the question for the + poll as it will appear on your site (100 characters + max).
      • +
      • Lag: Enter here the number of seconds + users have to wait before being able to vote in the + same poll again. This interval is expressed in + seconds. The default value is 86400 (24 hours).
      • +
      • Options: Enter the answer choices for + you Poll, one on each line.
      • +
      • Show on menu items: Specify the page + son which you want this Poll to appear.  
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Saves the new poll and returns to Manager.
      • +
      • Cancel: Cancels and close without saving + changes.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/poll.manager.html 4.6-complete/uploadfiles/help/poll.manager.html --- 4.6rc2/uploadfiles/help/poll.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/poll.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,50 @@ + + + +Poll Manager + + +Poll Manager + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows show a list of the Polls you may display on your site.

      Display Columns +
        +
      • Poll Question: This is the question posed + by the poll.
      • +
      • Published: Shows whether the poll is published. + Click the icon to toggle the state of the poll. 
      • +
      • Options: The number of options in the poll.
      • +
      • Lag: Time in seconds between votes of the same user for the same poll.  
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click to publish any number of selected + Polls.
      • +
      • Unpublish: Click to unpublish any number + of selected Polls.
      • +
      • New: Click this icon to add a new poll.
      • +
      • Edit: Select a Poll and click this icon to + edit the poll's + details.
      • +
      • Delete: Click this icon to delete one or + more Polls.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/poll.new.html 4.6-complete/uploadfiles/help/poll.new.html --- 4.6rc2/uploadfiles/help/poll.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/poll.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,46 @@ + + + +Poll - New + + +Poll Manager : Create a New Poll + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you create + a new Poll for your site.

      + Details +
        +
      • Question: Enter the question for + the poll as it will appear on your site (100 characters max).
      • +
      • Lag: Enter here the number of seconds users have to wait before being able to vote in the same poll again. This interval is expressed in seconds. The default value is 86400 (24 hours).
      • +
      • Options: Enter the answer choices for you Poll, one on each + line.
      • +
      • Show on menu items: Specify the page son + which you want this Poll to appear.  
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Saves the new poll and returns to Manager.
      • +
      • Cancel: Cancels and close without saving + changes.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/sections.copy.html 4.6-complete/uploadfiles/help/sections.copy.html --- 4.6rc2/uploadfiles/help/sections.copy.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/sections.copy.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,40 @@ + + + +Section - Copy + + +Sections Manager +: Copy a Section + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      From this screen, you can + copy a Section and Categories it contains. + During the operation, you define the name of the new Section.

      +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Click this icon + to save the changes
      • +
      • Cancel: Click this icon to + cancel the action and return to previous screen
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/sections.edit.html 4.6-complete/uploadfiles/help/sections.edit.html --- 4.6rc2/uploadfiles/help/sections.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/sections.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,74 @@ + + + +Section - Edit + + +Sections Manager +: Edit a Section + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you edit a Section.

      + Display Columns +
        +
      • Section Title: Type here the name of the + section as you want it to display on your site.
      • +
      • Section Name: + Type here the name of the section as you want it + to appear in the database and the back-end.
      • +
      • Image: Select here + an image to display next to the Section Description + text. The dropdown lists an image choice from the images/stories + folder.
      • +
      • Image + position: Select here the position of + the image relative to the description text. Left + or right.
      • +
      • Ordering: + Select here the order of the section among + other sections. This will reflect in the Section Manager. + New sections default to the last place. Ordering + can be changed after applied or saved.
      • +
      • Access: + This is the user access level for the category. + Public, Registered or Special.
      • +
      • Published: Check the box to let the + item show on your site.
      • +
      • Description:  Type + here a description of the Section. This text will show + decided so when the section is displayed as + a table, blog or other sections.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Upload: Opens a new + window which lets you upload a file or an image from your computer + to the images/stories folder.
      • +
      • Save: Saves the + section and returns to Manager.
      • +
      • Apply: + Saves the section and keep the page displayed + to edit.
      • +
      • Cancel: + Cancels the action. Any modification is lost. If + opened for edit, the Section remains checked-in.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/sections.manager.html 4.6-complete/uploadfiles/help/sections.manager.html --- 4.6rc2/uploadfiles/help/sections.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/sections.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,78 @@ + + + +Section Manager + + +Sections Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows show a list + of the Sections defined on your site.

      Display Columns +
        +
      • Section Name: This is the name of a section. + Click the name to edit the section parameters. A padlock + icon next to it shows that it is checked-out. To check-in, + click the name to edit ,
      • +
      • Published: Whether a section is published + or not. Click the icon to change the state.
      • +
      • Reorder: + This shows the order of Sections in the list. + Click the arrow icons to move the item up or down.
      • +
      • Order: + Shows the order of Sections in the list. + You may change it by editing 2 # conjointly and clicking + on the Save Order icon next to the Column + Heading Order.Note: the new ordering has an effect when + Sections lists are provided in the Frontend + of your site.
      • +
      • Access: This is the User access level.Section + ID: This is the ID for each section as + defined in the database.
      • +
      • # Categories: This is the number of categories + defined for the specific section.
      • +
      • # Active: This is the number of published + Content Items in the section.
      • +
      • #Trash: Number + of Content Items belonging to this section and currently + in the Trash.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish and Unpublish: + Same function as Published in the headings. You may + check multiple checkboxes.
      • +
      • New: Create a + new Section.
      • +
      • Edit: + Edit an existing section parameters.
      • +
      • Copy: + Opens a new Copy Section window where you + can choose to copy the specific Section and *all its Content + Items* to a new Section. This will copy the + Categories listed and all the items within the categories + (also listed) to the new Section created.
      • +
      • Delete: + Lets you delete the section chosen. An Alert will pop + to let you confirm this choice. This action can't + be performed if the section contains Content Items. + In this last case, you would have to delete the Content + Items and Categories first.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/sections.new.html 4.6-complete/uploadfiles/help/sections.new.html --- 4.6rc2/uploadfiles/help/sections.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/sections.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,73 @@ + + + +Section - New + + +Sections Manager +: Create a New Section + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets you create a Section.

      Display Columns +
        +
      • Section Title: Type here the name of the + section as you want it to display on your site.
      • +
      • Section Name: + Type here the name of the section as you want it + to appear in the database and the back-end.
      • +
      • Image: Select here + an image to display next to the Section Description + text. The dropdown lists an image choice from the images/stories + folder.
      • +
      • Image + position: Select here the position of + the image relative to the description text. Left + or right.
      • +
      • Ordering: + Select here the order of the section among + other sections. This will reflect in the Section Manager. + New sections default to the last place. Ordering + can be changed after applied or saved.
      • +
      • Access: + This is the user access level for the category. + Public, Registered or Special.
      • +
      • Published: Check the box to let the + item show on your site.
      • +
      • Description:  Type + here a description of the Section. This text will show + decided so when the section is displayed as + a table, blog or other sections.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Upload: Opens a new + window which lets you upload a file or an image from your computer + to the images/stories folder.
      • +
      • Save: Saves the + section and returns to Manager.
      • +
      • Apply: + Saves the section and keep the page displayed + to edit.
      • +
      • Cancel: + Cancels the action. Any modification is lost. If + opened for edit, the Section remains checked-in.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/statistics.searches.html 4.6-complete/uploadfiles/help/statistics.searches.html --- 4.6rc2/uploadfiles/help/statistics.searches.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/statistics.searches.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,66 @@ + + + +Statistics - Search Text + + + + +Statistics - Search Text + + + + + + + + + + + + + + + + + + + + + +
      Purpose: + +This page lists the logged search text that visitors have used on +your site. +

      You must enable the "Log Search +Strings" option in the "Statistics" tab of Global Configuration +for this data to be collected.

      + +Display Columns + +
        +
      • Search Text: This is the string or phrase the +site visitor entered.
      • +
      • Times Requested: This is the number of times +this text has been entered.
      • +
      • Results Returned: This is the number of search +items that would appear if you performed the search now.
      • +
      +

      +Some results to look at are words or phrases that are commonly +searched for, but return no results. You should assess whether +you have content that is applicable. If necessary, add keywords +using the Meta Info tab for that content item.

      + +

      Other results to look for are misspelt words or related words. +For example, if a common search word is 'dark' but it is commonly +misspelt as 'drak' then you may consider putting 'drak' in the +keywords section. You may also have content about a waste +facility where you might add common alternative terms in the meta +keywords such as 'trash' or 'dump'.

      + + +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons: n/a
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/syndicate.settings.html 4.6-complete/uploadfiles/help/syndicate.settings.html --- 4.6rc2/uploadfiles/help/syndicate.settings.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/syndicate.settings.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,109 @@ + + + +Syndication Settings + + +Syndication Settings + + + + + + + + + + + + + + + + + + + + +
      Purpose: +

      The Syndicate Component controls the settings related to the Syndication + of your site's contents via RSS and related protocols (e.g., Atom). + To display the syndication links to your site visitors you must + publush the Syndicate Module.

      Details +
        +
      • Cache: Choose the 'Yes' radio button to create and display a new Newsfeed dependant on the value set in the Cache Time field. Choose the 'No' radio + button to display a new Newsfeed each time an item is + added to the FrontPage Component and each time the Newsfeed + is accessed by another server. Warning: Setting Cache + to 'No' will cause your Newsfeed to be checked + every time someone visits any site where your Newsfeed + is syndicated. This can potentially cause excessive + bandwidth usage as well as extreme draw on your server + resources.
      • +
      • Cache Time: This is the number of seconds + before your site's database is checked for updates. The + default in Mambo is 3600 seconds, or 60 minutes. After this + time has elapsed, the Newsfeed will refresh itself from your + database thus displaying any new items you have published + through the FrontPage Component to your Newsfeed.
      • +
      • #Items: Enter the number of items you would + like to syndicate and display in your Newsfeed.
      • +
      • Title: Enter the title you wish to display + above your articles within your syndicated Newsfeed when + it is displayed on those sites and pages which syndicate + your Newsfeed. The title will appear as a link to your site.
      • +
      • Description: Enter a brief + statement to describe your Newsfeed. If none is entered, + it will default to "Mambo site syndication".
      • +
      • Image: Select an image from the drop-down menu to be included in your Newsfeed. If you do not have an image, you can upload one via the Media Manager.
      • +
      • Image Alt: Enter the text for + the “alt" tag to compliment the image you've + selected for inclusion in the Newsfeed via the Image drop-down + menu.
      • +
      • Limit Text: Choose + the 'Yes' radio button if you wish to limit the Text Length field. Choose the 'No' radio + button to force the value in the Text Length field to be + ignored, thus displaying the entire contents of each item.
      • +
      • Text Length: Enter the number of words to + display per Newsfeed item. NOTE: The + Limit Text radio button must be set to 'YES' to activate + this function.
      • +
      • Order: Set the order that items as listed + in the FrontPage Manager will be displayed. +
          +
        • 'Default': Arranges items according + to the order set in the FrontPage Manager.
        • +
        • 'FrontPage Ordering': Same as above.
        • +
        • 'Oldest first': Arranges items in chronological + order, with the oldest items first.
        • +
        • 'Most recent first': Arranges items + in chronological order, with the newest items first.
        • +
        • 'Title Alphabetical': Arranges items + by title in alphabetical order.
        • +
        • 'Title Reverse-Alphabetical': Arranges + items in reverse-alphabetical order.
        • +
        • 'Author Alphabetical': Arranges items + by author in alphabetical order.
        • +
        • 'Author Reverse-Alphabetical': Arranges + items by author in reverse alphabetical order.
        • +
        • 'Most Hits': Arranges items according + to the number of hits, with the items with the + most hits first.
        • +
        • 'Least Hits': Arranges items according + to the number of hits, with the items with the + least hits first.
        • +
        +
      • +
      • Live Bookmarks: Activate support + for Firefox Live Bookmark functionality.
      • +
      • Bookmark + File: Special file name. If none is entered, + will use the default file.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Saves your changes. +
      • +
      • Cancel: Cancels and exits without saving + your changes.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/templates.assign.html 4.6-complete/uploadfiles/help/templates.assign.html --- 4.6rc2/uploadfiles/help/templates.assign.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/templates.assign.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,41 @@ + + + +Templates - Assign + + +Templates: Assign + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page + lets you assign the template chosen to specific Menu Items/pages.The list + displays all your Menu Items grouped per menu.

      +

      You can select multiple Menu Items, by holding + the CTRL key while clicking.This will override de default + template for the pages chosen. If you choose 'None', + the Default template will be used for all  Menu Items/pages.

      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Save: Saves your choice + and returns to the Template Manager.
      • +
      • Cancel: Cancels + the action and returns to the Template Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/templates.edit-css.html 4.6-complete/uploadfiles/help/templates.edit-css.html --- 4.6rc2/uploadfiles/help/templates.edit-css.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/templates.edit-css.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,46 @@ + + + +Templates - Edit CSS + + +Templates: Edit +CSS + + + + + + + + + + + + + + + + + + + + +
      Purpose:From this screen, you can + edit the contents of the template_css.css file, for the selected + template. You can edit, add, or delete CSS classes. Please remember + that setting of this file, together with the index.php file,  control + the appearance of your template.For changes to be saved, + template_css.css file must be writable. You can make it writable, + by changing its permissions using an FTP client.During saving, + you can set its permissions back to unwritable, by checking the 'Make + unwritable after saving' option. Alternatively you can make + changes to this file, by downloading to your computer, editing + it with your favourite editor and uploading, replacing the old + file.
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Save: Save your changes.
      • +
      • Cancel: Cancel the present operation without saving.
      • +
      + +

       

      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/templates.edit-html.html 4.6-complete/uploadfiles/help/templates.edit-html.html --- 4.6rc2/uploadfiles/help/templates.edit-html.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/templates.edit-html.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,45 @@ + + + +Templates - Edit HTML + + +Templates: Edit +HTML + + + + + + + + + + + + + + + + + + + + +
      Purpose:From this screen, you can + edit the contents of the index.php file, for the selected + template. Please remember that setting of this file, together + with the template_css.css file,  control the appearance of + your template.For changes to be saved, index.php file must + be writable. You can make it writable, by changing its permissions + using an FTP client.During saving, you can set its permissions + back to unwritable, by checking the 'Make unwritable after + saving' option. Alternatively you can make changes to this + file, by downloading to your computer, editing it with your favourite + editor and uploading, replacing the old file.
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Save: Save your changes.
      • +
      • Cancel: Cancel the present operation without + saving.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/templates.manager.admin.html 4.6-complete/uploadfiles/help/templates.manager.admin.html --- 4.6rc2/uploadfiles/help/templates.manager.admin.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/templates.manager.admin.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,79 @@ + + + +Admin Template Manager + + + +Admin Template Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Using Template Manager + you can view all the installed templates. You can also + assign and edit Templates. Templates affect the way your + site looks. You have to set one as the default. You can assign + other templates to Menu Items/pages you choose. That way, + you can change if you wish, the way your site looks, based + on the context. Select a template by checking the radio button + next to its name.

      + Display + Columns +
        +
      • Name: This is the name of the template. + If you mouseover this name -and the 'Preview template' on + top right of the list is checked-, a preview of the + template is displayed. 
      • +
      • Default: + This is the template that is currently published as + the site template (only one can be published at a time). 
      • +
      • Version: + This is the template version. 
      • +
      • Date: + This is the creation date of the template. 
      • +
      • Author + URL: A URL provided by the author. 
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Default: Assigns this + default template to all Menu Items/pages. That will + be the main template. It will be used, unless it is overridden + by an assigned template.
      • +
      • New: + Lets upload/install a new template to your site. 
      • +
      • Edit + HTML: Lets edit the templates/the-template-chosen/index.php + file. This is the file loaded in the FrontEnd when + a user opens your site.
      • +
      • Edit CSS: Lets edit the + templates/the-template-chosen/css/template_css.css + file which contains the CSS classes definitions for this + specific template. 
      • +
      • Delete: + Lets you delete a template. You will be asked to confirm + the delete operation. Select 'Yes' to + delete or 'No' to cancel. The template will + be permanently + deleted from the database.
      • +
      +
      + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/templates.manager.html 4.6-complete/uploadfiles/help/templates.manager.html --- 4.6rc2/uploadfiles/help/templates.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/templates.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,87 @@ + + + +Template Manager + + +Template Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Using Template Manager + you can view and manage all the installed templates. + Templates your site's appearance. You have to set one template + as the default but you can assign other templates to Menu + Items/pages you choose. Select a template + by checking the radio button next to its name.

      +

      Display + Columns +

      +
        +
      • Name: This is the name of the template. + If you mouseover this name - and the 'Preview template' on + top right of the list is checked - a preview of the + template pops up. 
      • +
      • Default: + Indicates which template is currently published + as the default template (only one can be published at + a time). 
      • +
      • Assigned: + This tells us whether the template is dynamically assigned + to one of the pages on the site. 
      • +
      • Author: The name of the template's author, + as per the XML file.
      • +
      • Version: + The template's version. 
      • +
      • Date: + The creation date of the template. 
      • +
      • Author + URL: A URL provided by the author. 
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Preview Template: Select to enable pop + up previews of the templates on mouseover of the template's name.
      • +
      Toolbar Icons:
        +
      • Default: Assigns the template to the default + role. The default template will be + used for all pages unless it is overridden by an assigned + template.
      • +
      • Assign: Opens a page where you + can assign a template to specific Menu Items/pages. + This will override the default template for the pages chosen.
      • +
      • New: + Links to the Universal Installer. Lets upload/install + a new template to your site. 
      • +
      • Edit + HTML: Edit the template's index.php + file in your browser window.
      • +
      • Edit CSS: Edit the + template's template_css.css + file in your browser window. 
      • +
      • Delete: + Delete a template. You will be asked to confirm + the delete operation. Select 'Yes' to + delete or 'No' to cancel. The template will + be permanently + deleted from the database.
      • +
      + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/templates.module-positions.html 4.6-complete/uploadfiles/help/templates.module-positions.html --- 4.6rc2/uploadfiles/help/templates.module-positions.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/templates.module-positions.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,56 @@ + + + +Module Positions + + + +Module Positions + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Module + Positions page allows you to enter details of the module + positions you have used in your template. All the default + module positions are already entered and in general it is + unlikely you would need to change this.Should you want to + use positions that do not pre-exist in the default Mambo + setup you can simply add a name for a module position and + a description. The description is optional.

      +

      Each module position you define in your template, + must have an entry in module positions screen. Otherwise + it wan't function.When you click on Site -> Preview + -> Inline with Position, you may visualize your + Home page with blocks displaying the Positions used in the + template assigned to the Home page.

      Usage:

      To create a new module + position in your template, you insert this basic code into + your template to be able to assign modules to a specific + position.

      +

      <?php mosLoadModules ( 'position' ); + ?>

      +
        +
      • The word 'position' is to be changed to + whichever position you define on this page. The name + of the positin must not has any spaces.
      • +
      Default State: n/a
      Parameters:n/a
      Toolbar Icons: n/a
      + + +

       

      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/trash.manager.html 4.6-complete/uploadfiles/help/trash.manager.html --- 4.6rc2/uploadfiles/help/trash.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/trash.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,55 @@ + + + +Trash Manager + + +Trash Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This screen shows a + list of the Content Items that is in the 'Trash bin'. + Trash bin is the equivelant of the 'Recycle bin' on + Windows. There are two tabs. Content Items tab, displays + all the Content Items that have been trashed. Menu Items + tab, displays all the Menu Items that have been trashed.

      Display Columns +
        +
      • Title: This is the title of the trashed item
      • +
      • Section: + This is the section of the trashed item.
      • +
      • Category: + This is the category of the trashed item.
      • +
      • ID: + This is the ID of the trashed item.
      • +
      • Menu: + The menu this Menu Item belongs
      • +
      • Type: + The type of Menu Item
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      n/a

      Toolbar Icons:
        +
      • Restore: Select + an item from the table and click the Restore icon to undelet + it. The item will be returned to its original position, and + by default, it will be unpublished.
      • +
      • Delete: + Select an item from the table and click the delete + icon, to permanently delete it.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/typedcontent.edit.html 4.6-complete/uploadfiles/help/typedcontent.edit.html --- 4.6rc2/uploadfiles/help/typedcontent.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/typedcontent.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,239 @@ + + + +Static Content - Edit + + +Static Content : Edit a Static Content Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets + edit a Static Content Item.

      + Details +
        +
      • Title: Type here is the title + of the Static Content. This is the title as it will appear + on the page when displayed.
      • +
      • Title Alias: + This field is optional.
      • +
      • Text: + Type here the content you want to display.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      The Attributes Area for Static Content consists of five tabs: + Publishing, Images, Parameters, Meta Info and Link to Menu. +

      +

      (1) Publishing

      +
        +
      • Published: Check + the box to let the item show on your site.
      • +
      • Access + Level: Choose who will be able to view this + content. Public, registered or special.
      • +
      • Author Alias: + You can publish the author's name for a piece of + content. You can choose a Registered user as displayed + through the dropdown or type any name there (an author + that does not have an account or content created by + many authors as a group).
      • +
      • Change + Creator: This allows you to assign ownership + of this content to another registered user.
      • +
      • Ordering: + Select the order in which this content is listed relative + to others in this Category. The choices available in + the dropdown will show once changes to the item are + saved or applied.
      • +
      • Override Created Date: + This shows the created date for the content. You can + change the date if necessary.
      • +
      • Start Publishing: + Select the date when this document is to be published + on the web site.
      • +
      • Finish + Publishing: If desired, you can set the date + when your content is to be expired.
      • +
      • Content ID: + This is the ID of the content in the database.
      • +
      • State: + This shows the current state of the document. It is + not editable.
      • +
      • Hits: + This gives the number of times this content was viewed. + The 'Reset + Hit Count' button allows you to reset the counter + to zero.
      • +
      • Revised: This shows the number + of edits this content has undergone.
      • +
      • Created: + This is the date this Content Item was created.
      • +
      • By: + This is the name of the user that created + the Content Item.
      • +
      • Last + Modified: This is the date + when this Content Item was last + modified, if ever.
      • +
      • By: + This is the name of the user + that last modified this content, if ever.
      • +

      (2) Images

      +
        +
      • Sub-folder: Choose + here the sub-folder you want to get the images from. These + are in images/stories/.
      • +
      • Gallery Images: + This dropdown lists the images available in the specific + sub-folder. Highlight one or multiple image name(s) + and click on the 'Add' button.The + name(s) will display in the Content Images dropdown.
      • +
      • Content + Images:The 'up' and 'down' buttons + determine the order of images if there are more than + one on this page. The images will display relative to + the instances of {mosimage} tags in your content.
      • +
      • Edit the image + selectedSelect an image in 'Content Images'.
      • +
      • Source: + Displays the default name of the image highlighted. + You may edit that name.
      • +
      • Image Align: + Lets you choose between None, center, left + or right.
      • +
      • Alt Text: + Lets you choose an Alt Text for the image.
      • +
      • Border: + Type here the number of pixels you + want the border to be around the image.
      • +
      • Caption: + Type here a caption for the + image.
      • +
      • Caption Align: + Lets you choose between + None, center, left or right.
      • +
      • Width: + Type here a number + in pixels to override the width of the image.
      • +
      • Apply: + Click on this button + to apply all the parameters defined for this + image
      • +

      (3) Parameters

      +
        +
      • Menu Image: A small image to place + to the right of your Menu Item. Images must be in images/stories.
      • +
      • Page + Title: Hides or shows the Page Title as defined + in 'Details'.
      • +
      • Page Class Suffix: + Allows you to set customized styles for this page. The + suffix you type here is automatically added to the CSS + classes for this page, and will have to be defined in + your template's + CSS style sheet for usage.
      • +
      • Back Button: + Controls whether to show or hide a "Back" text + link that would appear on the bottom of the page and + return the user to the previously viewed page. The pull + down lets select 'Use + Global' to use the parameter as defined globally + through the Site->Global Configuration, 'Hide' or 'Show'.For + each of the following seven items listed below, you + can use the option selected in the Global Configuration + settings (Site -> Global Configuration) by selecting 'Use + Global' or + you can override the Global Configuration setting by + selecting 'Show' or 'Hide.' Overriding + the settings here for items will not affect the Global + Configuration settings and will not affect the settings + on the rest of the site.
      • +
      • Item Rating: + Hides or shows ratings given to home page items by your + site's users.
      • +
      • Author + Names: Hides or shows the names of authors + of items.
      • +
      • Created + Date and Time: Hides or shows the + date and time that items were created.
      • +
      • Modified Date and + Time: + Hides or shows the date and time that + items were last modified.
      • +
      • PDF + Icon: Hides or shows the + icon and link to the PDF version + of items.
      • +
      • Print Icon: + Hides or shows the icon and + link to the printer-friendly format of + items.
      • +
      • Email + Icon: Hides or + shows the icon and link + to the page that enables + users to email items to + others.
      • +

      (4) Meta Info

      +
        +
      • Description: + This information is inserted in the headers of your content. + It is commonly used by search engines.
      • +
      • Keywords: + These keywords are also related to the header information + provided for search engines, but provide too a much + more important function. These keywords drive the What's + Related Module that provides automatic links to other + Content Items that shares a similar keyword.
      • +
      • Add Sect/Cat/Title:  Clicking + on this button is a convenient way to insert the content's + information into the keywords field, including the content's + title, section name, and category name.
      • +

      (5) Link to Menu -- This + will create a 'Link - Static Content Item' in the + menu you select.NOTE: There is no other way to show this + content on your site. The link may also be created through + the Menu Manager.

      +
        +
      • Select a Menu: Highlight + here one the menus defined for your site.
      • +
      • Menu Item + Name: The name of the Menu as it will appear + on your site.
      • +
      • Link to Menu: Click on + this button to create the Menu Item.Existing Menu ItemsThis + displays a list of all 'Link - Static Content Item' Menu + Items referencing this static content.
      • +
      Toolbar Icons:
        +
      • Preview: Opens a new + window to preview the content as you would in the Front-end of + your site.
      • +
      • Upload: Opens a new window which lets + you upload a file or an image from your computer + to the images/stories folder.
      • +
      • Save: Saves the content and returns to + Manager.
      • +
      • Apply: Saves the content and keep the + content displayed to edit.
      • +
      • Cancel: + Cancels the action. Any modification is lost. + If opened to edit, the Static Content Item remains + checked-in.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/typedcontent.manager.html 4.6-complete/uploadfiles/help/typedcontent.manager.html --- 4.6rc2/uploadfiles/help/typedcontent.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/typedcontent.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,81 @@ + + + +Static Content Manager + + +Static Content +Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      The Static Content Manager shows + a list of the Static Content Items on your site. Static Content + Items are not part of a section or category. They cannot + be added to a blog, category or section page. The only way + to display them on your site is through a Menu Item link.

      + Display Columns +
        +
      • Title: This is the title of the Content + item. Click here to edit content. A padlock icon next + to it shows that it is checked-out. To check-in, click + the name to edit.
      • +
      • Published: This + shows whether the item is published. Hover over + this icon to see a summary of the publishing information. + Click to change state.
      • +
      • Order: + Shows the order of Static Content Items in list. + You may change it by editing 2 # conjointly and clicking + on the Save Order icon next to the Column Heading Order.
      • +
      • Access: + This is the user access level for the Menu Item. + Click on the Access level to switch it to another value.
      • +
      • ID: This is the ID of the item in the + database.
      • +
      • Links: This is the # of Link - Static + Content Items for this item in your menus. 
      • +
      • Author: + This shows the name of the author of the Static + Content. Click to edit the author information.
      • +
      • Date: + This is the date the item was created.
      • +
      +

      You may enter text in the "Filter" box + to refine the list based on whether the text is found in + the title of any item. Type in any text and press Enter. + You may also "Order" the list + by a specific ordering and/or Author.

      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • New: Click the 'New' icon + to create a new Static Content Item. 
      • +
      • Edit: + Click the 'Edit' icon to edit the Static Content + item.
      • +
      • Publish and Unpublish: Click the 'Publish' or 'Unpublish' icon + to publish or unpublish any number of selected Static + Content Items.
      • +
      • Trash: Click the 'Trash' icon + to put the Static Content Items in the trash bin. They + are not completely removed but can't be displayed + on your site. You can restore this Static Content Items + in the Trash Manager.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/typedcontent.new.html 4.6-complete/uploadfiles/help/typedcontent.new.html --- 4.6rc2/uploadfiles/help/typedcontent.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/typedcontent.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,241 @@ + + + +Static Content - New + + +Static Content : Create a New Static Content Item + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page lets createa Static Content Item.Static Content Items are not part + of a section or category. They cannot be added to a blog, category + or section page. The only way to display them on your site is + through a Menu Item link.

      + Details +
        +
      • Title: Type here is the title + of the Static Content. This is the title as it will appear + on the page when displayed.
      • +
      • Title Alias: + This field is optional.
      • +
      • Text (required): + Type here the content you want to display.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:

      The Attributes Area for Static Content consists of five tabs: + Publishing, Images, Parameters, Meta Info and Link to Menu. +

      +

      (1) Publishing

      +
        +
      • Published: Check + the box to let the item show on your site.
      • +
      • Access + Level: Choose who will be able to view this + content. Public, registered or special.
      • +
      • Author Alias: + You can publish the author's name for a piece of + content. You can choose a Registered user as displayed + through the dropdown or type any name there (an author + that does not have an account or content created by + many authors as a group).
      • +
      • Change + Creator: This allows you to assign ownership + of this content to another registered user.
      • +
      • Ordering: + Select the order in which this content is listed relative + to others in this Category. The choices available in + the dropdown will show once changes to the item are + saved or applied.
      • +
      • Override Created Date: + This shows the created date for the content. You can + change the date if necessary.
      • +
      • Start Publishing: + Select the date when this document is to be published + on the web site.
      • +
      • Finish + Publishing: If desired, you can set the date + when your content is to be expired.
      • +
      • Content ID: + This is the ID of the content in the database.
      • +
      • State: + This shows the current state of the document. It is + not editable.
      • +
      • Hits: + This gives the number of times this content was viewed. + The 'Reset + Hit Count' button allows you to reset the counter + to zero.
      • +
      • Revised: This shows the number + of edits this content has undergone.
      • +
      • Created: + This is the date this Content Item was created.
      • +
      • By: + This is the name of the user that created + the Content Item.
      • +
      • Last + Modified: This is the date + when this Content Item was last + modified, if ever.
      • +
      • By: + This is the name of the user + that last modified this content, if ever.
      • +

      (2) Images

      +
        +
      • Sub-folder: Choose + here the sub-folder you want to get the images from. These + are in images/stories/.
      • +
      • Gallery Images: + This dropdown lists the images available in the specific + sub-folder. Highlight one or multiple image name(s) + and click on the 'Add' button.The + name(s) will display in the Content Images dropdown.
      • +
      • Content + Images:The 'up' and 'down' buttons + determine the order of images if there are more than + one on this page. The images will display relative to + the instances of {mosimage} tags in your content.
      • +
      • Edit the image + selectedSelect an image in 'Content Images'.
      • +
      • Source: + Displays the default name of the image highlighted. + You may edit that name.
      • +
      • Image Align: + Lets you choose between None, center, left + or right.
      • +
      • Alt Text: + Lets you choose an Alt Text for the image.
      • +
      • Border: + Type here the number of pixels you + want the border to be around the image.
      • +
      • Caption: + Type here a caption for the + image.
      • +
      • Caption Align: + Lets you choose between + None, center, left or right.
      • +
      • Width: + Type here a number + in pixels to override the width of the image.
      • +
      • Apply: + Click on this button + to apply all the parameters defined for this + image
      • +

      (3) Parameters

      +
        +
      • Menu Image: A small image to place + to the right of your Menu Item. Images must be in images/stories.
      • +
      • Page + Title: Hides or shows the Page Title as defined + in 'Details'.
      • +
      • Page Class Suffix: + Allows you to set customized styles for this page. The + suffix you type here is automatically added to the CSS + classes for this page, and will have to be defined in + your template's + CSS style sheet for usage.
      • +
      • Back Button: + Controls whether to show or hide a "Back" text + link that would appear on the bottom of the page and + return the user to the previously viewed page. The pull + down lets select 'Use + Global' to use the parameter as defined globally + through the Site->Global Configuration, 'Hide' or 'Show'.For + each of the following seven items listed below, you + can use the option selected in the Global Configuration + settings (Site -> Global Configuration) by selecting 'Use + Global' or + you can override the Global Configuration setting by + selecting 'Show' or 'Hide.' Overriding + the settings here for items will not affect the Global + Configuration settings and will not affect the settings + on the rest of the site.
      • +
      • Item Rating: + Hides or shows ratings given to home page items by your + site's users.
      • +
      • Author + Names: Hides or shows the names of authors + of items.
      • +
      • Created + Date and Time: Hides or shows the + date and time that items were created.
      • +
      • Modified Date and + Time: + Hides or shows the date and time that + items were last modified.
      • +
      • PDF + Icon: Hides or shows the + icon and link to the PDF version + of items.
      • +
      • Print Icon: + Hides or shows the icon and + link to the printer-friendly format of + items.
      • +
      • Email + Icon: Hides or + shows the icon and link + to the page that enables + users to email items to + others.
      • +

      (4) Meta Info

      +
        +
      • Description: + This information is inserted in the headers of your content. + It is commonly used by search engines.
      • +
      • Keywords: + These keywords are also related to the header information + provided for search engines, but provide too a much + more important function. These keywords drive the What's + Related Module that provides automatic links to other + Content Items that shares a similar keyword.
      • +
      • Add Sect/Cat/Title:  Clicking + on this button is a convenient way to insert the content's + information into the keywords field, including the content's + title, section name, and category name.
      • +

      (5) Link to Menu -- This + will create a 'Link - Static Content Item' in the + menu you select.NOTE: There is no other way to show this + content on your site. The link may also be created through + the Menu Manager.

      +
        +
      • Select a Menu: Highlight + here one the menus defined for your site.
      • +
      • Menu Item + Name: The name of the Menu as it will appear + on your site.
      • +
      • Link to Menu: Click on + this button to create the Menu Item.Existing Menu ItemsThis + displays a list of all 'Link - Static Content Item' Menu + Items referencing this static content.
      • +
      Toolbar Icons:
        +
      • Preview: Opens a new + window to preview the content as you would in the Front-end of + your site.
      • +
      • Upload: Opens a new window which lets + you upload a file or an image from your computer + to the images/stories folder.
      • +
      • Save: Saves the content and returns to + Manager.
      • +
      • Apply: Saves the content and keep the + content displayed to edit.
      • +
      • Cancel: + Cancels the action. Any modification is lost. + If opened to edit, the Static Content Item remains + checked-in.
      • +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/users.edit.html 4.6-complete/uploadfiles/help/users.edit.html --- 4.6rc2/uploadfiles/help/users.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/users.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,70 @@ + + + +Users - Edit + + + +User Manager : Edit Users + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This screen is used to either add a new user or edit an existing one.

      + Details +
        +
      • Name: Enter the name of the user as it will + be listed in the User Manager.
      • +
      • Username: Enter the Username to be used for + login.
      • +
      • Email: Enter the user's e-mail adress.
      • +
      • New Password: Enter the user's password. + If you want to change a user's password you can enter + here the new one, and retype it on the next field.
      • +
      • Verify Password: Enter again the user's + password.
      • +
      • Group: Choose a type of user.
      • +
      • Block User: Enable / disable the user's ability + to login.
      • +
      • Receive Submission Emails: Enable an e-mail + to be sent to the administrator when the user has submitted + some content.
      • +
      • Register Date: The date the user + was registered.
      • +
      • Last Visit Date: The date on which this user + has last logged in.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Contact Information: + These information is only present when editing a user and + only if the contact has been created in the Contacts Component + and linked to the user (Components -> Contact -> Manage + Contacts). If this has been done the information will be + displayed and a link at the bottom of the box provides a + direct access to the Edit Contact page for that contact.
      • +
      Toolbar Icons:
        +
      • Save: Save the new user and return to User + Manager.
      • +
      • Apply: Saves the new user and keeps the screen + open for editing.
      • +
      • Cancel: Cancels the action without saving + changes.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/users.manager.html 4.6-complete/uploadfiles/help/users.manager.html --- 4.6rc2/uploadfiles/help/users.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/users.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,53 @@ + + + +User Manager + + +User Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page shows the Users + registered for your site. From here, you can add or edit Users.

      Display Columns +
        +
      • Name: This is the real or display name of user. Click the name to edit the User's information.
      • +
      • Logged In: This shows whether the user is logged in or not.
      • +
      • Enabled: This shows whether the user is allowed to log in to the site. Click the icon to toggle the state of the user. 
      • +
      • User ID: This is the login name of the user. 
      • +
      • Group: This is the group that the user is associated with. 
      • +
      • Email: This is the User's e-mail address.
      • +
      • Last Visit: This is the date and time + that the user last logged in to the site.
      • +
      +

      Filters: Enable you to search the list of users.

      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • New: Click the 'New' icon to create a new User.
      • +
      • Edit: Click the 'Edit' icon to edit a User's information.
      • +
      • Delete: Click the 'Delete' icon to delete the user from the database. You can delete more than one user at a time.
      • +
      • Force Logout: Click the 'Force Logout' icon to log a user out.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/users.new.html 4.6-complete/uploadfiles/help/users.new.html --- 4.6rc2/uploadfiles/help/users.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/users.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,54 @@ + + + +Users - New + + + +User Manager : Add User + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This screen is used to + add a new user account to your site.

      + Details +
        +
      • Name: Enter the name of the user as it + will be listed in the User Manager.
      • +
      • Username: Enter the Username which will be + used for login.
      • +
      • Email: Enter the user's e-mail adress.
      • +
      • New Password: Enter the user's password.
      • +
      • Verify Password: Enter again the user's + password.
      • +
      • Group: Choose a type of user.
      • +
      • Block User: Enable / disable the user's ability + to login.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Save: Save the new user and + return to User Manager.
      • +
      • Apply: Saves the new user and keeps the screen + open for editing.
      • +
      • Cancel: Cancels the action without saving + changes.
      • +
      + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/weblinks.edit.html 4.6-complete/uploadfiles/help/weblinks.edit.html --- 4.6rc2/uploadfiles/help/weblinks.edit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/weblinks.edit.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,57 @@ + + + +Web Links - Edit + + +Web Link Manager : Edit + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allow you to + edit the details for a Web Link.

      + Details +
        +
      • Name: Enter the name of the Weblink + as it will appear on your site. 
      • +
      • Category: Select the desired category. 
      • +
      • URL: Enter the URL address of the Web + Link. 
      • +
      • Description: Add a text description + for the Web Link. 
      • +
      • Ordering: Choose here the order of the + Web Link in the specific category as it will appear + on the site when displayed. 
      • +
      • Approved: Determines whether Web Link + is approved for publication.
      • +
      • Published: Set whether the item is published + and viewable.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Target: Determines whether clicking on the + link will open the target in the same Window (Parent Window + with Browser Navigation), in a New Window with Browser Navigation + or in a New Window without Browser Navigation.
      • +
      Toolbar Icons:
        +
      • Save: Saves the Web Link and returns to Manager.
      • +
      • Close: Cancels and closes without saving + changes.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/weblinks.manager.html 4.6-complete/uploadfiles/help/weblinks.manager.html --- 4.6rc2/uploadfiles/help/weblinks.manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/weblinks.manager.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,59 @@ + + + +Web Links Manager + + +Web Link Manager + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      Weblink Manager + is the place from where you can add or administer the Web + LinkItems contained in the Weblinks Component. You can create + new Web Links, publish, unpublish or delete + them fromt his screen.  

      + Display Columns +
        +
      • Title: This is the name of the Web + Link. Click the name to edit the Web Link. 
      • +
      • Published: Indicates whether the link + item is published. Click the icon to toggle the state.
      • +
      • Approved: Indicates whether the link + item has been approved for publication. Click the icon to + toggle the state.
      • +
      • Reorder: Click the arrows to move the + item up or down the list to reorder.
      • +
      • Category: Indicate to which Weblink + Category the Item has been assigned.
      • +
      • Hits: How many times has the link been + clicked on?
      • +
      Usage:n/a
      Default State: n/a
      Parameters:n/a
      Toolbar Icons:
        +
      • Publish: Click to publish any number of selected + Items.
      • +
      • Unpublish: Click to unpublish any number + of selected Items.
      • +
      • New: Click to create a new item.
      • +
      • Edit: Select an item, then click to edit + the item.
      • +
      • Delete: Click to delete one or more items.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/help/weblinks.new.html 4.6-complete/uploadfiles/help/weblinks.new.html --- 4.6rc2/uploadfiles/help/weblinks.new.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/help/weblinks.new.html 2006-09-20 19:05:05.000000000 -0500 @@ -0,0 +1,57 @@ + + + +Web Links - New + + +Web Link Manager : Create +a New Weblink Item + + + + + + + + + + + + + + + + + + + + + +
      Purpose:

      This page allow you to + add a Web Link.

      + Details +
        +
      • Name: Enter the name of the Weblink as it + will appear on your site. 
      • +
      • Category: Select the desired category. 
      • +
      • URL: Enter the URL address of the Web Link. 
      • +
      • Description: Add a text description for the Web Link. 
      • +
      • Ordering: Choose here the order of the Web + Link in the specific category as it will appear on the site + when displayed. 
      • +
      • Approved: Determines whether Web Link is + approved for publication.
      • +
      • Published: Set whether the item is published + and viewable.
      • +
      Usage:n/a
      Default State: n/a
      Parameters:
        +
      • Target: Determines whether clicking on the + link will open the target in the same Window (Parent Window + with Browser Navigation), in a New Window with Browser Navigation + or in a New Window without Browser Navigation.
      • +
      Toolbar Icons:
        +
      • Save: Saves the Web Link and returns to Manager.
      • +
      • Close: Cancels and closes without saving + changes.
      • +
      + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/htaccess.txt 4.6-complete/uploadfiles/htaccess.txt --- 4.6rc2/uploadfiles/htaccess.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/htaccess.txt 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,31 @@ +## +# @package Mambo Open Source +# @copyright (C) 2005 - 2006 Mambo Foundation Inc. +# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +# +# Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure +# that Mambo remained free Open Source software owned and managed by the community. +# Mambo is Free Software +## + +# +# mod_rewrite in use +# + +RewriteEngine On + +# Uncomment following line if your webserver's URL +# is not directly related to physical file paths. +# Update YourMamboDirectory (just / for root) + +# RewriteBase /YourMamboDirectory + +# +# Rules +# + +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^content/(.*) index3.php +RewriteRule ^component/(.*) index3.php +RewriteRule ^mos/(.*) index3.php Binary files 4.6rc2/uploadfiles/images/M_images/arrow.png and 4.6-complete/uploadfiles/images/M_images/arrow.png differ Binary files 4.6rc2/uploadfiles/images/M_images/atom03.gif and 4.6-complete/uploadfiles/images/M_images/atom03.gif differ Binary files 4.6rc2/uploadfiles/images/M_images/atom10.gif and 4.6-complete/uploadfiles/images/M_images/atom10.gif differ Binary files 4.6rc2/uploadfiles/images/M_images/blank.png and 4.6-complete/uploadfiles/images/M_images/blank.png differ Binary files 4.6rc2/uploadfiles/images/M_images/con_address.png and 4.6-complete/uploadfiles/images/M_images/con_address.png differ Binary files 4.6rc2/uploadfiles/images/M_images/con_fax.png and 4.6-complete/uploadfiles/images/M_images/con_fax.png differ Binary files 4.6rc2/uploadfiles/images/M_images/con_info.png and 4.6-complete/uploadfiles/images/M_images/con_info.png differ Binary files 4.6rc2/uploadfiles/images/M_images/con_tel.png and 4.6-complete/uploadfiles/images/M_images/con_tel.png differ Binary files 4.6rc2/uploadfiles/images/M_images/donate.gif and 4.6-complete/uploadfiles/images/M_images/donate.gif differ Binary files 4.6rc2/uploadfiles/images/M_images/edit.png and 4.6-complete/uploadfiles/images/M_images/edit.png differ Binary files 4.6rc2/uploadfiles/images/M_images/emailButton.png and 4.6-complete/uploadfiles/images/M_images/emailButton.png differ Binary files 4.6rc2/uploadfiles/images/M_images/google.png and 4.6-complete/uploadfiles/images/M_images/google.png differ Binary files 4.6rc2/uploadfiles/images/M_images/indent.png and 4.6-complete/uploadfiles/images/M_images/indent.png differ Binary files 4.6rc2/uploadfiles/images/M_images/indent1.png and 4.6-complete/uploadfiles/images/M_images/indent1.png differ Binary files 4.6rc2/uploadfiles/images/M_images/indent2.png and 4.6-complete/uploadfiles/images/M_images/indent2.png differ Binary files 4.6rc2/uploadfiles/images/M_images/indent3.png and 4.6-complete/uploadfiles/images/M_images/indent3.png differ Binary files 4.6rc2/uploadfiles/images/M_images/indent4.png and 4.6-complete/uploadfiles/images/M_images/indent4.png differ Binary files 4.6rc2/uploadfiles/images/M_images/indent5.png and 4.6-complete/uploadfiles/images/M_images/indent5.png differ diff -ruN 4.6rc2/uploadfiles/images/M_images/index.html 4.6-complete/uploadfiles/images/M_images/index.html --- 4.6rc2/uploadfiles/images/M_images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/images/M_images/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file Binary files 4.6rc2/uploadfiles/images/M_images/mambo_rss.png and 4.6-complete/uploadfiles/images/M_images/mambo_rss.png differ Binary files 4.6rc2/uploadfiles/images/M_images/new.png and 4.6-complete/uploadfiles/images/M_images/new.png differ Binary files 4.6rc2/uploadfiles/images/M_images/no_indent.png and 4.6-complete/uploadfiles/images/M_images/no_indent.png differ Binary files 4.6rc2/uploadfiles/images/M_images/opml.png and 4.6-complete/uploadfiles/images/M_images/opml.png differ Binary files 4.6rc2/uploadfiles/images/M_images/pdf_button.png and 4.6-complete/uploadfiles/images/M_images/pdf_button.png differ Binary files 4.6rc2/uploadfiles/images/M_images/printButton.png and 4.6-complete/uploadfiles/images/M_images/printButton.png differ Binary files 4.6rc2/uploadfiles/images/M_images/rating_star.png and 4.6-complete/uploadfiles/images/M_images/rating_star.png differ Binary files 4.6rc2/uploadfiles/images/M_images/rating_star_blank.png and 4.6-complete/uploadfiles/images/M_images/rating_star_blank.png differ Binary files 4.6rc2/uploadfiles/images/M_images/rss.png and 4.6-complete/uploadfiles/images/M_images/rss.png differ Binary files 4.6rc2/uploadfiles/images/M_images/rss091.gif and 4.6-complete/uploadfiles/images/M_images/rss091.gif differ Binary files 4.6rc2/uploadfiles/images/M_images/rss10.gif and 4.6-complete/uploadfiles/images/M_images/rss10.gif differ Binary files 4.6rc2/uploadfiles/images/M_images/rss20.gif and 4.6-complete/uploadfiles/images/M_images/rss20.gif differ Binary files 4.6rc2/uploadfiles/images/M_images/sort_asc.png and 4.6-complete/uploadfiles/images/M_images/sort_asc.png differ Binary files 4.6rc2/uploadfiles/images/M_images/sort_desc.png and 4.6-complete/uploadfiles/images/M_images/sort_desc.png differ Binary files 4.6rc2/uploadfiles/images/M_images/sort_none.png and 4.6-complete/uploadfiles/images/M_images/sort_none.png differ Binary files 4.6rc2/uploadfiles/images/M_images/weblink.png and 4.6-complete/uploadfiles/images/M_images/weblink.png differ Binary files 4.6rc2/uploadfiles/images/banners/RecruitmentBanner.gif and 4.6-complete/uploadfiles/images/banners/RecruitmentBanner.gif differ Binary files 4.6rc2/uploadfiles/images/banners/SupportMFBanner.gif and 4.6-complete/uploadfiles/images/banners/SupportMFBanner.gif differ diff -ruN 4.6rc2/uploadfiles/images/banners/index.html 4.6-complete/uploadfiles/images/banners/index.html --- 4.6rc2/uploadfiles/images/banners/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/images/banners/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/images/banners/mamboFoundation_468_60.gif and 4.6-complete/uploadfiles/images/banners/mamboFoundation_468_60.gif differ Binary files 4.6rc2/uploadfiles/images/banners/mambolove1.jpg and 4.6-complete/uploadfiles/images/banners/mambolove1.jpg differ Binary files 4.6rc2/uploadfiles/images/blank.png and 4.6-complete/uploadfiles/images/blank.png differ Binary files 4.6rc2/uploadfiles/images/cancel.png and 4.6-complete/uploadfiles/images/cancel.png differ Binary files 4.6rc2/uploadfiles/images/cancel_f2.png and 4.6-complete/uploadfiles/images/cancel_f2.png differ Binary files 4.6rc2/uploadfiles/images/favicon.ico and 4.6-complete/uploadfiles/images/favicon.ico differ diff -ruN 4.6rc2/uploadfiles/images/index.html 4.6-complete/uploadfiles/images/index.html --- 4.6rc2/uploadfiles/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/images/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/images/logo.png and 4.6-complete/uploadfiles/images/logo.png differ Binary files 4.6rc2/uploadfiles/images/save.png and 4.6-complete/uploadfiles/images/save.png differ Binary files 4.6rc2/uploadfiles/images/save_f2.png and 4.6-complete/uploadfiles/images/save_f2.png differ Binary files 4.6rc2/uploadfiles/images/smilies/biggrin.gif and 4.6-complete/uploadfiles/images/smilies/biggrin.gif differ diff -ruN 4.6rc2/uploadfiles/images/smilies/index.html 4.6-complete/uploadfiles/images/smilies/index.html --- 4.6rc2/uploadfiles/images/smilies/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/images/smilies/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/images/smilies/sad.gif and 4.6-complete/uploadfiles/images/smilies/sad.gif differ Binary files 4.6rc2/uploadfiles/images/smilies/shocked.gif and 4.6-complete/uploadfiles/images/smilies/shocked.gif differ Binary files 4.6rc2/uploadfiles/images/smilies/smile.gif and 4.6-complete/uploadfiles/images/smilies/smile.gif differ Binary files 4.6rc2/uploadfiles/images/smilies/tongue.gif and 4.6-complete/uploadfiles/images/smilies/tongue.gif differ Binary files 4.6rc2/uploadfiles/images/smilies/wink.gif and 4.6-complete/uploadfiles/images/smilies/wink.gif differ Binary files 4.6rc2/uploadfiles/images/stories/articles.jpg and 4.6-complete/uploadfiles/images/stories/articles.jpg differ Binary files 4.6rc2/uploadfiles/images/stories/asterisk.png and 4.6-complete/uploadfiles/images/stories/asterisk.png differ Binary files 4.6rc2/uploadfiles/images/stories/clock.jpg and 4.6-complete/uploadfiles/images/stories/clock.jpg differ diff -ruN 4.6rc2/uploadfiles/images/stories/index.html 4.6-complete/uploadfiles/images/stories/index.html --- 4.6rc2/uploadfiles/images/stories/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/images/stories/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file Binary files 4.6rc2/uploadfiles/images/stories/key.jpg and 4.6-complete/uploadfiles/images/stories/key.jpg differ Binary files 4.6rc2/uploadfiles/images/stories/opensource-110x95.png and 4.6-complete/uploadfiles/images/stories/opensource-110x95.png differ Binary files 4.6rc2/uploadfiles/images/stories/pastarchives.jpg and 4.6-complete/uploadfiles/images/stories/pastarchives.jpg differ Binary files 4.6rc2/uploadfiles/images/stories/taking_notes.jpg and 4.6-complete/uploadfiles/images/stories/taking_notes.jpg differ Binary files 4.6rc2/uploadfiles/images/stories/web_links.jpg and 4.6-complete/uploadfiles/images/stories/web_links.jpg differ diff -ruN 4.6rc2/uploadfiles/includes/Archive/Tar.php 4.6-complete/uploadfiles/includes/Archive/Tar.php --- 4.6rc2/uploadfiles/includes/Archive/Tar.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/Archive/Tar.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1662 @@ + | +// +----------------------------------------------------------------------+ +// +// $Id: Tar.php,v 1.2 2005/07/22 03:24:02 eddieajau Exp $ + +/** ensure this file is being included by a parent file */ +defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); + +require_once $GLOBALS['mosConfig_absolute_path'] . '/includes/PEAR/PEAR.php'; + +define ('ARCHIVE_TAR_ATT_SEPARATOR', 90001); + +/** +* Creates a (compressed) Tar archive +* +* @author Vincent Blavet +* @version $Revision: 1.2 $ +* @package Archive +*/ +class Archive_Tar extends PEAR +{ + /** + * @var string Name of the Tar + */ + var $_tarname=''; + + /** + * @var boolean if true, the Tar file will be gzipped + */ + var $_compress=false; + + /** + * @var string Type of compression : 'none', 'gz' or 'bz2' + */ + var $_compress_type='none'; + + /** + * @var string Explode separator + */ + var $_separator=' '; + + /** + * @var file descriptor + */ + var $_file=0; + + /** + * @var string Local Tar name of a remote Tar (http:// or ftp://) + */ + var $_temp_tarname=''; + + // {{{ constructor + /** + * Archive_Tar Class constructor. This flavour of the constructor only + * declare a new Archive_Tar object, identifying it by the name of the + * tar file. + * If the compress argument is set the tar will be read or created as a + * gzip or bz2 compressed TAR file. + * + * @param string $p_tarname The name of the tar archive to create + * @param string $p_compress can be null, 'gz' or 'bz2'. This + * parameter indicates if gzip or bz2 compression + * is required. For compatibility reason the + * boolean value 'true' means 'gz'. + * @access public + */ + function Archive_Tar($p_tarname, $p_compress = null) + { + $this->PEAR(); + $this->_compress = false; + $this->_compress_type = 'none'; + if ($p_compress === null) { + if (@file_exists($p_tarname)) { + if ($fp = @fopen($p_tarname, "rb")) { + // look for gzip magic cookie + $data = fread($fp, 2); + fclose($fp); + if ($data == "\37\213") { + $this->_compress = true; + $this->_compress_type = 'gz'; + // No sure it's enought for a magic code .... + } elseif ($data == "BZ") { + $this->_compress = true; + $this->_compress_type = 'bz2'; + } + } + } else { + // probably a remote file or some file accessible + // through a stream interface + if (substr($p_tarname, -2) == 'gz') { + $this->_compress = true; + $this->_compress_type = 'gz'; + } elseif ((substr($p_tarname, -3) == 'bz2') || + (substr($p_tarname, -2) == 'bz')) { + $this->_compress = true; + $this->_compress_type = 'bz2'; + } + } + } else { + if (($p_compress === true) || ($p_compress == 'gz')) { + $this->_compress = true; + $this->_compress_type = 'gz'; + } else if ($p_compress == 'bz2') { + $this->_compress = true; + $this->_compress_type = 'bz2'; + } + } + $this->_tarname = $p_tarname; + if ($this->_compress) { // assert zlib or bz2 extension support + if ($this->_compress_type == 'gz') + $extname = 'zlib'; + else if ($this->_compress_type == 'bz2') + $extname = 'bz2'; + + if (!extension_loaded($extname)) { + PEAR::loadExtension($extname); + } + if (!extension_loaded($extname)) { + die("The extension '$extname' couldn't be found.\n". + "Please make sure your version of PHP was built ". + "with '$extname' support.\n"); + return false; + } + } + } + // }}} + + // {{{ destructor + function _Archive_Tar() + { + $this->_close(); + // ----- Look for a local copy to delete + if ($this->_temp_tarname != '') + @unlink($this->_temp_tarname); + $this->_PEAR(); + } + // }}} + + // {{{ create() + /** + * This method creates the archive file and add the files / directories + * that are listed in $p_filelist. + * If a file with the same name exist and is writable, it is replaced + * by the new tar. + * The method return false and a PEAR error text. + * The $p_filelist parameter can be an array of string, each string + * representing a filename or a directory name with their path if + * needed. It can also be a single string with names separated by a + * single blank. + * For each directory added in the archive, the files and + * sub-directories are also added. + * See also createModify() method for more details. + * + * @param array $p_filelist An array of filenames and directory names, or a single + * string with names separated by a single blank space. + * @return true on success, false on error. + * @see createModify() + * @access public + */ + function create($p_filelist) + { + return $this->createModify($p_filelist, '', ''); + } + // }}} + + // {{{ add() + /** + * This method add the files / directories that are listed in $p_filelist in + * the archive. If the archive does not exist it is created. + * The method return false and a PEAR error text. + * The files and directories listed are only added at the end of the archive, + * even if a file with the same name is already archived. + * See also createModify() method for more details. + * + * @param array $p_filelist An array of filenames and directory names, or a single + * string with names separated by a single blank space. + * @return true on success, false on error. + * @see createModify() + * @access public + */ + function add($p_filelist) + { + return $this->addModify($p_filelist, '', ''); + } + // }}} + + // {{{ extract() + function extract($p_path='') + { + return $this->extractModify($p_path, ''); + } + // }}} + + // {{{ listContent() + function listContent() + { + $v_list_detail = array(); + + if ($this->_openRead()) { + if (!$this->_extractList('', $v_list_detail, "list", '', '')) { + unset($v_list_detail); + $v_list_detail = 0; + } + $this->_close(); + } + + return $v_list_detail; + } + // }}} + + // {{{ createModify() + /** + * This method creates the archive file and add the files / directories + * that are listed in $p_filelist. + * If the file already exists and is writable, it is replaced by the + * new tar. It is a create and not an add. If the file exists and is + * read-only or is a directory it is not replaced. The method return + * false and a PEAR error text. + * The $p_filelist parameter can be an array of string, each string + * representing a filename or a directory name with their path if + * needed. It can also be a single string with names separated by a + * single blank. + * The path indicated in $p_remove_dir will be removed from the + * memorized path of each file / directory listed when this path + * exists. By default nothing is removed (empty path '') + * The path indicated in $p_add_dir will be added at the beginning of + * the memorized path of each file / directory listed. However it can + * be set to empty ''. The adding of a path is done after the removing + * of path. + * The path add/remove ability enables the user to prepare an archive + * for extraction in a different path than the origin files are. + * See also addModify() method for file adding properties. + * + * @param array $p_filelist An array of filenames and directory names, or a single + * string with names separated by a single blank space. + * @param string $p_add_dir A string which contains a path to be added to the + * memorized path of each element in the list. + * @param string $p_remove_dir A string which contains a path to be removed from + * the memorized path of each element in the list, when + * relevant. + * @return boolean true on success, false on error. + * @access public + * @see addModify() + */ + function createModify($p_filelist, $p_add_dir, $p_remove_dir='') + { + $v_result = true; + + if (!$this->_openWrite()) + return false; + + if ($p_filelist != '') { + if (is_array($p_filelist)) + $v_list = $p_filelist; + elseif (is_string($p_filelist)) + $v_list = explode($this->_separator, $p_filelist); + else { + $this->_cleanFile(); + $this->_error('Invalid file list'); + return false; + } + + $v_result = $this->_addList($v_list, $p_add_dir, $p_remove_dir); + } + + if ($v_result) { + $this->_writeFooter(); + $this->_close(); + } else + $this->_cleanFile(); + + return $v_result; + } + // }}} + + // {{{ addModify() + /** + * This method add the files / directories listed in $p_filelist at the + * end of the existing archive. If the archive does not yet exists it + * is created. + * The $p_filelist parameter can be an array of string, each string + * representing a filename or a directory name with their path if + * needed. It can also be a single string with names separated by a + * single blank. + * The path indicated in $p_remove_dir will be removed from the + * memorized path of each file / directory listed when this path + * exists. By default nothing is removed (empty path '') + * The path indicated in $p_add_dir will be added at the beginning of + * the memorized path of each file / directory listed. However it can + * be set to empty ''. The adding of a path is done after the removing + * of path. + * The path add/remove ability enables the user to prepare an archive + * for extraction in a different path than the origin files are. + * If a file/dir is already in the archive it will only be added at the + * end of the archive. There is no update of the existing archived + * file/dir. However while extracting the archive, the last file will + * replace the first one. This results in a none optimization of the + * archive size. + * If a file/dir does not exist the file/dir is ignored. However an + * error text is send to PEAR error. + * If a file/dir is not readable the file/dir is ignored. However an + * error text is send to PEAR error. + * + * @param array $p_filelist An array of filenames and directory names, or a single + * string with names separated by a single blank space. + * @param string $p_add_dir A string which contains a path to be added to the + * memorized path of each element in the list. + * @param string $p_remove_dir A string which contains a path to be removed from + * the memorized path of each element in the list, when + * relevant. + * @return true on success, false on error. + * @access public + */ + function addModify($p_filelist, $p_add_dir, $p_remove_dir='') + { + $v_result = true; + + if (!@is_file($this->_tarname)) + $v_result = $this->createModify($p_filelist, $p_add_dir, $p_remove_dir); + else { + if (is_array($p_filelist)) + $v_list = $p_filelist; + elseif (is_string($p_filelist)) + $v_list = explode($this->_separator, $p_filelist); + else { + $this->_error('Invalid file list'); + return false; + } + + $v_result = $this->_append($v_list, $p_add_dir, $p_remove_dir); + } + + return $v_result; + } + // }}} + + // {{{ addString() + /** + * This method add a single string as a file at the + * end of the existing archive. If the archive does not yet exists it + * is created. + * + * @param string $p_filename A string which contains the full filename path + * that will be associated with the string. + * @param string $p_string The content of the file added in the archive. + * @return true on success, false on error. + * @access public + */ + function addString($p_filename, $p_string) + { + $v_result = true; + + if (!@is_file($this->_tarname)) { + if (!$this->_openWrite()) { + return false; + } + $this->_close(); + } + + if (!$this->_openAppend()) + return false; + + // Need to check the get back to the temporary file ? .... + $v_result = $this->_addString($p_filename, $p_string); + + $this->_writeFooter(); + + $this->_close(); + + return $v_result; + } + // }}} + + // {{{ extractModify() + /** + * This method extract all the content of the archive in the directory + * indicated by $p_path. When relevant the memorized path of the + * files/dir can be modified by removing the $p_remove_path path at the + * beginning of the file/dir path. + * While extracting a file, if the directory path does not exists it is + * created. + * While extracting a file, if the file already exists it is replaced + * without looking for last modification date. + * While extracting a file, if the file already exists and is write + * protected, the extraction is aborted. + * While extracting a file, if a directory with the same name already + * exists, the extraction is aborted. + * While extracting a directory, if a file with the same name already + * exists, the extraction is aborted. + * While extracting a file/directory if the destination directory exist + * and is write protected, or does not exist but can not be created, + * the extraction is aborted. + * If after extraction an extracted file does not show the correct + * stored file size, the extraction is aborted. + * When the extraction is aborted, a PEAR error text is set and false + * is returned. However the result can be a partial extraction that may + * need to be manually cleaned. + * + * @param string $p_path The path of the directory where the files/dir need to by + * extracted. + * @param string $p_remove_path Part of the memorized path that can be removed if + * present at the beginning of the file/dir path. + * @return boolean true on success, false on error. + * @access public + * @see extractList() + */ + function extractModify($p_path, $p_remove_path) + { + $v_result = true; + $v_list_detail = array(); + + if ($v_result = $this->_openRead()) { + $v_result = $this->_extractList($p_path, $v_list_detail, "complete", 0, $p_remove_path); + $this->_close(); + } + + return $v_result; + } + // }}} + + // {{{ extractInString() + /** + * This method extract from the archive one file identified by $p_filename. + * The return value is a string with the file content, or NULL on error. + * @param string $p_filename The path of the file to extract in a string. + * @return a string with the file content or NULL. + * @access public + */ + function extractInString($p_filename) + { + if ($this->_openRead()) { + $v_result = $this->_extractInString($p_filename); + $this->_close(); + } else { + $v_result = NULL; + } + + return $v_result; + } + // }}} + + // {{{ extractList() + /** + * This method extract from the archive only the files indicated in the + * $p_filelist. These files are extracted in the current directory or + * in the directory indicated by the optional $p_path parameter. + * If indicated the $p_remove_path can be used in the same way as it is + * used in extractModify() method. + * @param array $p_filelist An array of filenames and directory names, or a single + * string with names separated by a single blank space. + * @param string $p_path The path of the directory where the files/dir need to by + * extracted. + * @param string $p_remove_path Part of the memorized path that can be removed if + * present at the beginning of the file/dir path. + * @return true on success, false on error. + * @access public + * @see extractModify() + */ + function extractList($p_filelist, $p_path='', $p_remove_path='') + { + $v_result = true; + $v_list_detail = array(); + + if (is_array($p_filelist)) + $v_list = $p_filelist; + elseif (is_string($p_filelist)) + $v_list = explode($this->_separator, $p_filelist); + else { + $this->_error('Invalid string list'); + return false; + } + + if ($v_result = $this->_openRead()) { + $v_result = $this->_extractList($p_path, $v_list_detail, "partial", $v_list, $p_remove_path); + $this->_close(); + } + + return $v_result; + } + // }}} + + // {{{ setAttribute() + /** + * This method set specific attributes of the archive. It uses a variable + * list of parameters, in the format attribute code + attribute values : + * $arch->setAttribute(ARCHIVE_TAR_ATT_SEPARATOR, ','); + * @param mixed $argv variable list of attributes and values + * @return true on success, false on error. + * @access public + */ + function setAttribute() + { + $v_result = true; + + // ----- Get the number of variable list of arguments + if (($v_size = func_num_args()) == 0) { + return true; + } + + // ----- Get the arguments + $v_att_list = &func_get_args(); + + // ----- Read the attributes + $i=0; + while ($i<$v_size) { + + // ----- Look for next option + switch ($v_att_list[$i]) { + // ----- Look for options that request a string value + case ARCHIVE_TAR_ATT_SEPARATOR : + // ----- Check the number of parameters + if (($i+1) >= $v_size) { + $this->_error('Invalid number of parameters for attribute ARCHIVE_TAR_ATT_SEPARATOR'); + return false; + } + + // ----- Get the value + $this->_separator = $v_att_list[$i+1]; + $i++; + break; + + default : + $this->_error('Unknow attribute code '.$v_att_list[$i].''); + return false; + } + + // ----- Next attribute + $i++; + } + + return $v_result; + } + // }}} + + // {{{ _error() + function _error($p_message) + { + // ----- To be completed + $this->raiseError($p_message); + } + // }}} + + // {{{ _warning() + function _warning($p_message) + { + // ----- To be completed + $this->raiseError($p_message); + } + // }}} + + // {{{ _openWrite() + function _openWrite() + { + if ($this->_compress_type == 'gz') + $this->_file = @gzopen($this->_tarname, "wb"); + else if ($this->_compress_type == 'bz2') + $this->_file = @bzopen($this->_tarname, "wb"); + else if ($this->_compress_type == 'none') + $this->_file = @fopen($this->_tarname, "wb"); + else + $this->_error('Unknown or missing compression type ('.$this->_compress_type.')'); + + if ($this->_file == 0) { + $this->_error('Unable to open in write mode \''.$this->_tarname.'\''); + return false; + } + + return true; + } + // }}} + + // {{{ _openRead() + function _openRead() + { + if (strtolower(substr($this->_tarname, 0, 7)) == 'http://') { + + // ----- Look if a local copy need to be done + if ($this->_temp_tarname == '') { + $this->_temp_tarname = uniqid('tar').'.tmp'; + if (!$v_file_from = @fopen($this->_tarname, 'rb')) { + $this->_error('Unable to open in read mode \''.$this->_tarname.'\''); + $this->_temp_tarname = ''; + return false; + } + if (!$v_file_to = @fopen($this->_temp_tarname, 'wb')) { + $this->_error('Unable to open in write mode \''.$this->_temp_tarname.'\''); + $this->_temp_tarname = ''; + return false; + } + while ($v_data = @fread($v_file_from, 1024)) + @fwrite($v_file_to, $v_data); + @fclose($v_file_from); + @fclose($v_file_to); + } + + // ----- File to open if the local copy + $v_filename = $this->_temp_tarname; + + } else + // ----- File to open if the normal Tar file + $v_filename = $this->_tarname; + + if ($this->_compress_type == 'gz') + $this->_file = @gzopen($v_filename, "rb"); + else if ($this->_compress_type == 'bz2') + $this->_file = @bzopen($v_filename, "rb"); + else if ($this->_compress_type == 'none') + $this->_file = @fopen($v_filename, "rb"); + else + $this->_error('Unknown or missing compression type ('.$this->_compress_type.')'); + + if ($this->_file == 0) { + $this->_error('Unable to open in read mode \''.$v_filename.'\''); + return false; + } + + return true; + } + // }}} + + // {{{ _openReadWrite() + function _openReadWrite() + { + if ($this->_compress_type == 'gz') + $this->_file = @gzopen($this->_tarname, "r+b"); + else if ($this->_compress_type == 'bz2') + $this->_file = @bzopen($this->_tarname, "r+b"); + else if ($this->_compress_type == 'none') + $this->_file = @fopen($this->_tarname, "r+b"); + else + $this->_error('Unknown or missing compression type ('.$this->_compress_type.')'); + + if ($this->_file == 0) { + $this->_error('Unable to open in read/write mode \''.$this->_tarname.'\''); + return false; + } + + return true; + } + // }}} + + // {{{ _close() + function _close() + { + //if (isset($this->_file)) { + if (is_resource($this->_file)) { + if ($this->_compress_type == 'gz') + @gzclose($this->_file); + else if ($this->_compress_type == 'bz2') + @bzclose($this->_file); + else if ($this->_compress_type == 'none') + @fclose($this->_file); + else + $this->_error('Unknown or missing compression type ('.$this->_compress_type.')'); + + $this->_file = 0; + } + + // ----- Look if a local copy need to be erase + // Note that it might be interesting to keep the url for a time : ToDo + if ($this->_temp_tarname != '') { + @unlink($this->_temp_tarname); + $this->_temp_tarname = ''; + } + + return true; + } + // }}} + + // {{{ _cleanFile() + function _cleanFile() + { + $this->_close(); + + // ----- Look for a local copy + if ($this->_temp_tarname != '') { + // ----- Remove the local copy but not the remote tarname + @unlink($this->_temp_tarname); + $this->_temp_tarname = ''; + } else { + // ----- Remove the local tarname file + @unlink($this->_tarname); + } + $this->_tarname = ''; + + return true; + } + // }}} + + // {{{ _writeBlock() + function _writeBlock($p_binary_data, $p_len=null) + { + if (is_resource($this->_file)) { + if ($p_len === null) { + if ($this->_compress_type == 'gz') + @gzputs($this->_file, $p_binary_data); + else if ($this->_compress_type == 'bz2') + @bzwrite($this->_file, $p_binary_data); + else if ($this->_compress_type == 'none') + @fputs($this->_file, $p_binary_data); + else + $this->_error('Unknown or missing compression type ('.$this->_compress_type.')'); + } else { + if ($this->_compress_type == 'gz') + @gzputs($this->_file, $p_binary_data, $p_len); + else if ($this->_compress_type == 'bz2') + @bzwrite($this->_file, $p_binary_data, $p_len); + else if ($this->_compress_type == 'none') + @fputs($this->_file, $p_binary_data, $p_len); + else + $this->_error('Unknown or missing compression type ('.$this->_compress_type.')'); + + } + } + return true; + } + // }}} + + // {{{ _readBlock() + function _readBlock($p_len=null) + { + $v_block = null; + if (is_resource($this->_file)) { + if ($p_len === null) + $p_len = 512; + + if ($this->_compress_type == 'gz') + $v_block = @gzread($this->_file, 512); + else if ($this->_compress_type == 'bz2') + $v_block = @bzread($this->_file, 512); + else if ($this->_compress_type == 'none') + $v_block = @fread($this->_file, 512); + else + $this->_error('Unknown or missing compression type ('.$this->_compress_type.')'); + + } + return $v_block; + } + // }}} + + // {{{ _jumpBlock() + function _jumpBlock($p_len=null) + { + if (is_resource($this->_file)) { + if ($p_len === null) + $p_len = 1; + + if ($this->_compress_type == 'gz') + @gzseek($this->_file, @gztell($this->_file)+($p_len*512)); + else if ($this->_compress_type == 'bz2') { + // ----- Replace missing bztell() and bzseek() + for ($i=0; $i<$p_len; $i++) + $this->_readBlock(); + } else if ($this->_compress_type == 'none') + @fseek($this->_file, @ftell($this->_file)+($p_len*512)); + else + $this->_error('Unknown or missing compression type ('.$this->_compress_type.')'); + + } + return true; + } + // }}} + + // {{{ _writeFooter() + function _writeFooter() + { + if (is_resource($this->_file)) { + // ----- Write the last 0 filled block for end of archive + $v_binary_data = pack("a512", ''); + $this->_writeBlock($v_binary_data); + } + return true; + } + // }}} + + // {{{ _addList() + function _addList($p_list, $p_add_dir, $p_remove_dir) + { + $v_result=true; + $v_header = array(); + + // ----- Remove potential windows directory separator + $p_add_dir = $this->_translateWinPath($p_add_dir); + $p_remove_dir = $this->_translateWinPath($p_remove_dir, false); + + if (!$this->_file) { + $this->_error('Invalid file descriptor'); + return false; + } + + if (sizeof($p_list) == 0) + return true; + + for ($j=0; ($j_tarname) + continue; + + if ($v_filename == '') + continue; + + if (!file_exists($v_filename)) { + $this->_warning("File '$v_filename' does not exist"); + continue; + } + + // ----- Add the file or directory header + if (!$this->_addFile($v_filename, $v_header, $p_add_dir, $p_remove_dir)) + return false; + + if (@is_dir($v_filename)) { + if (!($p_hdir = opendir($v_filename))) { + $this->_warning("Directory '$v_filename' can not be read"); + continue; + } + $p_hitem = readdir($p_hdir); // '.' directory + $p_hitem = readdir($p_hdir); // '..' directory + while (false !== ($p_hitem = readdir($p_hdir))) { + if ($v_filename != ".") + $p_temp_list[0] = $v_filename.'/'.$p_hitem; + else + $p_temp_list[0] = $p_hitem; + + $v_result = $this->_addList($p_temp_list, $p_add_dir, $p_remove_dir); + } + + unset($p_temp_list); + unset($p_hdir); + unset($p_hitem); + } + } + + return $v_result; + } + // }}} + + // {{{ _addFile() + function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir) + { + if (!$this->_file) { + $this->_error('Invalid file descriptor'); + return false; + } + + if ($p_filename == '') { + $this->_error('Invalid file name'); + return false; + } + + // ----- Calculate the stored filename + $p_filename = $this->_translateWinPath($p_filename, false);; + $v_stored_filename = $p_filename; + if (strcmp($p_filename, $p_remove_dir) == 0) { + return true; + } + if ($p_remove_dir != '') { + if (substr($p_remove_dir, -1) != '/') + $p_remove_dir .= '/'; + + if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir) + $v_stored_filename = substr($p_filename, strlen($p_remove_dir)); + } + $v_stored_filename = $this->_translateWinPath($v_stored_filename); + if ($p_add_dir != '') { + if (substr($p_add_dir, -1) == '/') + $v_stored_filename = $p_add_dir.$v_stored_filename; + else + $v_stored_filename = $p_add_dir.'/'.$v_stored_filename; + } + + $v_stored_filename = $this->_pathReduction($v_stored_filename); + + if (is_file($p_filename)) { + if (($v_file = @fopen($p_filename, "rb")) == 0) { + $this->_warning("Unable to open file '$p_filename' in binary read mode"); + return true; + } + + if (!$this->_writeHeader($p_filename, $v_stored_filename)) + return false; + + while (($v_buffer = fread($v_file, 512)) != '') { + $v_binary_data = pack("a512", "$v_buffer"); + $this->_writeBlock($v_binary_data); + } + + fclose($v_file); + + } else { + // ----- Only header for dir + if (!$this->_writeHeader($p_filename, $v_stored_filename)) + return false; + } + + return true; + } + // }}} + + // {{{ _addString() + function _addString($p_filename, $p_string) + { + if (!$this->_file) { + $this->_error('Invalid file descriptor'); + return false; + } + + if ($p_filename == '') { + $this->_error('Invalid file name'); + return false; + } + + // ----- Calculate the stored filename + $p_filename = $this->_translateWinPath($p_filename, false);; + + if (!$this->_writeHeaderBlock($p_filename, strlen($p_string), 0, 0, "", 0, 0)) + return false; + + $i=0; + while (($v_buffer = substr($p_string, (($i++)*512), 512)) != '') { + $v_binary_data = pack("a512", $v_buffer); + $this->_writeBlock($v_binary_data); + } + + return true; + } + // }}} + + // {{{ _writeHeader() + function _writeHeader($p_filename, $p_stored_filename) + { + if ($p_stored_filename == '') + $p_stored_filename = $p_filename; + $v_reduce_filename = $this->_pathReduction($p_stored_filename); + + if (strlen($v_reduce_filename) > 99) { + if (!$this->_writeLongHeader($v_reduce_filename)) + return false; + } + + $v_info = stat($p_filename); + $v_uid = sprintf("%6s ", DecOct($v_info[4])); + $v_gid = sprintf("%6s ", DecOct($v_info[5])); + $v_perms = sprintf("%6s ", DecOct(fileperms($p_filename))); + + $v_mtime = sprintf("%11s", DecOct(filemtime($p_filename))); + + if (@is_dir($p_filename)) { + $v_typeflag = "5"; + $v_size = sprintf("%11s ", DecOct(0)); + } else { + $v_typeflag = ''; + clearstatcache(); + $v_size = sprintf("%11s ", DecOct(filesize($p_filename))); + } + + $v_linkname = ''; + + $v_magic = ''; + + $v_version = ''; + + $v_uname = ''; + + $v_gname = ''; + + $v_devmajor = ''; + + $v_devminor = ''; + + $v_prefix = ''; + + $v_binary_data_first = pack("a100a8a8a8a12A12", $v_reduce_filename, $v_perms, $v_uid, $v_gid, $v_size, $v_mtime); + $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", $v_typeflag, $v_linkname, $v_magic, $v_version, $v_uname, $v_gname, $v_devmajor, $v_devminor, $v_prefix, ''); + + // ----- Calculate the checksum + $v_checksum = 0; + // ..... First part of the header + for ($i=0; $i<148; $i++) + $v_checksum += ord(substr($v_binary_data_first,$i,1)); + // ..... Ignore the checksum value and replace it by ' ' (space) + for ($i=148; $i<156; $i++) + $v_checksum += ord(' '); + // ..... Last part of the header + for ($i=156, $j=0; $i<512; $i++, $j++) + $v_checksum += ord(substr($v_binary_data_last,$j,1)); + + // ----- Write the first 148 bytes of the header in the archive + $this->_writeBlock($v_binary_data_first, 148); + + // ----- Write the calculated checksum + $v_checksum = sprintf("%6s ", DecOct($v_checksum)); + $v_binary_data = pack("a8", $v_checksum); + $this->_writeBlock($v_binary_data, 8); + + // ----- Write the last 356 bytes of the header in the archive + $this->_writeBlock($v_binary_data_last, 356); + + return true; + } + // }}} + + // {{{ _writeHeaderBlock() + function _writeHeaderBlock($p_filename, $p_size, $p_mtime=0, $p_perms=0, $p_type='', $p_uid=0, $p_gid=0) + { + $p_filename = $this->_pathReduction($p_filename); + + if (strlen($p_filename) > 99) { + if (!$this->_writeLongHeader($p_filename)) + return false; + } + + if ($p_type == "5") { + $v_size = sprintf("%11s ", DecOct(0)); + } else { + $v_size = sprintf("%11s ", DecOct($p_size)); + } + + $v_uid = sprintf("%6s ", DecOct($p_uid)); + $v_gid = sprintf("%6s ", DecOct($p_gid)); + $v_perms = sprintf("%6s ", DecOct($p_perms)); + + $v_mtime = sprintf("%11s", DecOct($p_mtime)); + + $v_linkname = ''; + + $v_magic = ''; + + $v_version = ''; + + $v_uname = ''; + + $v_gname = ''; + + $v_devmajor = ''; + + $v_devminor = ''; + + $v_prefix = ''; + + $v_binary_data_first = pack("a100a8a8a8a12A12", $p_filename, $v_perms, $v_uid, $v_gid, $v_size, $v_mtime); + $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", $p_type, $v_linkname, $v_magic, $v_version, $v_uname, $v_gname, $v_devmajor, $v_devminor, $v_prefix, ''); + + // ----- Calculate the checksum + $v_checksum = 0; + // ..... First part of the header + for ($i=0; $i<148; $i++) + $v_checksum += ord(substr($v_binary_data_first,$i,1)); + // ..... Ignore the checksum value and replace it by ' ' (space) + for ($i=148; $i<156; $i++) + $v_checksum += ord(' '); + // ..... Last part of the header + for ($i=156, $j=0; $i<512; $i++, $j++) + $v_checksum += ord(substr($v_binary_data_last,$j,1)); + + // ----- Write the first 148 bytes of the header in the archive + $this->_writeBlock($v_binary_data_first, 148); + + // ----- Write the calculated checksum + $v_checksum = sprintf("%6s ", DecOct($v_checksum)); + $v_binary_data = pack("a8", $v_checksum); + $this->_writeBlock($v_binary_data, 8); + + // ----- Write the last 356 bytes of the header in the archive + $this->_writeBlock($v_binary_data_last, 356); + + return true; + } + // }}} + + // {{{ _writeLongHeader() + function _writeLongHeader($p_filename) + { + $v_size = sprintf("%11s ", DecOct(strlen($p_filename))); + + $v_typeflag = 'L'; + + $v_linkname = ''; + + $v_magic = ''; + + $v_version = ''; + + $v_uname = ''; + + $v_gname = ''; + + $v_devmajor = ''; + + $v_devminor = ''; + + $v_prefix = ''; + + $v_binary_data_first = pack("a100a8a8a8a12A12", '././@LongLink', 0, 0, 0, $v_size, 0); + $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", $v_typeflag, $v_linkname, $v_magic, $v_version, $v_uname, $v_gname, $v_devmajor, $v_devminor, $v_prefix, ''); + + // ----- Calculate the checksum + $v_checksum = 0; + // ..... First part of the header + for ($i=0; $i<148; $i++) + $v_checksum += ord(substr($v_binary_data_first,$i,1)); + // ..... Ignore the checksum value and replace it by ' ' (space) + for ($i=148; $i<156; $i++) + $v_checksum += ord(' '); + // ..... Last part of the header + for ($i=156, $j=0; $i<512; $i++, $j++) + $v_checksum += ord(substr($v_binary_data_last,$j,1)); + + // ----- Write the first 148 bytes of the header in the archive + $this->_writeBlock($v_binary_data_first, 148); + + // ----- Write the calculated checksum + $v_checksum = sprintf("%6s ", DecOct($v_checksum)); + $v_binary_data = pack("a8", $v_checksum); + $this->_writeBlock($v_binary_data, 8); + + // ----- Write the last 356 bytes of the header in the archive + $this->_writeBlock($v_binary_data_last, 356); + + // ----- Write the filename as content of the block + $i=0; + while (($v_buffer = substr($p_filename, (($i++)*512), 512)) != '') { + $v_binary_data = pack("a512", "$v_buffer"); + $this->_writeBlock($v_binary_data); + } + + return true; + } + // }}} + + // {{{ _readHeader() + function _readHeader($v_binary_data, &$v_header) + { + if (strlen($v_binary_data)==0) { + $v_header['filename'] = ''; + return true; + } + + if (strlen($v_binary_data) != 512) { + $v_header['filename'] = ''; + $this->_error('Invalid block size : '.strlen($v_binary_data)); + return false; + } + + // ----- Calculate the checksum + $v_checksum = 0; + // ..... First part of the header + for ($i=0; $i<148; $i++) + $v_checksum+=ord(substr($v_binary_data,$i,1)); + // ..... Ignore the checksum value and replace it by ' ' (space) + for ($i=148; $i<156; $i++) + $v_checksum += ord(' '); + // ..... Last part of the header + for ($i=156; $i<512; $i++) + $v_checksum+=ord(substr($v_binary_data,$i,1)); + + $v_data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor", $v_binary_data); + + // ----- Extract the checksum + $v_header['checksum'] = OctDec(trim($v_data['checksum'])); + if ($v_header['checksum'] != $v_checksum) { + $v_header['filename'] = ''; + + // ----- Look for last block (empty block) + if (($v_checksum == 256) && ($v_header['checksum'] == 0)) + return true; + + $this->_error('Invalid checksum for file "'.$v_data['filename'].'" : '.$v_checksum.' calculated, '.$v_header['checksum'].' expected'); + return false; + } + + // ----- Extract the properties + $v_header['filename'] = trim($v_data['filename']); + $v_header['mode'] = OctDec(trim($v_data['mode'])); + $v_header['uid'] = OctDec(trim($v_data['uid'])); + $v_header['gid'] = OctDec(trim($v_data['gid'])); + $v_header['size'] = OctDec(trim($v_data['size'])); + $v_header['mtime'] = OctDec(trim($v_data['mtime'])); + if (($v_header['typeflag'] = $v_data['typeflag']) == "5") { + $v_header['size'] = 0; + } + /* ----- All these fields are removed form the header because they do not carry interesting info + $v_header[link] = trim($v_data[link]); + $v_header[magic] = trim($v_data[magic]); + $v_header[version] = trim($v_data[version]); + $v_header[uname] = trim($v_data[uname]); + $v_header[gname] = trim($v_data[gname]); + $v_header[devmajor] = trim($v_data[devmajor]); + $v_header[devminor] = trim($v_data[devminor]); + */ + + return true; + } + // }}} + + // {{{ _readLongHeader() + function _readLongHeader(&$v_header) + { + $v_filename = ''; + $n = floor($v_header['size']/512); + for ($i=0; $i<$n; $i++) { + $v_content = $this->_readBlock(); + $v_filename .= $v_content; + } + if (($v_header['size'] % 512) != 0) { + $v_content = $this->_readBlock(); + $v_filename .= $v_content; + } + + // ----- Read the next header + $v_binary_data = $this->_readBlock(); + + if (!$this->_readHeader($v_binary_data, $v_header)) + return false; + + $v_header['filename'] = $v_filename; + + return true; + } + // }}} + + // {{{ _extractInString() + /** + * This method extract from the archive one file identified by $p_filename. + * The return value is a string with the file content, or NULL on error. + * @param string $p_filename The path of the file to extract in a string. + * @return a string with the file content or NULL. + * @access private + */ + function _extractInString($p_filename) + { + $v_result_str = ""; + + While (strlen($v_binary_data = $this->_readBlock()) != 0) + { + if (!$this->_readHeader($v_binary_data, $v_header)) + return NULL; + + if ($v_header['filename'] == '') + continue; + + // ----- Look for long filename + if ($v_header['typeflag'] == 'L') { + if (!$this->_readLongHeader($v_header)) + return NULL; + } + + if ($v_header['filename'] == $p_filename) { + if ($v_header['typeflag'] == "5") { + $this->_error('Unable to extract in string a directory entry {'.$v_header['filename'].'}'); + return NULL; + } else { + $n = floor($v_header['size']/512); + for ($i=0; $i<$n; $i++) { + $v_result_str .= $this->_readBlock(); + } + if (($v_header['size'] % 512) != 0) { + $v_content = $this->_readBlock(); + $v_result_str .= substr($v_content, 0, ($v_header['size'] % 512)); + } + return $v_result_str; + } + } else { + $this->_jumpBlock(ceil(($v_header['size']/512))); + } + } + + return NULL; + } + // }}} + + // {{{ _extractList() + function _extractList($p_path, &$p_list_detail, $p_mode, $p_file_list, $p_remove_path) + { + $v_result=true; + $v_nb = 0; + $v_extract_all = true; + $v_listing = false; + + $p_path = $this->_translateWinPath($p_path, false); + if ($p_path == '' || (substr($p_path, 0, 1) != '/' && substr($p_path, 0, 3) != "../" && !strpos($p_path, ':'))) { + $p_path = "./".$p_path; + } + $p_remove_path = $this->_translateWinPath($p_remove_path); + + // ----- Look for path to remove format (should end by /) + if (($p_remove_path != '') && (substr($p_remove_path, -1) != '/')) + $p_remove_path .= '/'; + $p_remove_path_size = strlen($p_remove_path); + + switch ($p_mode) { + case "complete" : + $v_extract_all = TRUE; + $v_listing = FALSE; + break; + case "partial" : + $v_extract_all = FALSE; + $v_listing = FALSE; + break; + case "list" : + $v_extract_all = FALSE; + $v_listing = TRUE; + break; + default : + $this->_error('Invalid extract mode ('.$p_mode.')'); + return false; + } + + clearstatcache(); + + While (strlen($v_binary_data = $this->_readBlock()) != 0) + { + $v_extract_file = FALSE; + $v_extraction_stopped = 0; + + if (!$this->_readHeader($v_binary_data, $v_header)) + return false; + + if ($v_header['filename'] == '') + continue; + + // ----- Look for long filename + if ($v_header['typeflag'] == 'L') { + if (!$this->_readLongHeader($v_header)) + return false; + } + + if ((!$v_extract_all) && (is_array($p_file_list))) { + // ----- By default no unzip if the file is not found + $v_extract_file = false; + + for ($i=0; $i strlen($p_file_list[$i])) && (substr($v_header['filename'], 0, strlen($p_file_list[$i])) == $p_file_list[$i])) { + $v_extract_file = TRUE; + break; + } + } + + // ----- It is a file, so compare the file names + elseif ($p_file_list[$i] == $v_header['filename']) { + $v_extract_file = TRUE; + break; + } + } + } else { + $v_extract_file = TRUE; + } + + // ----- Look if this file need to be extracted + if (($v_extract_file) && (!$v_listing)) + { + if (($p_remove_path != '') + && (substr($v_header['filename'], 0, $p_remove_path_size) == $p_remove_path)) + $v_header['filename'] = substr($v_header['filename'], $p_remove_path_size); + if (($p_path != './') && ($p_path != '/')) { + while (substr($p_path, -1) == '/') + $p_path = substr($p_path, 0, strlen($p_path)-1); + + if (substr($v_header['filename'], 0, 1) == '/') + $v_header['filename'] = $p_path.$v_header['filename']; + else + $v_header['filename'] = $p_path.'/'.$v_header['filename']; + } + if (file_exists($v_header['filename'])) { + if ((@is_dir($v_header['filename'])) && ($v_header['typeflag'] == '')) { + $this->_error('File '.$v_header['filename'].' already exists as a directory'); + return false; + } + if ((is_file($v_header['filename'])) && ($v_header['typeflag'] == "5")) { + $this->_error('Directory '.$v_header['filename'].' already exists as a file'); + return false; + } + if (!is_writeable($v_header['filename'])) { + $this->_error('File '.$v_header['filename'].' already exists and is write protected'); + return false; + } + if (filemtime($v_header['filename']) > $v_header['mtime']) { + // To be completed : An error or silent no replace ? + } + } + + // ----- Check the directory availability and create it if necessary + elseif (($v_result = $this->_dirCheck(($v_header['typeflag'] == "5"?$v_header['filename']:dirname($v_header['filename'])))) != 1) { + $this->_error('Unable to create path for '.$v_header['filename']); + return false; + } + + if ($v_extract_file) { + if ($v_header['typeflag'] == "5") { + if (!@file_exists($v_header['filename'])) { + if (!@mkdir($v_header['filename'], 0777)) { + $this->_error('Unable to create directory {'.$v_header['filename'].'}'); + return false; + } + } + } else { + if (($v_dest_file = @fopen($v_header['filename'], "wb")) == 0) { + $this->_error('Error while opening {'.$v_header['filename'].'} in write binary mode'); + return false; + } else { + $n = floor($v_header['size']/512); + for ($i=0; $i<$n; $i++) { + $v_content = $this->_readBlock(); + fwrite($v_dest_file, $v_content, 512); + } + if (($v_header['size'] % 512) != 0) { + $v_content = $this->_readBlock(); + fwrite($v_dest_file, $v_content, ($v_header['size'] % 512)); + } + + @fclose($v_dest_file); + + // ----- Change the file mode, mtime + @touch($v_header['filename'], $v_header['mtime']); + // To be completed + //chmod($v_header[filename], DecOct($v_header[mode])); + } + + // ----- Check the file size + clearstatcache(); + if (filesize($v_header['filename']) != $v_header['size']) { + $this->_error('Extracted file '.$v_header['filename'].' does not have the correct file size \''.filesize($v_filename).'\' ('.$v_header['size'].' expected). Archive may be corrupted.'); + return false; + } + } + } else { + $this->_jumpBlock(ceil(($v_header['size']/512))); + } + } else { + $this->_jumpBlock(ceil(($v_header['size']/512))); + } + + /* TBC : Seems to be unused ... + if ($this->_compress) + $v_end_of_file = @gzeof($this->_file); + else + $v_end_of_file = @feof($this->_file); + */ + + if ($v_listing || $v_extract_file || $v_extraction_stopped) { + // ----- Log extracted files + if (($v_file_dir = dirname($v_header['filename'])) == $v_header['filename']) + $v_file_dir = ''; + if ((substr($v_header['filename'], 0, 1) == '/') && ($v_file_dir == '')) + $v_file_dir = '/'; + + $p_list_detail[$v_nb++] = $v_header; + } + } + + return true; + } + // }}} + + // {{{ _openAppend() + function _openAppend() + { + if (filesize($this->_tarname) == 0) + return $this->_openWrite(); + + if ($this->_compress) { + $this->_close(); + + if (!@rename($this->_tarname, $this->_tarname.".tmp")) { + $this->_error('Error while renaming \''.$this->_tarname.'\' to temporary file \''.$this->_tarname.'.tmp\''); + return false; + } + + if ($this->_compress_type == 'gz') + $v_temp_tar = @gzopen($this->_tarname.".tmp", "rb"); + elseif ($this->_compress_type == 'bz2') + $v_temp_tar = @bzopen($this->_tarname.".tmp", "rb"); + + if ($v_temp_tar == 0) { + $this->_error('Unable to open file \''.$this->_tarname.'.tmp\' in binary read mode'); + @rename($this->_tarname.".tmp", $this->_tarname); + return false; + } + + if (!$this->_openWrite()) { + @rename($this->_tarname.".tmp", $this->_tarname); + return false; + } + + if ($this->_compress_type == 'gz') { + $v_buffer = @gzread($v_temp_tar, 512); + + // ----- Read the following blocks but not the last one + if (!@gzeof($v_temp_tar)) { + do{ + $v_binary_data = pack("a512", $v_buffer); + $this->_writeBlock($v_binary_data); + $v_buffer = @gzread($v_temp_tar, 512); + + } while (!@gzeof($v_temp_tar)); + } + + @gzclose($v_temp_tar); + } + elseif ($this->_compress_type == 'bz2') { + $v_buffered_lines = array(); + $v_buffered_lines[] = @bzread($v_temp_tar, 512); + + // ----- Read the following blocks but not the last one + while (strlen($v_buffered_lines[] = @bzread($v_temp_tar, 512)) > 0) { + $v_binary_data = pack("a512", array_shift($v_buffered_lines)); + $this->_writeBlock($v_binary_data); + } + + @bzclose($v_temp_tar); + } + + if (!@unlink($this->_tarname.".tmp")) { + $this->_error('Error while deleting temporary file \''.$this->_tarname.'.tmp\''); + } + + } else { + // ----- For not compressed tar, just add files before the last 512 bytes block + if (!$this->_openReadWrite()) + return false; + + clearstatcache(); + $v_size = filesize($this->_tarname); + fseek($this->_file, $v_size-512); + } + + return true; + } + // }}} + + // {{{ _append() + function _append($p_filelist, $p_add_dir='', $p_remove_dir='') + { + if (!$this->_openAppend()) + return false; + + if ($this->_addList($p_filelist, $p_add_dir, $p_remove_dir)) + $this->_writeFooter(); + + $this->_close(); + + return true; + } + // }}} + + // {{{ _dirCheck() + + /** + * Check if a directory exists and create it (including parent + * dirs) if not. + * + * @param string $p_dir directory to check + * + * @return bool TRUE if the directory exists or was created + */ + function _dirCheck($p_dir) + { + if ((@is_dir($p_dir)) || ($p_dir == '')) + return true; + + $p_parent_dir = dirname($p_dir); + + if (($p_parent_dir != $p_dir) && + ($p_parent_dir != '') && + (!$this->_dirCheck($p_parent_dir))) + return false; + + if (!@mkdir($p_dir, 0777)) { + $this->_error("Unable to create directory '$p_dir'"); + return false; + } + + return true; + } + + // }}} + + // {{{ _pathReduction() + + /** + * Compress path by changing for example "/dir/foo/../bar" to "/dir/bar", and + * remove double slashes. + * + * @param string $p_dir path to reduce + * + * @return string reduced path + * + * @access private + * + */ + function _pathReduction($p_dir) + { + $v_result = ''; + + // ----- Look for not empty path + if ($p_dir != '') { + // ----- Explode path by directory names + $v_list = explode('/', $p_dir); + + // ----- Study directories from last to first + for ($i=sizeof($v_list)-1; $i>=0; $i--) { + // ----- Look for current path + if ($v_list[$i] == ".") { + // ----- Ignore this directory + // Should be the first $i=0, but no check is done + } + else if ($v_list[$i] == "..") { + // ----- Ignore it and ignore the $i-1 + $i--; + } + else if (($v_list[$i] == '') && ($i!=(sizeof($v_list)-1)) && ($i!=0)) { + // ----- Ignore only the double '//' in path, + // but not the first and last / + } else { + $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?'/'.$v_result:''); + } + } + } + $v_result = strtr($v_result, '\\', '/'); + return $v_result; + } + + // }}} + + // {{{ _translateWinPath() + function _translateWinPath($p_path, $p_remove_disk_letter=true) + { + if (OS_WINDOWS) { + // ----- Look for potential disk letter + if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) { + $p_path = substr($p_path, $v_position+1); + } + // ----- Change potential windows directory separator + if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) { + $p_path = strtr($p_path, '\\', '/'); + } + } + return $p_path; + } + // }}} + +} +?> diff -ruN 4.6rc2/uploadfiles/includes/Cache/LICENSE 4.6-complete/uploadfiles/includes/Cache/LICENSE --- 4.6rc2/uploadfiles/includes/Cache/LICENSE 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/Cache/LICENSE 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,458 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS diff -ruN 4.6rc2/uploadfiles/includes/Cache/Lite/Function.php 4.6-complete/uploadfiles/includes/Cache/Lite/Function.php --- 4.6rc2/uploadfiles/includes/Cache/Lite/Function.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/Cache/Lite/Function.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,114 @@ + +* @author Fabien MARTY +*/ + +/** ensure this file is being included by a parent file */ +defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); + +require_once( $mosConfig_absolute_path . '/includes/Cache/Lite.php' ); + +class Cache_Lite_Function extends Cache_Lite +{ + + // --- Private properties --- + + /** + * Default cache group for function caching + * + * @var string $_defaultGroup + */ + var $_defaultGroup = 'Cache_Lite_Function'; + + // --- Public methods ---- + + /** + * Constructor + * + * $options is an assoc. To have a look at availables options, + * see the constructor of the Cache_Lite class in 'Cache_Lite.php' + * + * Comparing to Cache_Lite constructor, there is another option : + * $options = array( + * (...) see Cache_Lite constructor + * 'defaultGroup' => default cache group for function caching (string) + * ); + * + * @param array $options options + * @access public + */ + function Cache_Lite_Function($options = array(NULL)) + { + if (isset($options['defaultGroup'])) { + $this->_defaultGroup = $options['defaultGroup']; + } + $this->Cache_Lite($options); + } + + /** + * Calls a cacheable function or method (or not if there is already a cache for it) + * + * Arguments of this method are read with func_get_args. So it doesn't appear + * in the function definition. Synopsis : + * call('functionName', $arg1, $arg2, ...) + * (arg1, arg2... are arguments of 'functionName') + * + * @return mixed result of the function/method + * @access public + */ + function call() + { + $arguments = func_get_args(); + $id = serialize($arguments); // Generate a cache id + if (!$this->_fileNameProtection) { + $id = md5($id); + // if fileNameProtection is set to false, then the id has to be hashed + // because it's a very bad file name in most cases + } + $data = $this->get($id, $this->_defaultGroup); + if ($data !== false) { + $array = unserialize($data); + $output = $array['output']; + $result = $array['result']; + } else { + ob_start(); + ob_implicit_flush(false); + $target = array_shift($arguments); + if (strstr($target, '::')) { // classname::staticMethod + list($class, $method) = explode('::', $target); + $result = call_user_func_array(array($class, $method), $arguments); + } else if (strstr($target, '->')) { // object->method + // use a stupid name ($objet_123456789 because) of problems when the object + // name is the same as this var name + list($object_123456789, $method) = explode('->', $target); + global $$object_123456789; + $result = call_user_func_array(array($$object_123456789, $method), $arguments); + } else { // function + $result = call_user_func_array($target, $arguments); + } + $output = ob_get_contents(); + ob_end_clean(); + $array['output'] = $output; + $array['result'] = $result; + $this->save(serialize($array), $id, $this->_defaultGroup); + } + echo($output); + return $result; + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/Cache/Lite/Output.php 4.6-complete/uploadfiles/includes/Cache/Lite/Output.php --- 4.6rc2/uploadfiles/includes/Cache/Lite/Output.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/Cache/Lite/Output.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,72 @@ + +*/ + +require_once('Cache/Lite.php'); + +class Cache_Lite_Output extends Cache_Lite +{ + + // --- Public methods --- + + /** + * Constructor + * + * $options is an assoc. To have a look at availables options, + * see the constructor of the Cache_Lite class in 'Cache_Lite.php' + * + * @param array $options options + * @access public + */ + function Cache_Lite_Output($options) + { + $this->Cache_Lite($options); + } + + /** + * Start the cache + * + * @param string $id cache id + * @param string $group name of the cache group + * @return boolean true if the cache is hit (false else) + * @access public + */ + function start($id, $group = 'default') + { + $data = $this->get($id, $group); + if ($data !== false) { + echo($data); + return true; + } else { + ob_start(); + ob_implicit_flush(false); + return false; + } + } + + /** + * Stop the cache + * + * @access public + */ + function end() + { + $data = ob_get_contents(); + ob_end_clean(); + $this->save($data, $this->_id, $this->_group); + echo($data); + } + +} + + +?> diff -ruN 4.6rc2/uploadfiles/includes/Cache/Lite/index.html 4.6-complete/uploadfiles/includes/Cache/Lite/index.html --- 4.6rc2/uploadfiles/includes/Cache/Lite/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/Cache/Lite/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/Cache/Lite.php 4.6-complete/uploadfiles/includes/Cache/Lite.php --- 4.6rc2/uploadfiles/includes/Cache/Lite.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/Cache/Lite.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,606 @@ + +* +* @package Cache_Lite +* @category Caching +* @version $Id: Lite.php,v 1.1 2005/07/22 01:57:12 eddieajau Exp $ +* @author Fabien MARTY +*/ + +define('CACHE_LITE_ERROR_RETURN', 1); +define('CACHE_LITE_ERROR_DIE', 8); + +class Cache_Lite +{ + + // --- Private properties --- + + /** + * Directory where to put the cache files + * (make sure to add a trailing slash) + * + * @var string $_cacheDir + */ + var $_cacheDir = '/tmp/'; + + /** + * Enable / disable caching + * + * (can be very usefull for the debug of cached scripts) + * + * @var boolean $_caching + */ + var $_caching = true; + + /** + * Cache lifetime (in seconds) + * + * @var int $_lifeTime + */ + var $_lifeTime = 3600; + + /** + * Enable / disable fileLocking + * + * (can avoid cache corruption under bad circumstances) + * + * @var boolean $_fileLocking + */ + var $_fileLocking = true; + + /** + * Timestamp of the last valid cache + * + * @var int $_refreshTime + */ + var $_refreshTime; + + /** + * File name (with path) + * + * @var string $_file + */ + var $_file; + + /** + * Enable / disable write control (the cache is read just after writing to detect corrupt entries) + * + * Enable write control will lightly slow the cache writing but not the cache reading + * Write control can detect some corrupt cache files but maybe it's not a perfect control + * + * @var boolean $_writeControl + */ + var $_writeControl = true; + + /** + * Enable / disable read control + * + * If enabled, a control key is embeded in cache file and this key is compared with the one + * calculated after the reading. + * + * @var boolean $_writeControl + */ + var $_readControl = true; + + /** + * Type of read control (only if read control is enabled) + * + * Available values are : + * 'md5' for a md5 hash control (best but slowest) + * 'crc32' for a crc32 hash control (lightly less safe but faster, better choice) + * 'strlen' for a length only test (fastest) + * + * @var boolean $_readControlType + */ + var $_readControlType = 'crc32'; + + /** + * Pear error mode (when raiseError is called) + * + * (see PEAR doc) + * + * @see setToDebug() + * @var int $_pearErrorMode + */ + var $_pearErrorMode = CACHE_LITE_ERROR_RETURN; + + /** + * Current cache id + * + * @var string $_id + */ + var $_id; + + /** + * Current cache group + * + * @var string $_group + */ + var $_group; + + /** + * Enable / Disable "Memory Caching" + * + * NB : There is no lifetime for memory caching ! + * + * @var boolean $_memoryCaching + */ + var $_memoryCaching = false; + + /** + * Enable / Disable "Only Memory Caching" + * (be carefull, memory caching is "beta quality") + * + * @var boolean $_onlyMemoryCaching + */ + var $_onlyMemoryCaching = false; + + /** + * Memory caching array + * + * @var array $_memoryCachingArray + */ + var $_memoryCachingArray = array(); + + /** + * Memory caching counter + * + * @var int $memoryCachingCounter + */ + var $_memoryCachingCounter = 0; + + /** + * Memory caching limit + * + * @var int $memoryCachingLimit + */ + var $_memoryCachingLimit = 1000; + + /** + * File Name protection + * + * if set to true, you can use any cache id or group name + * if set to false, it can be faster but cache ids and group names + * will be used directly in cache file names so be carefull with + * special characters... + * + * @var boolean $fileNameProtection + */ + var $_fileNameProtection = true; + + /** + * Enable / disable automatic serialization + * + * it can be used to save directly datas which aren't strings + * (but it's slower) + * + * @var boolean $_serialize + */ + var $_automaticSerialization = false; + + // --- Public methods --- + + /** + * Constructor + * + * $options is an assoc. Available options are : + * $options = array( + * 'cacheDir' => directory where to put the cache files (string), + * 'caching' => enable / disable caching (boolean), + * 'lifeTime' => cache lifetime in seconds (int), + * 'fileLocking' => enable / disable fileLocking (boolean), + * 'writeControl' => enable / disable write control (boolean), + * 'readControl' => enable / disable read control (boolean), + * 'readControlType' => type of read control 'crc32', 'md5', 'strlen' (string), + * 'pearErrorMode' => pear error mode (when raiseError is called) (cf PEAR doc) (int), + * 'memoryCaching' => enable / disable memory caching (boolean), + * 'onlyMemoryCaching' => enable / disable only memory caching (boolean), + * 'memoryCachingLimit' => max nbr of records to store into memory caching (int), + * 'fileNameProtection' => enable / disable automatic file name protection (boolean), + * 'automaticSerialization' => enable / disable automatic serialization (boolean) + * ); + * + * @param array $options options + * @access public + */ + function Cache_Lite($options = array(NULL)) + { + $availableOptions = array('automaticSerialization', 'fileNameProtection', 'memoryCaching', 'onlyMemoryCaching', 'memoryCachingLimit', 'cacheDir', 'caching', 'lifeTime', 'fileLocking', 'writeControl', 'readControl', 'readControlType', 'pearErrorMode'); + foreach($options as $key => $value) { + if(in_array($key, $availableOptions)) { + $property = '_'.$key; + $this->$property = $value; + } + } + $this->_refreshTime = time() - $this->_lifeTime; + } + + /** + * Test if a cache is available and (if yes) return it + * + * @param string $id cache id + * @param string $group name of the cache group + * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested + * @return string data of the cache (or false if no cache available) + * @access public + */ + function get($id, $group = 'default', $doNotTestCacheValidity = false) + { + $this->_id = $id; + $this->_group = $group; + $data = false; + if ($this->_caching) { + $this->_setFileName($id, $group); + if ($this->_memoryCaching) { + if (isset($this->_memoryCachingArray[$this->_file])) { + if ($this->_automaticSerialization) { + return unserialize($this->_memoryCachingArray[$this->_file]); + } else { + return $this->_memoryCachingArray[$this->_file]; + } + } else { + if ($this->_onlyMemoryCaching) { + return false; + } + } + } + if ($doNotTestCacheValidity) { + if (file_exists($this->_file)) { + $data = $this->_read(); + } + } else { + if (@filemtime($this->_file) > $this->_refreshTime) { + $data = $this->_read(); + } + } + if (($data) and ($this->_memoryCaching)) { + $this->_memoryCacheAdd($this->_file, $data); + } + if (($this->_automaticSerialization) and (is_string($data))) { + $data = unserialize($data); + } + return $data; + } + return false; + } + + /** + * Save some data in a cache file + * + * @param string $data data to put in cache (can be another type than strings if automaticSerialization is on) + * @param string $id cache id + * @param string $group name of the cache group + * @return boolean true if no problem + * @access public + */ + function save($data, $id = NULL, $group = 'default') + { + if ($this->_caching) { + if ($this->_automaticSerialization) { + $data = serialize($data); + } + if (isset($id)) { + $this->_setFileName($id, $group); + } + if ($this->_memoryCaching) { + $this->_memoryCacheAdd($this->_file, $data); + if ($this->_onlyMemoryCaching) { + return true; + } + } + if ($this->_writeControl) { + if (!$this->_writeAndControl($data)) { + @touch($this->_file, time() - 2*abs($this->_lifeTime)); + return false; + } else { + return true; + } + } else { + return $this->_write($data); + } + } + return false; + } + + /** + * Remove a cache file + * + * @param string $id cache id + * @param string $group name of the cache group + * @return boolean true if no problem + * @access public + */ + function remove($id, $group = 'default') + { + $this->_setFileName($id, $group); + if (!@unlink($this->_file)) { + $this->raiseError('Cache_Lite : Unable to remove cache !', -3); + return false; + } + return true; + } + + /** + * Clean the cache + * + * if no group is specified all cache files will be destroyed + * else only cache files of the specified group will be destroyed + * + * @param string $group name of the cache group + * @return boolean true if no problem + * @access public + */ + function clean($group = false) + { + if ($this->_fileNameProtection) { + $motif = ($group) ? 'cache_'.md5($group).'_' : 'cache_'; + } else { + $motif = ($group) ? 'cache_'.$group.'_' : 'cache_'; + } + if ($this->_memoryCaching) { + while (list($key, $value) = each($this->_memoryCaching)) { + if (strpos($key, $motif, 0)) { + unset($this->_memoryCaching[$key]); + $this->_memoryCachingCounter = $this->_memoryCachingCounter - 1; + } + } + if ($this->_onlyMemoryCaching) { + return true; + } + } + if (!($dh = opendir($this->_cacheDir))) { + $this->raiseError('Cache_Lite : Unable to open cache directory !', -4); + return false; + } + while ($file = readdir($dh)) { + if (($file != '.') && ($file != '..')) { + $file = $this->_cacheDir . $file; + if (is_file($file)) { + if (strpos($file, $motif, 0)) { + if (!@unlink($file)) { + $this->raiseError('Cache_Lite : Unable to remove cache !', -3); + return false; + } + } + } + } + } + return true; + } + + /** + * Set to debug mode + * + * When an error is found, the script will stop and the message will be displayed + * (in debug mode only). + * + * @access public + */ + function setToDebug() + { + $this->_pearErrorMode = CACHE_LITE_ERROR_DIE; + } + + /** + * Set a new life time + * + * @param int $newLifeTime new life time (in seconds) + * @access public + */ + function setLifeTime($newLifeTime) + { + $this->_lifeTime = $newLifeTime; + $this->_refreshTime = time() - $newLifeTime; + } + + /** + * + * @access public + */ + function saveMemoryCachingState($id, $group = 'default') + { + if ($this->_caching) { + $array = array( + 'counter' => $this->_memoryCachingCounter, + 'array' => $this->_memoryCachingState + ); + $data = serialize($array); + $this->save($data, $id, $group); + } + } + + /** + * + * @access public + */ + function getMemoryCachingState($id, $group = 'default', $doNotTestCacheValidity = false) + { + if ($this->_caching) { + if ($data = $this->get($id, $group, $doNotTestCacheValidity)) { + $array = unserialize($data); + $this->_memoryCachingCounter = $array['counter']; + $this->_memoryCachingArray = $array['array']; + } + } + } + + /** + * Return the cache last modification time + * + * BE CAREFUL : THIS METHOD IS FOR HACKING ONLY ! + * + * @return int last modification time + */ + function lastModified() { + return filemtime($this->_file); + } + + /** + * Trigger a PEAR error + * + * To improve performances, the PEAR.php file is included dynamically. + * The file is so included only when an error is triggered. So, in most + * cases, the file isn't included and perfs are much better. + * + * @param string $msg error message + * @param int $code error code + * @access public + */ + function raiseError($msg, $code) + { + include_once('PEAR.php'); + PEAR::raiseError($msg, $code, $this->_pearErrorMode); + } + + // --- Private methods --- + + /** + * + * @access private + */ + function _memoryCacheAdd($id, $data) + { + $this->_memoryCachingArray[$this->_file] = $data; + if ($this->_memoryCachingCounter >= $this->_memoryCachingLimit) { + list($key, $value) = each($this->_memoryCachingArray); + unset($this->_memoryCachingArray[$key]); + } else { + $this->_memoryCachingCounter = $this->_memoryCachingCounter + 1; + } + } + + /** + * Make a file name (with path) + * + * @param string $id cache id + * @param string $group name of the group + * @access private + */ + function _setFileName($id, $group) + { + if ($this->_fileNameProtection) { + $this->_file = ($this->_cacheDir.'cache_'.md5($group).'_'.md5($id)); + } else { + $this->_file = $this->_cacheDir.'cache_'.$group.'_'.$id; + } + } + + /** + * Read the cache file and return the content + * + * @return string content of the cache file + * @access private + */ + function _read() + { + $fp = @fopen($this->_file, "rb"); + if ($this->_fileLocking) @flock($fp, LOCK_SH); + if ($fp) { + clearstatcache(); // because the filesize can be cached by PHP itself... + $length = @filesize($this->_file); + $mqr = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + if ($this->_readControl) { + $hashControl = @fread($fp, 32); + $length = $length - 32; + } + $data = @fread($fp, $length); + set_magic_quotes_runtime($mqr); + if ($this->_fileLocking) @flock($fp, LOCK_UN); + @fclose($fp); + if ($this->_readControl) { + $hashData = $this->_hash($data, $this->_readControlType); + if ($hashData != $hashControl) { + @touch($this->_file, time() - 2*abs($this->_lifeTime)); + return false; + } + } + return $data; + } + $this->raiseError('Cache_Lite : Unable to read cache !', -2); + return false; + } + + /** + * Write the given data in the cache file + * + * @param string $data data to put in cache + * @return boolean true if ok + * @access private + */ + function _write($data) + { + $fp = @fopen($this->_file, "wb"); + if ($fp) { + if ($this->_fileLocking) @flock($fp, LOCK_EX); + if ($this->_readControl) { + @fwrite($fp, $this->_hash($data, $this->_readControlType), 32); + } + $len = strlen($data); + @fwrite($fp, $data, $len); + if ($this->_fileLocking) @flock($fp, LOCK_UN); + @fclose($fp); + return true; + } + $this->raiseError('Cache_Lite : Unable to write cache !', -1); + return false; + } + + /** + * Write the given data in the cache file and control it just after to avoir corrupted cache entries + * + * @param string $data data to put in cache + * @return boolean true if the test is ok + * @access private + */ + function _writeAndControl($data) + { + $this->_write($data); + $dataRead = $this->_read($data); + return ($dataRead==$data); + } + + /** + * Make a control key with the string containing datas + * + * @param string $data data + * @param string $controlType type of control 'md5', 'crc32' or 'strlen' + * @return string control key + * @access private + */ + function _hash($data, $controlType) + { + switch ($controlType) { + case 'md5': + return md5($data); + case 'crc32': + return sprintf('% 32d', crc32($data)); + case 'strlen': + return sprintf('% 32d', strlen($data)); + default: + $this->raiseError('Unknown controlType ! (available values are only \'md5\', \'crc32\', \'strlen\')', -5); + } + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/Cache/index.html 4.6-complete/uploadfiles/includes/Cache/index.html --- 4.6rc2/uploadfiles/includes/Cache/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/Cache/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/HTML_toolbar.php 4.6-complete/uploadfiles/includes/HTML_toolbar.php --- 4.6rc2/uploadfiles/includes/HTML_toolbar.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/HTML_toolbar.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,430 @@ + + + + + + ImageCheck( 'new.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'new_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'publish.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'publish_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'publish.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'publish_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'unpublish.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'unpublish_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'unpublish.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'unpublish_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'archive.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'archive_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'unarchive.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'unarchive_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'html.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'html_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'html.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'html_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'css.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'css_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + ImageCheck( 'delete.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'delete_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + setQuery( $sql ); + $cur_template = $database->loadResult(); + $image = mosAdminMenus::ImageCheck( 'preview.png', 'images/', NULL, NULL, T_('Preview'), 'preview' ); + $image2 = mosAdminMenus::ImageCheck( 'preview_f2.png', 'images/', NULL, NULL, T_('Preview'), 'preview', 0 ); + ?> + + ImageCheck( 'save.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'save_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + + + + + ImageCheck( 'cancel.png', '/images/', NULL, NULL, $alt, $task ); + $image2 = $mainframe->ImageCheck( 'cancel_f2.png', '/images/', NULL, NULL, $alt, $task, 0 ); + ?> + + + + ImageCheck( 'menu_divider.png', '/images/' ); + ?> + + + + + + + + + +
      + + <?php echo $alt;?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   
      + diff -ruN 4.6rc2/uploadfiles/includes/PEAR/PEAR.php 4.6-complete/uploadfiles/includes/PEAR/PEAR.php --- 4.6rc2/uploadfiles/includes/PEAR/PEAR.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/PEAR/PEAR.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,970 @@ + | +// | Stig Bakken | +// | Tomas V.V.Cox | +// +----------------------------------------------------------------------+ +// +// $Id: PEAR.php,v 1.1 2005/07/22 01:57:13 eddieajau Exp $ +// + +define('PEAR_ERROR_RETURN', 1); +define('PEAR_ERROR_PRINT', 2); +define('PEAR_ERROR_TRIGGER', 4); +define('PEAR_ERROR_DIE', 8); +define('PEAR_ERROR_CALLBACK', 16); +define('PEAR_ERROR_EXCEPTION', 32); +define('PEAR_ZE2', (function_exists('version_compare') && + version_compare(zend_version(), "2-dev", "ge"))); + +if (substr(PHP_OS, 0, 3) == 'WIN') { + define('OS_WINDOWS', true); + define('OS_UNIX', false); + define('PEAR_OS', 'Windows'); +} else { + define('OS_WINDOWS', false); + define('OS_UNIX', true); + define('PEAR_OS', 'Unix'); // blatant assumption +} + +// instant backwards compatibility +if (!defined('PATH_SEPARATOR')) { + if (OS_WINDOWS) { + define('PATH_SEPARATOR', ';'); + } else { + define('PATH_SEPARATOR', ':'); + } +} + +$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_RETURN; +$GLOBALS['_PEAR_default_error_options'] = E_USER_NOTICE; +$GLOBALS['_PEAR_destructor_object_list'] = array(); +$GLOBALS['_PEAR_shutdown_funcs'] = array(); +$GLOBALS['_PEAR_error_handler_stack'] = array(); + +ini_set('track_errors', true); + +/** + * Base class for other PEAR classes. Provides rudimentary + * emulation of destructors. + * + * If you want a destructor in your class, inherit PEAR and make a + * destructor method called _yourclassname (same name as the + * constructor, but with a "_" prefix). Also, in your constructor you + * have to call the PEAR constructor: $this->PEAR();. + * The destructor method will be called without parameters. Note that + * at in some SAPI implementations (such as Apache), any output during + * the request shutdown (in which destructors are called) seems to be + * discarded. If you need to get any debug information from your + * destructor, use error_log(), syslog() or something similar. + * + * IMPORTANT! To use the emulated destructors you need to create the + * objects by reference: $obj =& new PEAR_child; + * + * @since PHP 4.0.2 + * @author Stig Bakken + * @see http://pear.php.net/manual/ + */ +class PEAR +{ + // {{{ properties + + /** + * Whether to enable internal debug messages. + * + * @var bool + * @access private + */ + var $_debug = false; + + /** + * Default error mode for this object. + * + * @var int + * @access private + */ + var $_default_error_mode = null; + + /** + * Default error options used for this object when error mode + * is PEAR_ERROR_TRIGGER. + * + * @var int + * @access private + */ + var $_default_error_options = null; + + /** + * Default error handler (callback) for this object, if error mode is + * PEAR_ERROR_CALLBACK. + * + * @var string + * @access private + */ + var $_default_error_handler = ''; + + /** + * Which class to use for error objects. + * + * @var string + * @access private + */ + var $_error_class = 'PEAR_Error'; + + /** + * An array of expected errors. + * + * @var array + * @access private + */ + var $_expected_errors = array(); + + // }}} + + // {{{ constructor + + /** + * Constructor. Registers this object in + * $_PEAR_destructor_object_list for destructor emulation if a + * destructor object exists. + * + * @param string $error_class (optional) which class to use for + * error objects, defaults to PEAR_Error. + * @access public + * @return void + */ + function PEAR($error_class = null) + { + $classname = get_class($this); + if ($this->_debug) { + print "PEAR constructor called, class=$classname\n"; + } + if ($error_class !== null) { + $this->_error_class = $error_class; + } + while ($classname) { + $destructor = "_$classname"; + if (method_exists($this, $destructor)) { + global $_PEAR_destructor_object_list; + $_PEAR_destructor_object_list[] = &$this; + break; + } else { + $classname = get_parent_class($classname); + } + } + } + + // }}} + // {{{ destructor + + /** + * Destructor (the emulated type of...). Does nothing right now, + * but is included for forward compatibility, so subclass + * destructors should always call it. + * + * See the note in the class desciption about output from + * destructors. + * + * @access public + * @return void + */ + function _PEAR() { + if ($this->_debug) { + printf("PEAR destructor called, class=%s\n", get_class($this)); + } + } + + // }}} + // {{{ getStaticProperty() + + /** + * If you have a class that's mostly/entirely static, and you need static + * properties, you can use this method to simulate them. Eg. in your method(s) + * do this: $myVar = &PEAR::getStaticProperty('myVar'); + * You MUST use a reference, or they will not persist! + * + * @access public + * @param string $class The calling classname, to prevent clashes + * @param string $var The variable to retrieve. + * @return mixed A reference to the variable. If not set it will be + * auto initialised to NULL. + */ + function &getStaticProperty($class, $var) + { + static $properties; + return $properties[$class][$var]; + } + + // }}} + // {{{ registerShutdownFunc() + + /** + * Use this function to register a shutdown method for static + * classes. + * + * @access public + * @param mixed $func The function name (or array of class/method) to call + * @param mixed $args The arguments to pass to the function + * @return void + */ + function registerShutdownFunc($func, $args = array()) + { + $GLOBALS['_PEAR_shutdown_funcs'][] = array($func, $args); + } + + // }}} + // {{{ isError() + + /** + * Tell whether a value is a PEAR error. + * + * @param mixed $data the value to test + * @param int $code if $data is an error object, return true + * only if $code is a string and + * $obj->getMessage() == $code or + * $code is an integer and $obj->getCode() == $code + * @access public + * @return bool true if parameter is an error + */ + function isError($data, $code = null) + { + if (is_a($data, 'PEAR_Error')) { + if (is_null($code)) { + return true; + } elseif (is_string($code)) { + return $data->getMessage() == $code; + } else { + return $data->getCode() == $code; + } + } + return false; + } + + // }}} + // {{{ setErrorHandling() + + /** + * Sets how errors generated by this object should be handled. + * Can be invoked both in objects and statically. If called + * statically, setErrorHandling sets the default behaviour for all + * PEAR objects. If called in an object, setErrorHandling sets + * the default behaviour for that object. + * + * @param int $mode + * One of PEAR_ERROR_RETURN, PEAR_ERROR_PRINT, + * PEAR_ERROR_TRIGGER, PEAR_ERROR_DIE, + * PEAR_ERROR_CALLBACK or PEAR_ERROR_EXCEPTION. + * + * @param mixed $options + * When $mode is PEAR_ERROR_TRIGGER, this is the error level (one + * of E_USER_NOTICE, E_USER_WARNING or E_USER_ERROR). + * + * When $mode is PEAR_ERROR_CALLBACK, this parameter is expected + * to be the callback function or method. A callback + * function is a string with the name of the function, a + * callback method is an array of two elements: the element + * at index 0 is the object, and the element at index 1 is + * the name of the method to call in the object. + * + * When $mode is PEAR_ERROR_PRINT or PEAR_ERROR_DIE, this is + * a printf format string used when printing the error + * message. + * + * @access public + * @return void + * @see PEAR_ERROR_RETURN + * @see PEAR_ERROR_PRINT + * @see PEAR_ERROR_TRIGGER + * @see PEAR_ERROR_DIE + * @see PEAR_ERROR_CALLBACK + * @see PEAR_ERROR_EXCEPTION + * + * @since PHP 4.0.5 + */ + + function setErrorHandling($mode = null, $options = null) + { + if (isset($this) && is_a($this, 'PEAR')) { + $setmode = &$this->_default_error_mode; + $setoptions = &$this->_default_error_options; + } else { + $setmode = &$GLOBALS['_PEAR_default_error_mode']; + $setoptions = &$GLOBALS['_PEAR_default_error_options']; + } + + switch ($mode) { + case PEAR_ERROR_RETURN: + case PEAR_ERROR_PRINT: + case PEAR_ERROR_TRIGGER: + case PEAR_ERROR_DIE: + case PEAR_ERROR_EXCEPTION: + case null: + $setmode = $mode; + $setoptions = $options; + break; + + case PEAR_ERROR_CALLBACK: + $setmode = $mode; + // class/object method callback + if (is_callable($options)) { + $setoptions = $options; + } else { + trigger_error("invalid error callback", E_USER_WARNING); + } + break; + + default: + trigger_error("invalid error mode", E_USER_WARNING); + break; + } + } + + // }}} + // {{{ expectError() + + /** + * This method is used to tell which errors you expect to get. + * Expected errors are always returned with error mode + * PEAR_ERROR_RETURN. Expected error codes are stored in a stack, + * and this method pushes a new element onto it. The list of + * expected errors are in effect until they are popped off the + * stack with the popExpect() method. + * + * Note that this method can not be called statically + * + * @param mixed $code a single error code or an array of error codes to expect + * + * @return int the new depth of the "expected errors" stack + * @access public + */ + function expectError($code = '*') + { + if (is_array($code)) { + array_push($this->_expected_errors, $code); + } else { + array_push($this->_expected_errors, array($code)); + } + return sizeof($this->_expected_errors); + } + + // }}} + // {{{ popExpect() + + /** + * This method pops one element off the expected error codes + * stack. + * + * @return array the list of error codes that were popped + */ + function popExpect() + { + return array_pop($this->_expected_errors); + } + + // }}} + // {{{ _checkDelExpect() + + /** + * This method checks unsets an error code if available + * + * @param mixed error code + * @return bool true if the error code was unset, false otherwise + * @access private + * @since PHP 4.3.0 + */ + function _checkDelExpect($error_code) + { + $deleted = false; + + foreach ($this->_expected_errors AS $key => $error_array) { + if (in_array($error_code, $error_array)) { + unset($this->_expected_errors[$key][array_search($error_code, $error_array)]); + $deleted = true; + } + + // clean up empty arrays + if (0 == count($this->_expected_errors[$key])) { + unset($this->_expected_errors[$key]); + } + } + return $deleted; + } + + // }}} + // {{{ delExpect() + + /** + * This method deletes all occurences of the specified element from + * the expected error codes stack. + * + * @param mixed $error_code error code that should be deleted + * @return mixed list of error codes that were deleted or error + * @access public + * @since PHP 4.3.0 + */ + function delExpect($error_code) + { + $deleted = false; + + if ((is_array($error_code) && (0 != count($error_code)))) { + // $error_code is a non-empty array here; + // we walk through it trying to unset all + // values + foreach($error_code as $key => $error) { + if ($this->_checkDelExpect($error)) { + $deleted = true; + } else { + $deleted = false; + } + } + return $deleted ? true : PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME + } elseif (!empty($error_code)) { + // $error_code comes alone, trying to unset it + if ($this->_checkDelExpect($error_code)) { + return true; + } else { + return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME + } + } else { + // $error_code is empty + return PEAR::raiseError("The expected error you submitted is empty"); // IMPROVE ME + } + } + + // }}} + // {{{ raiseError() + + /** + * This method is a wrapper that returns an instance of the + * configured error class with this object's default error + * handling applied. If the $mode and $options parameters are not + * specified, the object's defaults are used. + * + * @param mixed $message a text error message or a PEAR error object + * + * @param int $code a numeric error code (it is up to your class + * to define these if you want to use codes) + * + * @param int $mode One of PEAR_ERROR_RETURN, PEAR_ERROR_PRINT, + * PEAR_ERROR_TRIGGER, PEAR_ERROR_DIE, + * PEAR_ERROR_CALLBACK, PEAR_ERROR_EXCEPTION. + * + * @param mixed $options If $mode is PEAR_ERROR_TRIGGER, this parameter + * specifies the PHP-internal error level (one of + * E_USER_NOTICE, E_USER_WARNING or E_USER_ERROR). + * If $mode is PEAR_ERROR_CALLBACK, this + * parameter specifies the callback function or + * method. In other error modes this parameter + * is ignored. + * + * @param string $userinfo If you need to pass along for example debug + * information, this parameter is meant for that. + * + * @param string $error_class The returned error object will be + * instantiated from this class, if specified. + * + * @param bool $skipmsg If true, raiseError will only pass error codes, + * the error message parameter will be dropped. + * + * @access public + * @return object a PEAR error object + * @see PEAR::setErrorHandling + * @since PHP 4.0.5 + */ + function raiseError($message = null, + $code = null, + $mode = null, + $options = null, + $userinfo = null, + $error_class = null, + $skipmsg = false) + { + // The error is yet a PEAR error object + if (is_object($message)) { + $code = $message->getCode(); + $userinfo = $message->getUserInfo(); + $error_class = $message->getType(); + $message->error_message_prefix = ''; + $message = $message->getMessage(); + } + + if (isset($this) && isset($this->_expected_errors) && sizeof($this->_expected_errors) > 0 && sizeof($exp = end($this->_expected_errors))) { + if ($exp[0] == "*" || + (is_int(reset($exp)) && in_array($code, $exp)) || + (is_string(reset($exp)) && in_array($message, $exp))) { + $mode = PEAR_ERROR_RETURN; + } + } + // No mode given, try global ones + if ($mode === null) { + // Class error handler + if (isset($this) && isset($this->_default_error_mode)) { + $mode = $this->_default_error_mode; + $options = $this->_default_error_options; + // Global error handler + } elseif (isset($GLOBALS['_PEAR_default_error_mode'])) { + $mode = $GLOBALS['_PEAR_default_error_mode']; + $options = $GLOBALS['_PEAR_default_error_options']; + } + } + + if ($error_class !== null) { + $ec = $error_class; + } elseif (isset($this) && isset($this->_error_class)) { + $ec = $this->_error_class; + } else { + $ec = 'PEAR_Error'; + } + if ($skipmsg) { + return new $ec($code, $mode, $options, $userinfo); + } else { + return new $ec($message, $code, $mode, $options, $userinfo); + } + } + + // }}} + // {{{ throwError() + + /** + * Simpler form of raiseError with fewer options. In most cases + * message, code and userinfo are enough. + * + * @param string $message + * + */ + function throwError($message = null, + $code = null, + $userinfo = null) + { + if (isset($this) && is_subclass_of($this, 'PEAR_Error')) { + return $this->raiseError($message, $code, null, null, $userinfo); + } else { + return PEAR::raiseError($message, $code, null, null, $userinfo); + } + } + + // }}} + // {{{ pushErrorHandling() + + /** + * Push a new error handler on top of the error handler options stack. With this + * you can easily override the actual error handler for some code and restore + * it later with popErrorHandling. + * + * @param mixed $mode (same as setErrorHandling) + * @param mixed $options (same as setErrorHandling) + * + * @return bool Always true + * + * @see PEAR::setErrorHandling + */ + function pushErrorHandling($mode, $options = null) + { + $stack = &$GLOBALS['_PEAR_error_handler_stack']; + if (isset($this) && is_a($this, 'PEAR')) { + $def_mode = &$this->_default_error_mode; + $def_options = &$this->_default_error_options; + } else { + $def_mode = &$GLOBALS['_PEAR_default_error_mode']; + $def_options = &$GLOBALS['_PEAR_default_error_options']; + } + $stack[] = array($def_mode, $def_options); + + if (isset($this) && is_a($this, 'PEAR')) { + $this->setErrorHandling($mode, $options); + } else { + PEAR::setErrorHandling($mode, $options); + } + $stack[] = array($mode, $options); + return true; + } + + // }}} + // {{{ popErrorHandling() + + /** + * Pop the last error handler used + * + * @return bool Always true + * + * @see PEAR::pushErrorHandling + */ + function popErrorHandling() + { + $stack = &$GLOBALS['_PEAR_error_handler_stack']; + array_pop($stack); + list($mode, $options) = $stack[sizeof($stack) - 1]; + array_pop($stack); + if (isset($this) && is_a($this, 'PEAR')) { + $this->setErrorHandling($mode, $options); + } else { + PEAR::setErrorHandling($mode, $options); + } + return true; + } + + // }}} + // {{{ loadExtension() + + /** + * OS independant PHP extension load. Remember to take care + * on the correct extension name for case sensitive OSes. + * + * @param string $ext The extension name + * @return bool Success or not on the dl() call + */ + function loadExtension($ext) + { + if (!extension_loaded($ext)) { + // if either returns true dl() will produce a FATAL error, stop that + if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1)) { + return false; + } + if (OS_WINDOWS) { + $suffix = '.dll'; + } elseif (PHP_OS == 'HP-UX') { + $suffix = '.sl'; + } elseif (PHP_OS == 'AIX') { + $suffix = '.a'; + } elseif (PHP_OS == 'OSX') { + $suffix = '.bundle'; + } else { + $suffix = '.so'; + } + return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix); + } + return true; + } + + // }}} +} + +// {{{ _PEAR_call_destructors() + +function _PEAR_call_destructors() +{ + global $_PEAR_destructor_object_list; + if (is_array($_PEAR_destructor_object_list) && + sizeof($_PEAR_destructor_object_list)) + { + reset($_PEAR_destructor_object_list); + while (list($k, $objref) = each($_PEAR_destructor_object_list)) { + $classname = get_class($objref); + while ($classname) { + $destructor = "_$classname"; + if (method_exists($objref, $destructor)) { + $objref->$destructor(); + break; + } else { + $classname = get_parent_class($classname); + } + } + } + // Empty the object list to ensure that destructors are + // not called more than once. + $_PEAR_destructor_object_list = array(); + } + + // Now call the shutdown functions + if (is_array($GLOBALS['_PEAR_shutdown_funcs']) AND !empty($GLOBALS['_PEAR_shutdown_funcs'])) { + foreach ($GLOBALS['_PEAR_shutdown_funcs'] as $value) { + call_user_func_array($value[0], $value[1]); + } + } +} + +// }}} + +class PEAR_Error +{ + // {{{ properties + + var $error_message_prefix = ''; + var $mode = PEAR_ERROR_RETURN; + var $level = E_USER_NOTICE; + var $code = -1; + var $message = ''; + var $userinfo = ''; + var $backtrace = null; + + // }}} + // {{{ constructor + + /** + * PEAR_Error constructor + * + * @param string $message message + * + * @param int $code (optional) error code + * + * @param int $mode (optional) error mode, one of: PEAR_ERROR_RETURN, + * PEAR_ERROR_PRINT, PEAR_ERROR_DIE, PEAR_ERROR_TRIGGER, + * PEAR_ERROR_CALLBACK or PEAR_ERROR_EXCEPTION + * + * @param mixed $options (optional) error level, _OR_ in the case of + * PEAR_ERROR_CALLBACK, the callback function or object/method + * tuple. + * + * @param string $userinfo (optional) additional user/debug info + * + * @access public + * + */ + function PEAR_Error($message = 'unknown error', $code = null, + $mode = null, $options = null, $userinfo = null) + { + if ($mode === null) { + $mode = PEAR_ERROR_RETURN; + } + $this->message = $message; + $this->code = $code; + $this->mode = $mode; + $this->userinfo = $userinfo; + if (function_exists("debug_backtrace")) { + $this->backtrace = debug_backtrace(); + } + if ($mode & PEAR_ERROR_CALLBACK) { + $this->level = E_USER_NOTICE; + $this->callback = $options; + } else { + if ($options === null) { + $options = E_USER_NOTICE; + } + $this->level = $options; + $this->callback = null; + } + if ($this->mode & PEAR_ERROR_PRINT) { + if (is_null($options) || is_int($options)) { + $format = "%s"; + } else { + $format = $options; + } + printf($format, $this->getMessage()); + } + if ($this->mode & PEAR_ERROR_TRIGGER) { + trigger_error($this->getMessage(), $this->level); + } + if ($this->mode & PEAR_ERROR_DIE) { + $msg = $this->getMessage(); + if (is_null($options) || is_int($options)) { + $format = "%s"; + if (substr($msg, -1) != "\n") { + $msg .= "\n"; + } + } else { + $format = $options; + } + die(sprintf($format, $msg)); + } + if ($this->mode & PEAR_ERROR_CALLBACK) { + if (is_callable($this->callback)) { + call_user_func($this->callback, $this); + } + } + if (PEAR_ZE2 && $this->mode & PEAR_ERROR_EXCEPTION) { + eval('throw $this;'); + } + } + + // }}} + // {{{ getMode() + + /** + * Get the error mode from an error object. + * + * @return int error mode + * @access public + */ + function getMode() { + return $this->mode; + } + + // }}} + // {{{ getCallback() + + /** + * Get the callback function/method from an error object. + * + * @return mixed callback function or object/method array + * @access public + */ + function getCallback() { + return $this->callback; + } + + // }}} + // {{{ getMessage() + + + /** + * Get the error message from an error object. + * + * @return string full error message + * @access public + */ + function getMessage() + { + return ($this->error_message_prefix . $this->message); + } + + + // }}} + // {{{ getCode() + + /** + * Get error code from an error object + * + * @return int error code + * @access public + */ + function getCode() + { + return $this->code; + } + + // }}} + // {{{ getType() + + /** + * Get the name of this error/exception. + * + * @return string error/exception name (type) + * @access public + */ + function getType() + { + return get_class($this); + } + + // }}} + // {{{ getUserInfo() + + /** + * Get additional user-supplied information. + * + * @return string user-supplied information + * @access public + */ + function getUserInfo() + { + return $this->userinfo; + } + + // }}} + // {{{ getDebugInfo() + + /** + * Get additional debug information supplied by the application. + * + * @return string debug information + * @access public + */ + function getDebugInfo() + { + return $this->getUserInfo(); + } + + // }}} + // {{{ getBacktrace() + + /** + * Get the call backtrace from where the error was generated. + * Supported with PHP 4.3.0 or newer. + * + * @param int $frame (optional) what frame to fetch + * @return array Backtrace, or NULL if not available. + * @access public + */ + function getBacktrace($frame = null) + { + if ($frame === null) { + return $this->backtrace; + } + return $this->backtrace[$frame]; + } + + // }}} + // {{{ addUserInfo() + + function addUserInfo($info) + { + if (empty($this->userinfo)) { + $this->userinfo = $info; + } else { + $this->userinfo .= " ** $info"; + } + } + + // }}} + // {{{ toString() + + /** + * Make a string representation of this object. + * + * @return string a string with an object summary + * @access public + */ + function toString() { + $modes = array(); + $levels = array(E_USER_NOTICE => 'notice', + E_USER_WARNING => 'warning', + E_USER_ERROR => 'error'); + if ($this->mode & PEAR_ERROR_CALLBACK) { + if (is_array($this->callback)) { + $callback = get_class($this->callback[0]) . '::' . + $this->callback[1]; + } else { + $callback = $this->callback; + } + return sprintf('[%s: message="%s" code=%d mode=callback '. + 'callback=%s prefix="%s" info="%s"]', + get_class($this), $this->message, $this->code, + $callback, $this->error_message_prefix, + $this->userinfo); + } + if ($this->mode & PEAR_ERROR_PRINT) { + $modes[] = 'print'; + } + if ($this->mode & PEAR_ERROR_TRIGGER) { + $modes[] = 'trigger'; + } + if ($this->mode & PEAR_ERROR_DIE) { + $modes[] = 'die'; + } + if ($this->mode & PEAR_ERROR_RETURN) { + $modes[] = 'return'; + } + return sprintf('[%s: message="%s" code=%d mode=%s level=%s '. + 'prefix="%s" info="%s"]', + get_class($this), $this->message, $this->code, + implode("|", $modes), $levels[$this->level], + $this->error_message_prefix, + $this->userinfo); + } + + // }}} +} + +register_shutdown_function("_PEAR_call_destructors"); + +/* + * Local Variables: + * mode: php + * tab-width: 4 + * c-basic-offset: 4 + * End: + */ +?> diff -ruN 4.6rc2/uploadfiles/includes/PEAR/index.html 4.6-complete/uploadfiles/includes/PEAR/index.html --- 4.6rc2/uploadfiles/includes/PEAR/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/PEAR/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/agent_browser.php 4.6-complete/uploadfiles/includes/agent_browser.php --- 4.6rc2/uploadfiles/includes/agent_browser.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/agent_browser.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,362 @@ +"iCab", +"go!zilla"=>"Go!Zilla", +"konqueror"=>"Konqueror", +"links"=>"Links", +"lynx"=>"Lynx", +"omniweb"=>"OmniWeb", +"opera"=>"Opera", +"msie 6\.0"=>"Microsoft Internet Explorer 6.0", +"apachebench"=>"ApacheBench", +"wget"=>"Wget", +"22acidownload"=>"22AciDownload", +"aol\\-iweng"=>"AOL-Iweng", +"amaya"=>"Amaya", +"amigavoyager"=>"AmigaVoyager", +"aweb"=>"AWeb", +"bpftp"=>"BPFTP", +"chimera"=>"Chimera", +"cyberdog"=>"Cyberdog", +"dillo"=>"Dillo", +"dreamcast"=>"Dreamcast", +"downloadagent"=>"DownloadAgent", +"ecatch", "eCatch", +"emailsiphon"=>"EmailSiphon", +"encompass"=>"Encompass", +"friendlyspider"=>"FriendlySpider", +"fresco"=>"ANT Fresco", +"galeon"=>"Galeon", +"getright"=>"GetRight", +"headdump"=>"HeadDump", +"hotjava"=>"Sun HotJava", +"ibrowse"=>"IBrowse", +"intergo"=>"InterGO", +"k-meleon"=>"K-Meleon", +"linemodebrowser"=>"W3C Line Mode Browser", +"lotus-notes"=>"Lotus Notes web client", +"macweb"=>"MacWeb", +"multizilla"=>"MultiZilla", +"ncsa_mosaic"=>"NCSA Mosaic", +"netpositive"=>"NetPositive", +"nutscrape", "Nutscrape", +"msfrontpageexpress"=>"MS FrontPage Express", +"phoenix"=>"Phoenix", +"firebird"=>"Mozilla Firebird", +"firefox"=>"Mozilla Firefox", +"safari"=>"Safari", +"tzgeturl"=>"TzGetURL", +"viking"=>"Viking", +"webfetcher"=>"WebFetcher", +"webexplorer"=>"IBM-WebExplorer", +"webmirror"=>"WebMirror", +"webvcr"=>"WebVCR", +// Site grabbers +"teleport"=>"TelePort Pro", +"webcapture"=>"Acrobat", +"webcopier", "WebCopier", +// Music only browsers +"real"=>"RealAudio or compatible (media player)", +"winamp"=>"WinAmp (media player)", // Works for winampmpeg and winamp3httprdr +"windows-media-player"=>"Windows Media Player (media player)", +"audion"=>"Audion (media player)", +"freeamp"=>"FreeAmp (media player)", +"itunes"=>"Apple iTunes (media player)", +"jetaudio"=>"JetAudio (media player)", +"mint_audio"=>"Mint Audio (media player)", +"mpg123"=>"mpg123 (media player)", +"nsplayer"=>"NetShow Player (media player)", +"sonique"=>"Sonique (media player)", +"uplayer"=>"Ultra Player (media player)", +"xmms"=>"XMMS (media player)", +"xaudio"=>"Some XAudio Engine based MPEG player (media player)", +// PDA/Phonecell browsers +"alcatel"=>"Alcatel Browser (PDA/Phone browser)", +"ericsson"=>"Ericsson Browser (PDA/Phone browser)", +"mot-"=>"Motorola Browser (PDA/Phone browser)", +"nokia"=>"Nokia Browser (PDA/Phone browser)", +"panasonic"=>"Panasonic Browser (PDA/Phone browser)", +"philips"=>"Philips Browser (PDA/Phone browser)", +"sonyericsson"=>"Sony/Ericsson Browser (PDA/Phone browser)", +"mmef"=>"Microsoft Mobile Explorer (PDA/Phone browser)", +"mspie"=>"MS Pocket Internet Explorer (PDA/Phone browser)", +"wapalizer"=>"WAPalizer (PDA/Phone browser)", +"wapsilon"=>"WAPsilon (PDA/Phone browser)", +"webcollage"=>"WebCollage (PDA/Phone browser)", +"up\."=>"UP.Browser (PDA/Phone browser)", // Works for UP.Browser and UP.Link +// PDA/Phonecell I-Mode browsers +"docomo"=>"I-Mode phone (PDA/Phone browser)", +"portalmmm"=>"I-Mode phone (PDA/Phone browser)", +// Others (TV) +"webtv"=>"WebTV browser", +// Other kind of browsers +"csscheck"=>"WDG CSS Validator", +"w3m"=>"w3m", +"w3c_css_validator"=>"W3C CSS Validator", +"w3c_validator"=>"W3C HTML Validator", +"wdg_validator"=>"WDG HTML Validator", +"webzip"=>"WebZIP", +"staroffice"=>"StarOffice", +"mozilla"=>"Mozilla", +"libwww"=>"LibWWW", +); + + +// BrowsersHashAreGrabber +// Put here an entry for each browser in BrowsersSearchIDOrder that are grabber +// browsers. +//--------------------------------------------------------------------------- +$BrowsersHereAreGrabbers = array ( +"teleport"=>"1", +"webcapture"=>"1", +"webcopier"=>"1", +); + + +// BrowsersHashIcon +// Each Browsers Search ID is associated to a string that is the name of icon +// file for this browser. +//--------------------------------------------------------------------------- +$BrowsersHashIcon = array ( +// Standard web browsers +"msie"=>"msie", +"netscape"=>"netscape", + +"icab"=>"icab", +"go!zilla"=>"gozilla", +"konqueror"=>"konqueror", +"links"=>"notavailable", +"lynx"=>"lynx", +"omniweb"=>"omniweb", +"opera"=>"opera", +"wget"=>"notavailable", +"22acidownload"=>"notavailable", +"aol\\-iweng"=>"notavailable", +"amaya"=>"amaya", +"amigavoyager"=>"notavailable", +"aweb"=>"notavailable", +"bpftp"=>"notavailable", +"chimera"=>"chimera", +"cyberdog"=>"notavailable", +"dillo"=>"notavailable", +"dreamcast"=>"dreamcast", +"downloadagent"=>"notavailable", +"ecatch"=>"notavailable", +"emailsiphon"=>"notavailable", +"encompass"=>"notavailable", +"friendlyspider"=>"notavailable", +"fresco"=>"notavailable", +"galeon"=>"galeon", +"getright"=>"getright", +"headdump"=>"notavailable", +"hotjava"=>"notavailable", +"ibrowse"=>"ibrowse", +"intergo"=>"notavailable", +"k-meleon"=>"kmeleon", +"linemodebrowser"=>"notavailable", +"lotus-notes"=>"notavailable", +"macweb"=>"notavailable", +"multizilla"=>"multizilla", +"ncsa_mosaic"=>"notavailable", +"netpositive"=>"netpositive", +"nutscrape"=>"notavailable", +"msfrontpageexpress"=>"notavailable", +"phoenix"=>"phoenix", +"firebird"=>"firebird", +"safari"=>"safari", +"tzgeturl"=>"notavailable", +"viking"=>"notavailable", +"webfetcher"=>"notavailable", +"webexplorer"=>"notavailable", +"webmirror"=>"notavailable", +"webvcr"=>"notavailable", +// Site grabbers +"teleport"=>"teleport", +"webcapture"=>"adobe", +"webcopier"=>"webcopier", +// Music only browsers +"real"=>"mediaplayer", +"winamp"=>"mediaplayer", // Works for winampmpeg and winamp3httprdr +"windows-media-player"=>"mediaplayer", +"audion"=>"mediaplayer", +"freeamp"=>"mediaplayer", +"itunes"=>"mediaplayer", +"jetaudio"=>"mediaplayer", +"mint_audio"=>"mediaplayer", +"mpg123"=>"mediaplayer", +"nsplayer"=>"mediaplayer", +"sonique"=>"mediaplayer", +"uplayer"=>"mediaplayer", +"xmms"=>"mediaplayer", +"xaudio"=>"mediaplayer", +// PDA/Phonecell browsers +"alcatel"=>"pdaphone", // Alcatel +"ericsson"=>"pdaphone", // Ericsson +"mot-"=>"pdaphone", // Motorola +"nokia"=>"pdaphone", // Nokia +"panasonic"=>"pdaphone", // Panasonic +"philips"=>"pdaphone", // Philips +"sonyericsson"=>"pdaphone", // Sony/Ericsson +"mmef"=>"pdaphone", +"mspie"=>"pdaphone", +"wapalizer"=>"pdaphone", +"wapsilon"=>"pdaphone", +"webcollage"=>"pdaphone", +"up\."=>"pdaphone", // Works for UP.Browser and UP.Link +// PDA/Phonecell I-Mode browsers +"docomo"=>"pdaphone", +"portalmmm"=>"pdaphone", +// Others (TV) +"webtv"=>"webtv", +// Other kind of browsers +"csscheck"=>"notavailable", +"w3m"=>"notavailable", +"w3c_css_validator"=>"notavailable", +"w3c_validator"=>"notavailable", +"wdg_validator"=>"notavailable", +"webzip"=>"webzip", +"staroffice"=>"staroffice", +"mozilla"=>"mozilla", +"libwww"=>"notavailable" +); + + +// TODO +// Add Gecko category -> IE / Netscape / Gecko(except Netscape) / Other +// IE (based on Mosaic) +// Netscape family +// Gecko except Netscape (Mozilla, Firebird (was Phoenix), Galeon, AmiZilla, Dino, and few others) +// Opera (Opera 6/7) +// KHTML (Konqueror, Safari) +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/agent_os.php 4.6-complete/uploadfiles/includes/agent_os.php --- 4.6rc2/uploadfiles/includes/agent_os.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/agent_os.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,81 @@ +"Windows Longhorn", +"windows nt 5\.2"=>"Windows 2003", +"windows nt 5\.0"=>"Windows 2000", +"windows nt 5\.1"=>"Windows XP", +"winnt"=>"Windows NT", +"winnt 4\.0"=>"Windows NT", +"windows 98"=>"Windows 98", +"win98"=>"Windows 98", +"windows 95"=>"Windows 95", +"win95"=>"Windows 95", +"sunos"=>"Sun Solaris", +"freebsd"=>"FreeBSD", +"ppc"=>"Macintosh", +"mac os x"=>"Mac OS X", +"linux"=>"Linux", +"debian"=>"Debian", +"beos"=>"BeOS", +"winnt4\.0"=>"Windows NT 4.0", +"apachebench"=>"ApacheBench", +"aix"=>"AIX", +"irix"=>"Irix", +"osf"=>"DEC OSF", +"hp-ux"=>"HP-UX", +"netbsd"=>"NetBSD", +"bsdi"=>"BSDi", +"openbsd"=>"OpenBSD", +"gnu"=>"GNU/Linux", +"unix"=>"Unknown Unix system" +); +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/authenticator.php 4.6-complete/uploadfiles/includes/authenticator.php --- 4.6rc2/uploadfiles/includes/authenticator.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/authenticator.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,210 @@ +loadBotGroup('authenticator'); + $session =& mosSession::getCurrent(); + $database =& mamboDatabase::getInstance(); + if (!$username OR !$passwd) { + $username = mosGetParam($_REQUEST, 'username', ''); + $passwd = mosGetParam($_REQUEST, 'passwd', '' ); + $bypost = 1; + } + else $bypost = 0; + if ($remember === null) $remember = mosGetParam($_REQUEST, 'remember', ''); + + if (!$username OR !$passwd) { + echo "\n"; + exit(); + } else { + $username = $database->getEscaped($username); + $loginfo =& new mosLoginDetails($username, $passwd, $remember); + $checkuser = true; + $logresults = $mambothandler->trigger('requiredLogin',array($loginfo)); + if (count($logresults) == 0) $logresults[] = T_('Logins are not permitted. There is no authentication check active.'); + foreach ($logresults as $message) { + if ($message) $checkuser = false; + break; + } + if ($checkuser) { + $mambothandler->trigger('goodLogin', array($loginfo)); + return; + } + $mambothandler->trigger('badLogin', array($loginfo)); + if (isset($bypost)) echo "\n"; + @session_destroy(); + } + } + + /** + * User authentication function + * + * Username and encoded password are checked against the database. + */ + function authenticateUser (&$message, $username, $passwd, $remember=null, $session=null) { + $message = ''; + if ($session === null) $session =& mosSession::getCurrent(); + $database =& mamboDatabase::getInstance(); + $database->setQuery( "SELECT id, gid, block, usertype" + . "\nFROM #__users" + . "\nWHERE username='$username' AND password='$passwd'" + ); + if ($database->loadObject($row)) { + if ($row->block) { + $message = T_('Your login has been blocked. Please contact the administrator.'); + return false; + } + // fudge the group stuff +// $grp = $acl->getAroGroup( $row->id ); +// if ($acl->is_group_child_of( $grp->name, 'Registered', 'ARO' ) || +// $acl->is_group_child_of( $grp->name, 'Public Backend', 'ARO' )) { + // fudge Authors, Editors, Publishers and Super Administrators into the Special Group +// $row->usertype = $grp->name; + $session->guest = 0; + $session->username = $username; + $session->userid = $row->id; + $session->usertype = $row->usertype; + if ($row->usertype == 'Registered') $session->gid = 1; + else $session->gid = 2; + $session->gid = intval( $row->gid ); # what is going on here??? + $session->update(); + $currentDate = date("Y-m-d\TH:i:s"); + $query = "UPDATE #__users SET lastvisitDate='$currentDate' where id='$session->userid'"; + $database->setQuery($query); + if (!$database->query()) { + die($database->stderr(true)); + } + if ($remember=="yes") { + $lifetime = time() + 365*24*60*60; + setcookie("usercookie[username]", $username, $lifetime, "/"); + setcookie("usercookie[password]", $passwd, $lifetime, "/"); + } + //mosCache::cleanCache('com_content'); + mosCache::cleanCache(); + } else { + $message = T_('Incorrect username or password. Please try again.'); + $this->clearSession($session); + return false; + } + return true; + } + + function clearSession ($session=null) { + if ($session === null) $session =& mosSession::getCurrent(); + //mosCache::cleanCache('com_content'); + mosCache::cleanCache(); + $session->guest = 1; + $session->username = ''; + $session->userid = ''; + $session->usertype = ''; + $session->gid = 0; + $session->update(); + // this is daggy?? + $lifetime = time() - 1800; + setcookie( "usercookie[username]", " ", $lifetime, "/" ); + setcookie( "usercookie[password]", " ", $lifetime, "/" ); + setcookie( "usercookie", " ", $lifetime, "/" ); + @session_destroy(); + } + + /** + * User logout + * + * Reverts the current session record back to 'anonymous' parameters + */ + function logoutUser () { + $session =& mosSession::getCurrent(); + if ($session) { + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('authenticator'); + $loginfo = new mosLoginDetails($session->username); + $mambothandler->trigger('beforeLogout', array($loginfo)); + $this->clearSession($session); + } + } + + function &loginAdmin ($acl) { + $database =& mamboDatabase::getInstance(); + /** escape and trim to minimise injection of malicious sql */ + $usrname = $database->getEscaped(mosGetParam($_POST, 'usrname', '')); + $pass = $database->getEscaped(mosGetParam($_POST, 'pass', '')); + + $my = null; + if (!$pass) echo "\n"; + else $pass = md5( $pass ); + + $admintypes = array ('administrator', 'superadministrator', 'super administrator'); + $admins = 0; + $query = "SELECT u.*, a.lft as grp FROM #__users AS u, #__core_acl_aro_groups AS a" + . "\n WHERE ( LOWER( usertype ) = 'administrator'" + . "\n OR LOWER( usertype ) = 'superadministrator'" + . "\n OR LOWER( usertype ) = 'super administrator'" + . "\n OR (username='$usrname' AND block=0)) AND a.name = u.usertype" + ; + $users = $database->doSQLget( $query, 'mosUser' ); + foreach ($users as $key=>$oneuser) { + if (in_array(strtolower($oneuser->usertype),$admintypes)) $admins++; + if ($oneuser->username == $usrname) $my =& $users[$key]; + } + if ($admins == 0) echo "\n"; + /** find the user group (or groups in the future) */ + elseif (isset($my)) { + if (strcmp( $my->password, $pass ) + OR !$acl->acl_check( 'administration', 'login', 'users', $my->usertype )) { + echo "\n"; + return; + } + $logintime = time(); + $session_id = md5( "$my->id$my->username$my->usertype$logintime" ); + $query = "INSERT INTO #__session" + . "\nSET time='$logintime', session_id='$session_id', " + . "userid='$my->id', usertype='$my->usertype', username='$my->username', guest=-1" + ; + $database->setQuery( $query ); + if (!$database->query()) { + echo $database->stderr(); + } + $_SESSION['session_id'] = $session_id; + $_SESSION['session_user_id'] = $my->id; + $_SESSION['session_username'] = $my->username; + $_SESSION['session_usertype'] = $my->usertype; + $_SESSION['session_gid'] = $my->gid; + $_SESSION['session_grp'] = $my->grp; + $_SESSION['session_logintime'] = $logintime; + $_SESSION['session_userstate'] = array(); + } + return $my; + } + + /** + * Random password generator + * @return password + */ + function mosMakePassword() { + $salt = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + $len = strlen($salt); + $makepass=""; + mt_srand(10000000*(double)microtime()); + for ($i = 0; $i < 8; $i++) + $makepass .= $salt[mt_rand(0,$len - 1)]; + return $makepass; + } +} diff -ruN 4.6rc2/uploadfiles/includes/captcha.php 4.6-complete/uploadfiles/includes/captcha.php --- 4.6rc2/uploadfiles/includes/captcha.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/captcha.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,180 @@ + Binary files 4.6rc2/uploadfiles/includes/captchaFonts/font1.ttf and 4.6-complete/uploadfiles/includes/captchaFonts/font1.ttf differ Binary files 4.6rc2/uploadfiles/includes/captchaFonts/font2.ttf and 4.6-complete/uploadfiles/includes/captchaFonts/font2.ttf differ Binary files 4.6rc2/uploadfiles/includes/captchaFonts/font3.ttf and 4.6-complete/uploadfiles/includes/captchaFonts/font3.ttf differ diff -ruN 4.6rc2/uploadfiles/includes/class.ezpdf.php 4.6-complete/uploadfiles/includes/class.ezpdf.php --- 4.6rc2/uploadfiles/includes/class.ezpdf.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/class.ezpdf.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1555 @@ +10); // used for storing most of the page configuration parameters +var $y; // this is the current vertical positon on the page of the writing point, very important +var $ezPages=array(); // keep an array of the ids of the pages, making it easy to go back and add page numbers etc. +var $ezPageCount=0; + +// ------------------------------------------------------------------------------ + +function Cezpdf($paper='a4',$orientation='portrait'){ + // Assuming that people don't want to specify the paper size using the absolute coordinates + // allow a couple of options: + // orientation can be 'portrait' or 'landscape' + // or, to actually set the coordinates, then pass an array in as the first parameter. + // the defaults are as shown. + // + // ------------------------- + // 2002-07-24 - Nicola Asuni (info@tecnick.com): + // Added new page formats (45 standard ISO paper formats and 4 american common formats) + // paper cordinates are calculated in this way: (inches * 72) where 1 inch = 2.54 cm + // + // Now you may also pass a 2 values array containing the page width and height in centimeters + // ------------------------- + + if (!is_array($paper)){ + switch (strtoupper($paper)){ + case '4A0': {$size = array(0,0,4767.87,6740.79); break;} + case '2A0': {$size = array(0,0,3370.39,4767.87); break;} + case 'A0': {$size = array(0,0,2383.94,3370.39); break;} + case 'A1': {$size = array(0,0,1683.78,2383.94); break;} + case 'A2': {$size = array(0,0,1190.55,1683.78); break;} + case 'A3': {$size = array(0,0,841.89,1190.55); break;} + case 'A4': default: {$size = array(0,0,595.28,841.89); break;} + case 'A5': {$size = array(0,0,419.53,595.28); break;} + case 'A6': {$size = array(0,0,297.64,419.53); break;} + case 'A7': {$size = array(0,0,209.76,297.64); break;} + case 'A8': {$size = array(0,0,147.40,209.76); break;} + case 'A9': {$size = array(0,0,104.88,147.40); break;} + case 'A10': {$size = array(0,0,73.70,104.88); break;} + case 'B0': {$size = array(0,0,2834.65,4008.19); break;} + case 'B1': {$size = array(0,0,2004.09,2834.65); break;} + case 'B2': {$size = array(0,0,1417.32,2004.09); break;} + case 'B3': {$size = array(0,0,1000.63,1417.32); break;} + case 'B4': {$size = array(0,0,708.66,1000.63); break;} + case 'B5': {$size = array(0,0,498.90,708.66); break;} + case 'B6': {$size = array(0,0,354.33,498.90); break;} + case 'B7': {$size = array(0,0,249.45,354.33); break;} + case 'B8': {$size = array(0,0,175.75,249.45); break;} + case 'B9': {$size = array(0,0,124.72,175.75); break;} + case 'B10': {$size = array(0,0,87.87,124.72); break;} + case 'C0': {$size = array(0,0,2599.37,3676.54); break;} + case 'C1': {$size = array(0,0,1836.85,2599.37); break;} + case 'C2': {$size = array(0,0,1298.27,1836.85); break;} + case 'C3': {$size = array(0,0,918.43,1298.27); break;} + case 'C4': {$size = array(0,0,649.13,918.43); break;} + case 'C5': {$size = array(0,0,459.21,649.13); break;} + case 'C6': {$size = array(0,0,323.15,459.21); break;} + case 'C7': {$size = array(0,0,229.61,323.15); break;} + case 'C8': {$size = array(0,0,161.57,229.61); break;} + case 'C9': {$size = array(0,0,113.39,161.57); break;} + case 'C10': {$size = array(0,0,79.37,113.39); break;} + case 'RA0': {$size = array(0,0,2437.80,3458.27); break;} + case 'RA1': {$size = array(0,0,1729.13,2437.80); break;} + case 'RA2': {$size = array(0,0,1218.90,1729.13); break;} + case 'RA3': {$size = array(0,0,864.57,1218.90); break;} + case 'RA4': {$size = array(0,0,609.45,864.57); break;} + case 'SRA0': {$size = array(0,0,2551.18,3628.35); break;} + case 'SRA1': {$size = array(0,0,1814.17,2551.18); break;} + case 'SRA2': {$size = array(0,0,1275.59,1814.17); break;} + case 'SRA3': {$size = array(0,0,907.09,1275.59); break;} + case 'SRA4': {$size = array(0,0,637.80,907.09); break;} + case 'LETTER': {$size = array(0,0,612.00,792.00); break;} + case 'LEGAL': {$size = array(0,0,612.00,1008.00); break;} + case 'EXECUTIVE': {$size = array(0,0,521.86,756.00); break;} + case 'FOLIO': {$size = array(0,0,612.00,936.00); break;} + } + switch (strtolower($orientation)){ + case 'landscape': + $a=$size[3]; + $size[3]=$size[2]; + $size[2]=$a; + break; + } + } else { + if (count($paper)>2) { + // then an array was sent it to set the size + $size = $paper; + } + else { //size in centimeters has been passed + $size[0] = 0; + $size[1] = 0; + $size[2] = ( $paper[0] / 2.54 ) * 72; + $size[3] = ( $paper[1] / 2.54 ) * 72; + } + } + $this->Cpdf($size); + $this->ez['pageWidth']=$size[2]; + $this->ez['pageHeight']=$size[3]; + + // also set the margins to some reasonable defaults + $this->ez['topMargin']=30; + $this->ez['bottomMargin']=30; + $this->ez['leftMargin']=30; + $this->ez['rightMargin']=30; + + // set the current writing position to the top of the first page + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + // and get the ID of the page that was created during the instancing process. + $this->ezPages[1]=$this->getFirstPageId(); + $this->ezPageCount=1; +} + +// ------------------------------------------------------------------------------ +// 2002-07-24: Nicola Asuni (info@tecnick.com) +// Set Margins in centimeters +function ezSetCmMargins($top,$bottom,$left,$right){ + $top = ( $top / 2.54 ) * 72; + $bottom = ( $bottom / 2.54 ) * 72; + $left = ( $left / 2.54 ) * 72; + $right = ( $right / 2.54 ) * 72; + $this->ezSetMargins($top,$bottom,$left,$right); +} +// ------------------------------------------------------------------------------ + + +function ezColumnsStart($options=array()){ + // start from the current y-position, make the set number of columne + if (isset($this->ez['columns']) && $this->ez['columns']==1){ + // if we are already in a column mode then just return. + return; + } + $def=array('gap'=>10,'num'=>2); + foreach($def as $k=>$v){ + if (!isset($options[$k])){ + $options[$k]=$v; + } + } + // setup the columns + $this->ez['columns']=array('on'=>1,'colNum'=>1); + + // store the current margins + $this->ez['columns']['margins']=array( + $this->ez['leftMargin'] + ,$this->ez['rightMargin'] + ,$this->ez['topMargin'] + ,$this->ez['bottomMargin'] + ); + // and store the settings for the columns + $this->ez['columns']['options']=$options; + // then reset the margins to suit the new columns + // safe enough to assume the first column here, but start from the current y-position + $this->ez['topMargin']=$this->ez['pageHeight']-$this->y; + $width=($this->ez['pageWidth']-$this->ez['leftMargin']-$this->ez['rightMargin']-($options['num']-1)*$options['gap'])/$options['num']; + $this->ez['columns']['width']=$width; + $this->ez['rightMargin']=$this->ez['pageWidth']-$this->ez['leftMargin']-$width; + +} +// ------------------------------------------------------------------------------ +function ezColumnsStop(){ + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + $this->ez['columns']['on']=0; + $this->ez['leftMargin']=$this->ez['columns']['margins'][0]; + $this->ez['rightMargin']=$this->ez['columns']['margins'][1]; + $this->ez['topMargin']=$this->ez['columns']['margins'][2]; + $this->ez['bottomMargin']=$this->ez['columns']['margins'][3]; + } +} +// ------------------------------------------------------------------------------ +function ezInsertMode($status=1,$pageNum=1,$pos='before'){ + // puts the document into insert mode. new pages are inserted until this is re-called with status=0 + // by default pages wil be inserted at the start of the document + switch($status){ + case '1': + if (isset($this->ezPages[$pageNum])){ + $this->ez['insertMode']=1; + $this->ez['insertOptions']=array('id'=>$this->ezPages[$pageNum],'pos'=>$pos); + } + break; + case '0': + $this->ez['insertMode']=0; + break; + } +} +// ------------------------------------------------------------------------------ + +function ezNewPage(){ + $pageRequired=1; + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + // check if this is just going to a new column + // increment the column number +//echo 'HERE
      '; + $this->ez['columns']['colNum']++; +//echo $this->ez['columns']['colNum'].'
      '; + if ($this->ez['columns']['colNum'] <= $this->ez['columns']['options']['num']){ + // then just reset to the top of the next column + $pageRequired=0; + } else { + $this->ez['columns']['colNum']=1; + $this->ez['topMargin']=$this->ez['columns']['margins'][2]; + } + + $width = $this->ez['columns']['width']; + $this->ez['leftMargin']=$this->ez['columns']['margins'][0]+($this->ez['columns']['colNum']-1)*($this->ez['columns']['options']['gap']+$width); + $this->ez['rightMargin']=$this->ez['pageWidth']-$this->ez['leftMargin']-$width; + } +//echo 'left='.$this->ez['leftMargin'].' right='.$this->ez['rightMargin'].'
      '; + + if ($pageRequired){ + // make a new page, setting the writing point back to the top + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + // make the new page with a call to the basic class. + $this->ezPageCount++; + if (isset($this->ez['insertMode']) && $this->ez['insertMode']==1){ + $id = $this->ezPages[$this->ezPageCount] = $this->newPage(1,$this->ez['insertOptions']['id'],$this->ez['insertOptions']['pos']); + // then manipulate the insert options so that inserted pages follow each other + $this->ez['insertOptions']['id']=$id; + $this->ez['insertOptions']['pos']='after'; + } else { + $this->ezPages[$this->ezPageCount] = $this->newPage(); + } + } else { + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + } +} + +// ------------------------------------------------------------------------------ + +function ezSetMargins($top,$bottom,$left,$right){ + // sets the margins to new values + $this->ez['topMargin']=$top; + $this->ez['bottomMargin']=$bottom; + $this->ez['leftMargin']=$left; + $this->ez['rightMargin']=$right; + // check to see if this means that the current writing position is outside the + // writable area + if ($this->y > $this->ez['pageHeight']-$top){ + // then move y down + $this->y = $this->ez['pageHeight']-$top; + } + if ( $this->y < $bottom){ + // then make a new page + $this->ezNewPage(); + } +} + +// ------------------------------------------------------------------------------ + +function ezGetCurrentPageNumber(){ + // return the strict numbering (1,2,3,4..) number of the current page + return $this->ezPageCount; +} + +// ------------------------------------------------------------------------------ + +function ezStartPageNumbers($x,$y,$size,$pos='left',$pattern='{PAGENUM} of {TOTALPAGENUM}',$num=''){ + // put page numbers on the pages from here. + // place then on the 'pos' side of the coordinates (x,y). + // pos can be 'left' or 'right' + // use the given 'pattern' for display, where (PAGENUM} and {TOTALPAGENUM} are replaced + // as required. + // if $num is set, then make the first page this number, the number of total pages will + // be adjusted to account for this. + // Adjust this function so that each time you 'start' page numbers then you effectively start a different batch + // return the number of the batch, so that they can be stopped in a different order if required. + if (!$pos || !strlen($pos)){ + $pos='left'; + } + if (!$pattern || !strlen($pattern)){ + $pattern='{PAGENUM} of {TOTALPAGENUM}'; + } + if (!isset($this->ez['pageNumbering'])){ + $this->ez['pageNumbering']=array(); + } + $i = count($this->ez['pageNumbering']); + $this->ez['pageNumbering'][$i][$this->ezPageCount]=array('x'=>$x,'y'=>$y,'pos'=>$pos,'pattern'=>$pattern,'num'=>$num,'size'=>$size); + return $i; +} + +// ------------------------------------------------------------------------------ + +function ezWhatPageNumber($pageNum,$i=0){ + // given a particular generic page number (ie, document numbered sequentially from beginning), + // return the page number under a particular page numbering scheme ($i) + $num=0; + $start=1; + $startNum=1; + if (!isset($this->ez['pageNumbering'])) + { + $this->addMessage('WARNING: page numbering called for and wasn\'t started with ezStartPageNumbers'); + return 0; + } + foreach($this->ez['pageNumbering'][$i] as $k=>$v){ + if ($k<=$pageNum){ + if (is_array($v)){ + // start block + if (strlen($v['num'])){ + // a start was specified + $start=$v['num']; + $startNum=$k; + $num=$pageNum-$startNum+$start; + } + } else { + // stop block + $num=0; + } + } + } + return $num; +} + +// ------------------------------------------------------------------------------ + +function ezStopPageNumbers($stopTotal=0,$next=0,$i=0){ + // if stopTotal=1 then the totalling of pages for this number will stop too + // if $next=1, then do this page, but not the next, else do not do this page either + // if $i is set, then stop that particular pagenumbering sequence. + if (!isset($this->ez['pageNumbering'])){ + $this->ez['pageNumbering']=array(); + } + if ($next && isset($this->ez['pageNumbering'][$i][$this->ezPageCount]) && is_array($this->ez['pageNumbering'][$i][$this->ezPageCount])){ + // then this has only just been started, this will over-write the start, and nothing will appear + // add a special command to the start block, telling it to stop as well + if ($stopTotal){ + $this->ez['pageNumbering'][$i][$this->ezPageCount]['stoptn']=1; + } else { + $this->ez['pageNumbering'][$i][$this->ezPageCount]['stopn']=1; + } + } else { + if ($stopTotal){ + $this->ez['pageNumbering'][$i][$this->ezPageCount]='stopt'; + } else { + $this->ez['pageNumbering'][$i][$this->ezPageCount]='stop'; + } + if ($next){ + $this->ez['pageNumbering'][$i][$this->ezPageCount].='n'; + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPRVTpageNumberSearch($lbl,&$tmp){ + foreach($tmp as $i=>$v){ + if (is_array($v)){ + if (isset($v[$lbl])){ + return $i; + } + } else { + if ($v==$lbl){ + return $i; + } + } + } + return 0; +} + +// ------------------------------------------------------------------------------ + +function ezPRVTaddPageNumbers(){ + // this will go through the pageNumbering array and add the page numbers are required + if (isset($this->ez['pageNumbering'])){ + $totalPages1 = $this->ezPageCount; + $tmp1=$this->ez['pageNumbering']; + $status=0; + foreach($tmp1 as $i=>$tmp){ + // do each of the page numbering systems + // firstly, find the total pages for this one + $k = $this->ezPRVTpageNumberSearch('stopt',$tmp); + if ($k && $k>0){ + $totalPages = $k-1; + } else { + $l = $this->ezPRVTpageNumberSearch('stoptn',$tmp); + if ($l && $l>0){ + $totalPages = $l; + } else { + $totalPages = $totalPages1; + } + } + foreach ($this->ezPages as $pageNum=>$id){ + if (isset($tmp[$pageNum])){ + if (is_array($tmp[$pageNum])){ + // then this must be starting page numbers + $status=1; + $info = $tmp[$pageNum]; + $info['dnum']=$info['num']-$pageNum; + // also check for the special case of the numbering stopping and starting on the same page + if (isset($info['stopn']) || isset($info['stoptn']) ){ + $status=2; + } + } else if ($tmp[$pageNum]=='stop' || $tmp[$pageNum]=='stopt'){ + // then we are stopping page numbers + $status=0; + } else if ($status==1 && ($tmp[$pageNum]=='stoptn' || $tmp[$pageNum]=='stopn')){ + // then we are stopping page numbers + $status=2; + } + } + if ($status){ + // then add the page numbering to this page + if (strlen($info['num'])){ + $num=$pageNum+$info['dnum']; + } else { + $num=$pageNum; + } + $total = $totalPages+$num-$pageNum; + $pat = str_replace('{PAGENUM}',$num,$info['pattern']); + $pat = str_replace('{TOTALPAGENUM}',$total,$pat); + $this->reopenObject($id); + switch($info['pos']){ + case 'right': + $this->addText($info['x'],$info['y'],$info['size'],$pat); + break; + default: + $w=$this->getTextWidth($info['size'],$pat); + $this->addText($info['x']-$w,$info['y'],$info['size'],$pat); + break; + } + $this->closeObject(); + } + if ($status==2){ + $status=0; + } + } + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPRVTcleanUp(){ + $this->ezPRVTaddPageNumbers(); +} + +// ------------------------------------------------------------------------------ + +function ezStream($options=''){ + $this->ezPRVTcleanUp(); + $this->stream($options); +} + +// ------------------------------------------------------------------------------ + +function ezOutput($options=0){ + $this->ezPRVTcleanUp(); + return $this->output($options); +} + +// ------------------------------------------------------------------------------ + +function ezSetY($y){ + // used to change the vertical position of the writing point. + $this->y = $y; + if ( $this->y < $this->ez['bottomMargin']){ + // then make a new page + $this->ezNewPage(); + } +} + +// ------------------------------------------------------------------------------ + +function ezSetDy($dy,$mod=''){ + // used to change the vertical position of the writing point. + // changes up by a positive increment, so enter a negative number to go + // down the page + // if $mod is set to 'makeSpace' and a new page is forced, then the pointed will be moved + // down on the new page, this will allow space to be reserved for graphics etc. + $this->y += $dy; + if ( $this->y < $this->ez['bottomMargin']){ + // then make a new page + $this->ezNewPage(); + if ($mod=='makeSpace'){ + $this->y += $dy; + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPrvtTableDrawLines($pos,$gap,$x0,$x1,$y0,$y1,$y2,$col,$inner,$outer,$opt=1){ + $x0=1000; + $x1=0; + $this->setStrokeColor($col[0],$col[1],$col[2]); + $cnt=0; + $n = count($pos); + foreach($pos as $x){ + $cnt++; + if ($cnt==1 || $cnt==$n){ + $this->setLineStyle($outer); + } else { + $this->setLineStyle($inner); + } + $this->line($x-$gap/2,$y0,$x-$gap/2,$y2); + if ($x>$x1){ $x1=$x; }; + if ($x<$x0){ $x0=$x; }; + } + $this->setLineStyle($outer); + $this->line($x0-$gap/2-$outer/2,$y0,$x1-$gap/2+$outer/2,$y0); + // only do the second line if it is different to the first, AND each row does not have + // a line on it. + if ($y0!=$y1 && $opt<2){ + $this->line($x0-$gap/2,$y1,$x1-$gap/2,$y1); + } + $this->line($x0-$gap/2-$outer/2,$y2,$x1-$gap/2+$outer/2,$y2); +} + +// ------------------------------------------------------------------------------ + +function ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$gap,$size,&$y,$optionsAll=array()){ + // uses ezText to add the text, and returns the height taken by the largest heading + // this page will move the headings to a new page if they will not fit completely on this one + // transaction support will be used to implement this + + if (isset($optionsAll['cols'])){ + $options = $optionsAll['cols']; + } else { + $options = array(); + } + + $mx=0; + $startPage = $this->ezPageCount; + $secondGo=0; + + // $y is the position at which the top of the table should start, so the base + // of the first text, is $y-$height-$gap-$decender, but ezText starts by dropping $height + + // the return from this function is the total cell height, including gaps, and $y is adjusted + // to be the postion of the bottom line + + // begin the transaction + $this->transaction('start'); + $ok=0; +// $y-=$gap-$decender; + $y-=$gap; + while ($ok==0){ + foreach($cols as $colName=>$colHeading){ + $this->ezSetY($y); + if (isset($options[$colName]) && isset($options[$colName]['justification'])){ + $justification = $options[$colName]['justification']; + } else { + $justification = 'left'; + } + $this->ezText($colHeading,$size,array('aleft'=> $pos[$colName],'aright'=>($maxWidth[$colName]+$pos[$colName]),'justification'=>$justification)); + $dy = $y-$this->y; + if ($dy>$mx){ + $mx=$dy; + } + } + $y = $y - $mx - $gap + $decender; +// $y -= $mx-$gap+$decender; + + // now, if this has moved to a new page, then abort the transaction, move to a new page, and put it there + // do not check on the second time around, to avoid an infinite loop + if ($this->ezPageCount != $startPage && $secondGo==0){ + $this->transaction('rewind'); + $this->ezNewPage(); + $y = $this->y - $gap-$decender; + $ok=0; + $secondGo=1; +// $y = $store_y; + $mx=0; + + } else { + $this->transaction('commit'); + $ok=1; + } + } + + return $mx+$gap*2-$decender; +} + +// ------------------------------------------------------------------------------ + +function ezPrvtGetTextWidth($size,$text){ + // will calculate the maximum width, taking into account that the text may be broken + // by line breaks. + $mx=0; + $lines = explode("\n",$text); + foreach ($lines as $line){ + $w = $this->getTextWidth($size,$line); + if ($w>$mx){ + $mx=$w; + } + } + return $mx; +} + +// ------------------------------------------------------------------------------ + +function ezTable(&$data,$cols='',$title='',$options=''){ + // add a table of information to the pdf document + // $data is a two dimensional array + // $cols (optional) is an associative array, the keys are the names of the columns from $data + // to be presented (and in that order), the values are the titles to be given to the columns + // $title (optional) is the title to be put on the top of the table + // + // $options is an associative array which can contain: + // 'showLines'=> 0,1,2, default is 1 (show outside and top lines only), 2=> lines on each row + // 'showHeadings' => 0 or 1 + // 'shaded'=> 0,1,2,3 default is 1 (1->alternate lines are shaded, 0->no shading, 2-> both shaded, second uses shadeCol2) + // 'shadeCol' => (r,g,b) array, defining the colour of the shading, default is (0.8,0.8,0.8) + // 'shadeCol2' => (r,g,b) array, defining the colour of the shading of the other blocks, default is (0.7,0.7,0.7) + // 'fontSize' => 10 + // 'textCol' => (r,g,b) array, text colour + // 'titleFontSize' => 12 + // 'rowGap' => 2 , the space added at the top and bottom of each row, between the text and the lines + // 'colGap' => 5 , the space on the left and right sides of each cell + // 'lineCol' => (r,g,b) array, defining the colour of the lines, default, black. + // 'xPos' => 'left','right','center','centre',or coordinate, reference coordinate in the x-direction + // 'xOrientation' => 'left','right','center','centre', position of the table w.r.t 'xPos' + // 'width'=> which will specify the width of the table, if it turns out to not be this + // wide, then it will stretch the table to fit, if it is wider then each cell will be made + // proportionalty smaller, and the content may have to wrap. + // 'maxWidth'=> similar to 'width', but will only make table smaller than it wants to be + // 'options' => array(=>array('justification'=>'left','width'=>100,'link'=>linkDataName),=>....) + // allow the setting of other paramaters for the individual columns + // 'minRowSpace'=> the minimum space between the bottom of each row and the bottom margin, in which a new row will be started + // if it is less, then a new page would be started, default=-100 + // 'innerLineThickness'=>1 + // 'outerLineThickness'=>1 + // 'splitRows'=>0, 0 or 1, whether or not to allow the rows to be split across page boundaries + // 'protectRows'=>number, the number of rows to hold with the heading on page, ie, if there less than this number of + // rows on the page, then move the whole lot onto the next page, default=1 + // + // note that the user will have had to make a font selection already or this will not + // produce a valid pdf file. + + if (!is_array($data)){ + return; + } + + if (!is_array($cols)){ + // take the columns from the first row of the data set + reset($data); + list($k,$v)=each($data); + if (!is_array($v)){ + return; + } + $cols=array(); + foreach($v as $k1=>$v1){ + $cols[$k1]=$k1; + } + } + + if (!is_array($options)){ + $options=array(); + } + + $defaults = array( + 'shaded'=>1,'showLines'=>1,'shadeCol'=>array(0.8,0.8,0.8),'shadeCol2'=>array(0.7,0.7,0.7),'fontSize'=>10,'titleFontSize'=>12 + ,'titleGap'=>5,'lineCol'=>array(0,0,0),'gap'=>5,'xPos'=>'centre','xOrientation'=>'centre' + ,'showHeadings'=>1,'textCol'=>array(0,0,0),'width'=>0,'maxWidth'=>0,'cols'=>array(),'minRowSpace'=>-100,'rowGap'=>2,'colGap'=>5 + ,'innerLineThickness'=>1,'outerLineThickness'=>1,'splitRows'=>0,'protectRows'=>1 + ); + + foreach($defaults as $key=>$value){ + if (is_array($value)){ + if (!isset($options[$key]) || !is_array($options[$key])){ + $options[$key]=$value; + } + } else { + if (!isset($options[$key])){ + $options[$key]=$value; + } + } + } + $options['gap']=2*$options['colGap']; + + $middle = ($this->ez['pageWidth']-$this->ez['rightMargin'])/2+($this->ez['leftMargin'])/2; + // figure out the maximum widths of the text within each column + $maxWidth=array(); + foreach($cols as $colName=>$colHeading){ + $maxWidth[$colName]=0; + } + // find the maximum cell widths based on the data + foreach($data as $row){ + foreach($cols as $colName=>$colHeading){ + $w = $this->ezPrvtGetTextWidth($options['fontSize'],(string)$row[$colName])*1.01; + if ($w > $maxWidth[$colName]){ + $maxWidth[$colName]=$w; + } + } + } + // and the maximum widths to fit in the headings + foreach($cols as $colName=>$colTitle){ + $w = $this->ezPrvtGetTextWidth($options['fontSize'],(string)$colTitle)*1.01; + if ($w > $maxWidth[$colName]){ + $maxWidth[$colName]=$w; + } + } + + // calculate the start positions of each of the columns + $pos=array(); + $x=0; + $t=$x; + $adjustmentWidth=0; + $setWidth=0; + foreach($maxWidth as $colName => $w){ + $pos[$colName]=$t; + // if the column width has been specified then set that here, also total the + // width avaliable for adjustment + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['width']) && $options['cols'][$colName]['width']>0){ + $t=$t+$options['cols'][$colName]['width']; + $maxWidth[$colName] = $options['cols'][$colName]['width']-$options['gap']; + $setWidth += $options['cols'][$colName]['width']; + } else { + $t=$t+$w+$options['gap']; + $adjustmentWidth += $w; + $setWidth += $options['gap']; + } + } + $pos['_end_']=$t; + + // if maxWidth is specified, and the table is too wide, and the width has not been set, + // then set the width. + if ($options['width']==0 && $options['maxWidth'] && ($t-$x)>$options['maxWidth']){ + // then need to make this one smaller + $options['width']=$options['maxWidth']; + } + + if ($options['width'] && $adjustmentWidth>0 && $setWidth<$options['width']){ + // first find the current widths of the columns involved in this mystery + $cols0 = array(); + $cols1 = array(); + $xq=0; + $presentWidth=0; + $last=''; + foreach($pos as $colName=>$p){ + if (!isset($options['cols'][$last]) || !isset($options['cols'][$last]['width']) || $options['cols'][$last]['width']<=0){ + if (strlen($last)){ + $cols0[$last]=$p-$xq -$options['gap']; + $presentWidth += ($p-$xq - $options['gap']); + } + } else { + $cols1[$last]=$p-$xq; + } + $last=$colName; + $xq=$p; + } + // $cols0 contains the widths of all the columns which are not set + $neededWidth = $options['width']-$setWidth; + // if needed width is negative then add it equally to each column, else get more tricky + if ($presentWidth<$neededWidth){ + foreach($cols0 as $colName=>$w){ + $cols0[$colName]+= ($neededWidth-$presentWidth)/count($cols0); + } + } else { + + $cnt=0; + while ($presentWidth>$neededWidth && $cnt<100){ + $cnt++; // insurance policy + // find the widest columns, and the next to widest width + $aWidest = array(); + $nWidest=0; + $widest=0; + foreach($cols0 as $colName=>$w){ + if ($w>$widest){ + $aWidest=array($colName); + $nWidest = $widest; + $widest=$w; + } else if ($w==$widest){ + $aWidest[]=$colName; + } + } + // then figure out what the width of the widest columns would have to be to take up all the slack + $newWidestWidth = $widest - ($presentWidth-$neededWidth)/count($aWidest); + if ($newWidestWidth > $nWidest){ + // then there is space to set them to this + foreach($aWidest as $colName){ + $cols0[$colName] = $newWidestWidth; + } + $presentWidth=$neededWidth; + } else { + // there is not space, reduce the size of the widest ones down to the next size down, and we + // will go round again + foreach($aWidest as $colName){ + $cols0[$colName] = $nWidest; + } + $presentWidth=$presentWidth-($widest-$nWidest)*count($aWidest); + } + } + } + // $cols0 now contains the new widths of the constrained columns. + // now need to update the $pos and $maxWidth arrays + $xq=0; + foreach($pos as $colName=>$p){ + $pos[$colName]=$xq; + if (!isset($options['cols'][$colName]) || !isset($options['cols'][$colName]['width']) || $options['cols'][$colName]['width']<=0){ + if (isset($cols0[$colName])){ + $xq += $cols0[$colName] + $options['gap']; + $maxWidth[$colName]=$cols0[$colName]; + } + } else { + if (isset($cols1[$colName])){ + $xq += $cols1[$colName]; + } + } + } + + $t=$x+$options['width']; + $pos['_end_']=$t; + } + + // now adjust the table to the correct location across the page + switch ($options['xPos']){ + case 'left': + $xref = $this->ez['leftMargin']; + break; + case 'right': + $xref = $this->ez['pageWidth'] - $this->ez['rightMargin']; + break; + case 'centre': + case 'center': + $xref = $middle; + break; + default: + $xref = $options['xPos']; + break; + } + switch ($options['xOrientation']){ + case 'left': + $dx = $xref-$t; + break; + case 'right': + $dx = $xref; + break; + case 'centre': + case 'center': + $dx = $xref-$t/2; + break; + } + + + foreach($pos as $k=>$v){ + $pos[$k]=$v+$dx; + } + $x0=$x+$dx; + $x1=$t+$dx; + + $baseLeftMargin = $this->ez['leftMargin']; + $basePos = $pos; + $baseX0 = $x0; + $baseX1 = $x1; + + // ok, just about ready to make me a table + $this->setColor($options['textCol'][0],$options['textCol'][1],$options['textCol'][2]); + $this->setStrokeColor($options['shadeCol'][0],$options['shadeCol'][1],$options['shadeCol'][2]); + + $middle = ($x1+$x0)/2; + + // start a transaction which will be used to regress the table, if there are not enough rows protected + if ($options['protectRows']>0){ + $this->transaction('start'); + $movedOnce=0; + } + $abortTable = 1; + while ($abortTable){ + $abortTable=0; + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + $middle = ($x1+$x0)/2; + + + // if the title is set, then do that + if (strlen($title)){ + $w = $this->getTextWidth($options['titleFontSize'],$title); + $this->y -= $this->getFontHeight($options['titleFontSize']); + if ($this->y < $this->ez['bottomMargin']){ + $this->ezNewPage(); + // margins may have changed on the newpage + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + $middle = ($x1+$x0)/2; + $this->y -= $this->getFontHeight($options['titleFontSize']); + } + $this->addText($middle-$w/2,$this->y,$options['titleFontSize'],$title); + $this->y -= $options['titleGap']; + } + + // margins may have changed on the newpage + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + $y=$this->y; // to simplify the code a bit + + // make the table + $height = $this->getFontHeight($options['fontSize']); + $decender = $this->getFontDecender($options['fontSize']); + + + + $y0=$y+$decender; + $dy=0; + if ($options['showHeadings']){ + // this function will move the start of the table to a new page if it does not fit on this one + $headingHeight = $this->ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$options['rowGap'],$options['fontSize'],$y,$options); + $y0 = $y+$headingHeight; + $y1 = $y; + + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + } else { + $y1 = $y0; + } + $firstLine=1; + + + // open an object here so that the text can be put in over the shading + if ($options['shaded']){ + $this->saveState(); + $textObjectId = $this->openObject(); + $this->closeObject(); + $this->addObject($textObjectId); + $this->reopenObject($textObjectId); + } + + $cnt=0; + $newPage=0; + foreach($data as $row){ + $cnt++; + // the transaction support will be used to prevent rows being split + if ($options['splitRows']==0){ + $pageStart = $this->ezPageCount; + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + $columnStart = $this->ez['columns']['colNum']; + } + $this->transaction('start'); + $row_orig = $row; + $y_orig = $y; + $y0_orig = $y0; + $y1_orig = $y1; + } + $ok=0; + $secondTurn=0; + while(!$abortTable && $ok == 0){ + + $mx=0; + $newRow=1; + while(!$abortTable && ($newPage || $newRow)){ + + $y-=$height; + if ($newPage || $y<$this->ez['bottomMargin'] || (isset($options['minRowSpace']) && $y<($this->ez['bottomMargin']+$options['minRowSpace'])) ){ + // check that enough rows are with the heading + if ($options['protectRows']>0 && $movedOnce==0 && $cnt<=$options['protectRows']){ + // then we need to move the whole table onto the next page + $movedOnce = 1; + $abortTable = 1; + } + + $y2=$y-$mx+2*$height+$decender-$newRow*$height; + if ($options['showLines']){ + if (!$options['showHeadings']){ + $y0=$y1; + } + $this->ezPrvtTableDrawLines($pos,$options['gap'],$x0,$x1,$y0,$y1,$y2,$options['lineCol'],$options['innerLineThickness'],$options['outerLineThickness'],$options['showLines']); + } + if ($options['shaded']){ + $this->closeObject(); + $this->restoreState(); + } + $this->ezNewPage(); + // and the margins may have changed, this is due to the possibility of the columns being turned on + // as the columns are managed by manipulating the margins + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } +// $x0=$x0+$dm; +// $x1=$x1+$dm; + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + if ($options['shaded']){ + $this->saveState(); + $textObjectId = $this->openObject(); + $this->closeObject(); + $this->addObject($textObjectId); + $this->reopenObject($textObjectId); + } + $this->setColor($options['textCol'][0],$options['textCol'][1],$options['textCol'][2],1); + $y = $this->ez['pageHeight']-$this->ez['topMargin']; + $y0=$y+$decender; + $mx=0; + if ($options['showHeadings']){ + $this->ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$options['rowGap'],$options['fontSize'],$y,$options); + $y1=$y; + } else { + $y1=$y0; + } + $firstLine=1; + $y -= $height; + } + $newRow=0; + // write the actual data + // if these cells need to be split over a page, then $newPage will be set, and the remaining + // text will be placed in $leftOvers + $newPage=0; + $leftOvers=array(); + + foreach($cols as $colName=>$colTitle){ + $this->ezSetY($y+$height); + $colNewPage=0; + if (isset($row[$colName])){ + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['link']) && strlen($options['cols'][$colName]['link'])){ + + $lines = explode("\n",$row[$colName]); + if (isset($row[$options['cols'][$colName]['link']]) && strlen($row[$options['cols'][$colName]['link']])){ + foreach($lines as $k=>$v){ + $lines[$k]=''.$v.''; + } + } + } else { + $lines = explode("\n",$row[$colName]); + } + } else { + $lines = array(); + } + $this->y -= $options['rowGap']; + foreach ($lines as $line){ + $line = $this->ezProcessText($line); + $start=1; + + while (strlen($line) || $start){ + $start=0; + if (!$colNewPage){ + $this->y=$this->y-$height; + } + if ($this->y < $this->ez['bottomMargin']){ + // $this->ezNewPage(); + $newPage=1; // whether a new page is required for any of the columns + $colNewPage=1; // whether a new page is required for this column + } + if ($colNewPage){ + if (isset($leftOvers[$colName])){ + $leftOvers[$colName].="\n".$line; + } else { + $leftOvers[$colName] = $line; + } + $line=''; + } else { + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['justification']) ){ + $just = $options['cols'][$colName]['justification']; + } else { + $just='left'; + } + + $line=$this->addTextWrap($pos[$colName],$this->y,$maxWidth[$colName],$options['fontSize'],$line,$just); + } + } + } + + $dy=$y+$height-$this->y+$options['rowGap']; + if ($dy-$height*$newPage>$mx){ + $mx=$dy-$height*$newPage; + } + } + // set $row to $leftOvers so that they will be processed onto the new page + $row = $leftOvers; + // now add the shading underneath + if ($options['shaded'] && $cnt%2==0){ + $this->closeObject(); + $this->setColor($options['shadeCol'][0],$options['shadeCol'][1],$options['shadeCol'][2],1); + $this->filledRectangle($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + $this->reopenObject($textObjectId); + } + + if ($options['shaded']==2 && $cnt%2==1){ + $this->closeObject(); + $this->setColor($options['shadeCol2'][0],$options['shadeCol2'][1],$options['shadeCol2'][2],1); + $this->filledRectangle($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + $this->reopenObject($textObjectId); + } + + if ($options['showLines']>1){ + // then draw a line on the top of each block +// $this->closeObject(); + $this->saveState(); + $this->setStrokeColor($options['lineCol'][0],$options['lineCol'][1],$options['lineCol'][2],1); +// $this->line($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + if ($firstLine){ + $this->setLineStyle($options['outerLineThickness']); + $firstLine=0; + } else { + $this->setLineStyle($options['innerLineThickness']); + } + $this->line($x0-$options['gap']/2,$y+$decender+$height,$x1-$options['gap']/2,$y+$decender+$height); + $this->restoreState(); +// $this->reopenObject($textObjectId); + } + } // end of while + $y=$y-$mx+$height; + + // checking row split over pages + if ($options['splitRows']==0){ + if ( ( ($this->ezPageCount != $pageStart) || (isset($this->ez['columns']) && $this->ez['columns']['on']==1 && $columnStart != $this->ez['columns']['colNum'] )) && $secondTurn==0){ + // then we need to go back and try that again ! + $newPage=1; + $secondTurn=1; + $this->transaction('rewind'); + $row = $row_orig; + $y = $y_orig; + $y0 = $y0_orig; + $y1 = $y1_orig; + $ok=0; + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + } else { + $this->transaction('commit'); + $ok=1; + } + } else { + $ok=1; // don't go round the loop if splitting rows is allowed + } + + } // end of while to check for row splitting + if ($abortTable){ + if ($ok==0){ + $this->transaction('abort'); + } + // only the outer transaction should be operational + $this->transaction('rewind'); + $this->ezNewPage(); + break; + } + + } // end of foreach ($data as $row) + + } // end of while ($abortTable) + + // table has been put on the page, the rows guarded as required, commit. + $this->transaction('commit'); + + $y2=$y+$decender; + if ($options['showLines']){ + if (!$options['showHeadings']){ + $y0=$y1; + } + $this->ezPrvtTableDrawLines($pos,$options['gap'],$x0,$x1,$y0,$y1,$y2,$options['lineCol'],$options['innerLineThickness'],$options['outerLineThickness'],$options['showLines']); + } + + // close the object for drawing the text on top + if ($options['shaded']){ + $this->closeObject(); + $this->restoreState(); + } + + $this->y=$y; + return $y; +} + +// ------------------------------------------------------------------------------ +function ezProcessText($text){ + // this function will intially be used to implement underlining support, but could be used for a range of other + // purposes + $search = array('','','',''); + $replace = array('','','',''); + return str_replace($search,$replace,$text); +} + +// ------------------------------------------------------------------------------ + +function ezText($text,$size=0,$options=array(),$test=0){ + // this will add a string of text to the document, starting at the current drawing + // position. + // it will wrap to keep within the margins, including optional offsets from the left + // and the right, if $size is not specified, then it will be the last one used, or + // the default value (12 I think). + // the text will go to the start of the next line when a return code "\n" is found. + // possible options are: + // 'left'=> number, gap to leave from the left margin + // 'right'=> number, gap to leave from the right margin + // 'aleft'=> number, absolute left position (overrides 'left') + // 'aright'=> number, absolute right position (overrides 'right') + // 'justification' => 'left','right','center','centre','full' + + // only set one of the next two items (leading overrides spacing) + // 'leading' => number, defines the total height taken by the line, independent of the font height. + // 'spacing' => a real number, though usually set to one of 1, 1.5, 2 (line spacing as used in word processing) + + // if $test is set then this should just check if the text is going to flow onto a new page or not, returning true or false + + // apply the filtering which will make the underlining function. + $text = $this->ezProcessText($text); + + $newPage=false; + $store_y = $this->y; + + if (is_array($options) && isset($options['aleft'])){ + $left=$options['aleft']; + } else { + $left = $this->ez['leftMargin'] + ((is_array($options) && isset($options['left']))?$options['left']:0); + } + if (is_array($options) && isset($options['aright'])){ + $right=$options['aright']; + } else { + $right = $this->ez['pageWidth'] - $this->ez['rightMargin'] - ((is_array($options) && isset($options['right']))?$options['right']:0); + } + if ($size<=0){ + $size = $this->ez['fontSize']; + } else { + $this->ez['fontSize']=$size; + } + + if (is_array($options) && isset($options['justification'])){ + $just = $options['justification']; + } else { + $just = 'left'; + } + + // modifications to give leading and spacing based on those given by Craig Heydenburg 1/1/02 + if (is_array($options) && isset($options['leading'])) { ## use leading instead of spacing + $height = $options['leading']; + } else if (is_array($options) && isset($options['spacing'])) { + $height = $this->getFontHeight($size) * $options['spacing']; + } else { + $height = $this->getFontHeight($size); + } + + + $lines = explode("\n",$text); + foreach ($lines as $line){ + $start=1; + while (strlen($line) || $start){ + $start=0; + $this->y=$this->y-$height; + if ($this->y < $this->ez['bottomMargin']){ + if ($test){ + $newPage=true; + } else { + $this->ezNewPage(); + // and then re-calc the left and right, in case they have changed due to columns + } + } + if (is_array($options) && isset($options['aleft'])){ + $left=$options['aleft']; + } else { + $left = $this->ez['leftMargin'] + ((is_array($options) && isset($options['left']))?$options['left']:0); + } + if (is_array($options) && isset($options['aright'])){ + $right=$options['aright']; + } else { + $right = $this->ez['pageWidth'] - $this->ez['rightMargin'] - ((is_array($options) && isset($options['right']))?$options['right']:0); + } + $line=$this->addTextWrap($left,$this->y,$right-$left,$size,$line,$just,0,$test); + } + } + + if ($test){ + $this->y=$store_y; + return $newPage; + } else { + return $this->y; + } +} + +// ------------------------------------------------------------------------------ + +function ezImage($image,$pad = 5,$width = 0,$resize = 'full',$just = 'center',$border = ''){ + //beta ezimage function + if (stristr($image,'://'))//copy to temp file + { + $fp = @fopen($image,"rb"); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + $image = tempnam ("/tmp", "php-pdf"); + $fp2 = @fopen($image,"w"); + fwrite($fp2,$cont); + fclose($fp2); + $temp = true; + } + + if (!(file_exists($image))) return false; //return immediately if image file does not exist + $imageInfo = getimagesize($image); + switch ($imageInfo[2]){ + case 2: + $type = "jpeg"; + break; + case 3: + $type = "png"; + break; + default: + return false; //return if file is not jpg or png + } + if ($width == 0) $width = $imageInfo[0]; //set width + $ratio = $imageInfo[0]/$imageInfo[1]; + + //get maximum width of image + if (isset($this->ez['columns']) && $this->ez['columns']['on'] == 1) + { + $bigwidth = $this->ez['columns']['width'] - ($pad * 2); + } + else + { + $bigwidth = $this->ez['pageWidth'] - ($pad * 2); + } + //fix width if larger than maximum or if $resize=full + if ($resize == 'full' || $resize == 'width' || $width > $bigwidth) + { + $width = $bigwidth; + + } + + $height = ($width/$ratio); //set height + + //fix size if runs off page + if ($height > ($this->y - $this->ez['bottomMargin'] - ($pad * 2))) + { + if ($resize != 'full') + { + $this->ezNewPage(); + } + else + { + $height = ($this->y - $this->ez['bottomMargin'] - ($pad * 2)); //shrink height + $width = ($height*$ratio); //fix width + } + } + + //fix x-offset if image smaller than bigwidth + if ($width < $bigwidth) + { + //center if justification=center + if ($just == 'center') + { + $offset = ($bigwidth - $width) / 2; + } + //move to right if justification=right + if ($just == 'right') + { + $offset = ($bigwidth - $width); + } + //leave at left if justification=left + if ($just == 'left') + { + $offset = 0; + } + } + + + //call appropriate function + if ($type == "jpeg"){ + $this->addJpegFromFile($image,$this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width); + } + + if ($type == "png"){ + $this->addPngFromFile($image,$this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width); + } + //draw border + if ($border != '') + { + if (!(isset($border['color']))) + { + $border['color']['red'] = .5; + $border['color']['blue'] = .5; + $border['color']['green'] = .5; + } + if (!(isset($border['width']))) $border['width'] = 1; + if (!(isset($border['cap']))) $border['cap'] = 'round'; + if (!(isset($border['join']))) $border['join'] = 'round'; + + + $this->setStrokeColor($border['color']['red'],$border['color']['green'],$border['color']['blue']); + $this->setLineStyle($border['width'],$border['cap'],$border['join']); + $this->rectangle($this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width,$height); + + } + // move y below image + $this->y = $this->y - $pad - $height; + //remove tempfile for remote images + if ($temp == true) unlink($image); + +} +// ------------------------------------------------------------------------------ + +// note that templating code is still considered developmental - have not really figured +// out a good way of doing this yet. +function loadTemplate($templateFile){ + // this function will load the requested template ($file includes full or relative pathname) + // the code for the template will be modified to make it name safe, and then stored in + // an array for later use + // The id of the template will be returned for the user to operate on it later + if (!file_exists($templateFile)){ + return -1; + } + + $code = implode('',file($templateFile)); + if (!strlen($code)){ + return; + } + + $code = trim($code); + if (substr($code,0,5)==''){ + $code = substr($code,0,strlen($code)-2); + } + if (isset($this->ez['numTemplates'])){ + $newNum = $this->ez['numTemplates']; + $this->ez['numTemplates']++; + } else { + $newNum=0; + $this->ez['numTemplates']=1; + $this->ez['templates']=array(); + } + + $this->ez['templates'][$newNum]['code']=$code; + + return $newNum; +} + +// ------------------------------------------------------------------------------ + +function execTemplate($id,$data=array(),$options=array()){ + // execute the given template on the current document. + if (!isset($this->ez['templates'][$id])){ + return; + } + eval($this->ez['templates'][$id]['code']); +} + +// ------------------------------------------------------------------------------ +function ilink($info){ + $this->alink($info,1); +} + +function alink($info,$internal=0){ + // a callback function to support the formation of clickable links within the document + $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. + switch($info['status']){ + case 'start': + case 'sol': + // the beginning of the link + // this should contain the URl for the link as the 'p' entry, and will also contain the value of 'nCallback' + if (!isset($this->ez['links'])){ + $this->ez['links']=array(); + } + $i = $info['nCallback']; + $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height'],'url'=>$info['p']); + if ($internal==0){ + $this->saveState(); + $this->setColor(0,0,1); + $this->setStrokeColor(0,0,1); + $thick = $info['height']*$lineFactor; + $this->setLineStyle($thick); + } + break; + case 'end': + case 'eol': + // the end of the link + // assume that it is the most recent opening which has closed + $i = $info['nCallback']; + $start = $this->ez['links'][$i]; + // add underlining + if ($internal){ + $this->addInternalLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); + } else { + $a = deg2rad((float)$start['angle']-90.0); + $drop = $start['height']*$lineFactor*1.5; + $dropx = cos($a)*$drop; + $dropy = -sin($a)*$drop; + $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); + $this->addLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); + $this->restoreState(); + } + break; + } +} + +// ------------------------------------------------------------------------------ + +function uline($info){ + // a callback function to support underlining + $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. + switch($info['status']){ + case 'start': + case 'sol': + + // the beginning of the underline zone + if (!isset($this->ez['links'])){ + $this->ez['links']=array(); + } + $i = $info['nCallback']; + $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height']); + $this->saveState(); + $thick = $info['height']*$lineFactor; + $this->setLineStyle($thick); + break; + case 'end': + case 'eol': + // the end of the link + // assume that it is the most recent opening which has closed + $i = $info['nCallback']; + $start = $this->ez['links'][$i]; + // add underlining + $a = deg2rad((float)$start['angle']-90.0); + $drop = $start['height']*$lineFactor*1.5; + $dropx = cos($a)*$drop; + $dropy = -sin($a)*$drop; + $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); + $this->restoreState(); + break; + } +} + +// ------------------------------------------------------------------------------ + +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/class.pdf.php 4.6-complete/uploadfiles/includes/class.pdf.php --- 4.6rc2/uploadfiles/includes/class.pdf.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/class.pdf.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,3077 @@ + +* @version 009 +* @package Cpdf +*/ +class Cpdf { + +/** +* the current number of pdf objects in the document +*/ +var $numObj=0; +/** +* this array contains all of the pdf objects, ready for final assembly +*/ +var $objects = array(); +/** +* the objectId (number within the objects array) of the document catalog +*/ +var $catalogId; +/** +* array carrying information about the fonts that the system currently knows about +* used to ensure that a font is not loaded twice, among other things +*/ +var $fonts=array(); +/** +* a record of the current font +*/ +var $currentFont=''; +/** +* the current base font +*/ +var $currentBaseFont=''; +/** +* the number of the current font within the font array +*/ +var $currentFontNum=0; +/** +* +*/ +var $currentNode; +/** +* object number of the current page +*/ +var $currentPage; +/** +* object number of the currently active contents block +*/ +var $currentContents; +/** +* number of fonts within the system +*/ +var $numFonts=0; +/** +* current colour for fill operations, defaults to inactive value, all three components should be between 0 and 1 inclusive when active +*/ +var $currentColour=array('r'=>-1,'g'=>-1,'b'=>-1); +/** +* current colour for stroke operations (lines etc.) +*/ +var $currentStrokeColour=array('r'=>-1,'g'=>-1,'b'=>-1); +/** +* current style that lines are drawn in +*/ +var $currentLineStyle=''; +/** +* an array which is used to save the state of the document, mainly the colours and styles +* it is used to temporarily change to another state, the change back to what it was before +*/ +var $stateStack = array(); +/** +* number of elements within the state stack +*/ +var $nStateStack = 0; +/** +* number of page objects within the document +*/ +var $numPages=0; +/** +* object Id storage stack +*/ +var $stack=array(); +/** +* number of elements within the object Id storage stack +*/ +var $nStack=0; +/** +* an array which contains information about the objects which are not firmly attached to pages +* these have been added with the addObject function +*/ +var $looseObjects=array(); +/** +* array contains infomation about how the loose objects are to be added to the document +*/ +var $addLooseObjects=array(); +/** +* the objectId of the information object for the document +* this contains authorship, title etc. +*/ +var $infoObject=0; +/** +* number of images being tracked within the document +*/ +var $numImages=0; +/** +* an array containing options about the document +* it defaults to turning on the compression of the objects +*/ +var $options=array('compression'=>1); +/** +* the objectId of the first page of the document +*/ +var $firstPageId; +/** +* used to track the last used value of the inter-word spacing, this is so that it is known +* when the spacing is changed. +*/ +var $wordSpaceAdjust=0; +/** +* the object Id of the procset object +*/ +var $procsetObjectId; +/** +* store the information about the relationship between font families +* this used so that the code knows which font is the bold version of another font, etc. +* the value of this array is initialised in the constuctor function. +*/ +var $fontFamilies = array(); +/** +* track if the current font is bolded or italicised +*/ +var $currentTextState = ''; +/** +* messages are stored here during processing, these can be selected afterwards to give some useful debug information +*/ +var $messages=''; +/** +* the ancryption array for the document encryption is stored here +*/ +var $arc4=''; +/** +* the object Id of the encryption information +*/ +var $arc4_objnum=0; +/** +* the file identifier, used to uniquely identify a pdf document +*/ +var $fileIdentifier=''; +/** +* a flag to say if a document is to be encrypted or not +*/ +var $encrypted=0; +/** +* the ancryption key for the encryption of all the document content (structure is not encrypted) +*/ +var $encryptionKey=''; +/** +* array which forms a stack to keep track of nested callback functions +*/ +var $callback = array(); +/** +* the number of callback functions in the callback array +*/ +var $nCallback = 0; +/** +* store label->id pairs for named destinations, these will be used to replace internal links +* done this way so that destinations can be defined after the location that links to them +*/ +var $destinations = array(); +/** +* store the stack for the transaction commands, each item in here is a record of the values of all the +* variables within the class, so that the user can rollback at will (from each 'start' command) +* note that this includes the objects array, so these can be large. +*/ +var $checkpoint = ''; +/** +* class constructor +* this will start a new document +* @var array array of 4 numbers, defining the bottom left and upper right corner of the page. first two are normally zero. +*/ +function Cpdf ($pageSize=array(0,0,612,792)){ + $this->newDocument($pageSize); + + // also initialize the font families that are known about already + $this->setFontFamily('init'); +// $this->fileIdentifier = md5('xxxxxxxx'.time()); + +} + +/** +* Document object methods (internal use only) +* +* There is about one object method for each type of object in the pdf document +* Each function has the same call list ($id,$action,$options). +* $id = the object ID of the object, or what it is to be if it is being created +* $action = a string specifying the action to be performed, though ALL must support: +* 'new' - create the object with the id $id +* 'out' - produce the output for the pdf object +* $options = optional, a string or array containing the various parameters for the object +* +* These, in conjunction with the output function are the ONLY way for output to be produced +* within the pdf 'file'. +*/ + +/** +*destination object, used to specify the location for the user to jump to, presently on opening +*/ +function o_destination($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + $this->objects[$id]=array('t'=>'destination','info'=>array()); + $tmp = ''; + switch ($options['type']){ + case 'XYZ': + case 'FitR': + $tmp = ' '.$options['p3'].$tmp; + case 'FitH': + case 'FitV': + case 'FitBH': + case 'FitBV': + $tmp = ' '.$options['p1'].' '.$options['p2'].$tmp; + case 'Fit': + case 'FitB': + $tmp = $options['type'].$tmp; + $this->objects[$id]['info']['string']=$tmp; + $this->objects[$id]['info']['page']=$options['page']; + } + break; + case 'out': + $tmp = $o['info']; + $res="\n".$id." 0 obj\n".'['.$tmp['page'].' 0 R /'.$tmp['string']."]\nendobj\n"; + return $res; + break; + } +} + +/** +* set the viewer preferences +*/ +function o_viewerPreferences($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'viewerPreferences','info'=>array()); + break; + case 'add': + foreach($options as $k=>$v){ + switch ($k){ + case 'HideToolbar': + case 'HideMenubar': + case 'HideWindowUI': + case 'FitWindow': + case 'CenterWindow': + case 'NonFullScreenPageMode': + case 'Direction': + $o['info'][$k]=$v; + break; + } + } + break; + case 'out': + + $res="\n".$id." 0 obj\n".'<< '; + foreach($o['info'] as $k=>$v){ + $res.="\n/".$k.' '.$v; + } + $res.="\n>>\n"; + return $res; + break; + } +} + +/** +* define the document catalog, the overall controller for the document +*/ +function o_catalog($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'catalog','info'=>array()); + $this->catalogId=$id; + break; + case 'outlines': + case 'pages': + case 'openHere': + $o['info'][$action]=$options; + break; + case 'viewerPreferences': + if (!isset($o['info']['viewerPreferences'])){ + $this->numObj++; + $this->o_viewerPreferences($this->numObj,'new'); + $o['info']['viewerPreferences']=$this->numObj; + } + $vp = $o['info']['viewerPreferences']; + $this->o_viewerPreferences($vp,'add',$options); + break; + case 'out': + $res="\n".$id." 0 obj\n".'<< /Type /Catalog'; + foreach($o['info'] as $k=>$v){ + switch($k){ + case 'outlines': + $res.="\n".'/Outlines '.$v.' 0 R'; + break; + case 'pages': + $res.="\n".'/Pages '.$v.' 0 R'; + break; + case 'viewerPreferences': + $res.="\n".'/ViewerPreferences '.$o['info']['viewerPreferences'].' 0 R'; + break; + case 'openHere': + $res.="\n".'/OpenAction '.$o['info']['openHere'].' 0 R'; + break; + } + } + $res.=" >>\nendobj"; + return $res; + break; + } +} + +/** +* object which is a parent to the pages in the document +*/ +function o_pages($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'pages','info'=>array()); + $this->o_catalog($this->catalogId,'pages',$id); + break; + case 'page': + if (!is_array($options)){ + // then it will just be the id of the new page + $o['info']['pages'][]=$options; + } else { + // then it should be an array having 'id','rid','pos', where rid=the page to which this one will be placed relative + // and pos is either 'before' or 'after', saying where this page will fit. + if (isset($options['id']) && isset($options['rid']) && isset($options['pos'])){ + $i = array_search($options['rid'],$o['info']['pages']); + if (isset($o['info']['pages'][$i]) && $o['info']['pages'][$i]==$options['rid']){ + // then there is a match + // make a space + switch ($options['pos']){ + case 'before': + $k = $i; + break; + case 'after': + $k=$i+1; + break; + default: + $k=-1; + break; + } + if ($k>=0){ + for ($j=count($o['info']['pages'])-1;$j>=$k;$j--){ + $o['info']['pages'][$j+1]=$o['info']['pages'][$j]; + } + $o['info']['pages'][$k]=$options['id']; + } + } + } + } + break; + case 'procset': + $o['info']['procset']=$options; + break; + case 'mediaBox': + $o['info']['mediaBox']=$options; // which should be an array of 4 numbers + break; + case 'font': + $o['info']['fonts'][]=array('objNum'=>$options['objNum'],'fontNum'=>$options['fontNum']); + break; + case 'xObject': + $o['info']['xObjects'][]=array('objNum'=>$options['objNum'],'label'=>$options['label']); + break; + case 'out': + if (count($o['info']['pages'])){ + $res="\n".$id." 0 obj\n<< /Type /Pages\n/Kids ["; + foreach($o['info']['pages'] as $k=>$v){ + $res.=$v." 0 R\n"; + } + $res.="]\n/Count ".count($this->objects[$id]['info']['pages']); + if ((isset($o['info']['fonts']) && count($o['info']['fonts'])) || isset($o['info']['procset'])){ + $res.="\n/Resources <<"; + if (isset($o['info']['procset'])){ + $res.="\n/ProcSet ".$o['info']['procset']." 0 R"; + } + if (isset($o['info']['fonts']) && count($o['info']['fonts'])){ + $res.="\n/Font << "; + foreach($o['info']['fonts'] as $finfo){ + $res.="\n/F".$finfo['fontNum']." ".$finfo['objNum']." 0 R"; + } + $res.=" >>"; + } + if (isset($o['info']['xObjects']) && count($o['info']['xObjects'])){ + $res.="\n/XObject << "; + foreach($o['info']['xObjects'] as $finfo){ + $res.="\n/".$finfo['label']." ".$finfo['objNum']." 0 R"; + } + $res.=" >>"; + } + $res.="\n>>"; + if (isset($o['info']['mediaBox'])){ + $tmp=$o['info']['mediaBox']; + $res.="\n/MediaBox [".sprintf('%.3f',$tmp[0]).' '.sprintf('%.3f',$tmp[1]).' '.sprintf('%.3f',$tmp[2]).' '.sprintf('%.3f',$tmp[3]).']'; + } + } + $res.="\n >>\nendobj"; + } else { + $res="\n".$id." 0 obj\n<< /Type /Pages\n/Count 0\n>>\nendobj"; + } + return $res; + break; + } +} + +/** +* define the outlines in the doc, empty for now +*/ +function o_outlines($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'outlines','info'=>array('outlines'=>array())); + $this->o_catalog($this->catalogId,'outlines',$id); + break; + case 'outline': + $o['info']['outlines'][]=$options; + break; + case 'out': + if (count($o['info']['outlines'])){ + $res="\n".$id." 0 obj\n<< /Type /Outlines /Kids ["; + foreach($o['info']['outlines'] as $k=>$v){ + $res.=$v." 0 R "; + } + $res.="] /Count ".count($o['info']['outlines'])." >>\nendobj"; + } else { + $res="\n".$id." 0 obj\n<< /Type /Outlines /Count 0 >>\nendobj"; + } + return $res; + break; + } +} + +/** +* an object to hold the font description +*/ +function o_font($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'font','info'=>array('name'=>$options['name'],'SubType'=>'Type1')); + $fontNum=$this->numFonts; + $this->objects[$id]['info']['fontNum']=$fontNum; + // deal with the encoding and the differences + if (isset($options['differences'])){ + // then we'll need an encoding dictionary + $this->numObj++; + $this->o_fontEncoding($this->numObj,'new',$options); + $this->objects[$id]['info']['encodingDictionary']=$this->numObj; + } else if (isset($options['encoding'])){ + // we can specify encoding here + switch($options['encoding']){ + case 'WinAnsiEncoding': + case 'MacRomanEncoding': + case 'MacExpertEncoding': + $this->objects[$id]['info']['encoding']=$options['encoding']; + break; + case 'none': + break; + default: + $this->objects[$id]['info']['encoding']='WinAnsiEncoding'; + break; + } + } else { + $this->objects[$id]['info']['encoding']='WinAnsiEncoding'; + } + // also tell the pages node about the new font + $this->o_pages($this->currentNode,'font',array('fontNum'=>$fontNum,'objNum'=>$id)); + break; + case 'add': + foreach ($options as $k=>$v){ + switch ($k){ + case 'BaseFont': + $o['info']['name'] = $v; + break; + case 'FirstChar': + case 'LastChar': + case 'Widths': + case 'FontDescriptor': + case 'SubType': + $this->addMessage('o_font '.$k." : ".$v); + $o['info'][$k] = $v; + break; + } + } + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Font\n/Subtype /".$o['info']['SubType']."\n"; + $res.="/Name /F".$o['info']['fontNum']."\n"; + $res.="/BaseFont /".$o['info']['name']."\n"; + if (isset($o['info']['encodingDictionary'])){ + // then place a reference to the dictionary + $res.="/Encoding ".$o['info']['encodingDictionary']." 0 R\n"; + } else if (isset($o['info']['encoding'])){ + // use the specified encoding + $res.="/Encoding /".$o['info']['encoding']."\n"; + } + if (isset($o['info']['FirstChar'])){ + $res.="/FirstChar ".$o['info']['FirstChar']."\n"; + } + if (isset($o['info']['LastChar'])){ + $res.="/LastChar ".$o['info']['LastChar']."\n"; + } + if (isset($o['info']['Widths'])){ + $res.="/Widths ".$o['info']['Widths']." 0 R\n"; + } + if (isset($o['info']['FontDescriptor'])){ + $res.="/FontDescriptor ".$o['info']['FontDescriptor']." 0 R\n"; + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* a font descriptor, needed for including additional fonts +*/ +function o_fontDescriptor($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'fontDescriptor','info'=>$options); + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /FontDescriptor\n"; + foreach ($o['info'] as $label => $value){ + switch ($label){ + case 'Ascent': + case 'CapHeight': + case 'Descent': + case 'Flags': + case 'ItalicAngle': + case 'StemV': + case 'AvgWidth': + case 'Leading': + case 'MaxWidth': + case 'MissingWidth': + case 'StemH': + case 'XHeight': + case 'CharSet': + if (strlen($value)){ + $res.='/'.$label.' '.$value."\n"; + } + break; + case 'FontFile': + case 'FontFile2': + case 'FontFile3': + $res.='/'.$label.' '.$value." 0 R\n"; + break; + case 'FontBBox': + $res.='/'.$label.' ['.$value[0].' '.$value[1].' '.$value[2].' '.$value[3]."]\n"; + break; + case 'FontName': + $res.='/'.$label.' /'.$value."\n"; + break; + } + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* the font encoding +*/ +function o_fontEncoding($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + // the options array should contain 'differences' and maybe 'encoding' + $this->objects[$id]=array('t'=>'fontEncoding','info'=>$options); + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Encoding\n"; + if (!isset($o['info']['encoding'])){ + $o['info']['encoding']='WinAnsiEncoding'; + } + if ($o['info']['encoding']!='none'){ + $res.="/BaseEncoding /".$o['info']['encoding']."\n"; + } + $res.="/Differences \n["; + $onum=-100; + foreach($o['info']['differences'] as $num=>$label){ + if ($num!=$onum+1){ + // we cannot make use of consecutive numbering + $res.= "\n".$num." /".$label; + } else { + $res.= " /".$label; + } + $onum=$num; + } + $res.="\n]\n>>\nendobj"; + return $res; + break; + } +} + +/** +* the document procset, solves some problems with printing to old PS printers +*/ +function o_procset($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'procset','info'=>array('PDF'=>1,'Text'=>1)); + $this->o_pages($this->currentNode,'procset',$id); + $this->procsetObjectId=$id; + break; + case 'add': + // this is to add new items to the procset list, despite the fact that this is considered + // obselete, the items are required for printing to some postscript printers + switch ($options) { + case 'ImageB': + case 'ImageC': + case 'ImageI': + $o['info'][$options]=1; + break; + } + break; + case 'out': + $res="\n".$id." 0 obj\n["; + foreach ($o['info'] as $label=>$val){ + $res.='/'.$label.' '; + } + $res.="]\nendobj"; + return $res; + break; + } +} + +/** +* define the document information +*/ +function o_info($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->infoObject=$id; + $date='D:'.date('Ymd'); + $this->objects[$id]=array('t'=>'info','info'=>array('Creator'=>'R and OS php pdf writer, http://www.ros.co.nz','CreationDate'=>$date)); + break; + case 'Title': + case 'Author': + case 'Subject': + case 'Keywords': + case 'Creator': + case 'Producer': + case 'CreationDate': + case 'ModDate': + case 'Trapped': + $o['info'][$action]=$options; + break; + case 'out': + if ($this->encrypted){ + $this->encryptInit($id); + } + $res="\n".$id." 0 obj\n<<\n"; + foreach ($o['info'] as $k=>$v){ + $res.='/'.$k.' ('; + if ($this->encrypted){ + $res.=$this->filterText($this->ARC4($v)); + } else { + $res.=$this->filterText($v); + } + $res.=")\n"; + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* an action object, used to link to URLS initially +*/ +function o_action($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + if (is_array($options)){ + $this->objects[$id]=array('t'=>'action','info'=>$options,'type'=>$options['type']); + } else { + // then assume a URI action + $this->objects[$id]=array('t'=>'action','info'=>$options,'type'=>'URI'); + } + break; + case 'out': + if ($this->encrypted){ + $this->encryptInit($id); + } + $res="\n".$id." 0 obj\n<< /Type /Action"; + switch($o['type']){ + case 'ilink': + // there will be an 'label' setting, this is the name of the destination + $res.="\n/S /GoTo\n/D ".$this->destinations[(string)$o['info']['label']]." 0 R"; + break; + case 'URI': + $res.="\n/S /URI\n/URI ("; + if ($this->encrypted){ + $res.=$this->filterText($this->ARC4($o['info'])); + } else { + $res.=$this->filterText($o['info']); + } + $res.=")"; + break; + } + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* an annotation object, this will add an annotation to the current page. +* initially will support just link annotations +*/ +function o_annotation($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + // add the annotation to the current page + $pageId = $this->currentPage; + $this->o_page($pageId,'annot',$id); + // and add the action object which is going to be required + switch($options['type']){ + case 'link': + $this->objects[$id]=array('t'=>'annotation','info'=>$options); + $this->numObj++; + $this->o_action($this->numObj,'new',$options['url']); + $this->objects[$id]['info']['actionId']=$this->numObj; + break; + case 'ilink': + // this is to a named internal link + $label = $options['label']; + $this->objects[$id]=array('t'=>'annotation','info'=>$options); + $this->numObj++; + $this->o_action($this->numObj,'new',array('type'=>'ilink','label'=>$label)); + $this->objects[$id]['info']['actionId']=$this->numObj; + break; + } + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Annot"; + switch($o['info']['type']){ + case 'link': + case 'ilink': + $res.= "\n/Subtype /Link"; + break; + } + $res.="\n/A ".$o['info']['actionId']." 0 R"; + $res.="\n/Border [0 0 0]"; + $res.="\n/H /I"; + $res.="\n/Rect [ "; + foreach($o['info']['rect'] as $v){ + $res.= sprintf("%.4f ",$v); + } + $res.="]"; + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* a page object, it also creates a contents object to hold its contents +*/ +function o_page($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->numPages++; + $this->objects[$id]=array('t'=>'page','info'=>array('parent'=>$this->currentNode,'pageNum'=>$this->numPages)); + if (is_array($options)){ + // then this must be a page insertion, array shoudl contain 'rid','pos'=[before|after] + $options['id']=$id; + $this->o_pages($this->currentNode,'page',$options); + } else { + $this->o_pages($this->currentNode,'page',$id); + } + $this->currentPage=$id; + //make a contents object to go with this page + $this->numObj++; + $this->o_contents($this->numObj,'new',$id); + $this->currentContents=$this->numObj; + $this->objects[$id]['info']['contents']=array(); + $this->objects[$id]['info']['contents'][]=$this->numObj; + $match = ($this->numPages%2 ? 'odd' : 'even'); + foreach($this->addLooseObjects as $oId=>$target){ + if ($target=='all' || $match==$target){ + $this->objects[$id]['info']['contents'][]=$oId; + } + } + break; + case 'content': + $o['info']['contents'][]=$options; + break; + case 'annot': + // add an annotation to this page + if (!isset($o['info']['annot'])){ + $o['info']['annot']=array(); + } + // $options should contain the id of the annotation dictionary + $o['info']['annot'][]=$options; + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Page"; + $res.="\n/Parent ".$o['info']['parent']." 0 R"; + if (isset($o['info']['annot'])){ + $res.="\n/Annots ["; + foreach($o['info']['annot'] as $aId){ + $res.=" ".$aId." 0 R"; + } + $res.=" ]"; + } + $count = count($o['info']['contents']); + if ($count==1){ + $res.="\n/Contents ".$o['info']['contents'][0]." 0 R"; + } else if ($count>1){ + $res.="\n/Contents [\n"; + foreach ($o['info']['contents'] as $cId){ + $res.=$cId." 0 R\n"; + } + $res.="]"; + } + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* the contents objects hold all of the content which appears on pages +*/ +function o_contents($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'contents','c'=>'','info'=>array()); + if (strlen($options) && intval($options)){ + // then this contents is the primary for a page + $this->objects[$id]['onPage']=$options; + } else if ($options=='raw'){ + // then this page contains some other type of system object + $this->objects[$id]['raw']=1; + } + break; + case 'add': + // add more options to the decleration + foreach ($options as $k=>$v){ + $o['info'][$k]=$v; + } + case 'out': + $tmp=$o['c']; + $res= "\n".$id." 0 obj\n"; + if (isset($this->objects[$id]['raw'])){ + $res.=$tmp; + } else { + $res.= "<<"; + if (function_exists('gzcompress') && $this->options['compression']){ + // then implement ZLIB based compression on this content stream + $res.=" /Filter /FlateDecode"; + $tmp = gzcompress($tmp); + } + if ($this->encrypted){ + $this->encryptInit($id); + $tmp = $this->ARC4($tmp); + } + foreach($o['info'] as $k=>$v){ + $res .= "\n/".$k.' '.$v; + } + $res.="\n/Length ".strlen($tmp)." >>\nstream\n".$tmp."\nendstream"; + } + $res.="\nendobj\n"; + return $res; + break; + } +} + +/** +* an image object, will be an XObject in the document, includes description and data +*/ +function o_image($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + // make the new object + $this->objects[$id]=array('t'=>'image','data'=>$options['data'],'info'=>array()); + $this->objects[$id]['info']['Type']='/XObject'; + $this->objects[$id]['info']['Subtype']='/Image'; + $this->objects[$id]['info']['Width']=$options['iw']; + $this->objects[$id]['info']['Height']=$options['ih']; + if (!isset($options['type']) || $options['type']=='jpg'){ + if (!isset($options['channels'])){ + $options['channels']=3; + } + switch($options['channels']){ + case 1: + $this->objects[$id]['info']['ColorSpace']='/DeviceGray'; + break; + default: + $this->objects[$id]['info']['ColorSpace']='/DeviceRGB'; + break; + } + $this->objects[$id]['info']['Filter']='/DCTDecode'; + $this->objects[$id]['info']['BitsPerComponent']=8; + } else if ($options['type']=='png'){ + $this->objects[$id]['info']['Filter']='/FlateDecode'; + $this->objects[$id]['info']['DecodeParms']='<< /Predictor 15 /Colors '.$options['ncolor'].' /Columns '.$options['iw'].' /BitsPerComponent '.$options['bitsPerComponent'].'>>'; + if (strlen($options['pdata'])){ + $tmp = ' [ /Indexed /DeviceRGB '.(strlen($options['pdata'])/3-1).' '; + $this->numObj++; + $this->o_contents($this->numObj,'new'); + $this->objects[$this->numObj]['c']=$options['pdata']; + $tmp.=$this->numObj.' 0 R'; + $tmp .=' ]'; + $this->objects[$id]['info']['ColorSpace'] = $tmp; + if (isset($options['transparency'])){ + switch($options['transparency']['type']){ + case 'indexed': + $tmp=' [ '.$options['transparency']['data'].' '.$options['transparency']['data'].'] '; + $this->objects[$id]['info']['Mask'] = $tmp; + break; + } + } + } else { + $this->objects[$id]['info']['ColorSpace']='/'.$options['color']; + } + $this->objects[$id]['info']['BitsPerComponent']=$options['bitsPerComponent']; + } + // assign it a place in the named resource dictionary as an external object, according to + // the label passed in with it. + $this->o_pages($this->currentNode,'xObject',array('label'=>$options['label'],'objNum'=>$id)); + // also make sure that we have the right procset object for it. + $this->o_procset($this->procsetObjectId,'add','ImageC'); + break; + case 'out': + $tmp=$o['data']; + $res= "\n".$id." 0 obj\n<<"; + foreach($o['info'] as $k=>$v){ + $res.="\n/".$k.' '.$v; + } + if ($this->encrypted){ + $this->encryptInit($id); + $tmp = $this->ARC4($tmp); + } + $res.="\n/Length ".strlen($tmp)." >>\nstream\n".$tmp."\nendstream\nendobj\n"; + return $res; + break; + } +} + +/** +* encryption object. +*/ +function o_encryption($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + // make the new object + $this->objects[$id]=array('t'=>'encryption','info'=>$options); + $this->arc4_objnum=$id; + // figure out the additional paramaters required + $pad = chr(0x28).chr(0xBF).chr(0x4E).chr(0x5E).chr(0x4E).chr(0x75).chr(0x8A).chr(0x41).chr(0x64).chr(0x00).chr(0x4E).chr(0x56).chr(0xFF).chr(0xFA).chr(0x01).chr(0x08).chr(0x2E).chr(0x2E).chr(0x00).chr(0xB6).chr(0xD0).chr(0x68).chr(0x3E).chr(0x80).chr(0x2F).chr(0x0C).chr(0xA9).chr(0xFE).chr(0x64).chr(0x53).chr(0x69).chr(0x7A); + $len = strlen($options['owner']); + if ($len>32){ + $owner = substr($options['owner'],0,32); + } else if ($len<32){ + $owner = $options['owner'].substr($pad,0,32-$len); + } else { + $owner = $options['owner']; + } + $len = strlen($options['user']); + if ($len>32){ + $user = substr($options['user'],0,32); + } else if ($len<32){ + $user = $options['user'].substr($pad,0,32-$len); + } else { + $user = $options['user']; + } + $tmp = $this->md5_16($owner); + $okey = substr($tmp,0,5); + $this->ARC4_init($okey); + $ovalue=$this->ARC4($user); + $this->objects[$id]['info']['O']=$ovalue; + // now make the u value, phew. + $tmp = $this->md5_16($user.$ovalue.chr($options['p']).chr(255).chr(255).chr(255).$this->fileIdentifier); + $ukey = substr($tmp,0,5); + + $this->ARC4_init($ukey); + $this->encryptionKey = $ukey; + $this->encrypted=1; + $uvalue=$this->ARC4($pad); + + $this->objects[$id]['info']['U']=$uvalue; + $this->encryptionKey=$ukey; + + // initialize the arc4 array + break; + case 'out': + $res= "\n".$id." 0 obj\n<<"; + $res.="\n/Filter /Standard"; + $res.="\n/V 1"; + $res.="\n/R 2"; + $res.="\n/O (".$this->filterText($o['info']['O']).')'; + $res.="\n/U (".$this->filterText($o['info']['U']).')'; + // and the p-value needs to be converted to account for the twos-complement approach + $o['info']['p'] = (($o['info']['p']^255)+1)*-1; + $res.="\n/P ".($o['info']['p']); + $res.="\n>>\nendobj\n"; + + return $res; + break; + } +} + +/** +* ARC4 functions +* A series of function to implement ARC4 encoding in PHP +*/ + +/** +* calculate the 16 byte version of the 128 bit md5 digest of the string +*/ +function md5_16($string){ + $tmp = md5($string); + $out=''; + for ($i=0;$i<=30;$i=$i+2){ + $out.=chr(hexdec(substr($tmp,$i,2))); + } + return $out; +} + +/** +* initialize the encryption for processing a particular object +*/ +function encryptInit($id){ + $tmp = $this->encryptionKey; + $hex = dechex($id); + if (strlen($hex)<6){ + $hex = substr('000000',0,6-strlen($hex)).$hex; + } + $tmp.= chr(hexdec(substr($hex,4,2))).chr(hexdec(substr($hex,2,2))).chr(hexdec(substr($hex,0,2))).chr(0).chr(0); + $key = $this->md5_16($tmp); + $this->ARC4_init(substr($key,0,10)); +} + +/** +* initialize the ARC4 encryption +*/ +function ARC4_init($key=''){ + $this->arc4 = ''; + // setup the control array + if (strlen($key)==0){ + return; + } + $k = ''; + while(strlen($k)<256){ + $k.=$key; + } + $k=substr($k,0,256); + for ($i=0;$i<256;$i++){ + $this->arc4 .= chr($i); + } + $j=0; + for ($i=0;$i<256;$i++){ + $t = $this->arc4[$i]; + $j = ($j + ord($t) + ord($k[$i]))%256; + $this->arc4[$i]=$this->arc4[$j]; + $this->arc4[$j]=$t; + } +} + +/** +* ARC4 encrypt a text string +*/ +function ARC4($text){ + $len=strlen($text); + $a=0; + $b=0; + $c = $this->arc4; + $out=''; + for ($i=0;$i<$len;$i++){ + $a = ($a+1)%256; + $t= $c[$a]; + $b = ($b+ord($t))%256; + $c[$a]=$c[$b]; + $c[$b]=$t; + $k = ord($c[(ord($c[$a])+ord($c[$b]))%256]); + $out.=chr(ord($text[$i]) ^ $k); + } + + return $out; +} + +/** +* functions which can be called to adjust or add to the document +*/ + +/** +* add a link in the document to an external URL +*/ +function addLink($url,$x0,$y0,$x1,$y1){ + $this->numObj++; + $info = array('type'=>'link','url'=>$url,'rect'=>array($x0,$y0,$x1,$y1)); + $this->o_annotation($this->numObj,'new',$info); +} + +/** +* add a link in the document to an internal destination (ie. within the document) +*/ +function addInternalLink($label,$x0,$y0,$x1,$y1){ + $this->numObj++; + $info = array('type'=>'ilink','label'=>$label,'rect'=>array($x0,$y0,$x1,$y1)); + $this->o_annotation($this->numObj,'new',$info); +} + +/** +* set the encryption of the document +* can be used to turn it on and/or set the passwords which it will have. +* also the functions that the user will have are set here, such as print, modify, add +*/ +function setEncryption($userPass='',$ownerPass='',$pc=array()){ + $p=bindec(11000000); + + $options = array( + 'print'=>4 + ,'modify'=>8 + ,'copy'=>16 + ,'add'=>32 + ); + foreach($pc as $k=>$v){ + if ($v && isset($options[$k])){ + $p+=$options[$k]; + } else if (isset($options[$v])){ + $p+=$options[$v]; + } + } + // implement encryption on the document + if ($this->arc4_objnum == 0){ + // then the block does not exist already, add it. + $this->numObj++; + if (strlen($ownerPass)==0){ + $ownerPass=$userPass; + } + $this->o_encryption($this->numObj,'new',array('user'=>$userPass,'owner'=>$ownerPass,'p'=>$p)); + } +} + +/** +* should be used for internal checks, not implemented as yet +*/ +function checkAllHere(){ +} + +/** +* return the pdf stream as a string returned from the function +*/ +function output($debug=0){ + + if ($debug){ + // turn compression off + $this->options['compression']=0; + } + + if ($this->arc4_objnum){ + $this->ARC4_init($this->encryptionKey); + } + + $this->checkAllHere(); + + $xref=array(); + $content="%PDF-1.3\n%\n"; +// $content="%PDF-1.3\n"; + $pos=strlen($content); + foreach($this->objects as $k=>$v){ + $tmp='o_'.$v['t']; + $cont=$this->$tmp($k,'out'); + $content.=$cont; + $xref[]=$pos; + $pos+=strlen($cont); + } + $content.="\nxref\n0 ".(count($xref)+1)."\n0000000000 65535 f \n"; + foreach($xref as $p){ + $content.=substr('0000000000',0,10-strlen($p)).$p." 00000 n \n"; + } + $content.="\ntrailer\n << /Size ".(count($xref)+1)."\n /Root 1 0 R\n /Info ".$this->infoObject." 0 R\n"; + // if encryption has been applied to this document then add the marker for this dictionary + if ($this->arc4_objnum > 0){ + $content .= "/Encrypt ".$this->arc4_objnum." 0 R\n"; + } + if (strlen($this->fileIdentifier)){ + $content .= "/ID[<".$this->fileIdentifier."><".$this->fileIdentifier.">]\n"; + } + $content .= " >>\nstartxref\n".$pos."\n%%EOF\n"; + return $content; +} + +/** +* intialize a new document +* if this is called on an existing document results may be unpredictable, but the existing document would be lost at minimum +* this function is called automatically by the constructor function +* +* @access private +*/ +function newDocument($pageSize=array(0,0,612,792)){ + $this->numObj=0; + $this->objects = array(); + + $this->numObj++; + $this->o_catalog($this->numObj,'new'); + + $this->numObj++; + $this->o_outlines($this->numObj,'new'); + + $this->numObj++; + $this->o_pages($this->numObj,'new'); + + $this->o_pages($this->numObj,'mediaBox',$pageSize); + $this->currentNode = 3; + + $this->numObj++; + $this->o_procset($this->numObj,'new'); + + $this->numObj++; + $this->o_info($this->numObj,'new'); + + $this->numObj++; + $this->o_page($this->numObj,'new'); + + // need to store the first page id as there is no way to get it to the user during + // startup + $this->firstPageId = $this->currentContents; +} + +/** +* open the font file and return a php structure containing it. +* first check if this one has been done before and saved in a form more suited to php +* note that if a php serialized version does not exist it will try and make one, but will +* require write access to the directory to do it... it is MUCH faster to have these serialized +* files. +* +* @access private +*/ +function openFont($font){ + // assume that $font contains both the path and perhaps the extension to the file, split them + $pos=strrpos($font,'/'); + if ($pos===false){ + $dir = './media/'; + $name = $font; + } else { + //$dir=substr($font,0,$pos+1); + $dir="./media/"; + $name=substr($font,$pos+1); + } + + if (substr($name,-4)=='.afm'){ + $name=substr($name,0,strlen($name)-4); + } + $this->addMessage('openFont: '.$font.' - '.$name); + if (file_exists($dir.'php_'.$name.'.afm')){ + $this->addMessage('openFont: php file exists '.$dir.'php_'.$name.'.afm'); + $tmp = file($dir.'php_'.$name.'.afm'); + $this->fonts[$font]=unserialize($tmp[0]); + if (!isset($this->fonts[$font]['_version_']) || $this->fonts[$font]['_version_']<1){ + // if the font file is old, then clear it out and prepare for re-creation + $this->addMessage('openFont: clear out, make way for new version.'); + unset($this->fonts[$font]); + } + } + if (!isset($this->fonts[$font]) && file_exists($dir.$name.'.afm')){ + // then rebuild the php_.afm file from the .afm file + $this->addMessage('openFont: build php file from '.$dir.$name.'.afm'); + $data = array(); + $file = file($dir.$name.'.afm'); + foreach ($file as $rowA){ + $row=trim($rowA); + $pos=strpos($row,' '); + if ($pos){ + // then there must be some keyword + $key = substr($row,0,$pos); + switch ($key){ + case 'FontName': + case 'FullName': + case 'FamilyName': + case 'Weight': + case 'ItalicAngle': + case 'IsFixedPitch': + case 'CharacterSet': + case 'UnderlinePosition': + case 'UnderlineThickness': + case 'Version': + case 'EncodingScheme': + case 'CapHeight': + case 'XHeight': + case 'Ascender': + case 'Descender': + case 'StdHW': + case 'StdVW': + case 'StartCharMetrics': + $data[$key]=trim(substr($row,$pos)); + break; + case 'FontBBox': + $data[$key]=explode(' ',trim(substr($row,$pos))); + break; + case 'C': + //C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ; + $bits=explode(';',trim($row)); + $dtmp=array(); + foreach($bits as $bit){ + $bits2 = explode(' ',trim($bit)); + if (strlen($bits2[0])){ + if (count($bits2)>2){ + $dtmp[$bits2[0]]=array(); + for ($i=1;$i=0){ + $data['C'][$dtmp['C']]=$dtmp; + $data['C'][$dtmp['N']]=$dtmp; + } else { + $data['C'][$dtmp['N']]=$dtmp; + } + break; + case 'KPX': + //KPX Adieresis yacute -40 + $bits=explode(' ',trim($row)); + $data['KPX'][$bits[1]][$bits[2]]=$bits[3]; + break; + } + } + } + $data['_version_']=1; + $this->fonts[$font]=$data; + $fp = @fopen($dir.'php_'.$name.'.afm','w') or die ("Please make sure your \"media\" directory is writeable (CHMOD 777)."); + fwrite($fp,serialize($data)); + fclose($fp); + mosChmod($dir.'php_'.$name.'.afm'); + } else if (!isset($this->fonts[$font])){ + $this->addMessage('openFont: no font file found'); +// echo 'Font not Found '.$font; + } +} + +/** +* if the font is not loaded then load it and make the required object +* else just make it the current font +* the encoding array can contain 'encoding'=> 'none','WinAnsiEncoding','MacRomanEncoding' or 'MacExpertEncoding' +* note that encoding='none' will need to be used for symbolic fonts +* and 'differences' => an array of mappings between numbers 0->255 and character names. +* +*/ +function selectFont($fontName,$encoding='',$set=1){ + if (!isset($this->fonts[$fontName])){ + // load the file + $this->openFont($fontName); + if (isset($this->fonts[$fontName])){ + $this->numObj++; + $this->numFonts++; + $pos=strrpos($fontName,'/'); +// $dir=substr($fontName,0,$pos+1); + $name=substr($fontName,$pos+1); + if (substr($name,-4)=='.afm'){ + $name=substr($name,0,strlen($name)-4); + } + $options=array('name'=>$name); + if (is_array($encoding)){ + // then encoding and differences might be set + if (isset($encoding['encoding'])){ + $options['encoding']=$encoding['encoding']; + } + if (isset($encoding['differences'])){ + $options['differences']=$encoding['differences']; + } + } else if (strlen($encoding)){ + // then perhaps only the encoding has been set + $options['encoding']=$encoding; + } + $fontObj = $this->numObj; + $this->o_font($this->numObj,'new',$options); + $this->fonts[$fontName]['fontNum']=$this->numFonts; + // if this is a '.afm' font, and there is a '.pfa' file to go with it ( as there + // should be for all non-basic fonts), then load it into an object and put the + // references into the font object + $basefile = substr($fontName,0,strlen($fontName)-4); + if (file_exists($basefile.'.pfb')){ + $fbtype = 'pfb'; + } else if (file_exists($basefile.'.ttf')){ + $fbtype = 'ttf'; + } else { + $fbtype=''; + } + $fbfile = $basefile.'.'.$fbtype; + +// $pfbfile = substr($fontName,0,strlen($fontName)-4).'.pfb'; +// $ttffile = substr($fontName,0,strlen($fontName)-4).'.ttf'; + $this->addMessage('selectFont: checking for - '.$fbfile); + if (substr($fontName,-4)=='.afm' && strlen($fbtype) ){ + $adobeFontName = $this->fonts[$fontName]['FontName']; +// $fontObj = $this->numObj; + $this->addMessage('selectFont: adding font file - '.$fbfile.' - '.$adobeFontName); + // find the array of fond widths, and put that into an object. + $firstChar = -1; + $lastChar = 0; + $widths = array(); + foreach ($this->fonts[$fontName]['C'] as $num=>$d){ + if (intval($num)>0 || $num=='0'){ + if ($lastChar>0 && $num>$lastChar+1){ + for($i=$lastChar+1;$i<$num;$i++){ + $widths[] = 0; + } + } + $widths[] = $d['WX']; + if ($firstChar==-1){ + $firstChar = $num; + } + $lastChar = $num; + } + } + // also need to adjust the widths for the differences array + if (isset($options['differences'])){ + foreach($options['differences'] as $charNum=>$charName){ + if ($charNum>$lastChar){ + for($i=$lastChar+1;$i<=$charNum;$i++){ + $widths[]=0; + } + $lastChar=$charNum; + } + if (isset($this->fonts[$fontName]['C'][$charName])){ + $widths[$charNum-$firstChar]=$this->fonts[$fontName]['C'][$charName]['WX']; + } + } + } + $this->addMessage('selectFont: FirstChar='.$firstChar); + $this->addMessage('selectFont: LastChar='.$lastChar); + $this->numObj++; + $this->o_contents($this->numObj,'new','raw'); + $this->objects[$this->numObj]['c'].='['; + foreach($widths as $width){ + $this->objects[$this->numObj]['c'].=' '.$width; + } + $this->objects[$this->numObj]['c'].=' ]'; + $widthid = $this->numObj; + + // load the pfb file, and put that into an object too. + // note that pdf supports only binary format type 1 font files, though there is a + // simple utility to convert them from pfa to pfb. + $fp = fopen($fbfile,'rb'); + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $data = fread($fp,filesize($fbfile)); + set_magic_quotes_runtime($tmp); + fclose($fp); + + // create the font descriptor + $this->numObj++; + $fontDescriptorId = $this->numObj; + $this->numObj++; + $pfbid = $this->numObj; + // determine flags (more than a little flakey, hopefully will not matter much) + $flags=0; + if ($this->fonts[$fontName]['ItalicAngle']!=0){ $flags+=pow(2,6); } + if ($this->fonts[$fontName]['IsFixedPitch']=='true'){ $flags+=1; } + $flags+=pow(2,5); // assume non-sybolic + + $list = array('Ascent'=>'Ascender','CapHeight'=>'CapHeight','Descent'=>'Descender','FontBBox'=>'FontBBox','ItalicAngle'=>'ItalicAngle'); + $fdopt = array( + 'Flags'=>$flags + ,'FontName'=>$adobeFontName + ,'StemV'=>100 // don't know what the value for this should be! + ); + foreach($list as $k=>$v){ + if (isset($this->fonts[$fontName][$v])){ + $fdopt[$k]=$this->fonts[$fontName][$v]; + } + } + + if ($fbtype=='pfb'){ + $fdopt['FontFile']=$pfbid; + } else if ($fbtype=='ttf'){ + $fdopt['FontFile2']=$pfbid; + } + $this->o_fontDescriptor($fontDescriptorId,'new',$fdopt); + + // embed the font program + $this->o_contents($this->numObj,'new'); + $this->objects[$pfbid]['c'].=$data; + // determine the cruicial lengths within this file + if ($fbtype=='pfb'){ + $l1 = strpos($data,'eexec')+6; + $l2 = strpos($data,'00000000')-$l1; + $l3 = strlen($data)-$l2-$l1; + $this->o_contents($this->numObj,'add',array('Length1'=>$l1,'Length2'=>$l2,'Length3'=>$l3)); + } else if ($fbtype=='ttf'){ + $l1 = strlen($data); + $this->o_contents($this->numObj,'add',array('Length1'=>$l1)); + } + + + // tell the font object about all this new stuff + $tmp = array('BaseFont'=>$adobeFontName,'Widths'=>$widthid + ,'FirstChar'=>$firstChar,'LastChar'=>$lastChar + ,'FontDescriptor'=>$fontDescriptorId); + if ($fbtype=='ttf'){ + $tmp['SubType']='TrueType'; + } + $this->addMessage('adding extra info to font.('.$fontObj.')'); + foreach($tmp as $fk=>$fv){ + $this->addMessage($fk." : ".$fv); + } + $this->o_font($fontObj,'add',$tmp); + + } else { + $this->addMessage('selectFont: pfb or ttf file not found, ok if this is one of the 14 standard fonts'); + } + + + // also set the differences here, note that this means that these will take effect only the + //first time that a font is selected, else they are ignored + if (isset($options['differences'])){ + $this->fonts[$fontName]['differences']=$options['differences']; + } + } + } + if ($set && isset($this->fonts[$fontName])){ + // so if for some reason the font was not set in the last one then it will not be selected + $this->currentBaseFont=$fontName; + // the next line means that if a new font is selected, then the current text state will be + // applied to it as well. + $this->setCurrentFont(); + } + return $this->currentFontNum; +} + +/** +* sets up the current font, based on the font families, and the current text state +* note that this system is quite flexible, a font can be completely different to a +* font, and even will have to be defined within the family to have meaning +* This function is to be called whenever the currentTextState is changed, it will update +* the currentFont setting to whatever the appropriatte family one is. +* If the user calls selectFont themselves then that will reset the currentBaseFont, and the currentFont +* This function will change the currentFont to whatever it should be, but will not change the +* currentBaseFont. +* +* @access private +*/ +function setCurrentFont(){ + if (strlen($this->currentBaseFont)==0){ + // then assume an initial font + $this->selectFont('./fonts/Helvetica.afm'); + } + $cf = substr($this->currentBaseFont,strrpos($this->currentBaseFont,'/')+1); + if (strlen($this->currentTextState) + && isset($this->fontFamilies[$cf]) + && isset($this->fontFamilies[$cf][$this->currentTextState])){ + // then we are in some state or another + // and this font has a family, and the current setting exists within it + // select the font, then return it + $nf = substr($this->currentBaseFont,0,strrpos($this->currentBaseFont,'/')+1).$this->fontFamilies[$cf][$this->currentTextState]; + $this->selectFont($nf,'',0); + $this->currentFont = $nf; + $this->currentFontNum = $this->fonts[$nf]['fontNum']; + } else { + // the this font must not have the right family member for the current state + // simply assume the base font + $this->currentFont = $this->currentBaseFont; + $this->currentFontNum = $this->fonts[$this->currentFont]['fontNum']; + } +} + +/** +* function for the user to find out what the ID is of the first page that was created during +* startup - useful if they wish to add something to it later. +*/ +function getFirstPageId(){ + return $this->firstPageId; +} + +/** +* add content to the currently active object +* +* @access private +*/ +function addContent($content){ + $this->objects[$this->currentContents]['c'].=$content; +} + +/** +* sets the colour for fill operations +*/ +function setColor($r,$g,$b,$force=0){ + if ($r>=0 && ($force || $r!=$this->currentColour['r'] || $g!=$this->currentColour['g'] || $b!=$this->currentColour['b'])){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$r).' '.sprintf('%.3f',$g).' '.sprintf('%.3f',$b).' rg'; + $this->currentColour=array('r'=>$r,'g'=>$g,'b'=>$b); + } +} + +/** +* sets the colour for stroke operations +*/ +function setStrokeColor($r,$g,$b,$force=0){ + if ($r>=0 && ($force || $r!=$this->currentStrokeColour['r'] || $g!=$this->currentStrokeColour['g'] || $b!=$this->currentStrokeColour['b'])){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$r).' '.sprintf('%.3f',$g).' '.sprintf('%.3f',$b).' RG'; + $this->currentStrokeColour=array('r'=>$r,'g'=>$g,'b'=>$b); + } +} + +/** +* draw a line from one set of coordinates to another +*/ +function line($x1,$y1,$x2,$y2){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' m '.sprintf('%.3f',$x2).' '.sprintf('%.3f',$y2).' l S'; +} + +/** +* draw a bezier curve based on 4 control points +*/ +function curve($x0,$y0,$x1,$y1,$x2,$y2,$x3,$y3){ + // in the current line style, draw a bezier curve from (x0,y0) to (x3,y3) using the other two points + // as the control points for the curve. + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x0).' '.sprintf('%.3f',$y0).' m '.sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1); + $this->objects[$this->currentContents]['c'].= ' '.sprintf('%.3f',$x2).' '.sprintf('%.3f',$y2).' '.sprintf('%.3f',$x3).' '.sprintf('%.3f',$y3).' c S'; +} + +/** +* draw a part of an ellipse +*/ +function partEllipse($x0,$y0,$astart,$afinish,$r1,$r2=0,$angle=0,$nSeg=8){ + $this->ellipse($x0,$y0,$r1,$r2,$angle,$nSeg,$astart,$afinish,0); +} + +/** +* draw a filled ellipse +*/ +function filledEllipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360){ + return $this->ellipse($x0,$y0,$r1,$r2=0,$angle,$nSeg,$astart,$afinish,1,1); +} + +/** +* draw an ellipse +* note that the part and filled ellipse are just special cases of this function +* +* draws an ellipse in the current line style +* centered at $x0,$y0, radii $r1,$r2 +* if $r2 is not set, then a circle is drawn +* nSeg is not allowed to be less than 2, as this will simply draw a line (and will even draw a +* pretty crappy shape at 2, as we are approximating with bezier curves. +*/ +function ellipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360,$close=1,$fill=0){ + if ($r1==0){ + return; + } + if ($r2==0){ + $r2=$r1; + } + if ($nSeg<2){ + $nSeg=2; + } + + $astart = deg2rad((float)$astart); + $afinish = deg2rad((float)$afinish); + $totalAngle =$afinish-$astart; + + $dt = $totalAngle/$nSeg; + $dtm = $dt/3; + + if ($angle != 0){ + $a = -1*deg2rad((float)$angle); + $tmp = "\n q "; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$x0).' '.sprintf('%.3f',$y0).' cm'; + $this->objects[$this->currentContents]['c'].= $tmp; + $x0=0; + $y0=0; + } + + $t1 = $astart; + $a0 = $x0+$r1*cos($t1); + $b0 = $y0+$r2*sin($t1); + $c0 = -$r1*sin($t1); + $d0 = $r2*cos($t1); + + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$a0).' '.sprintf('%.3f',$b0).' m '; + for ($i=1;$i<=$nSeg;$i++){ + // draw this bit of the total curve + $t1 = $i*$dt+$astart; + $a1 = $x0+$r1*cos($t1); + $b1 = $y0+$r2*sin($t1); + $c1 = -$r1*sin($t1); + $d1 = $r2*cos($t1); + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',($a0+$c0*$dtm)).' '.sprintf('%.3f',($b0+$d0*$dtm)); + $this->objects[$this->currentContents]['c'].= ' '.sprintf('%.3f',($a1-$c1*$dtm)).' '.sprintf('%.3f',($b1-$d1*$dtm)).' '.sprintf('%.3f',$a1).' '.sprintf('%.3f',$b1).' c'; + $a0=$a1; + $b0=$b1; + $c0=$c1; + $d0=$d1; + } + if ($fill){ + $this->objects[$this->currentContents]['c'].=' f'; + } else { + if ($close){ + $this->objects[$this->currentContents]['c'].=' s'; // small 's' signifies closing the path as well + } else { + $this->objects[$this->currentContents]['c'].=' S'; + } + } + if ($angle !=0){ + $this->objects[$this->currentContents]['c'].=' Q'; + } +} + +/** +* this sets the line drawing style. +* width, is the thickness of the line in user units +* cap is the type of cap to put on the line, values can be 'butt','round','square' +* where the diffference between 'square' and 'butt' is that 'square' projects a flat end past the +* end of the line. +* join can be 'miter', 'round', 'bevel' +* dash is an array which sets the dash pattern, is a series of length values, which are the lengths of the +* on and off dashes. +* (2) represents 2 on, 2 off, 2 on , 2 off ... +* (2,1) is 2 on, 1 off, 2 on, 1 off.. etc +* phase is a modifier on the dash pattern which is used to shift the point at which the pattern starts. +*/ +function setLineStyle($width=1,$cap='',$join='',$dash='',$phase=0){ + + // this is quite inefficient in that it sets all the parameters whenever 1 is changed, but will fix another day + $string = ''; + if ($width>0){ + $string.= $width.' w'; + } + $ca = array('butt'=>0,'round'=>1,'square'=>2); + if (isset($ca[$cap])){ + $string.= ' '.$ca[$cap].' J'; + } + $ja = array('miter'=>0,'round'=>1,'bevel'=>2); + if (isset($ja[$join])){ + $string.= ' '.$ja[$join].' j'; + } + if (is_array($dash)){ + $string.= ' ['; + foreach ($dash as $len){ + $string.=' '.$len; + } + $string.= ' ] '.$phase.' d'; + } + $this->currentLineStyle = $string; + $this->objects[$this->currentContents]['c'].="\n".$string; +} + +/** +* draw a polygon, the syntax for this is similar to the GD polygon command +*/ +function polygon($p,$np,$f=0){ + $this->objects[$this->currentContents]['c'].="\n"; + $this->objects[$this->currentContents]['c'].=sprintf('%.3f',$p[0]).' '.sprintf('%.3f',$p[1]).' m '; + for ($i=2;$i<$np*2;$i=$i+2){ + $this->objects[$this->currentContents]['c'].= sprintf('%.3f',$p[$i]).' '.sprintf('%.3f',$p[$i+1]).' l '; + } + if ($f==1){ + $this->objects[$this->currentContents]['c'].=' f'; + } else { + $this->objects[$this->currentContents]['c'].=' S'; + } +} + +/** +* a filled rectangle, note that it is the width and height of the rectangle which are the secondary paramaters, not +* the coordinates of the upper-right corner +*/ +function filledRectangle($x1,$y1,$width,$height){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' '.sprintf('%.3f',$width).' '.sprintf('%.3f',$height).' re f'; +} + +/** +* draw a rectangle, note that it is the width and height of the rectangle which are the secondary paramaters, not +* the coordinates of the upper-right corner +*/ +function rectangle($x1,$y1,$width,$height){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' '.sprintf('%.3f',$width).' '.sprintf('%.3f',$height).' re S'; +} + +/** +* add a new page to the document +* this also makes the new page the current active object +*/ +function newPage($insert=0,$id=0,$pos='after'){ + + // if there is a state saved, then go up the stack closing them + // then on the new page, re-open them with the right setings + + if ($this->nStateStack){ + for ($i=$this->nStateStack;$i>=1;$i--){ + $this->restoreState($i); + } + } + + $this->numObj++; + if ($insert){ + // the id from the ezPdf class is the od of the contents of the page, not the page object itself + // query that object to find the parent + $rid = $this->objects[$id]['onPage']; + $opt= array('rid'=>$rid,'pos'=>$pos); + $this->o_page($this->numObj,'new',$opt); + } else { + $this->o_page($this->numObj,'new'); + } + // if there is a stack saved, then put that onto the page + if ($this->nStateStack){ + for ($i=1;$i<=$this->nStateStack;$i++){ + $this->saveState($i); + } + } + // and if there has been a stroke or fill colour set, then transfer them + if ($this->currentColour['r']>=0){ + $this->setColor($this->currentColour['r'],$this->currentColour['g'],$this->currentColour['b'],1); + } + if ($this->currentStrokeColour['r']>=0){ + $this->setStrokeColor($this->currentStrokeColour['r'],$this->currentStrokeColour['g'],$this->currentStrokeColour['b'],1); + } + + // if there is a line style set, then put this in too + if (strlen($this->currentLineStyle)){ + $this->objects[$this->currentContents]['c'].="\n".$this->currentLineStyle; + } + + // the call to the o_page object set currentContents to the present page, so this can be returned as the page id + return $this->currentContents; +} + +/** +* output the pdf code, streaming it to the browser +* the relevant headers are set so that hopefully the browser will recognise it +*/ +function stream($options=''){ + // setting the options allows the adjustment of the headers + // values at the moment are: + // 'Content-Disposition'=>'filename' - sets the filename, though not too sure how well this will + // work as in my trial the browser seems to use the filename of the php file with .pdf on the end + // 'Accept-Ranges'=>1 or 0 - if this is not set to 1, then this header is not included, off by default + // this header seems to have caused some problems despite tha fact that it is supposed to solve + // them, so I am leaving it off by default. + // 'compress'=> 1 or 0 - apply content stream compression, this is on (1) by default + if (!is_array($options)){ + $options=array(); + } + if ( isset($options['compress']) && $options['compress']==0){ + $tmp = $this->output(1); + } else { + $tmp = $this->output(); + } + header("Content-type: application/pdf"); + header("Content-Length: ".strlen(ltrim($tmp))); + $fileName = (isset($options['Content-Disposition'])?$options['Content-Disposition']:'file.pdf'); + header("Content-Disposition: inline; filename=".$fileName); + if (isset($options['Accept-Ranges']) && $options['Accept-Ranges']==1){ + header("Accept-Ranges: ".strlen(ltrim($tmp))); + } + echo ltrim($tmp); +} + +/** +* return the height in units of the current font in the given size +*/ +function getFontHeight($size){ + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + // for the current font, and the given size, what is the height of the font in user units + $h = $this->fonts[$this->currentFont]['FontBBox'][3]-$this->fonts[$this->currentFont]['FontBBox'][1]; + return $size*$h/1000; +} + +/** +* return the font decender, this will normally return a negative number +* if you add this number to the baseline, you get the level of the bottom of the font +* it is in the pdf user units +*/ +function getFontDecender($size){ + // note that this will most likely return a negative value + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + $h = $this->fonts[$this->currentFont]['FontBBox'][1]; + return $size*$h/1000; +} + +/** +* filter the text, this is applied to all text just before being inserted into the pdf document +* it escapes the various things that need to be escaped, and so on +* +* @access private +*/ +function filterText($text){ + $text = str_replace('\\','\\\\',$text); + $text = str_replace('(','\(',$text); + $text = str_replace(')','\)',$text); + $text = str_replace('<','<',$text); + $text = str_replace('>','>',$text); + $text = str_replace(''','\'',$text); + $text = str_replace('"','"',$text); + $text = str_replace('&','&',$text); + + return $text; +} + +/** +* given a start position and information about how text is to be laid out, calculate where +* on the page the text will end +* +* @access private +*/ +function PRVTgetTextPosition($x,$y,$angle,$size,$wa,$text){ + // given this information return an array containing x and y for the end position as elements 0 and 1 + $w = $this->getTextWidth($size,$text); + // need to adjust for the number of spaces in this text + $words = explode(' ',$text); + $nspaces=count($words)-1; + $w += $wa*$nspaces; + $a = deg2rad((float)$angle); + return array(cos($a)*$w+$x,-sin($a)*$w+$y); +} + +/** +* wrapper function for PRVTcheckTextDirective1 +* +* @access private +*/ +function PRVTcheckTextDirective(&$text,$i,&$f){ + $x=0; + $y=0; + return $this->PRVTcheckTextDirective1($text,$i,$f,0,$x,$y); +} + +/** +* checks if the text stream contains a control directive +* if so then makes some changes and returns the number of characters involved in the directive +* this has been re-worked to include everything neccesary to fins the current writing point, so that +* the location can be sent to the callback function if required +* if the directive does not require a font change, then $f should be set to 0 +* +* @access private +*/ +function PRVTcheckTextDirective1(&$text,$i,&$f,$final,&$x,&$y,$size=0,$angle=0,$wordSpaceAdjust=0){ + $directive = 0; + $j=$i; + if ($text[$j]=='<'){ + $j++; + switch($text[$j]){ + case '/': + $j++; + if (strlen($text) <= $j){ + return $directive; + } + switch($text[$j]){ + case 'b': + case 'i': + $j++; + if ($text[$j]=='>'){ + $p = strrpos($this->currentTextState,$text[$j-1]); + if ($p !== false){ + // then there is one to remove + $this->currentTextState = substr($this->currentTextState,0,$p).substr($this->currentTextState,$p+1); + } + $directive=$j-$i+1; + } + break; + case 'c': + // this this might be a callback function + $j++; + $k = strpos($text,'>',$j); + if ($k!==false && $text[$j]==':'){ + // then this will be treated as a callback directive + $directive = $k-$i+1; + $f=0; + // split the remainder on colons to get the function name and the paramater + $tmp = substr($text,$j+1,$k-$j-1); + $b1 = strpos($tmp,':'); + if ($b1!==false){ + $func = substr($tmp,0,$b1); + $parm = substr($tmp,$b1+1); + } else { + $func=$tmp; + $parm=''; + } + if (!isset($func) || !strlen(trim($func))){ + $directive=0; + } else { + // only call the function if this is the final call + if ($final){ + // need to assess the text position, calculate the text width to this point + // can use getTextWidth to find the text width I think + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,substr($text,0,$i)); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'end','p'=>$parm,'nCallback'=>$this->nCallback); + $x=$tmp[0]; + $y=$tmp[1]; + $ret = $this->$func($info); + if (is_array($ret)){ + // then the return from the callback function could set the position, to start with, later will do font colour, and font + foreach($ret as $rk=>$rv){ + switch($rk){ + case 'x': + case 'y': + $$rk=$rv; + break; + } + } + } + // also remove from to the stack + // for simplicity, just take from the end, fix this another day + $this->nCallback--; + if ($this->nCallback<0){ + $this->nCallBack=0; + } + } + } + } + break; + } + break; + case 'b': + case 'i': + $j++; + if ($text[$j]=='>'){ + $this->currentTextState.=$text[$j-1]; + $directive=$j-$i+1; + } + break; + case 'C': + $noClose=1; + case 'c': + // this this might be a callback function + $j++; + $k = strpos($text,'>',$j); + if ($k!==false && $text[$j]==':'){ + // then this will be treated as a callback directive + $directive = $k-$i+1; + $f=0; + // split the remainder on colons to get the function name and the paramater +// $bits = explode(':',substr($text,$j+1,$k-$j-1)); + $tmp = substr($text,$j+1,$k-$j-1); + $b1 = strpos($tmp,':'); + if ($b1!==false){ + $func = substr($tmp,0,$b1); + $parm = substr($tmp,$b1+1); + } else { + $func=$tmp; + $parm=''; + } + if (!isset($func) || !strlen(trim($func))){ + $directive=0; + } else { + // only call the function if this is the final call, ie, the one actually doing printing, not measurement + if ($final){ + // need to assess the text position, calculate the text width to this point + // can use getTextWidth to find the text width I think + // also add the text height and decender + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,substr($text,0,$i)); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'start','p'=>$parm,'f'=>$func,'height'=>$this->getFontHeight($size),'decender'=>$this->getFontDecender($size)); + $x=$tmp[0]; + $y=$tmp[1]; + if (!isset($noClose) || !$noClose){ + // only add to the stack if this is a small 'c', therefore is a start-stop pair + $this->nCallback++; + $info['nCallback']=$this->nCallback; + $this->callback[$this->nCallback]=$info; + } + $ret = $this->$func($info); + if (is_array($ret)){ + // then the return from the callback function could set the position, to start with, later will do font colour, and font + foreach($ret as $rk=>$rv){ + switch($rk){ + case 'x': + case 'y': + $$rk=$rv; + break; + } + } + } + } + } + } + break; + } + } + return $directive; +} + +/** +* add text to the document, at a specified location, size and angle on the page +*/ +function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){ + if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');} + + // if there are any open callbacks, then they should be called, to show the start of the line + if ($this->nCallback>0){ + for ($i=$this->nCallback;$i>0;$i--){ + // call each function + $info = array('x'=>$x,'y'=>$y,'angle'=>$angle,'status'=>'sol','p'=>$this->callback[$i]['p'],'nCallback'=>$this->callback[$i]['nCallback'],'height'=>$this->callback[$i]['height'],'decender'=>$this->callback[$i]['decender']); + $func = $this->callback[$i]['f']; + $this->$func($info); + } + } + if ($angle==0){ + $this->objects[$this->currentContents]['c'].="\n".'BT '.sprintf('%.3f',$x).' '.sprintf('%.3f',$y).' Td'; + } else { + $a = deg2rad((float)$angle); + $tmp = "\n".'BT '; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$x).' '.sprintf('%.3f',$y).' Tm'; + $this->objects[$this->currentContents]['c'] .= $tmp; + } + if ($wordSpaceAdjust!=0 || $wordSpaceAdjust != $this->wordSpaceAdjust){ + $this->wordSpaceAdjust=$wordSpaceAdjust; + $this->objects[$this->currentContents]['c'].=' '.sprintf('%.3f',$wordSpaceAdjust).' Tw'; + } + $len=strlen($text); + $start=0; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + // then we should write what we need to + if ($i>$start){ + $part = substr($text,$start,$i-$start); + $this->objects[$this->currentContents]['c'].=' /F'.$this->currentFontNum.' '.sprintf('%.1f',$size).' Tf '; + $this->objects[$this->currentContents]['c'].=' ('.$this->filterText($part).') Tj'; + } + if ($f){ + // then there was nothing drastic done here, restore the contents + $this->setCurrentFont(); + } else { + $this->objects[$this->currentContents]['c'] .= ' ET'; + $f=1; + $xp=$x; + $yp=$y; + $directive = $this->PRVTcheckTextDirective1($text,$i,$f,1,$xp,$yp,$size,$angle,$wordSpaceAdjust); + + // restart the text object + if ($angle==0){ + $this->objects[$this->currentContents]['c'].="\n".'BT '.sprintf('%.3f',$xp).' '.sprintf('%.3f',$yp).' Td'; + } else { + $a = deg2rad((float)$angle); + $tmp = "\n".'BT '; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$xp).' '.sprintf('%.3f',$yp).' Tm'; + $this->objects[$this->currentContents]['c'] .= $tmp; + } + if ($wordSpaceAdjust!=0 || $wordSpaceAdjust != $this->wordSpaceAdjust){ + $this->wordSpaceAdjust=$wordSpaceAdjust; + $this->objects[$this->currentContents]['c'].=' '.sprintf('%.3f',$wordSpaceAdjust).' Tw'; + } + } + // and move the writing point to the next piece of text + $i=$i+$directive-1; + $start=$i+1; + } + + } + if ($start<$len){ + $part = substr($text,$start); + $this->objects[$this->currentContents]['c'].=' /F'.$this->currentFontNum.' '.sprintf('%.1f',$size).' Tf '; + $this->objects[$this->currentContents]['c'].=' ('.$this->filterText($part).') Tj'; + } + $this->objects[$this->currentContents]['c'].=' ET'; + + // if there are any open callbacks, then they should be called, to show the end of the line + if ($this->nCallback>0){ + for ($i=$this->nCallback;$i>0;$i--){ + // call each function + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,$text); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'eol','p'=>$this->callback[$i]['p'],'nCallback'=>$this->callback[$i]['nCallback'],'height'=>$this->callback[$i]['height'],'decender'=>$this->callback[$i]['decender']); + $func = $this->callback[$i]['f']; + $this->$func($info); + } + } + +} + +/** +* calculate how wide a given text string will be on a page, at a given size. +* this can be called externally, but is alse used by the other class functions +*/ +function getTextWidth($size,$text){ + // this function should not change any of the settings, though it will need to + // track any directives which change during calculation, so copy them at the start + // and put them back at the end. + $store_currentTextState = $this->currentTextState; + + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + + // converts a number or a float to a string so it can get the width + $text = "$text"; + + // hmm, this is where it all starts to get tricky - use the font information to + // calculate the width of each character, add them up and convert to user units + $w=0; + $len=strlen($text); + $cf = $this->currentFont; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + if ($f){ + $this->setCurrentFont(); + $cf = $this->currentFont; + } + $i=$i+$directive-1; + } else { + $char=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$char])){ + // then this character is being replaced by another + $name = $this->fonts[$cf]['differences'][$char]; + if (isset($this->fonts[$cf]['C'][$name]['WX'])){ + $w+=$this->fonts[$cf]['C'][$name]['WX']; + } + } else if (isset($this->fonts[$cf]['C'][$char]['WX'])){ + $w+=$this->fonts[$cf]['C'][$char]['WX']; + } + } + } + + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + + return $w*$size/1000; +} + +/** +* do a part of the calculation for sorting out the justification of the text +* +* @access private +*/ +function PRVTadjustWrapText($text,$actual,$width,&$x,&$adjust,$justification){ + switch ($justification){ + case 'left': + return; + break; + case 'right': + $x+=$width-$actual; + break; + case 'center': + case 'centre': + $x+=($width-$actual)/2; + break; + case 'full': + // count the number of words + $words = explode(' ',$text); + $nspaces=count($words)-1; + if ($nspaces>0){ + $adjust = ($width-$actual)/$nspaces; + } else { + $adjust=0; + } + break; + } +} + +/** +* add text to the page, but ensure that it fits within a certain width +* if it does not fit then put in as much as possible, splitting at word boundaries +* and return the remainder. +* justification and angle can also be specified for the text +*/ +function addTextWrap($x,$y,$width,$size,$text,$justification='left',$angle=0,$test=0){ + // this will display the text, and if it goes beyond the width $width, will backtrack to the + // previous space or hyphen, and return the remainder of the text. + + // $justification can be set to 'left','right','center','centre','full' + + // need to store the initial text state, as this will change during the width calculation + // but will need to be re-set before printing, so that the chars work out right + $store_currentTextState = $this->currentTextState; + + if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');} + if ($width<=0){ + // error, pretend it printed ok, otherwise risking a loop + return ''; + } + $w=0; + $break=0; + $breakWidth=0; + $len=strlen($text); + $cf = $this->currentFont; + $tw = $width/$size*1000; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + if ($f){ + $this->setCurrentFont(); + $cf = $this->currentFont; + } + $i=$i+$directive-1; + } else { + $cOrd = ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$cOrd])){ + // then this character is being replaced by another + $cOrd2 = $this->fonts[$cf]['differences'][$cOrd]; + } else { + $cOrd2 = $cOrd; + } + + if (isset($this->fonts[$cf]['C'][$cOrd2]['WX'])){ + $w+=$this->fonts[$cf]['C'][$cOrd2]['WX']; + } + if ($w>$tw){ + // then we need to truncate this line + if ($break>0){ + // then we have somewhere that we can split :) + if ($text[$break]==' '){ + $tmp = substr($text,0,$break); + } else { + $tmp = substr($text,0,$break+1); + } + $adjust=0; + $this->PRVTadjustWrapText($tmp,$breakWidth,$width,$x,$adjust,$justification); + + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$tmp,$angle,$adjust); + } + return substr($text,$break+1); + } else { + // just split before the current character + $tmp = substr($text,0,$i); + $adjust=0; + $ctmp=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$ctmp])){ + $ctmp=$this->fonts[$cf]['differences'][$ctmp]; + } + $tmpw=($w-$this->fonts[$cf]['C'][$ctmp]['WX'])*$size/1000; + $this->PRVTadjustWrapText($tmp,$tmpw,$width,$x,$adjust,$justification); + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$tmp,$angle,$adjust); + } + return substr($text,$i); + } + } + if ($text[$i]=='-'){ + $break=$i; + $breakWidth = $w*$size/1000; + } + if ($text[$i]==' '){ + $break=$i; + $ctmp=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$ctmp])){ + $ctmp=$this->fonts[$cf]['differences'][$ctmp]; + } + $breakWidth = ($w-$this->fonts[$cf]['C'][$ctmp]['WX'])*$size/1000; + } + } + } + // then there was no need to break this line + if ($justification=='full'){ + $justification='left'; + } + $adjust=0; + $tmpw=$w*$size/1000; + $this->PRVTadjustWrapText($text,$tmpw,$width,$x,$adjust,$justification); + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$text,$angle,$adjust,$angle); + } + return ''; +} + +/** +* this will be called at a new page to return the state to what it was on the +* end of the previous page, before the stack was closed down +* This is to get around not being able to have open 'q' across pages +* +*/ +function saveState($pageEnd=0){ + if ($pageEnd){ + // this will be called at a new page to return the state to what it was on the + // end of the previous page, before the stack was closed down + // This is to get around not being able to have open 'q' across pages + $opt = $this->stateStack[$pageEnd]; // ok to use this as stack starts numbering at 1 + $this->setColor($opt['col']['r'],$opt['col']['g'],$opt['col']['b'],1); + $this->setStrokeColor($opt['str']['r'],$opt['str']['g'],$opt['str']['b'],1); + $this->objects[$this->currentContents]['c'].="\n".$opt['lin']; +// $this->currentLineStyle = $opt['lin']; + } else { + $this->nStateStack++; + $this->stateStack[$this->nStateStack]=array( + 'col'=>$this->currentColour + ,'str'=>$this->currentStrokeColour + ,'lin'=>$this->currentLineStyle + ); + } + $this->objects[$this->currentContents]['c'].="\nq"; +} + +/** +* restore a previously saved state +*/ +function restoreState($pageEnd=0){ + if (!$pageEnd){ + $n = $this->nStateStack; + $this->currentColour = $this->stateStack[$n]['col']; + $this->currentStrokeColour = $this->stateStack[$n]['str']; + $this->objects[$this->currentContents]['c'].="\n".$this->stateStack[$n]['lin']; + $this->currentLineStyle = $this->stateStack[$n]['lin']; + unset($this->stateStack[$n]); + $this->nStateStack--; + } + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* make a loose object, the output will go into this object, until it is closed, then will revert to +* the current one. +* this object will not appear until it is included within a page. +* the function will return the object number +*/ +function openObject(){ + $this->nStack++; + $this->stack[$this->nStack]=array('c'=>$this->currentContents,'p'=>$this->currentPage); + // add a new object of the content type, to hold the data flow + $this->numObj++; + $this->o_contents($this->numObj,'new'); + $this->currentContents=$this->numObj; + $this->looseObjects[$this->numObj]=1; + + return $this->numObj; +} + +/** +* open an existing object for editing +*/ +function reopenObject($id){ + $this->nStack++; + $this->stack[$this->nStack]=array('c'=>$this->currentContents,'p'=>$this->currentPage); + $this->currentContents=$id; + // also if this object is the primary contents for a page, then set the current page to its parent + if (isset($this->objects[$id]['onPage'])){ + $this->currentPage = $this->objects[$id]['onPage']; + } +} + +/** +* close an object +*/ +function closeObject(){ + // close the object, as long as there was one open in the first place, which will be indicated by + // an objectId on the stack. + if ($this->nStack>0){ + $this->currentContents=$this->stack[$this->nStack]['c']; + $this->currentPage=$this->stack[$this->nStack]['p']; + $this->nStack--; + // easier to probably not worry about removing the old entries, they will be overwritten + // if there are new ones. + } +} + +/** +* stop an object from appearing on pages from this point on +*/ +function stopObject($id){ + // if an object has been appearing on pages up to now, then stop it, this page will + // be the last one that could contian it. + if (isset($this->addLooseObjects[$id])){ + $this->addLooseObjects[$id]=''; + } +} + +/** +* after an object has been created, it wil only show if it has been added, using this function. +*/ +function addObject($id,$options='add'){ + // add the specified object to the page + if (isset($this->looseObjects[$id]) && $this->currentContents!=$id){ + // then it is a valid object, and it is not being added to itself + switch($options){ + case 'all': + // then this object is to be added to this page (done in the next block) and + // all future new pages. + $this->addLooseObjects[$id]='all'; + case 'add': + if (isset($this->objects[$this->currentContents]['onPage'])){ + // then the destination contents is the primary for the page + // (though this object is actually added to that page) + $this->o_page($this->objects[$this->currentContents]['onPage'],'content',$id); + } + break; + case 'even': + $this->addLooseObjects[$id]='even'; + $pageObjectId=$this->objects[$this->currentContents]['onPage']; + if ($this->objects[$pageObjectId]['info']['pageNum']%2==0){ + $this->addObject($id); // hacky huh :) + } + break; + case 'odd': + $this->addLooseObjects[$id]='odd'; + $pageObjectId=$this->objects[$this->currentContents]['onPage']; + if ($this->objects[$pageObjectId]['info']['pageNum']%2==1){ + $this->addObject($id); // hacky huh :) + } + break; + case 'next': + $this->addLooseObjects[$id]='all'; + break; + case 'nexteven': + $this->addLooseObjects[$id]='even'; + break; + case 'nextodd': + $this->addLooseObjects[$id]='odd'; + break; + } + } +} + +/** +* add content to the documents info object +*/ +function addInfo($label,$value=0){ + // this will only work if the label is one of the valid ones. + // modify this so that arrays can be passed as well. + // if $label is an array then assume that it is key=>value pairs + // else assume that they are both scalar, anything else will probably error + if (is_array($label)){ + foreach ($label as $l=>$v){ + $this->o_info($this->infoObject,$l,$v); + } + } else { + $this->o_info($this->infoObject,$label,$value); + } +} + +/** +* set the viewer preferences of the document, it is up to the browser to obey these. +*/ +function setPreferences($label,$value=0){ + // this will only work if the label is one of the valid ones. + if (is_array($label)){ + foreach ($label as $l=>$v){ + $this->o_catalog($this->catalogId,'viewerPreferences',array($l=>$v)); + } + } else { + $this->o_catalog($this->catalogId,'viewerPreferences',array($label=>$value)); + } +} + +/** +* extract an integer from a position in a byte stream +* +* @access private +*/ +function PRVT_getBytes(&$data,$pos,$num){ + // return the integer represented by $num bytes from $pos within $data + $ret=0; + for ($i=0;$i<$num;$i++){ + $ret=$ret*256; + $ret+=ord($data[$pos+$i]); + } + return $ret; +} + +/** +* add a PNG image into the document, from a file +* this should work with remote files +*/ +function addPngFromFile($file,$x,$y,$w=0,$h=0){ + // read in a png file, interpret it, then add to the system + $error=0; + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $fp = @fopen($file,'rb'); + if ($fp){ + $data=''; + while(!feof($fp)){ + $data .= fread($fp,1024); + } + fclose($fp); + } else { + $error = 1; + $errormsg = 'trouble opening file: '.$file; + } + set_magic_quotes_runtime($tmp); + + if (!$error){ + $header = chr(137).chr(80).chr(78).chr(71).chr(13).chr(10).chr(26).chr(10); + if (substr($data,0,8)!=$header){ + $error=1; + $errormsg = 'this file does not have a valid header'; + } + } + + if (!$error){ + // set pointer + $p = 8; + $len = strlen($data); + // cycle through the file, identifying chunks + $haveHeader=0; + $info=array(); + $idata=''; + $pdata=''; + while ($p<$len){ + $chunkLen = $this->PRVT_getBytes($data,$p,4); + $chunkType = substr($data,$p+4,4); +// echo $chunkType.' - '.$chunkLen.'
      '; + + switch($chunkType){ + case 'IHDR': + // this is where all the file information comes from + $info['width']=$this->PRVT_getBytes($data,$p+8,4); + $info['height']=$this->PRVT_getBytes($data,$p+12,4); + $info['bitDepth']=ord($data[$p+16]); + $info['colorType']=ord($data[$p+17]); + $info['compressionMethod']=ord($data[$p+18]); + $info['filterMethod']=ord($data[$p+19]); + $info['interlaceMethod']=ord($data[$p+20]); +//print_r($info); + $haveHeader=1; + if ($info['compressionMethod']!=0){ + $error=1; + $errormsg = 'unsupported compression method'; + } + if ($info['filterMethod']!=0){ + $error=1; + $errormsg = 'unsupported filter method'; + } + break; + case 'PLTE': + $pdata.=substr($data,$p+8,$chunkLen); + break; + case 'IDAT': + $idata.=substr($data,$p+8,$chunkLen); + break; + case 'tRNS': + //this chunk can only occur once and it must occur after the PLTE chunk and before IDAT chunk + //print "tRNS found, color type = ".$info['colorType']."
      "; + $transparency = array(); + if ($info['colorType'] == 3) { // indexed color, rbg + /* corresponding to entries in the plte chunk + Alpha for palette index 0: 1 byte + Alpha for palette index 1: 1 byte + ...etc... + */ + // there will be one entry for each palette entry. up until the last non-opaque entry. + // set up an array, stretching over all palette entries which will be o (opaque) or 1 (transparent) + $transparency['type']='indexed'; + $numPalette = strlen($pdata)/3; + $trans=0; + for ($i=$chunkLen;$i>=0;$i--){ + if (ord($data[$p+8+$i])==0){ + $trans=$i; + } + } + $transparency['data'] = $trans; + + } elseif($info['colorType'] == 0) { // grayscale + /* corresponding to entries in the plte chunk + Gray: 2 bytes, range 0 .. (2^bitdepth)-1 + */ +// $transparency['grayscale']=$this->PRVT_getBytes($data,$p+8,2); // g = grayscale + $transparency['type']='indexed'; + $transparency['data'] = ord($data[$p+8+1]); + + } elseif($info['colorType'] == 2) { // truecolor + /* corresponding to entries in the plte chunk + Red: 2 bytes, range 0 .. (2^bitdepth)-1 + Green: 2 bytes, range 0 .. (2^bitdepth)-1 + Blue: 2 bytes, range 0 .. (2^bitdepth)-1 + */ + $transparency['r']=$this->PRVT_getBytes($data,$p+8,2); // r from truecolor + $transparency['g']=$this->PRVT_getBytes($data,$p+10,2); // g from truecolor + $transparency['b']=$this->PRVT_getBytes($data,$p+12,2); // b from truecolor + + } else { + //unsupported transparency type + } + // KS End new code + break; + default: + break; + } + + $p += $chunkLen+12; + } + + if(!$haveHeader){ + $error = 1; + $errormsg = 'information header is missing'; + } + if (isset($info['interlaceMethod']) && $info['interlaceMethod']){ + $error = 1; + $errormsg = 'There appears to be no support for interlaced images in pdf.'; + } + } + + if (!$error && $info['bitDepth'] > 8){ + $error = 1; + $errormsg = 'only bit depth of 8 or less is supported'; + } + + if (!$error){ + if ($info['colorType']!=2 && $info['colorType']!=0 && $info['colorType']!=3){ + $error = 1; + $errormsg = 'transparancey alpha channel not supported, transparency only supported for palette images.'; + } else { + switch ($info['colorType']){ + case 3: + $color = 'DeviceRGB'; + $ncolor=1; + break; + case 2: + $color = 'DeviceRGB'; + $ncolor=3; + break; + case 0: + $color = 'DeviceGray'; + $ncolor=1; + break; + } + } + } + if ($error){ + $this->addMessage('PNG error - ('.$file.') '.$errormsg); + return; + } + if ($w==0){ + $w=$h/$info['height']*$info['width']; + } + if ($h==0){ + $h=$w*$info['height']/$info['width']; + } +//print_r($info); + // so this image is ok... add it in. + $this->numImages++; + $im=$this->numImages; + $label='I'.$im; + $this->numObj++; +// $this->o_image($this->numObj,'new',array('label'=>$label,'data'=>$idata,'iw'=>$w,'ih'=>$h,'type'=>'png','ic'=>$info['width'])); + $options = array('label'=>$label,'data'=>$idata,'bitsPerComponent'=>$info['bitDepth'],'pdata'=>$pdata + ,'iw'=>$info['width'],'ih'=>$info['height'],'type'=>'png','color'=>$color,'ncolor'=>$ncolor); + if (isset($transparency)){ + $options['transparency']=$transparency; + } + $this->o_image($this->numObj,'new',$options); + + $this->objects[$this->currentContents]['c'].="\nq"; + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$w)." 0 0 ".sprintf('%.3f',$h)." ".sprintf('%.3f',$x)." ".sprintf('%.3f',$y)." cm"; + $this->objects[$this->currentContents]['c'].="\n/".$label.' Do'; + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* add a JPEG image into the document, from a file +*/ +function addJpegFromFile($img,$x,$y,$w=0,$h=0){ + // attempt to add a jpeg image straight from a file, using no GD commands + // note that this function is unable to operate on a remote file. + + if (!file_exists($img)){ + return; + } + + $tmp=getimagesize($img); + $imageWidth=$tmp[0]; + $imageHeight=$tmp[1]; + + if (isset($tmp['channels'])){ + $channels = $tmp['channels']; + } else { + $channels = 3; + } + + if ($w<=0 && $h<=0){ + $w=$imageWidth; + } + if ($w==0){ + $w=$h/$imageHeight*$imageWidth; + } + if ($h==0){ + $h=$w*$imageHeight/$imageWidth; + } + + $fp=fopen($img,'rb'); + + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $data = fread($fp,filesize($img)); + set_magic_quotes_runtime($tmp); + + fclose($fp); + + $this->addJpegImage_common($data,$x,$y,$w,$h,$imageWidth,$imageHeight,$channels); +} + +/** +* add an image into the document, from a GD object +* this function is not all that reliable, and I would probably encourage people to use +* the file based functions +*/ +function addImage(&$img,$x,$y,$w=0,$h=0,$quality=75){ + // add a new image into the current location, as an external object + // add the image at $x,$y, and with width and height as defined by $w & $h + + // note that this will only work with full colour images and makes them jpg images for display + // later versions could present lossless image formats if there is interest. + + // there seems to be some problem here in that images that have quality set above 75 do not appear + // not too sure why this is, but in the meantime I have restricted this to 75. + if ($quality>75){ + $quality=75; + } + + // if the width or height are set to zero, then set the other one based on keeping the image + // height/width ratio the same, if they are both zero, then give up :) + $imageWidth=imagesx($img); + $imageHeight=imagesy($img); + + if ($w<=0 && $h<=0){ + return; + } + if ($w==0){ + $w=$h/$imageHeight*$imageWidth; + } + if ($h==0){ + $h=$w*$imageHeight/$imageWidth; + } + + // gotta get the data out of the img.. + + // so I write to a temp file, and then read it back.. soo ugly, my apologies. + $tmpDir='/tmp'; + $tmpName=tempnam($tmpDir,'img'); + imagejpeg($img,$tmpName,$quality); + $fp=fopen($tmpName,'rb'); + + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $fp = @fopen($tmpName,'rb'); + if ($fp){ + $data=''; + while(!feof($fp)){ + $data .= fread($fp,1024); + } + fclose($fp); + } else { + $error = 1; + $errormsg = 'trouble opening file'; + } +// $data = fread($fp,filesize($tmpName)); + set_magic_quotes_runtime($tmp); +// fclose($fp); + unlink($tmpName); + $this->addJpegImage_common($data,$x,$y,$w,$h,$imageWidth,$imageHeight); +} + +/** +* common code used by the two JPEG adding functions +* +* @access private +*/ +function addJpegImage_common(&$data,$x,$y,$w=0,$h=0,$imageWidth,$imageHeight,$channels=3){ + // note that this function is not to be called externally + // it is just the common code between the GD and the file options + $this->numImages++; + $im=$this->numImages; + $label='I'.$im; + $this->numObj++; + $this->o_image($this->numObj,'new',array('label'=>$label,'data'=>$data,'iw'=>$imageWidth,'ih'=>$imageHeight,'channels'=>$channels)); + + $this->objects[$this->currentContents]['c'].="\nq"; + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$w)." 0 0 ".sprintf('%.3f',$h)." ".sprintf('%.3f',$x)." ".sprintf('%.3f',$y)." cm"; + $this->objects[$this->currentContents]['c'].="\n/".$label.' Do'; + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* specify where the document should open when it first starts +*/ +function openHere($style,$a=0,$b=0,$c=0){ + // this function will open the document at a specified page, in a specified style + // the values for style, and the required paramters are: + // 'XYZ' left, top, zoom + // 'Fit' + // 'FitH' top + // 'FitV' left + // 'FitR' left,bottom,right + // 'FitB' + // 'FitBH' top + // 'FitBV' left + $this->numObj++; + $this->o_destination($this->numObj,'new',array('page'=>$this->currentPage,'type'=>$style,'p1'=>$a,'p2'=>$b,'p3'=>$c)); + $id = $this->catalogId; + $this->o_catalog($id,'openHere',$this->numObj); +} + +/** +* create a labelled destination within the document +*/ +function addDestination($label,$style,$a=0,$b=0,$c=0){ + // associates the given label with the destination, it is done this way so that a destination can be specified after + // it has been linked to + // styles are the same as the 'openHere' function + $this->numObj++; + $this->o_destination($this->numObj,'new',array('page'=>$this->currentPage,'type'=>$style,'p1'=>$a,'p2'=>$b,'p3'=>$c)); + $id = $this->numObj; + // store the label->idf relationship, note that this means that labels can be used only once + $this->destinations["$label"]=$id; +} + +/** +* define font families, this is used to initialize the font families for the default fonts +* and for the user to add new ones for their fonts. The default bahavious can be overridden should +* that be desired. +*/ +function setFontFamily($family,$options=''){ + if (!is_array($options)){ + if ($family=='init'){ + // set the known family groups + // these font families will be used to enable bold and italic markers to be included + // within text streams. html forms will be used... + $this->fontFamilies['Helvetica.afm']=array( + 'b'=>'Helvetica-Bold.afm' + ,'i'=>'Helvetica-Oblique.afm' + ,'bi'=>'Helvetica-BoldOblique.afm' + ,'ib'=>'Helvetica-BoldOblique.afm' + ); + $this->fontFamilies['Courier.afm']=array( + 'b'=>'Courier-Bold.afm' + ,'i'=>'Courier-Oblique.afm' + ,'bi'=>'Courier-BoldOblique.afm' + ,'ib'=>'Courier-BoldOblique.afm' + ); + $this->fontFamilies['Times-Roman.afm']=array( + 'b'=>'Times-Bold.afm' + ,'i'=>'Times-Italic.afm' + ,'bi'=>'Times-BoldItalic.afm' + ,'ib'=>'Times-BoldItalic.afm' + ); + } + } else { + // the user is trying to set a font family + // note that this can also be used to set the base ones to something else + if (strlen($family)){ + $this->fontFamilies[$family] = $options; + } + } +} + +/** +* used to add messages for use in debugging +*/ +function addMessage($message){ + $this->messages.=$message."\n"; +} + +/** +* a few functions which should allow the document to be treated transactionally. +*/ +function transaction($action){ + switch ($action){ + case 'start': + // store all the data away into the checkpoint variable + $data = get_object_vars($this); + $this->checkpoint = $data; + unset($data); + break; + case 'commit': + if (is_array($this->checkpoint) && isset($this->checkpoint['checkpoint'])){ + $tmp = $this->checkpoint['checkpoint']; + $this->checkpoint = $tmp; + unset($tmp); + } else { + $this->checkpoint=''; + } + break; + case 'rewind': + // do not destroy the current checkpoint, but move us back to the state then, so that we can try again + if (is_array($this->checkpoint)){ + // can only abort if were inside a checkpoint + $tmp = $this->checkpoint; + foreach ($tmp as $k=>$v){ + if ($k != 'checkpoint'){ + $this->$k=$v; + } + } + unset($tmp); + } + break; + case 'abort': + if (is_array($this->checkpoint)){ + // can only abort if were inside a checkpoint + $tmp = $this->checkpoint; + foreach ($tmp as $k=>$v){ + $this->$k=$v; + } + unset($tmp); + } + break; + } + +} + +} // end of class + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/cmtclasses.php 4.6-complete/uploadfiles/includes/cmtclasses.php --- 4.6rc2/uploadfiles/includes/cmtclasses.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/cmtclasses.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,552 @@ +setQuery( $query ); + // load the row from the db table + if ($database->loadObject($row)) { + // get params definitions + $mainframe =& mosMainFrame::getInstance(); + $params =& new mosParameters( $row->params); + } + return $params; + } + + function mosMainBody() { + // message passed via the url + $mosmsg = mosGetParam($_REQUEST, 'mosmsg', ''); + if ($mosmsg) { + if (!get_magic_quotes_gpc()) $mosmsg = addslashes( $mosmsg ); + echo "\n
      $mosmsg
      "; + } + echo $this->_buffer; +// Alternative if "popmessages" - apparently never implemented +// echo "\n"; + } + + function startBuffer () { + $this->_buffer = ''; + ob_start(); + } + + function endBuffer () { + $this->_buffer = ob_get_contents(); + ob_end_clean(); + } + +} +/** +* Component database table class +* @package Mambo +*/ +class mosComponent extends mosDBTable { + /** @var int Primary key */ + var $id=null; + /** @var string */ + var $name=null; + /** @var string */ + var $link=null; + /** @var int */ + var $menuid=null; + /** @var int */ + var $parent=null; + /** @var string */ + var $admin_menu_link=null; + /** @var string */ + var $admin_menu_alt=null; + /** @var string */ + var $option=null; + /** @var string */ + var $ordering=null; + /** @var string */ + var $admin_menu_img=null; + /** @var int */ + var $iscore=null; + /** @var string */ + var $params=null; + + /** + * @param database A database connector object + */ + function mosComponent() { + $db = mamboDatabase::getInstance(); + $this->mosDBTable( '#__components', 'id', $db ); + } +} +/** +* Component common base class for both user and admin sides +* @package Mambo +*/ +class mosComponentManager { + var $plugin_name = ''; + var $magic_quotes_value = 0; + var $plugin_version = ''; + var $option = ''; + + function mosComponentManager ($component_name, $version) { + $this->text_name = $component_name; + $this->plugin_name = strtolower(str_replace(' ', '', $component_name)); + $this->plugin_version = $version; + $this->option = mamboCore::get('option'); + $this->noMagicQuotes(); + $cname = 'com_'.$this->plugin_name; + $mosConfig_absolute_path = mamboCore::get('mosConfig_absolute_path'); + if(file_exists($mosConfig_absolute_path."/components/$cname/language/".mamboCore::get('mosConfig_lang').'.php')) require_once($mosConfig_absolute_path."/components/$cname/language/".mamboCore::get('mosConfig_lang').'.php'); + else if (file_exists($mosConfig_absolute_path."/components/$cname/language/english.php")) require_once($mosConfig_absolute_path."/components/$cname/language/english.php"); + + } + + function noMagicQuotes () { + // Is magic quotes on? + if (get_magic_quotes_gpc()) { + // Yes? Strip the added slashes + $_REQUEST =& $this->remove_magic_quotes($_REQUEST); + $_GET =& $this->remove_magic_quotes($_GET); + $_POST =& $this->remove_magic_quotes($_POST); + } + $this->magic_quotes_value = set_magic_quotes_runtime(0); + } + + function &remove_magic_quotes ($array) { + foreach ($array as $k => $v) { + if (is_array($v)) $array[$k] = $this->remove_magic_quotes($v); + else $array[$k] = stripslashes($v); + } + return $array; + } + + function restore_magic_quotes () { + set_magic_quotes_runtime($this->magic_quotes_value); + } + + function checkCallable (&$object, $method) { + if (is_callable(array(&$object, $method))) return true; + $name = get_class($object); + trigger_error (sprintf(T_('Component %s error: attempt to use non-existent class %s in %s'), $this->plugin_name, $method, $name)); + return false; + } + +} +/** +* Component base logic for user side +* @package Mambo +*/ +class mosComponentUserManager extends mosComponentManager { + + function mosComponentUserManager ($component_name, $control_name, $alternatives, $default, $title, $version) { + mosComponentManager::mosComponentManager($component_name, $version); + $mainframe =& mosMainFrame::getInstance(); + $mainframe->SetPageTitle($title); + $func = mosGetParam ($_REQUEST, $control_name, $default); + if (isset($alternatives[$func])) $method = $alternatives[$func]; + else $method = $func; + $classname = $this->plugin_name.'_'.$method.'_Controller'; + if (class_exists($classname)) { + $controller =& new $classname($this); + if (is_callable(array(&$controller,$method))) $controller->$method($func); + else trigger_error (sprintf(T_('Component %s error: attempt to use non-existent method %s in %s'), $this->plugin_name, $method, $controller)); + } + else trigger_error(sprintf(T_('Component %s error: attempt to use non-existent class %s'), $this->plugin_name, $classname)); + $this->restore_magic_quotes(); + } + + function newHTMLClassCheck ($name, &$controller, $total_items, $clist) { + if (class_exists($name)) return new $name ($controller, $this->limit, $clist); + trigger_error(sprintf(T_('Component %s error: attempt to use non-existent class %s'), $this->plugin_name, $name)); + return false; + } + +} +/** +* Component base logic for admin side +* @package Mambo +*/ +class mosComponentAdminManager extends mosComponentManager { + var $act = ''; + var $task = ''; + var $limitstart = 0; + var $limit = 0; + var $cfid = 0; + var $order = 0; + var $currid = 0; + + function mosComponentAdminManager ($component_name, $version) { + mosComponentManager::mosComponentManager($component_name, $version); + $this->act = mosGetParam ($_REQUEST, 'act', $this->plugin_name); + $this->task = mosGetParam($_REQUEST, 'task', 'list'); + $mainframe = mosMainFrame::getInstance(); + $default_limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', 20 ); + $this->limit = intval( mosGetParam( $_REQUEST, 'limit', $default_limit ) ); + $this->limitstart = mosGetParam($_REQUEST, 'limitstart', 0 ); + $this->cfid = mosGetParam($_REQUEST, 'cfid', array(0)); + if (is_array($this->cfid)) foreach ($this->cfid as $i=>$id) $this->cfid[$i] = intval($id); + $this->order= mosGetParam($_REQUEST, 'order', array()); + if (is_array( $this->cfid )) $this->currid=intval($this->cfid[0]); + else $this->currid=intval($this->cfid); + $name = $this->getAction(); + if (class_exists($name)) { + $controller =& new $name($this); + $task = $this->task.'Task'; + if (is_callable(array(&$controller, 'getRequestData'))) $controller->getRequestData(); + if (is_callable(array(&$controller,$task))) $controller->$task(); + else trigger_error(sprintf(T_('MOS error in %s: method %s not found in class %s'), $this->plugin_name, $task, $name)); + } + else trigger_error(sprintf(T_('MOS error in %s: class not found %s'), $this->plugin_name, $name)); + $this->restore_magic_quotes(); + } + + function check_selection ($text) { + if (!is_array($this->cfid) OR count( $this->cfid ) < 1) { + echo "\n"; + exit; + } + } + + function getAction () { + $actname = strtoupper(substr($this->act,0,1)).strtolower(substr($this->act,1)); + return strtolower($this->plugin_name).'Admin'.$actname; + } + + function newHTMLClassCheck ($name, &$controller, $total_items, $clist) { + $controller->makePageNav($this, $total_items); + if (class_exists($name)) return new $name ($controller, $this->limit, $clist); + trigger_error(sprintf(T_('Component %s error: attempt to use non-existent class %s'), $this->plugin_name, $name)); + return false; + } + +} +/** +* Component base class for admin side component controller logic +* @package Mambo +*/ +class mosComponentAdminControllers { + var $admin = ''; + var $user = ''; + var $pageNav = ''; + var $rootPath = ''; + var $language = ''; + + function mosComponentAdminControllers ($admin) { + $this->admin = $admin; + $this->user = mamboCore::get('currentUser'); + $this->rootPath = mamboCore::get('mosConfig_absolute_path'); + $this->language = mamboCore::get('mosConfig_lang'); + } + + function makePageNav (&$admin, $total) { + require_once(mamboCore::get('mosConfig_absolute_path').'/administrator/includes/pageNavigation.php'); + $this->pageNav =& new mosPageNav( $total, $admin->limitstart, $admin->limit ); + } + +} + +/** +* Template Table Class +* +* Provides access to the mos_templates table +* @package Mambo +*/ +class mosTemplate extends mosDBTable { + /** @var int */ + var $id=null; + /** @var string */ + var $cur_template=null; + /** @var int */ + var $col_main=null; + + /** + * @param database A database connector object + */ + function mosTemplate( &$database ) { + $this->mosDBTable( '#__templates', 'id', $database ); + } +} + +/** +* Class mosMambot +* @package Mambo +*/ +class mosMambot extends mosDBTable { + /** @var int */ + var $id=null; + /** @var varchar */ + var $name=null; + /** @var varchar */ + var $element=null; + /** @var varchar */ + var $folder=null; + /** @var tinyint unsigned */ + var $access=null; + /** @var int */ + var $ordering=null; + /** @var tinyint */ + var $published=null; + /** @var tinyint */ + var $iscore=null; + /** @var tinyint */ + var $client_id=null; + /** @var int unsigned */ + var $checked_out=null; + /** @var datetime */ + var $checked_out_time=null; + /** @var text */ + var $params=null; + + function mosMambot( &$db ) { + $this->mosDBTable( '#__mambots', 'id', $db ); + } +} + +class mosModuleHandler { + var $_db = null; + var $_modules = null; + var $_unpublished = null; + var $_isAdmin = null; + + function mosModuleHandler () { + $this->_db =& mamboDatabase::getInstance(); + } + + function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new mosModuleHandler(); + return $instance; + } + + /** + * Cache some modules information + * @return array + */ + function initModules($isAdmin=false) { + if (!isset($this->_modules) OR $isAdmin != $this->_isAdmin) { + $this->_isAdmin = $isAdmin; + if ($isAdmin) { + $query = "SELECT id, title, module, position, content, showtitle, params, published" + . "\n FROM #__modules AS m" + . "\n WHERE m.published = '1'" + . "\n AND (m.client_id = 1)" + . "\n ORDER BY m.ordering"; + } + else { + $my = mamboCore::get('currentUser'); + $Itemid = mamboCore::get('Itemid'); + $query = "SELECT id, title, module, position, content, showtitle, params, published" + ."\nFROM #__modules AS m, #__modules_menu AS mm" + . "\nWHERE m.access <= '$my->gid' AND m.client_id='0'" + . "\nAND mm.moduleid=m.id" + . "\nAND (mm.menuid = '$Itemid' OR mm.menuid = '0')" + . "\nORDER BY ordering"; + } + $this->_db->setQuery( $query ); + $modules = $this->_db->loadObjectList(); + foreach ($modules as $module) { + if ($module->published == 1) $this->_modules[$module->position][] = $module; + else $this->_unpublished[] = $module; + } + } + } + /** + * @param string THe template position + */ + function mosCountModules( $position='left', $isAdmin=false ) { + $this->initModules($isAdmin); + return isset($this->_modules[$position]) ? count($this->_modules[$position]) : 0; + } + + /** + * @param string Name of module required + */ + function &getByName( $name, $isAdmin=false, $unpublished=false ) { + $this->initModules($isAdmin); + $modules = array(); + foreach ($this->_modules as $position) { + foreach ($position as $module) if ($module->module == $name) $modules[] = $module; + } + if ($unpublished AND $this->_unpublished) foreach ($this->_unpublished as $module) if ($module->module == $name) $modules[] = $module; + return $modules; + } + + /** + * @param string The position + * @param int The style. 0=normal, 1=horiz, -1=no wrapper + */ + function mosLoadModules( $position='left', $style=0, $isAdmin=false ) { + $Itemid = mamboCore::get('Itemid'); + $tp = mosGetParam( $_GET, 'tp', 0 ); + if ($tp) { + echo '
      '; + echo $position; + echo '
      '; + return; + } + $style = intval($style); + $cache =& mosCache::getCache('com_content'); + require_once( mamboCore::get('mosConfig_absolute_path').'/includes/frontend.html.php'); + $this->initModules($isAdmin); + if (isset($this->_modules[$position] )) $modules = $this->_modules[$position]; + else { + $modules = array(); + $style = 0; + } + if ($style == 1) { + echo "\n"; + echo "\n"; + } + $prepend = ($style == 1) ? "\n" : ''; + $count = 1; + foreach ($modules as $module) { + $params =& new mosParameters($module->params); + echo $prepend; + if ((substr("$module->module",0,4))=="mod_") $modfunc = 'module2'; + else $modfunc = 'module'; + if ($params->get('cache') == 1 AND mamboCore::get('mosConfig_caching') == 1) { + $cache->call("modules_html::$modfunc", $module, $params, $Itemid, $style ); + } + else modules_html::$modfunc($module, $params, $Itemid, $style, $count); + echo $postpend; + $count++; + } + if ($style == 1) echo "\n
      \n" : ''; + $postpend = ($style == 1) ? "
      \n"; + } + + /** + * Loads admin modules via module position + * @param string The position + * @param int 0 = no style, 1 = tabbed + */ + function mosLoadAdminModules( $position='left', $style=0 ) { + global $my, $acl; + $this->initModules(true); + $cache =& mosCache::getCache( 'com_content' ); + if (isset($this->_modules[$position] )) $modules = $this->_modules[$position]; + else $modules = array(); + + switch ($style) { + case 0: + default: + foreach ($modules as $module) { + $params =& new mosParameters( $module->params ); + if ( $module->module == '' ) mosLoadCustomModule( $module, $params ); + else mosLoadAdminModule( substr( $module->module, 4 ), $params ); + } + break; + case 1: + // Tabs + $tabs = new mosTabs(1); + $tabs->startPane( 'modules-' . $position ); + foreach ($modules as $module) { + $params =& new mosParameters( $module->params ); + $editAllComponents = $acl->acl_check( 'administration', 'edit', 'users', $my->usertype, 'components', 'all' ); +// $authoriser = new mosAuthoriser($database); +// $editAllComponents = $authoriser->checkPermission('mosUser', $my->id, 'edit', 'editAllComponents', 0); + // special handling for components module + if ( $module->module != 'mod_components' || ( $module->module == 'mod_components' && $editAllComponents ) ) { + $tabs->startTab( T_($module->title), 'module' . $module->id ); + if ( $module->module == '' ) mosLoadCustomModule( $module, $params ); + else mosLoadAdminModule( substr( $module->module, 4 ), $params ); + $tabs->endTab(); + } + } + $tabs->endPane(); + break; + case 2: + // Div'd + foreach ($modules as $module) { + $params =& new mosParameters( $module->params ); + echo '
      '; + if ( $module->module == '' ) mosLoadCustomModule( $module, $params ); + else mosLoadAdminModule( substr( $module->module, 4 ), $params ); + echo '
      '; + } + break; + } + } + + +} + +/** +* Module database table class +* @package Mambo +*/ +class mosModule extends mosDBTable { + /** @var int Primary key */ + var $id=null; + /** @var string */ + var $title=null; + /** @var string */ + var $showtitle=null; + /** @var int */ + var $content=null; + /** @var int */ + var $ordering=null; + /** @var string */ + var $position=null; + /** @var boolean */ + var $checked_out=null; + /** @var time */ + var $checked_out_time=null; + /** @var boolean */ + var $published=null; + /** @var string */ + var $module=null; + /** @var int */ + var $numnews=null; + /** @var int */ + var $access=null; + /** @var string */ + var $params=null; + /** @var string */ + var $iscore=null; + /** @var string */ + var $client_id=null; + + /** + * @param database A database connector object + */ + function mosModule( &$db ) { + $this->mosDBTable( '#__modules', 'id', $db ); + } + // overloaded check function + function check() { + // check for valid name + if (trim( $this->title ) == '') { + $this->_error = T_('Your Module must contain a title.'); + return false; + } + + // limitation has been removed + // check for existing title + //$this->_db->setQuery( "SELECT id FROM #__modules" + //. "\nWHERE title='$this->title'" + //); + // check for module of same name + //$xid = intval( $this->_db->loadResult() ); + //if ($xid && $xid != intval( $this->id )) { + // $this->_error = "There is a module already with that name, please try again."; + // return false; + //} + return true; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/compat.php41x.php 4.6-complete/uploadfiles/includes/compat.php41x.php --- 4.6rc2/uploadfiles/includes/compat.php41x.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/compat.php41x.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,37 @@ +$v) { + if ($case) { + $array[strtoupper( $k )] = $v; + } else { + $array[strtolower( $k )] = $v; + } + } + return $array; + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/compat.php42x.php 4.6-complete/uploadfiles/includes/compat.php42x.php --- 4.6rc2/uploadfiles/includes/compat.php42x.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/compat.php42x.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,120 @@ + + * @version $Revision: 1.1 $ + * @internal resource_context is not supported + * @since PHP 5 + * @require PHP 4.0.1 (trigger_error) + */ +if (!function_exists('file_get_contents')) { + function file_get_contents($filename, $incpath = false, $resource_context = null) + { + if (false === $fh = fopen($filename, 'rb', $incpath)) { + trigger_error('file_get_contents() failed to open stream: No such file or directory', E_USER_WARNING); + return false; + } + + clearstatcache(); + if ($fsize = @filesize($filename)) { + $data = fread($fh, $fsize); + } else { + $data = ''; + while (!feof($fh)) { + $data .= fread($fh, 8192); + } + } + + fclose($fh); + return $data; + } +} +if (!defined('FILE_USE_INCLUDE_PATH')) { + define('FILE_USE_INCLUDE_PATH', 1); +} + +if (!defined('FILE_APPEND')) { + define('FILE_APPEND', 8); +} + + +/** + * Replace file_put_contents() + * + * @category PHP + * @package PHP_Compat + * @link http://php.net/function.file_put_contents + * @author Aidan Lister + * @version $Revision: 1.1 $ + * @internal resource_context is not supported + * @since PHP 5 + * @require PHP 4.0.1 (trigger_error) + */ +if (!function_exists('file_put_contents')) { + function file_put_contents($filename, $content, $flags = null, $resource_context = null) + { + // If $content is an array, convert it to a string + if (is_array($content)) { + $content = implode('', $content); + } + + // If we don't have a string, throw an error + if (!is_scalar($content)) { + trigger_error('file_put_contents() The 2nd parameter should be either a string or an array', E_USER_WARNING); + return false; + } + + // Get the length of date to write + $length = strlen($content); + + // Check what mode we are using + $mode = ($flags & FILE_APPEND) ? + $mode = 'a' : + $mode = 'w'; + + // Check if we're using the include path + $use_inc_path = ($flags & FILE_USE_INCLUDE_PATH) ? + true : + false; + + // Open the file for writing + if (($fh = @fopen($filename, $mode, $use_inc_path)) === false) { + trigger_error('file_put_contents() failed to open stream: Permission denied', E_USER_WARNING); + return false; + } + + // Write to the file + $bytes = 0; + if (($bytes = @fwrite($fh, $content)) === false) { + $errormsg = sprintf('file_put_contents() Failed to write %d bytes to %s', + $length, + $filename); + trigger_error($errormsg, E_USER_WARNING); + return false; + } + + // Close the handle + @fclose($fh); + + // Check all the data was written + if ($bytes != $length) { + $errormsg = sprintf('file_put_contents() Only %d of %d bytes written, possibly out of free disk space.', + $bytes, + $length); + trigger_error($errormsg, E_USER_WARNING); + return false; + } + + // Return length + return $bytes; + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/core.classes.php 4.6-complete/uploadfiles/includes/core.classes.php --- 4.6rc2/uploadfiles/includes/core.classes.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/core.classes.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,2900 @@ +text = $text; + $this->level = $level; + } +} + +/** +* Mambo group of errors for some particular operation +*/ +class mosErrorSet { + /** + * Enter description here... + * + * @var unknown_type + */ + var $errors = array(); + /** + * Enter description here... + * + * @var unknown_type + */ + var $maxlevel = 0; + + // Parameter is an error object + /** + * Enter description here... + * + * @param unknown_type $error + */ + function addError ($error) { + $this->errors[] = $error; + if ($error->level > $this->maxlevel) $this->maxlevel = $error->level; + } + + /** + * Enter description here... + * + * @param unknown_type $text + * @param unknown_type $level + */ + function addErrorDetails ($text='', $level=_MOS_ERROR_INFORM) { + $error = new mosError($text, $level); + $this->addError($error); + } + + /** + * Enter description here... + * + * @return unknown + */ + function &getErrors () { + return $this->errors; + } + + /** + * Enter description here... + * + * @return unknown + */ + function getMaxLevel () { + return $this->maxlevel; + } + + /** + * Enter description here... + * + * @return unknown + */ + function getCount () { + return count($this->errors); + } + + /** + * Enter description here... + * + * @param unknown_type $errorset + */ + function mergeAnother ($errorset) { + $this->errors = array_merge($this->errors, $errorset->errors); + } + +} + + +/* This is the new error handler to store errors in the database +class mosErrorHandler { +var $types = array ( +E_STRICT => 'Strict check', +E_USER_WARNING => 'User Warning', +E_USER_NOTICE => 'User Notice', +E_WARNING => 'Warning', +E_NOTICE => 'Notice', +E_CORE_WARNING => 'Core Warning', +E_COMPILE_WARNING => 'Compile Warning', +E_USER_ERROR => 'User Error', +E_ERROR => 'Error', +E_PARSE => 'Parse error', +E_CORE_ERROR => 'Core Error', +E_COMPILE_ERROR => 'Compile Error' +); + +function mosErrorHandler () { +set_error_handler(array(&$this, 'handler')); +} + +function handler ($errno, $errstr, $errfile, $errline, $errcontext) { +if ($errno = E_STRICT) return; +$string = $this->types[$errno].': '.$errstr.' in '.$errfile.' at '.$errline; +$database =& mamboDatabase::getInstance(); +if (eregi('^(sql)$', $errstr)) { +$extra = $database->getErrorMsg(); +} +if (function_exists('debug_backtrace')) { +foreach(debug_backtrace() as $back) { +if (@$back['file']) { +$extra .= "\n".$back['file'].':'.$back['line']; +} +} +} +$database->setQuery("DELETE FROM #__errors WHERE file=$errfile AND line=$errline AND number=$errno"); +$database->query(); +$database->setQuery("INSERT INTO #__errors VALUES (0, $errno, '$errfile', $errline, '$string', '$extra')"); +$database->query(); +} +} +*/ + +/** + * Enter description here... + * + */ +class mamboCore { + /** + * Enter description here... + * + * @var unknown_type + */ + var $rootPath = ''; + /** + * Enter description here... + * + * @var unknown_type + */ + var $Itemid = 0; + /** + * Enter description here... + * + * @var unknown_type + */ + var $option = ''; + /** + * Enter description here... + * + * @var unknown_type + */ + var $subdirectory; + /** + * Enter description here... + * + * @var unknown_type + */ + var $current_user = null; + /** + * Enter description here... + * + * @var unknown_type + */ + var $do_gzip_compress = false; + /** + * Enter description here... + * + * @var unknown_type + */ + var $init_errorlevel = 0; + + /** + * Enter description here... + * + * @return mamboCore + */ + function mamboCore () { + global $adminside; + $this->init_errorlevel = error_reporting(0); + //$this->rootPath = str_replace('\\', '/', realpath(str_replace('includes', '', dirname(__FILE__)))); + $this->rootPath = str_replace('\\', '/',str_replace('includes', '', dirname(__FILE__))); + $this->checkConfig(); + $this->Itemid = mosGetParam($_REQUEST, 'Itemid', 0); + $this->getConfig(); + $this->fixLanguage(); + @set_magic_quotes_runtime( 0 ); + if (@$this->mosConfig_error_reporting > 0 OR @$this->mosConfig_error_reporting ===0) error_reporting($this->mosConfig_error_reporting); + else error_reporting($this->init_errorlevel); + } + + /** + * Enter description here... + * + * @return unknown + */ + function &getMamboCore () { + static $instance; + if (!is_object($instance)) $instance = new mamboCore(); + return $instance; + } + + /** + * Enter description here... + * + * @return unknown + */ + function rootPath () { + //if (realpath($this->rootPath) === false) die ('Invalid program load path'); + if (file_exists($this->rootPath) === false) die ('Invalid program load path'); + return $this->rootPath; + } + + /** + * Enter description here... + * + * @param unknown_type $property + * @return unknown + */ + function get ($property) { + $config =& mamboCore::getMamboCore(); + if ($property == 'mosConfig_absolute_path') { + //if (realpath($config->mosConfig_absolute_path) === false) die ('Invalid program load path'); + if (file_exists($config->mosConfig_absolute_path) === false) die ('Invalid program load path'); + else return $config->rootPath; + } + if (isset($config->$property)) return $config->$property; + trigger_error("Invalid property ($property) requested from mamboCore"); + return null; + } + + /** + * Enter description here... + * + * @param unknown_type $property + * @return unknown + */ + function is_set ($property) { + $config =& mamboCore::getMamboCore(); + return isset($config->$property); + } + + /** + * Enter description here... + * + * @param unknown_type $property + * @param unknown_type $value + * @return unknown + */ + function set ($property, $value) { + $config =& mamboCore::getMamboCore(); + $config->$property = $value; + $GLOBALS[$property] = $value; + return $value; + } + + /** + * Enter description here... + * + */ + function checkConfig () { + // checks for configuration file, if none found loads installation page + if (!file_exists($this->rootPath.'/configuration.php') OR filesize($this->rootPath.'/configuration.php') < 10 ) { + header( 'Location: installation/index.php' ); + exit(); + } + } + + /** + * Enter description here... + * + */ + function getConfig () { + global $adminside; + $code = ''; + $f = @fopen($this->rootPath.'/configuration.php','rb'); + if ($f) { + while ($f AND !feof($f)) { + $line = fgets($f, 256); + $altered = str_replace('$', '$this->', $line); + if ($altered != $line) $code .= $altered; + } + } + else { + #header( 'Location: installation/index.php' ); + exit(); + } + fclose($f); + eval($code); + + + if (isset($_SERVER['DOCUMENT_ROOT']) AND strlen($_SERVER['DOCUMENT_ROOT'])) { + $docroot = str_replace('\\', '/', str_replace('\\\\', '\\', $_SERVER['DOCUMENT_ROOT'])); + } + else { + // Find information about where execution started + $origin = array_pop(debug_backtrace()); + // Find the PHP script at the start, with a fix for Windows slashes + $absolutepath = str_replace('\\', '/', $origin['file']); + $localpath = $_SERVER['PHP_SELF']; + $docroot = substr($absolutepath,0,strpos($absolutepath,$localpath)); + } + $mamboroot = str_replace('\\', '/', rtrim($this->rootPath, '\/')); + $this->subdirectory = substr($mamboroot, strlen($docroot)); + + $scheme = isset($_SERVER['HTTP_SCHEME']) ? $_SERVER['HTTP_SCHEME'] : ((isset($_SERVER['HTTPS']) AND strtolower($_SERVER['HTTPS'] != 'off')) ? 'https' : 'http'); + if (isset($_SERVER['HTTP_HOST'])) { + $withport = explode(':', $_SERVER['HTTP_HOST']); + $servername = $withport[0]; + if (isset($withport[1])) $port = ':'.$withport[1]; + } + elseif (isset($_SERVER['SERVER_NAME'])) $servername = $_SERVER['SERVER_NAME']; + else trigger_error(T_('Impossible to determine the name of this server'), E_USER_ERROR); + if (!isset($port) AND !empty($_SERVER['SERVER_PORT'])) $port = ':'.$_SERVER['SERVER_PORT']; + if (isset($port)) { + if (($scheme == 'http' AND $port == ':80') OR ($scheme == 'https' AND $port == ':443')) $port = ''; + } + else $port = ''; + $afterscheme = '://'.$servername.$port.$this->subdirectory; + //$this->mosConfig_live_site = $this->mosConfig_secure_site = $scheme.$afterscheme; + $this->mosConfig_unsecure_site = 'http'.$afterscheme; + $this->mosConfig_absolute_path = $this->rootPath; + preg_match_all('/\$this\-\>([A-Za-z_][A-Za-z0-9_]*)/', $code, $matches); + foreach ($matches[1] as $match) $GLOBALS[$match] = $this->$match; + if (!isset($this->mosConfig_register_globals)) { + $this->mosConfig_register_globals = 0; + $GLOBALS['mosConfig_register_globals'] = 0; + } + + } + + /** + * Enter description here... + * + * @return unknown + */ + function getFavIcon () { + // favourites icon + if (!isset($this->mosConfig_favicon)) $this->mosConfig_favicon = 'favicon.ico'; + if (!file_exists($this->rootPath.'/images/'.$this->mosConfig_favicon)) $this->mosConfig_favicon = 'favicon.ico'; + return $this->mosConfig_live_site.'/images/'.$this->mosConfig_favicon; + } + + /** + * Enter description here... + * + * @param unknown_type $user + * @param unknown_type $database + */ + function offlineCheck (&$user, &$database) { + if ($this->mosConfig_offline OR file_exists($this->rootPath.'/installation/index.php')) { + require_once($this->rootPath().'/administrator/includes/admin.php'); + session_name(md5($this->mosConfig_live_site)); + session_start(); + $session =& mosSession::getCurrent(); + $my =& new mosUser(); + $my->getSessionData(); + if (mosSession::validate($my)) return; + include("$this->mosConfig_absolute_path/offline.php"); + exit(); + } + } + + /** + * Enter description here... + * + */ + function fixLanguage () { + require_once($this->mosConfig_absolute_path.'/includes/phpgettext/phpgettext.class.php'); + require_once($this->mosConfig_absolute_path.'/includes/phpgettext/error.php'); + require_once($this->mosConfig_absolute_path.'/includes/mambofunc.php'); + require_once($this->mosConfig_absolute_path.'/includes/mambolanguage.class.php'); + #error_reporting(E_ALL) ; + ########## DEPRECATED ############ + if (isset($this->mosConfig_lang) AND $this->mosConfig_lang); + else $this->set('mosConfig_lang', 'english'); + $language_file = "$this->mosConfig_absolute_path/language/$this->mosConfig_lang.php"; + if (file_exists($language_file)) require_once ($language_file); + ################################### + + + $this->mosConfig_lang = mosGetParam($_POST, 'user_lang', $this->mosConfig_lang); + + + $language =& new mamboLanguage($this->mosConfig_lang, $this->rootPath.'/language/'); + $languages = $language->getLanguages(); + $charset = $language->get('charset'); + $dateformat = $language->get('dateformat'); + $this->current_language = $language; + if (!defined('_ISO')) DEFINE('_ISO','charset='.$charset); + if (!defined('_DATE_FORMAT_LC')) DEFINE('_DATE_FORMAT_LC', $dateformat); //Uses PHP's strftime Command Format + if (!defined('_DATE_FORMAT_LC2')) DEFINE('_DATE_FORMAT_LC2', $dateformat); + + + } + + /** + * Enter description here... + * + */ + function handleGlobals () { + $superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET); + if (isset( $_SESSION )) array_unshift ( $superglobals , $_SESSION ); + + // Emulate register_globals on + if (!ini_get('register_globals') && $this->mosConfig_register_globals) { + while(list($key,$value)=each($_GET)) { + if (!isset($GLOBALS[$key])) $GLOBALS[$key]=$value; + } + while(list($key,$value)=each($_POST)) { + if (!isset($GLOBALS[$key])) $GLOBALS[$key]=$value; + } + } + // Emulate register_globals off + elseif (ini_get('register_globals') && !$this->mosConfig_register_globals) { + foreach ( $superglobals as $superglobal ) { + foreach ( $superglobal as $key => $value) { + unset( $GLOBALS[$key]); + unset( $GLOBALS[$key]); + } + } + } + } + + /** + * Enter description here... + * + * @return unknown + */ + function determineOptionAndItemid () { + $this->Itemid = mosGetParam($_REQUEST, 'Itemid', 0); + if ($option = strtolower(mosGetParam($_REQUEST, 'option'))); + else { + $menuhandler =& mosMenuHandler::getInstance(); + $menus =& $menuhandler->getByParentOrder($this->Itemid, 'mainmenu'); + $this->Itemid = $menus[0]->id; + $_REQUEST['Itemid'] = $this->Itemid; + $link = $menus[0]->link; + $pos = strpos( $link, '?' ); + if ($pos !== false) $link = substr( $link, $pos+1 ). '&Itemid='.$this->Itemid; + parse_str( $link, $temp ); + /** this is a patch, need to rework when globals are handled better */ + foreach ($temp as $k=>$v) $_GET[$k] = $v; + if (isset($temp['option'])) $option = $temp['option']; + else return ''; + } + /** patch to lessen the impact on templates */ + if ($option == 'search') $option = 'com_search'; + // checking if we can find the Itemid thru the component + if ($this->Itemid === 0) { + if ( $option == 'com_content') { + require_once($this->rootPath().'/components/com_content/content.class.php'); + $handler =& contentHandler::getInstance(); + $this->Itemid = $handler->getItemid(mosGetParam($_REQUEST, 'id', 0 )); + $_REQUEST['Itemid'] = $this->Itemid; + } + else { + $menuhandler =& mosMenuHandler::getInstance(); + $this->Itemid = $menuhandler->getIdLikeLink("index.php?option=$option"); + if ($this->Itemid === 0) { + $menuhandler =& mosMenuHandler::getInstance(); + $menus =& $menuhandler->getByParentOrder($this->Itemid, 'mainmenu'); + } + } + } + return $option; + } + + /** + * Enter description here... + * + * @param unknown_type $url + * @param unknown_type $msg + */ + function redirect ($url, $msg='') { + $callcheck = array('InputFilter', 'process'); + if (!is_callable($callcheck)) require_once(mamboCore::get('mosConfig_absolute_path').'/includes/phpInputFilter/class.inputfilter.php'); + // specific filters + $iFilter =& new InputFilter(); + $url = $iFilter->process( $url ); + $message = trim($iFilter->process($msg)); + if ($iFilter->badAttributeValue(array('href', $url))) $url = mamboCore::get('mosConfig_live_site'); + if ($message) { + if (strpos($url, '?')) $url .= '&mosmsg='.urlencode($message); + else $url .= '?mosmsg='.urlencode($message); + } + if (headers_sent()) echo "\n"; + else { + @ob_end_clean(); // clear output buffer + header( "Location: $url" ); + } + exit(); + } + + /** + * Enter description here... + * + * @param unknown_type $text + */ + function logMessage ($text) { + // JS Popup message + if (mosGetParam( $_POST, 'message', 0 )) { + ?> + + redirect( $return ); + } + else { + $this->redirect( $this->mosConfig_live_site.'/index.php' ); + } + } + + /** + * Enter description here... + * + */ + function handleLogin () { + require_once($this->rootPath().'/includes/authenticator.php'); + $authenticator =& mamboAuthenticator::getInstance(); + $loggedin = $authenticator->loginUser(); + if ($loggedin) $this->logMessage(_LOGIN_SUCCESS); + else mamboCore::redirect('index.php'); + } + + /** + * Enter description here... + * + */ + function handleLogout () { + require_once($this->rootPath().'/includes/authenticator.php'); + $authenticator =& mamboAuthenticator::getInstance(); + $authenticator->logoutUser(); + $this->logMessage(_LOGOUT_SUCCESS); + } + + /** + * Enter description here... + * + */ + function standardHeaders () { + header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' ); + header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); + header( 'Cache-Control: no-store, no-cache, must-revalidate' ); + header( 'Cache-Control: post-check=0, pre-check=0', false ); + header( 'Pragma: no-cache' ); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('system'); + $mambothandler->trigger('onHeaders', array($this)); + } + + /** + * Enter description here... + * + */ + function initGzip() { + $this->do_gzip_compress = FALSE; + //zlib.output_compression and ob_gzhandler don't get along well so we'll check to make + //that zlib.output_compression is not enable in the php.ini before turning on ob_gzhandler + if ( $this->mosConfig_gzip == 1 AND (int)ini_get('zlib.output_compression') != 1 ) { + $phpver = phpversion(); + $useragent = mosGetParam( $_SERVER, 'HTTP_USER_AGENT', '' ); + $canZip = mosGetParam( $_SERVER, 'HTTP_ACCEPT_ENCODING', '' ); + + if ( $phpver >= '4.0.4pl1' AND + ( strpos($useragent,'compatible') !== false || + strpos($useragent,'Gecko') !== false + ) + ) { + if ( extension_loaded('zlib') ) { + ob_start( 'ob_gzhandler' ); + return; + } + } else if ( $phpver > '4.0' ) { + if ( strpos($canZip,'gzip') !== false ) { + if (extension_loaded( 'zlib' )) { + $this->do_gzip_compress = TRUE; + ob_start(); + ob_implicit_flush(0); + + header( 'Content-Encoding: gzip' ); + return; + } + } + } + } + ob_start(); + } + + /** + * Perform GZIP + */ + function doGzip() { + if ( $this->do_gzip_compress ) { + /** + *Borrowed from php.net! + */ + $gzip_contents = ob_get_contents(); + ob_end_clean(); + + $gzip_size = strlen($gzip_contents); + $gzip_crc = crc32($gzip_contents); + + $gzip_contents = gzcompress($gzip_contents, 9); + $gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4); + + echo "\x1f\x8b\x08\x00\x00\x00\x00\x00"; + echo $gzip_contents; + echo pack('V', $gzip_crc); + echo pack('V', $gzip_size); + } else { + ob_end_flush(); + } + } + + /** + * Enter description here... + * + * @param unknown_type $separator + * @param unknown_type $field + * @return unknown + */ + function getLastPart ($separator, $field) { + $parts = explode($separator, $field); + return $parts[count($parts)-1]; + } + + /** + * Enter description here... + * + * @param unknown_type $separator + * @param unknown_type $field + * @return unknown + */ + function allButLast ($separator, $field) { + $lastSize = strlen(mamboCore::getLastPart($separator,$field)); + return substr($field, 0, strlen($field)-$lastSize); + } + +} + + +/** +* Sorts an Array of objects +*/ +class mosObjectSorter { + /** + * Enter description here... + * + * @var unknown_type + */ + var $_keyname = ''; + /** + * Enter description here... + * + * @var unknown_type + */ + var $_direction = 0; + /** + * Enter description here... + * + * @var unknown_type + */ + var $_object_array = array(); + + /** + * Enter description here... + * + * @param unknown_type $a + * @param unknown_type $k + * @param unknown_type $sort_direction + * @return mosObjectSorter + */ + function mosObjectSorter (&$a, $k, $sort_direction=1) { + $this->_keyname = $k; + $this->_direction = $sort_direction; + $this->_object_array =& $a; + $this->sort(); + } + + /** + * Enter description here... + * + * @param unknown_type $a + * @param unknown_type $b + * @return unknown + */ + function mosObjectCompare (&$a, &$b) { + $key = $this->_keyname; + if ($a->$key > $b->$key) return $this->_direction; + if ($a->$key < $b->$key) return -$this->_direction; + return 0; + } + + /** + * Enter description here... + * + */ + function sort () { + usort($this->_object_array, array($this,'mosObjectCompare')); + } + +} + +/** +* Pathway handler +* @package Mambo +*/ +class mosPathway { + /** @var array Names for display in pathway */ + var $_names = null; + /** @var array URLs for links from pathway */ + var $_urls = null; + + /** + * Constructor + */ + function mosPathway () { + $menuhandler =& mosMenuHandler::getInstance(); + $menus =& $menuhandler->getByParentOrder(0,'mainmenu'); + $home = $menus[0]; + $this->_names[] = $home->name; + $this->_urls[] = sefRelToAbs($home->link."&Itemid=$home->id"); + } + + /** + * Singleton accessor + */ + function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new mosPathway(); + return $instance; + } + + /** + * Add an item to the pathway + */ + function addItem ($name, $givenurl) { + $last = count($this->_names) - 1; + if (!$name) return; + $url = sefRelToAbs($givenurl); + if ($name == $this->_names[$last] AND $url == $this->_urls[$last]) return; + $this->_names[$last+1] = $name; + $this->_urls[$last+1] = $url; + } + + /** + * Enter description here... + * + */ + function reduceToOne () { + for ($i = count($this->_names) - 1; $i > 0; $i--) { + unset($this->_names[$i]); + unset($this->_urls[$i]); + } + } + + /** + * Make a pathway string for display + */ + function makePathway () { + $last = count($this->_names) - 1; + if ($last == 0) return ''; + $mainframe =& mosMainFrame::getInstance(); + $result = ""; + $config =& mamboCore::getMamboCore(); + $rootpath = $config->rootPath(); + $imgPath = 'templates/'.$mainframe->getTemplate().'/images/arrow.png'; + if (file_exists( "$rootpath/$imgPath" )) $img = "arrow"; + else { + $imgPath = '/images/M_images/arrow.png'; + if (file_exists( "$rootpath/$imgPath" )) $img = "arrow"; + else $img = '>'; + } + foreach ($this->_names as $i=>$name) { + if ($i === $last) $result .= "$name"; + else { + $sefurl = sefRelToAbs($this->_urls[$i]); + $result .= "$name"; + $result .= " $img "; + } + } + $customs = $mainframe->getCustomPathWay(); + foreach ($customs as $custom) $result .= $custom; + $result .= ''; + return $result; + } + +} + +/** +* Module database table class +* @package Mambo +*/ +class mosMenu extends mosDBTable { + /** @var int Primary key */ + var $id=null; + /** @var string */ + var $menutype=null; + /** @var string */ + var $name=null; + /** @var string */ + var $link=null; + /** @var int */ + var $type=null; + /** @var int */ + var $published=null; + /** @var int */ + var $componentid=null; + /** @var int */ + var $parent=null; + /** @var int */ + var $sublevel=null; + /** @var int */ + var $ordering=null; + /** @var boolean */ + var $checked_out=null; + /** @var datetime */ + var $checked_out_time=null; + /** @var boolean */ + var $pollid=null; + + /** @var string */ + var $browserNav=null; + /** @var int */ + var $access=null; + /** @var int */ + var $utaccess=null; + /** @var string */ + var $params=null; + + /** + * @param database A database connector object + */ + function mosMenu() { + $db =& mamboDatabase::getInstance(); + $this->mosDBTable( '#__menu', 'id', $db ); + } + /** + * binds an array/hash to this object + * @param int $oid optional argument, if not specifed then the value of current key is used + * @return any result from the database operation + */ + function load( $oid=null ) { + $k = $this->_tbl_key; + if ($oid !== null) $this->$k = $oid; + if ($this->$k === null) return false; + $menuhandler =& mosMenuHandler::getInstance(); + $menu =& $menuhandler->getMenuById($this->$k); + if ($menu) { + foreach (get_object_vars($menu) as $key=>$data) $this->$key = $data; + return true; + } + else return false; + } + +} + +/** +* File Manager including safe mode provision? +* @package Mambo +*/ +class mosFileManager { + + /** + * Singleton accessor + */ + function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new mosFileManager(); + return $instance; + } + + /** + * Enter description here... + * + * @param unknown_type $file + * @return unknown + */ + function deleteFile ($file) { + if (file_exists($file)) { + @chmod($file, 0644); + return unlink($file); + } + return true; + } + + /** + * Enter description here... + * + * @param unknown_type $dir + * @return unknown + */ + function deleteDirectory ($dir) { + if (file_exists($dir)) { + if (is_dir($dir)) { + @chmod($dir, 0755); + return rmdir($dir); + } + return false; + } + return true; + } + + /** + * Enter description here... + * + * @param unknown_type $fileSysObject + */ + function setPermissions ($fileSysObject) { + if (file_exists($fileSysObject)) { + if (is_dir($fileSysObject)) $perms = mamboCore::get('mosConfig_dirperms'); + else $perms = mamboCore::get('mosConfig_fileperms'); + if ($perms) { + $origmask = @umask(0); + $mode = octdec($perms); + @chmod($fileSysObject, $mode); + @umask($origmask); + } + } + } + + /** + * Enter description here... + * + * @param unknown_type $dir + * @return unknown + */ + function makeDirectory ($dir) { + $perms = mamboCore::get('mosConfig_dirperms'); + $origmask = @umask(0); + if ($perms) $result = @mkdir($dir, octdec($perms)); + else $result = @mkdir($dir, 0755); + if ($result) $this->setPermissions($dir); + @umask($origmask); + return $result; + } + + + /** + * Enter description here... + * + * @param unknown_type $dir + * @param unknown_type $onlyCheck + * @return unknown + */ + function createDirectory ($dir, $onlyCheck=false) { + if (file_exists($dir)) { + if (is_dir($dir) AND is_writable($dir)) return true; + else return false; + } + list($upDirectory, $count) = $this->containingDirectory($dir); + if ($count > 1 AND !file_exists($upDirectory) AND !($result = $this->createDirectory($upDirectory, $onlyCheck))) return false; + if ($onlyCheck AND isset($result)) return true; + if (!is_dir($upDirectory) OR !is_writable($upDirectory)) return false; + if ($onlyCheck) return true; + else return $this->makeDirectory($dir); + } + + /** + * Enter description here... + * + * @param unknown_type $dir + * @return unknown + */ + function containingDirectory ($dir) { + $dirs = preg_split('*[/|\\\]*', $dir); + for ($i = count($dirs)-1; $i >= 0; $i--) { + $text = trim($dirs[$i]); + unset($dirs[$i]); + if ($text) break; + } + $result2 = count($dirs); + $result1 = implode('/',$dirs).($result2 > 1 ? '' : '/'); + return array($result1, $result2); + } + + /** + * Enter description here... + * + * @param unknown_type $from + * @param unknown_type $to + * @return unknown + */ + function simpleCopy ($from, $to) { + if (@copy($from, $to)) { + $this->setPermissions($to); + return true; + } + else return false; + } + + /** + * Enter description here... + * + * @param unknown_type $from + * @param unknown_type $to + * @return unknown + */ + function forceCopy ($from, $to) { + $todir = dirname($to); + if (!file_exists($todir)) $this->createDirectory($todir); + if (!file_exists($todir)) return false; + $name = basename($from); + $this->deleteFile($to.$name); + return $this->simpleCopy ($from, $to); + } + + /** + * Enter description here... + * + * @param unknown_type $from + * @param unknown_type $to + * @return unknown + */ + function lightCopy ($from, $to) { + $name = basename($from); + if (file_exists($to.$name)) return false; + $todir = dirname($to); + if (!file_exists($todir)) $this->createDirectory($todir); + if (!file_exists($todir)) return false; + return $this->simpleCopy ($from, $to); + } + + /** + * Enter description here... + * + * @param unknown_type $to + * @return unknown + */ + function acceptCopy ($to) { + $todir = dirname($to); + return $this->createDirectory($todir, true); + } + + + /** + * Function to strip additional / or \ in a path name + * @param string The path + * @param boolean Add trailing slash + */ + function mosPathName($p_path, $p_addtrailingslash=true) { + if (substr(PHP_OS, 0, 3) == 'WIN') { + $retval = str_replace( '/', '\\', $p_path ); + if ($p_addtrailingslash AND substr( $retval, -1 ) != '\\') $retval .= '\\'; + // Remove double \\ + $retval = str_replace( '\\\\', '\\', $retval ); + } + else { + $retval = str_replace( '\\', '/', $p_path ); + if ($p_addtrailingslash AND substr( $retval, -1 ) != '/') $retval .= '/'; + // Remove double // + $retval = str_replace('//','/',$retval); + } + return $retval; + } + + /** + * Chmods files and directories recursively to mos global permissions. Available from 4.5.2 up. + * @param path The starting file or directory (no trailing slash) + * @param filemode Integer value to chmod files. NULL = dont chmod files. + * @param dirmode Integer value to chmod directories. NULL = dont chmod directories. + * @return TRUE=all succeeded FALSE=one or more chmods failed + */ + function mosChmod($path) + { + $fileperms = mamboCore::get('mosConfig_fileperms'); + if ($fileperms != '') $filemode = octdec($fileperms); + else $filemode = null; + $dirperms = mamboCore::get('mosConfig_dirperms'); + if ($dirperms != '') $dirmode = octdec($dirperms); + else $dirmode = null; + if (isset($filemode) OR isset($dirmode)) + return $this->mosChmodRecursive($path, $filemode, $dirmode); + return true; + } // mosChmod + + /** + * Chmods files and directories recursively to given permissions. Available from 4.5.2 up. + * @param path The starting file or directory (no trailing slash) + * @param filemode Integer value to chmod files. NULL = dont chmod files. + * @param dirmode Integer value to chmod directories. NULL = dont chmod directories. + * @return TRUE=all succeeded FALSE=one or more chmods failed + */ + function mosChmodRecursive($path, $filemode=NULL, $dirmode=NULL) { + $ret = true; + if (is_dir($path)) { + $topdir =& new mosDirectory($path); + $files =& $topdir->listFiles ('', 'file', true, true); + $dirs =& $topdir->listFiles ('', 'dir', true, true); + } + else { + $files = array($path); + $dirs = array(); + } + if (isset($filemode)) foreach ($files as $file) $ret = @chmod($file, $filemode) ? $ret : false; + if (isset($dirmode)) foreach ($dirs as $dir) $ret = @chmod($dir, $dirmode) ? $ret : false; + return $ret; + } + +} + +/** + * Enter description here... + * + */ +class mosDirectory { + /** + * Enter description here... + * + * @var unknown_type + */ + var $path = ''; + + /** + * Enter description here... + * + * @param unknown_type $path + * @return mosDirectory + */ + function mosDirectory ($path) { + $path = str_replace('\\', '/', $path); + if (substr($path,-1,1) == '/') $this->path = $path; + else $this->path = $path.'/'; + } + + /** + * Enter description here... + * + * @param unknown_type $type + * @param unknown_type $recurse + * @param unknown_type $fullpath + * @return unknown + */ + function &listAll ($type='file', $recurse=false, $fullpath=false) { + $results = array(); + if ($dir = @opendir($this->path)) { + while ($file = readdir($dir)) { + if ($file == '.' OR $file == '..') continue; + if (is_dir($this->path.$file)) { + if ($recurse) { + $subdir = new mosDirectory($this->path.$file); + $results = array_merge($results, $subdir->listAll($type, $recurse, $fullpath)); + unset($subdir); + } + if ($type == 'file') continue; + } + elseif ($type == 'dir') continue; + if ($fullpath) $results[] = $this->path.$file; + else $results[] = $file; + } + closedir($dir); + } + return $results; + } + + /** + * Enter description here... + * + * @return unknown + */ + function soleDir () { + $found = ''; + if ($dir = @opendir($this->path)) { + while ($file = readdir($dir)) { + if ($file == '.' OR $file == '..') continue; + if (is_dir($this->path.$file)) { + if ($found) return ''; + else $found = $file; + } + else return ''; + } + closedir($dir); + } + return $found; + } + + /** + * Enter description here... + * + */ + function deleteAll () { + if (!file_exists($this->path)) return; + $subdirs =& $this->listAll ('dir', false, true); + foreach ($subdirs as $subdir) { + $subdirectory = new mosDirectory($subdir); + $subdirectory->deleteAll(); + unset($subdirectory); + } + $filemanager =& mosFileManager::getInstance(); + $files =& $this->listAll ('file', false, true); + foreach ($files as $file) $filemanager->deleteFile($file); + $filemanager->deleteDirectory($this->path); + } + + /** + * Enter description here... + * + * @return unknown + */ + function createFresh () { + $this->deleteAll(); + $filemanager =& mosFileManager::getInstance(); + $filemanager->createDirectory($this->path); + return true; + } + + /** + * Enter description here... + * + */ + function createIfNeeded () { + if (!file_exists($this->path)) { + $filemanager =& mosFileManager::getInstance(); + $filemanager->createDirectory($this->path); + } + } + + /** + * Enter description here... + * + * @param unknown_type $pattern + * @param unknown_type $type + * @param unknown_type $recurse + * @param unknown_type $fullpath + * @return unknown + */ + function &listFiles ($pattern='', $type='file', $recurse=false, $fullpath=false) { + $results = array(); + $all =& $this->listAll($type, $recurse, $fullpath); + foreach ($all as $file) { + $name = basename($file); + if ($pattern AND !preg_match( "/$pattern/", $name )) continue; + if (($name != 'index.html') AND ($name[0] != '.')) $results[] = $file; + } + return $results; + } + + /** + * Enter description here... + * + * @return unknown + */ + function getSize () { + $totalsize = 0; + $files =& $this->listFiles(); + foreach ($files as $file) $totalsize += filesize($this->path.$file); + return $totalsize; + } + +} + + +/** +* Menu handler +* @package Mambo +*/ +class mosMenuHandler { + /** @var array Menu objects currently available */ + var $_menus = null; + /** @var array Counts of menu items by type and published status */ + var $_counts = null; + /** @var array Access to stored menu objects by ID */ + var $_idlinks = null; + /** @var array Items that may be useful for setting Itemid */ + var $_byParentOrder = null; + + /** + * Constructor + */ + function mosMenuHandler() { + $database =& mamboDatabase::getInstance(); + $sql = "SELECT * FROM #__menu ORDER BY name"; + $this->_menus =& $database->doSQLget($sql, 'mosMenu'); + if (!$this->_menus) $this->_menus = array(); + foreach ($this->_menus as $key=>$menu) { + $this->_idlinks[$menu->id] = $key; + if ($menu->published == 1) $this->_byParentOrder[$menu->parent][$menu->ordering][$menu->menutype] = $key; + if (isset($this->_counts[$menu->menutype][$menu->published])) $this->_counts[$menu->menutype][$menu->published]++; + else $this->_counts[$menu->menutype][$menu->published] = 1; + } + if ($this->_byParentOrder) { + foreach ($this->_byParentOrder as $parent=>$outer) ksort($this->_byParentOrder[$parent]); + ksort($this->_byParentOrder); + } + } + /** + * Singleton accessor + */ + function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new mosMenuHandler(); + return $instance; + } + + /** + * Enter description here... + * + * @param unknown_type $id + * @return unknown + */ + function &getMenuByID ($id) { + if (isset($this->_idlinks[$id])) { + $key = $this->_idlinks[$id]; + $result = $this->_menus[$key]; + } + else $result = null; + return $result; + } + + /** + * Enter description here... + * + * @param unknown_type $type + * @param unknown_type $published + * @return unknown + */ + function getMenuCount ($type, $published) { + if (isset($this->_counts[$type][$published])) return $this->_counts[$type][$published]; + else return 0; + } + + /** + * Enter description here... + * + * @param unknown_type $types + * @return unknown + */ + function &getMenusByType ($types) { + $checker = explode(',', $types); + $result = null; + foreach ($this->_menus as $menu) { + if (in_array($menu->menutype, $checker)) $result[] = $menu; + } + return $result; + } + + /** + * Enter description here... + * + * @return unknown + */ + function &getMenuTypes () { + $types = array(); + foreach ($this->_menus as $menu) { + if (!isset($types[$menu->menutype])) $types[$menu->menutype] = 0; + $types[$menu->menutype]++; + } + return $types; + } + + /** + * Enter description here... + * + * @param unknown_type $type + * @param unknown_type $link + * @return unknown + */ + function getIDByTypeLink ($type, $link) { + foreach ($this->_menus as $menu) { + if ($menu->published == 1 AND ($type == '*' OR $menu->type == $type) AND $menu->link == $link) return $menu->id; + } + return null; + } + + /** + * Enter description here... + * + * @param unknown_type $link + * @return unknown + */ + function getIDLikeLink ($link) { + $exact = $this->getIdByTypeLink('*', $link); + if ($exact !== null) return $exact; + foreach ($this->_menus as $menu) { + if ($menu->published == 1 AND strpos($menu->link,$link) === 0) return $menu->id; + } + return 0; + } + + /** + * Enter description here... + * + * @param unknown_type $type + * @param unknown_type $componentid + * @return unknown + */ + function getIDByTypeCid ($type, $componentid) { + foreach ($this->_menus as $menu) { + if ($menu->published == 1 AND $menu->type == $type AND $menu->componentid == $componentid) return $menu->id; + } + return null; + } + + /** + * Enter description here... + * + * @return unknown + */ + function getGlobalBlogSectionCount () { + $count = 0; + foreach ($this->_menus as $menu) { + if ($menu->type == 'content_blog_section' AND $menu->published == 1 AND $menu->componentid == 0) $count++; + } + return $count; + } + + /** + * Enter description here... + * + * @param unknown_type $Itemid + * @param unknown_type $type + * @param unknown_type $id + * @param unknown_type $catid + * @return unknown + */ + function getContentItemid ($Itemid, $type, $id, $catid=0) { + if ($Itemid) return $Itemid; + foreach ($this->_menus as $menu) { + if (strpos($menu->link,'index.php?option=com_content') === false AND strpos($menu->link,'index.php?option=content') === false) continue; + if (strpos($menu->link, $type) === false) continue; + if ($catid) { + if (strpos($menu->link, "&id=$catid") === false) continue; + if (strpos($menu->link, "§ionid=$id") === false) continue; + } + elseif (strpos($menu->link, "&id=$id") === false) continue; + return $menu->id; + } + return 0; + } + + /** + * Enter description here... + * + * @return unknown + */ + function getBestQueryMatch () { + parse_str($_SERVER['QUERY_STRING'], $qitems); + if (!isset($qitems['option'])) return 0; + $failures = 999; + $best = 0; + foreach ($this->_menus as $menu) { + $split = explode('?', $menu->link); + if (isset($split[1])) parse_str($split[1], $mitems); + else continue; + if (!isset($mitems['option']) OR $mitems['option'] != $qitems['option']) continue; + $thisfail = 0; + foreach ($mitems as $key=>$mitem) if (!isset($qitems[$key]) OR $mitem != $qitems[$key]) $thisfail++; + if ($thisfail < $failures) { + $best = $menu->id; + $failures = $thisfail; + } + } + return $best; + } + + + /** + * Enter description here... + * + * @param unknown_type $link + * @return unknown + */ + function &maxAccessLink ($link) { + $selected = null; + $access = 0; + foreach ($this->_menus as $key=>$menu) { + if (strpos($menu->link,$link) === 0 AND $menu->access > $access) { + $access = $menu->access; + $selected =& $this->_menus[$key]; + } + } + return $selected; + } + + /** + * Enter description here... + * + * @param unknown_type $Itemid + * @param unknown_type $menutype + * @param unknown_type $maxaccess + * @param unknown_type $noparent + * @return unknown + */ + function &getByParentOrder ($Itemid, $menutype, $maxaccess=0, $noparent=false) { + $result = array(); + if ($this->_byParentOrder !== null) { + foreach ($this->_byParentOrder as $parent=>$outer) { + foreach ($outer as $ordering=>$inner) { + foreach ($inner as $mtype=>$last) { + $key = $this->_byParentOrder[$parent][$ordering][$mtype]; + $menu = $this->_menus[$key]; + if ($menutype AND $mtype != $menutype) continue; + if ($Itemid AND $Itemid != $menu->id) continue; + if ($menu->access > $maxaccess) continue; + if ($noparent AND $parent != 0) continue; + $result[] = $this->_menus[$key]; + } + } + } + } + return $result; + } + + /** + * Enter description here... + * + * @param unknown_type $Itemid + */ + function setPathway ($Itemid) { + if ($Itemid) { + $menu =& $this->getMenuByID($Itemid); + if ($menu->parent) $this->setPathway($menu->parent); + $pathway =& mosPathway::getInstance(); + $pathway->addItem($menu->name, $menu->link."&Itemid=$Itemid"); + } + } + + /** + * Checks whether a menu option is within the users access level + * @param int Item id number + * @param string The menu option + * @param int The users group ID number + * @param database A database connector object + * @return boolean True if the visitor's group at least equal to the menu access + */ + function menuCheck( $Itemid, $menu_option, $task, $gid ) { + // Construct a link to this component - if no menu for it, assume it is OK + $dblink="index.php?option=$menu_option"; + if ($this->getIDLikeLink($dblink) == 0) return true; + if ($Itemid) { + $menu =& $this->getMenuByID($Itemid); + if (strpos($menu->link,$dblink) ===0) { + $access = $menu->access; + } elseif ($menu_option == 'com_content' AND $Itemid == 1) { + return true; + } + } + if (!isset($access)) { + if ($task!='') $dblink .= "&task=$task"; + $menu =& $this->maxAccessLink($dblink); + if (isset($menu)) { + $access = $menu->access; + mamboCore::set('Itemid', $menu->id); + } + } + return isset($access) ? $access <= $gid : false; + } + + /** + * Enter description here... + * + * @param unknown_type $mitem + * @param unknown_type $level + * @param unknown_type $params + * @param unknown_type $Itemid + * @return unknown + */ + function mosGetMenuLink( &$mitem, $level=0, &$params, $Itemid ) { + $txt = ''; + + switch ($mitem->type) { + case 'separator': + case 'component_item_link': + break; + case 'content_item_link': + $temp = split("&task=view&id=", $mitem->link); + if (isset($temp[1])) { + require_once(mamboCore::get('mosConfig_absolute_path').'/components/com_content/content.class.php'); + $handler =& contentHandler::getInstance(); + $mitem->link .= '&Itemid='.$handler->getItemid($temp[1]); + } + break; + case 'url': + $link = strtolower($mitem->link); + if (substr($link,0,10) == 'index.php?' AND strpos($link,'itemid=') === false) $mitem->link .= '&Itemid='. $mitem->id; + break; + case 'content_typed': + default: + $mitem->link .= '&Itemid='.$mitem->id; + break; + } + // Active Menu highlighting + if ( $Itemid == $mitem->id ) $id = 'id="active_menu'.$params->get( 'class_sfx' ).'"'; + else $id = ''; + $mitem->link = ampReplace( $mitem->link ); + if (strcasecmp(substr($mitem->link,0,4), 'http')) $mitem->link = sefRelToAbs( $mitem->link ); + if ($level > 0) $menuclass = 'sublevel'; + else $menuclass = 'mainlevel'; + $menuclass .= $params->get( 'class_sfx'); + + switch ($mitem->browserNav) { + // cases are slightly different + case 1: + // open in a new window + $txt = ''. $mitem->name .''; + break; + + case 2: + // open in a popup window + $txt = "link ."', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" class=\"$menuclass\" ". $id .">". $mitem->name ."\n"; + break; + + case 3: + // don't link it + $txt = ''. $mitem->name .''; + break; + + default: // formerly case 2 + // open in parent window + $txt = ''. $mitem->name .''; + break; + } + + if ( $params->get( 'menu_images' ) ) { + $menu_params =& new mosParameters( $mitem->params ); + $menu_image = $menu_params->def( 'menu_image', -1 ); + if ($menu_image AND $menu_image <> '-1') { + $image = ''. $mitem->name .''; + if ( $params->get('menu_images_align')) $txt = $txt .' '. $image; + else $txt = $image .' '. $txt; + } + } + return $txt; + } + + /** + * Vertically Indented Menu + */ + function mosShowVIMenu( &$params ) { + global $my, $cur_template, $Itemid; + if (mamboCore::get('mosConfig_shownoauth')) $maxaccess = 0; + else $maxaccess = $my->gid; + $rows =& $this->getByParentOrder(0, $params->get('menutype'), $maxaccess); + foreach ($rows as $i=>$row) $crosslink[$row->id] = $i; + // indent icons + $base = mamboCore::get('mosConfig_live_site'); + switch ( $params->get( 'indent_image' ) ) { + case '1': + // Default images + for ( $i = 1; $i < 7; $i++ ) { + $img[$i] = "\"indent$i\""; + } + break; + case '2': + // Use Params + for ( $i = 1; $i < 7; $i++ ) { + $parm = $params->get('indent_image'. $i); + if ($parm == '-1' ) $img[$i] = NULL; + else $img[$i] = "\"indent$i\""; + } + break; + case '3': + // None + for ( $i = 1; $i < 7; $i++ ) $img[$i] = NULL; + break; + default: + // Template + $imgpath = $base.'/templates/'. $cur_template .'/images'; + for ( $i = 1; $i < 7; $i++ ) { + $img[$i] = "\"indent$i\""; + } + break; + } + + $indents = array( + // block prefix / item prefix / item suffix / block suffix + array( '', '', '
      ' , '
      ' ), + array( '', '
      '. $img[1] , '
      ', '' ), + array( '', '
      '. $img[2] , '
      ', '' ), + array( '', '
      '. $img[3] , '
      ', '' ), + array( '', '
      '. $img[4] , '
      ', '' ), + array( '', '
      '. $img[5] , '
      ', '' ), + array( '', '
      '. $img[6] , '
      ', '' ), + ); + + // establish the hierarchy of the menu + $children = array(); + // first pass - collect children + foreach ($rows as $v ) $children[$v->parent][] = $v; + // second pass - collect 'open' menus + $open = array( $Itemid ); + for ($i = 0; $i < 20 AND isset($crosslink[$open[$i]]) AND isset($rows[$crosslink[$open[$i]]]); $i++) { + $next = $rows[$crosslink[$open[$i]]]->parent; + if ($next) $open[$i+1] = $next; + else break; + } + + $this->mosRecurseVIMenu( 0, 0, $children, $open, $indents, $params ); + + } + + /** + * Utility function to recursively work through a vertically indented + * hierarchial menu + */ + function mosRecurseVIMenu( $id, $level, &$children, &$open, &$indents, &$params ) { + global $Itemid; + if (@$children[$id]) { + $n = min( $level, count($indents )-1); + echo "\n".$indents[$n][0]; + foreach ($children[$id] as $row) { + echo "\n".$indents[$n][1]; + echo $this->mosGetMenuLink( $row, $level, $params, $Itemid ); + // show menu with menu expanded - submenus visible + if ($params->get('expand_menu') OR in_array($row->id, $open)) $this->mosRecurseVIMenu( $row->id, $level+1, $children, $open, $indents, $params ); + echo $indents[$n][2]; + } + echo "\n".$indents[$n][3]; + } + } + + /** + * Draws a horizontal 'flat' style menu (very simple case) + */ + function mosShowHFMenu( &$params, $style=0 ) { + global $my, $cur_template, $Itemid; + + if (mamboCore::get('mosConfig_shownoauth')) $maxaccess = 0; + else $maxaccess = $my->gid; + $rows =& $this->getByParentOrder(0, $params->get('menutype'), $maxaccess, true); + + $links = array(); + foreach ($rows as $row) $links[] = $this->mosGetMenuLink( $row, 0, $params, $Itemid ); + $menuclass = 'mainlevel'. $params->get( 'class_sfx' ); + if (count( $links )) { + if ($style == 1) { + echo '
        '; + foreach ($links as $link) echo '
      • ' . $link . '
      • '; + echo '
      '; + } + else { + echo ''; + echo ''; + echo ''; + echo '
      '; + echo ' '. $params->get( 'end_spacer' ) .' '; + echo implode( ' '. $params->get( 'spacer' ) .' ', $links ); + echo ' '. $params->get( 'end_spacer' ) .' '; + echo '
      '; + } + } + } +} + +/** +* Plugin handler +* @package Mambo +*/ +class mosMambotHandler { + /** @var array An array of functions in event groups */ + var $_events=null; + /** @var array An array of lists */ + var $_lists=null; + /** @var array An array of mambots */ + var $_bots=null; + /** @var array An array of bools showing if corresponding bot is registered */ + var $_registered=array(); + /** @var int Index of the mambot being loaded */ + var $_loading=null; + + /** + * Constructor + */ + function mosMambotHandler() { + $my = mamboCore::is_set('currentUser') ? mamboCore::get('currentUser') : null; + $gid = $my ? $my->gid : 0; + $this->_events = array(); + $database =& mamboDatabase::getInstance(); + $database->setQuery( "SELECT folder, element, published, params, CONCAT_WS('/',folder,element) AS lookup" + . "\nFROM #__mambots" + . "\nWHERE published >= 1 AND access <= $gid" + . "\nORDER BY ordering" + ); + $this->_bots = $database->loadObjectList(); + if (!$this->_bots) $this->_bots = array(); + } + /** + * Singleton accessor + */ + function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new mosMambotHandler(); + return $instance; + } + /** + * Register a class-type mambot, provided it has a perform method + * - can register for multiple events if desired + * @param object The mambot object + * @param mixed string or array of strings - the mambot events to be registered + * @param int the subscript for use in the main array of mambots + */ + function _botRegister (&$botObject, &$selected, $i) { + $function = array(&$botObject, 'perform'); + if (!is_callable($function)) return; + if (is_array($selected)) foreach ($selected as $select) $this->_botRegister($botObject, $select); + $this->_events[$selected][] = array ($function, $i); + $this->_registered[$i] = true; + } + + /** + * Loads all the bot files for a particular group + * @param string The group name, relates to the sub-directory in the mambots directory + */ + function loadBotGroup( $group ) { + global $_MAMBOTS; + $group = trim( $group ); + $total = 0; + $basepath = mamboCore::get('mosConfig_absolute_path'); + foreach ($this->_bots as $i=>$bot) { + if ($bot->folder != $group OR isset($this->_registered[$i])) continue; + $path = "$basepath/mambots/$bot->folder/$bot->element.php"; + if (file_exists( $path )) { + $this->_loading = $i; + require_once( $path ); + if (!isset($this->_registered[$i])) { + $botclass = str_replace('.','_',$bot->element); + if (class_exists($botclass)) { + $newbot = new $botclass(); + if (is_callable(array(&$newbot, 'register'))) { + $selected = $newbot->register(); + $this->_botRegister($newbot, $selected, $i); + } + } + } + $total++; + } + } + $this->_loading = null; + if ($total) return true; + return false; + } + /** + * Registers a function to a particular event group + * @param string The event name + * @param string The function name + */ + function registerFunction( $event, $function ) { + $this->_events[$event][] = array( $function, $this->_loading ); + $this->_registered[$this->_loading] = true; + } + /** + * Makes a option for a particular list in a group + * @param string The group name + * @param string The list name + * @param string The value for the list option + * @param string The text for the list option + */ + function addListOption( $group, $listName, $value, $text='' ) { + $this->_lists[$group][$listName][] = mosHTML::makeOption( $value, $text ); + } + /** + * @param string The group name + * @param string The list name + * @return array + */ + function getList( $group, $listName ) { + return $this->_lists[$group][$listName]; + } + /** + * Calls all functions according to passed parameters + * @param string The event name + * @param array An array of arguments + * @param boolean True is unpublished bots are to be processed + * @return array An array of results from each function call + */ + function &_runBots ($event, $args, $doUnpublished=false) { + $result = array(); + if (isset( $this->_events[$event] )) { + foreach ($this->_events[$event] as $func) { + if (is_callable( $func[0] )) { + $botparams = $this->_bots[$func[1]]->params; + $args[] = new mosParameters($botparams); + $args[] = $event; + if ($doUnpublished) { + $args[0] = $this->_bots[$func[1]]->published; + $result[] = call_user_func_array( $func[0], $args ); + } else if ($this->_bots[$func[1]]->published) { + $result[] = call_user_func_array( $func[0], $args ); + } + } + } + } + return $result; + } + /** + * Calls all functions associated with an event group + * @param string The event name + * @param array An array of arguments + * @param boolean True is unpublished bots are to be processed + * @return array An array of results from each function call + */ + function trigger( $event, $args=null, $doUnpublished=false ) { + if ($args === null) $args = array(); + // prepend the published argument + if ($doUnpublished) array_unshift( $args, null ); + $result =& $this->_runBots($event, $args, $doUnpublished); + return $result; + } + /** + * Same as trigger but only returns the first event and + * allows for a variable argument list + * @param string The event name + * @return array The result of the first function call + */ + function call( $event ) { + $args =& func_get_args(); + array_shift( $args ); + $result =& $this->_runBots($event, $args); + if (isset($result[0])) return $result[0]; + return null; + } +} + +/** +* Users Table Class +* +* Provides access to the mos_templates table +* @package Mambo +*/ +class mosUser extends mosDBTable { + /** @var int Unique id*/ + var $id=null; + /** @var string The users real name (or nickname)*/ + var $name=null; + /** @var string The login name*/ + var $username=null; + /** @var string email*/ + var $email=null; + /** @var string MD5 encrypted password*/ + var $password=null; + /** @var string */ + var $usertype=null; + /** @var int */ + var $block=null; + /** @var int */ + var $sendEmail=null; + /** @var int The group id number */ + var $gid=null; + /** @var int Group number from ACL */ + var $grp=null; + /** @var datetime */ + var $registerDate=null; + /** @var datetime */ + var $lastvisitDate=null; + /** @var string activation hash*/ + var $activation=null; + /** @var string */ + var $params=null; + + /** + * @param database A database connector object + */ + function mosUser() { + $database =& mamboDatabase::getInstance(); + $this->mosDBTable( '#__users', 'id', $database ); + } + + /** + * Return true if this user is an administrator, false otherwise + */ + function isAdmin() { + return ( strtolower( $this->usertype ) == 'superadministrator' OR strtolower( $this->usertype ) == 'super administrator' OR (isset($this->grp) AND $this->grp == 16) ) ? true : false; + } + + /** + * Fill a user object with information from the current session + */ + function getSessionData() { + $session =& mosSession::getCurrent(); + $this->id = intval( $session->userid ); + $this->username = $session->username; + $this->usertype = $session->usertype; + $this->gid = intval ($session->gid); + } + + function getSession () { + $this->id = mosGetParam( $_SESSION, 'session_user_id', 0 ); + $this->username = mosGetParam( $_SESSION, 'session_username', '' ); + $this->usertype = mosGetParam( $_SESSION, 'session_usertype', '' ); + $this->gid = mosGetParam( $_SESSION, 'session_gid', 0 ); + $this->grp = mosGetParam( $_SESSION, 'session_grp', 0); + } + /** + * Validation and filtering + * @return boolean True is satisfactory + */ + function check() { + Global $mosConfig_absolute_path; + include $mosConfig_absolute_path . ('language/english.php'); + $this->_error = ''; + if ($this->name == '') $this->_error = _REGWARN_NAME; + elseif ($this->username == '') $this->_error = _REGWARN_UNAME; + elseif (strlen($this->username) < 3 OR preg_match("/[\\<\\>\\\"\\'\\%\\;\\(\\)\\&\\+\\-]/", $this->username)) $this->_error = sprintf( _VALID_AZ09, _PROMPT_UNAME, 2 ); + elseif (($this->email == '') OR preg_match("/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $this->email ) == 0) $this->_error = _REGWARN_MAIL; + else { + // check for existing username + $username = strtolower($this->username); + $this->_db->setQuery( "SELECT COUNT(id) FROM #__users " + . "\nWHERE LOWER(username)='$username' AND id!='$this->id'" + ); + if ($this->_db->loadResult()) $this->_error = _REGWARN_INUSE; + elseif (mamboCore::get('mosConfig_uniquemail')) { + // check for existing email + $this->_db->setQuery( "SELECT COUNT(id) FROM #__users " + . "\nWHERE email='$this->email' AND id!='$this->id'" + ); + if ($this->_db->loadResult()) $this->_error = _REGWARN_EMAIL_INUSE; + } + } + if ($this->_error) return false; + return true; + } + + function store( $updateNulls=false ) { + global $acl, $migrate; + $section_value = 'users'; + if( $this->id AND !$migrate) { + // update existing record + $ret = $this->_db->updateObject( $this->_tbl, $this, 'id', $updateNulls ); + // syncronise ACL + // single group handled at the moment + // trivial to expand to multiple groups + $groups = $acl->get_object_groups( $section_value, $this->id, 'ARO' ); + $acl->del_group_object( $groups[0], $section_value, $this->id, 'ARO' ); + $acl->add_group_object( $this->gid, $section_value, $this->id, 'ARO' ); + $object_id = $acl->get_object_id( $section_value, $this->id, 'ARO' ); + $acl->edit_object( $object_id, $section_value, $this->_db->getEscaped( $this->name ), $this->id, 0, 0, 'ARO' ); + } + else { + // new record + $ret = $this->_db->insertObject( $this->_tbl, $this, 'id' ); + // syncronise ACL + $acl->add_object( $section_value, $this->_db->getEscaped( $this->name ), $this->id, null, null, 'ARO' ); + $acl->add_group_object( $this->gid, $section_value, $this->id, 'ARO' ); + } + if ($ret) return true; + $this->_error = "mosUser::store failed
      " . $this->_db->getErrorMsg(); + return false; + } + + function delete($oid=null) { + global $acl; + $k = $this->_tbl_key; + if ($oid) $this->id = intval( $oid ); + $aro_id = $acl->get_object_id( 'users', $this->$k, 'ARO' ); + $acl->del_object( $aro_id, 'ARO', true ); + // $authoriser = mosAuthorisationAdmin::getInstance(); + // $authoriser->dropAccess('mosUser', $this->id); + $this->_error = ''; + $this->_db->setQuery( "DELETE FROM $this->_tbl WHERE id = '".$this->id."'" ); + if ($this->_db->query()) { + // cleanup related data + + // :: private messaging + $this->_db->setQuery( "DELETE FROM #__messages_cfg WHERE user_id='".$this->id."'" ); + if (!$this->_db->query()) $this->_error = $this->_db->getErrorMsg(); + else { + $this->_db->setQuery( "DELETE FROM #__messages WHERE user_id_to='".$this->$k."'" ); + if (!$this->_db->query()) $this->_error = $this->_db->getErrorMsg(); + } + } else $this->_error = $this->_db->getErrorMsg(); + if ($this->_error) return false; + return true; + } +} + +/** +* User login details class +* @package Mambo +*/ +class mosLoginDetails { + var $_user = ''; + var $_password = ''; + var $_remember = ''; + + function mosLoginDetails ($user, $password='', $remember='') { + $this->_user = $user; + $this->_password = $password; + $this->_remember = $remember; + } + + function getUser () { + return $this->_user; + } + + function getPassword () { + return $this->_password; + } + + function getRemember () { + return $this->_remember; + } + +} +/** +* Mambo Mainframe class +* +* Provide many supporting API functions +* @package Mambo +*/ +class mosMainFrame { + /** @var database Internal database class pointer */ + var $_db=null; + /** @var object A default option (e.g. component) */ + var $_option=null; + /** @var string The current template */ + var $_template=null; + /** @var array An array to hold global user state within a session */ + var $_userstate=null; + /** @var array An array of page meta information */ + var $_head=null; + /** @var string Custom html string to append to the pathway */ + var $_custom_pathway=array(); + + /** + * Class constructor + * @param database A database connection object + * @param string The url option + * @param string The path of the mos directory + */ + function mosMainFrame( &$db, $option, $basePath, $isAdmin=false ) { + $this->_db =& $db; + // load the configuration values + //return( $this->loadConfig() ); + $this->_setTemplate($isAdmin); + if (substr($option,0,4) != 'com_') $this->_option = "com_$option"; + else $this->_option = $option; + if (isset( $_SESSION['session_userstate'] )) $this->_userstate =& $_SESSION['session_userstate']; + else $this->_userstate = null; + $this->_head['title'] = $GLOBALS['mosConfig_sitename']; + $this->_head['meta'] = array(); + $this->_head['custom'] = array(); + mosMainFrame::getInstance($this); + } + + /** + * Get the current user - deprecated - use mamboCore instead + */ + function getUser() { + return mamboCore::get('currentUser'); + } + /** + * Logout the current user - deprecated - use the code here directly + */ + function logout() { + require_once(mamboCore::get('mosConfig_absolute_path').'/includes/authenticator.php'); + $authenticator =& mamboAuthenticator::getInstance(); + $authenticator->logoutUser(); + } + /** + * Login a user given name and password - deprecated - use the code here directly + */ + function login ($username=null,$passwd=null) { + require_once(mamboCore::get('mosConfig_absolute_path').'/includes/authenticator.php'); + $authenticator =& mamboAuthenticator::getInstance(); + return $authenticator->loginUser($username, $passwd); + } + + /** + * @param object + */ + function &getInstance () { + global $mainframe; + if (isset($mainframe)) { + return $mainframe; + } else { + $result = null; + return $result; + } + } + + /** + * @param string + */ + function setPageTitle( $title=null ) { + if (mamboCore::get('mosConfig_pagetitles')) { + $title = trim(htmlspecialchars($title)); + $base = mamboCore::get('mosConfig_sitename'); + $this->_head['title'] = $title ? $title.' - '.$base : $base; + } + } + /** + * @return string + */ + function getPageTitle() { + return $this->_head['title']; + } + + /** + * @param string The value of the name attibute + * @param string The value of the content attibute + * @param string Text to display before the tag + * @param string Text to display after the tag + */ + function addMetaTag( $name, $content, $prepend='', $append='' ) { + list($name, $content) = $this->_tidyMetaData($name, $content); + $prepend = trim($prepend); + $append = trim($append); + $this->_head['meta'][$name] = array($content, $prepend, $append); + } + /** + * @param string The value of the name attibute + */ + function _getMetaTag ($name) { + return isset($this->_head['meta'][$name]) ? $this->_head['meta'][$name] : array('', '', ''); + } + /** + * @param string The value of the name attibute + * @param string The value of the content attibute to append to the existing + */ + function _tidyMetaData($name, $content) { + $result[] = trim(htmlspecialchars($name)); + $result[] = trim(htmlspecialchars($content)); + return $result; + } + /** + * @param string The value of the name attibute + * @param string The value of the content attibute to append to the existing + * Tags ordered in with Site Keywords and Description first + */ + function appendMetaTag( $name, $content, $ifEmpty=false ) { + list($name, $content) = $this->_tidyMetaData($name, $content); + $tag = $this->_getMetaTag($name); + if ($tag[0] AND $ifEmpty) return; + if ($tag[0] AND $content) $content .= ', '; + $tag[0] = $content.$tag[0]; + $this->_head['meta'][$name] = $tag; + } + + /** + * @param string The value of the name attibute + * @param string The value of the content attibute to append to the existing + */ + function prependMetaTag( $name, $content ) { + list($name, $content) = $this->_tidyMetaData($name, $content); + $tag = $this->_getMetaTag($name); + $tag[0] = $content.$tag[0]; + $this->_head['meta'][$name] = $tag; + } + /** + * Adds a custom html string to the head block + * @param string The html to add to the head + */ + function addCustomHeadTag( $html ) { + $this->_head['custom'][] = trim( $html ); + } + /** + * @return string + */ + function getHead() { + $head[] = ''.$this->_head['title'].''; + foreach ($this->_head['meta'] as $name=>$meta) { + if ($meta[1]) $head[] = $meta[1]; + $head[] = ''; + if ($meta[2]) $head[] = $meta[2]; + } + foreach ($this->_head['custom'] as $html) $head[] = $html; + return implode( "\n", $head )."\n"; + } + /** + * @return string + */ + function getCustomPathWay() { + return $this->_custom_pathway; + } + + function appendPathWay($html) { + $this->_custom_pathway[] = $html; + } + + /** + * Gets the value of a user state variable + * @param string The name of the variable + */ + function getUserState( $var_name ) { + return is_array($this->_userstate) ? mosGetParam($this->_userstate, $var_name, null) : null; + } + /** + * Sets the value of a user state variable + * @param string The name of the variable + * @param string The value of the variable + */ + function setUserState( $var_name, $var_value ) { + if (is_array( $this->_userstate )) $this->_userstate[$var_name] = $var_value; + } + /** + * Gets the value of a user state variable + * @param string The name of the user state variable + * @param string The name of the variable passed in a request + * @param string The default value for the variable if not found + */ + function getUserStateFromRequest( $var_name, $req_name, $var_default=null ) { + if (is_array($this->_userstate)) { + if (isset($_REQUEST[$req_name])) $this->setUserState($var_name, $_REQUEST[$req_name]); + else if (isset($var_default) AND !isset($this->_userstate[$var_name])) $this->setUserState($var_name, $var_default); + return $this->_userstate[$var_name]; + } else { + return null; + } + } + /** + * Initialises the user session + * + * Old sessions are flushed based on the configuration value for the cookie + * lifetime. If an existing session, then the last access time is updated. + * If a new session, a session id is generated and a record is created in + * the mos_sessions table. + */ + function &initSession() { + $session =& mosSession::getCurrent(); + return $session; + } + + /** + * @param string The name of the variable (from configuration.php) + * @return mixed The value of the configuration variable or null if not found + */ + function getCfg( $varname ) { + return mamboCore::get('mosConfig_'.$varname); + } + + function _setTemplate( $isAdmin=false ) { + global $Itemid; + $cur_template = ''; + $sql = "SELECT template, client_id, menuid FROM #__templates_menu WHERE (client_id=0 or client_id=1)"; + if (isset($Itemid) AND $Itemid) $sql .= " AND (menuid=0 OR menuid=$Itemid)"; + else $sql .= " AND menuid=0"; + $sql .= " ORDER BY client_id, menuid"; + $this->_db->setQuery($sql); + $templates = $this->_db->loadObjectList(); + foreach ($templates as $template) { + if ($template->client_id == 1) { + if ($isAdmin) $cur_template = $template->template; + } + else $cur_template = $template->template; + } + if ($isAdmin) { + $path = mamboCore::get('mosConfig_absolute_path')."/administrator/templates/$cur_template/index.php"; + if (!file_exists( $path )) $cur_template = 'mambo_admin'; + } + else { + // TemplateChooser Start + $mos_user_template = mosGetParam( $_COOKIE, 'mos_user_template', '' ); + $mos_change_template = mosGetParam( $_REQUEST, 'mos_change_template', $mos_user_template ); + if ($mos_change_template) { + // check that template exists in case it was deleted + $path = mamboCore::get('mosConfig_absolute_path')."/templates/$mos_change_template/index.php"; + if (strpos($mos_change_template,'..') == false AND strpos($mos_change_template,':') == false AND file_exists($path)) { + $lifetime = 60*10; + $cur_template = $mos_change_template; + setcookie( "mos_user_template", "$mos_change_template", time()+$lifetime); + } else setcookie( "mos_user_template", "", time()-3600 ); + } + // TemplateChooser End + } + $this->_template = $cur_template; + } + + function getTemplate() { + return $this->_template; + } + + /** + * Checks to see if an image exists in the current templates image directory + * if it does it loads this image. Otherwise the default image is loaded. + * Also can be used in conjunction with the menulist param to create the chosen image + * load the default or use no image + */ + function ImageCheck( $file, $directory='/images/M_images/', $param=NULL, $param_directory='/images/M_images/', $alt=NULL, $name='image', $type=1, $align='middle' ) { + $basepath = mamboCore::get('mosConfig_live_site'); + if ($param) $image = $basepath.$param_directory.$param; + else { + $endpath = '/templates/'.$this->getTemplate().'/images/'.$file; + if (file_exists(mamboCore::get('mosConfig_absolute_path').$endpath)) $image = $basepath.$endpath; + else $image = $basepath.$directory.$file; // outputs only path to image + } + // outputs actual html tag + if ($type) $image = ''. $alt .''; + return $image; + } + + /** + * Returns the first to be found of one or more files, or null + * + */ + function tryFiles ($first_choice, $second_choice=null, $third_choice=null) { + if (file_exists($first_choice)) return $first_choice; + elseif ($second_choice AND file_exists($second_choice)) return $second_choice; + elseif ($third_choice AND file_exists($third_choice)) return $third_choice; + else return null; + } + + /** + * Returns a standard path variable + * + */ + function getPath( $varname, $option='' ) { + $base = mamboCore::get('mosConfig_absolute_path'); + $origoption = $option; + if (!$option) $option = $this->_option; + $name = substr($option,4); + $bac_admin = "$base/administrator/components/com_admin/"; + $baco = "$base/administrator/components/$option/"; + $bttc = "$base/templates/$this->_template/components/"; + $bco = "$base/components/$option/"; + $bai = "$base/administrator/includes/"; + $bi = "$base/includes/"; + + switch ($varname) { + case 'front': return $this->tryFiles ($bco."$name.php"); + case 'front_html': return $this->tryFiles ($bttc."$name.html.php", $bco."$name.html.php"); + case 'admin': return $this->tryFiles ($baco."admin.$name.php", $bac_admin.'admin.admin.php'); + case 'admin_html': return $this->tryFiles ($baco."admin.$name.html.php", $bac_admin.'admin.admin.html.php'); + case 'toolbar': return $this->tryFiles ($baco."toolbar.$name.php"); + case 'toolbar_html': return $this->tryFiles ($baco."toolbar.$name.html.php"); + case 'toolbar_default': return $this->tryFiles ($bai.'toolbar.html.php'); + case 'class': return $this->tryFiles ($bco."$name.class.php", $baco."$name.class.php", $bi."$name.php"); + case 'com_xml': return $this->tryFiles ($baco."$name.xml", $bco."$name.xml"); + case 'mod0_xml': + if ($origoption) $path = $base."/modules/$option.xml"; + else $path = $base.'/modules/custom.xml'; + return $this->tryFiles ($path); + case 'mod1_xml': + if ($origoption) $path = $base."/administrator/modules/$option.xml"; + else $path = $base.'/administrator/modules/custom.xml'; + return $this->tryFiles ($path); + case 'bot_xml': return $this->tryFiles ($base."/mambots/$option.xml"); + case 'menu_xml': return $this->tryFiles ($base."/administrator/components/com_menus/$option/$option.xml"); + case 'installer_html': return $this->tryFiles($base."/administrator/components/com_installer/$option/$option.html.php"); + case 'installer_class': return $this->tryFiles($base."/administrator/components/com_installer/$option/$option.class.php"); + } + } + + /** + * Detects a 'visit' + * + * This function updates the agent and domain table hits for a particular + * visitor. The user agent is recorded/incremented if this is the first visit. + * A cookie is set to mark the first visit. + */ + function detect() { + if (mamboCore::get('mosConfig_enable_stats') == 1) { + if (mosGetParam( $_COOKIE, 'mosvisitor', 0 )) return; + setcookie( "mosvisitor", "1" ); + + $agent = $_SERVER['HTTP_USER_AGENT']; + $browser = mosGetBrowser( $agent ); + $os = mosGetOS( $agent ); + $domain = gethostbyaddr( $_SERVER['REMOTE_ADDR'] ); + // tease out the last element of the domain + $tldomain = split( "\.", $domain ); + $tldomain = $tldomain[count( $tldomain )-1]; + if (is_numeric( $tldomain )) { + $tldomain = "Unknown"; + } + + $this->_db->setQuery( "SELECT count(*), type FROM #__stats_agents WHERE (agent='$browser' AND type=0) OR (agent='$os' AND type=1) OR (agent='$tldomain' AND type=2) GROUP BY type"); + $stats = $this->_db->loadObjectList(); + $sql['browser'] = "INSERT INTO #__stats_agents (agent,type) VALUES ('$browser',0)"; + $sql['os'] = "INSERT INTO #__stats_agents (agent,type) VALUES ('$os',1)"; + $sql['domain'] = "INSERT INTO #__stats_agents (agent,type) VALUES ('$tldomain',2)"; + if ($stats) foreach ($stats as $stat) { + if ($stat->type == 0) $sql['agents'] = "UPDATE #__stats_agents SET hits=(hits+1) WHERE agent='$browser' AND type=0"; + if ($stat->type == 1) $sql['os'] = "UPDATE #__stats_agents SET hits=(hits+1) WHERE agent='$os' AND type=1"; + if ($stat->type == 2) $sql['domain'] = "UPDATE #__stats_agents SET hits=(hits+1) WHERE agent='$tldomain' AND type=2"; + } + $this->_db->setQuery(implode('; ',$sql)); + $this->_db->query_batch(); + } + } + + /** + * @return correct Itemid for Content Item + */ + function getItemid ($id, $typed=1, $link=1, $bs=1, $bc=1, $gbs=1) { + require_once(mamboCore::get('mosConfig_absolute_path').'/components/com_content/content.class.php'); + $handler =& contentHandler::getInstance(); + return $handler->getItemid($id, $typed, $link, $bs, $bc, $gbs); + } + + function liveBookMark () { + // support for Firefox Live Bookmarks ability for site syndication + $c_handler =& mosComponentHandler::getInstance(); + $params = $c_handler->getParamsByName('Syndicate'); + $live_bookmark = $params->get( 'live_bookmark', 0 ); + if ($live_bookmark) { + // custom bookmark file name + $bookmark_file = $params->get( 'bookmark_file', $live_bookmark ); + $link_file = mamboCore::get('mosConfig_live_site').'/cache/'. $bookmark_file; + $filename = mamboCore::get('mosConfig_absolute_path').'/cache/'. $bookmark_file; + $cache = $params->get( 'cache', 1 ); + $cache_time = $params->get( 'cache_time', 3600 ); + $title = $params->def( 'title', mamboCore::get('mosConfig_sitename') ); + // checks to see if cache file exists, to determine whether to create a new one + if ( !file_exists( $filename ) || ( ( time() - filemtime( $filename ) ) > $cache_time ) ) { + $task = 'live_bookmark'; + // sets bookmark feed type + $_GET['feed'] = str_replace( '.xml', '', $live_bookmark ); + // loads rss component to create bookmark file + require_once( mamboCore::get('mosConfig_absolute_path').'/components/com_rss/rss.php' ); + } + // outputs link tag for page + ?> + + appendMetaTag( 'description', mamboCore::get('mosConfig_MetaDesc'), true ); + $this->appendMetaTag( 'keywords', mamboCore::get('mosConfig_MetaKeys'), true ); + echo $this->getHead(); + if (mamboCore::get('mosConfig_sef')) { + echo "\r\n"; + } + $my = mamboCore::get('currentUser'); + if ( $my->id ) { + ?> + + liveBookMark(); + // outputs link tag for page + $configuration =& mamboCore::getMamboCore(); + ?> + + "$path/", + 'caching' => $caching, + 'defaultGroup' => $group, + 'lifeTime' => $time + ); + $cache =& new Cache_Lite_Function( $options ); + return $cache; + } + /** + * Cleans the cache + */ + function cleanCache ($group=false) { + if (mamboCore::get('mosConfig_caching')) { + $cache =& mosCache::getCache( $group ); + $cache->clean( $group ); + } + } +} + +/** +* Session database table class +* @package Mambo +*/ +class mosSession extends mosDBTable { + /** @var int Primary key */ + var $session_id=null; + /** @var time */ + var $time=null; + /** @var int User ID */ + var $userid=0; + /** @var string */ + var $usertype=null; + /** @var string */ + var $username=''; + /** @var int User group ID */ + var $gid=0; + /** @var int */ + var $guest=1; + /** @var string */ + var $_session_cookie=null; + + /** + * @param database A database connector object + */ + function mosSession() { + $database =& mamboDatabase::getInstance(); + $this->mosDBTable( '#__session', 'session_id', $database ); + $this->time = time(); + } + + function validate ($user) { + // check against db record of session + $session_id = mosGetParam( $_SESSION, 'session_id', '' ); + $logintime = mosGetParam( $_SESSION, 'session_logintime', '' ); + if ($session_id == md5( $user->id.$user->username.$user->usertype.$logintime )) { + $current_time = time(); + $database =& mamboDatabase::getInstance(); + $database->setQuery ("UPDATE #__session" + . "\nSET time='$current_time', guest=-3-guest" + . "\nWHERE session_id='$session_id'" + . " AND username = '" . $database->getEscaped( $user->username ) . "'" + . " AND userid = " . intval( $user->id ) + ); + if (!$result = $database->query()) echo $database->stderr(); + elseif ($database->getAffectedRows() == 1) return true; + } + return false; + } + + function &getCurrent () { + static $currentSession; + if (!is_object($currentSession)) { + $currentSession = new mosSession(); + mosSession::purge(); + $sessionCookieName = md5('site'.mamboCore::get('mosConfig_live_site')); + $sessioncookie = mosGetParam($_COOKIE, $sessionCookieName, null); + $usercookie = mosGetParam($_COOKIE, 'usercookie', null); + if ($currentSession->load(md5($sessioncookie.$_SERVER['REMOTE_ADDR']))) { + // Session cookie exists, update time in session table + $currentSession->time = time(); + $currentSession->update(); + } else { + $currentSession->generateId(); + if (!$currentSession->insert()) { + die( $currentSession->getError() ); + } + setcookie( $sessionCookieName, $currentSession->getCookie(), time() + 43200, '/' ); + //$_COOKIE["sessioncookie"] = $session->getCookie(); + if ($usercookie) { + // Remember me cookie exists. Login with usercookie info. + require_once (mamboCore::get('mosConfig_absolute_path').'/includes/authenticator.php'); + $authenticator =& mamboAuthenticator::getInstance(); + $authenticator->authenticateUser ($message, $usercookie['username'], $usercookie['password'], null, $currentSession); + } + } + } + return $currentSession; + } + + function insert() { + $ret = $this->_db->insertObject( $this->_tbl, $this ); + + if( !$ret ) { + $this->_error = strtolower(get_class( $this ))."::store failed
      " . $this->_db->stderr(); + return false; + } else { + return true; + } + } + + function update( $updateNulls=false ) { + $ret = $this->_db->updateObject( $this->_tbl, $this, 'session_id', $updateNulls ); + + if( !$ret ) { + $this->_error = strtolower(get_class( $this ))."::store failed
      " . $this->_db->stderr(); + return false; + } else { + return true; + } + } + + function generateId() { + $failsafe = 20; + $randnum = 0; + while ($failsafe--) { + $randnum = md5( uniqid( microtime(), 1 ) ); + if ($randnum != "") { + $cryptrandnum = md5( $randnum ); + $this->_db->setQuery( "SELECT $this->_tbl_key FROM $this->_tbl WHERE $this->_tbl_key=MD5('$randnum')" ); + if(!($result = $this->_db->query())) { + die( $this->_db->stderr( true )); + // todo: handle gracefully + } + if ($this->_db->getNumRows($result) == 0) { + break; + } + } + } + $this->_session_cookie = $randnum; + $this->session_id = md5( $randnum . $_SERVER['REMOTE_ADDR'] ); + } + + function getCookie() { + return $this->_session_cookie; + } + + function purge() { + $past = time() - intval(mamboCore::get('mosConfig_lifetime')); + $adminpast = time() - 3600; + $database =& mamboDatabase::getInstance(); + $database->setQuery("DELETE FROM #__session WHERE (time<$past AND guest>=0) OR (time<$adminpast AND guest<0)"); + return $database->query(); + } + +} + +/** +* Parameters handler +* @package Mambo +*/ +class mosParameters { + /** @var object */ + var $_params = null; + /** @var string The raw params string */ + var $_raw = null; + /** +* Constructor +* @param string The raw parms text +* @param string Path to the xml setup file +* @var string The type of setup file +*/ + function mosParameters( $text, $process_sections = false) { + $this->_params = $this->parse( $text, $process_sections ); + $this->_raw = $text; + } + /** +* Get the result of parsing the string provided on creation +* @return string parsed result +*/ + function getParams () { + return $this->_params; + } + /** +* @param string The name of the param +* @param string The value of the parameter +* @return string The set value +*/ + function set( $key, $value='' ) { + $this->_params->$key = $value; + return $value; + } + /** +* Sets a default value if not alreay assigned +* @param string The name of the param +* @param string The value of the parameter +* @return string The set value +*/ + function def( $key, $value='' ) { + return $this->set( $key, $this->get( $key, $value ) ); + } + /** +* @param string The name of the param +* @param mixed The default value if not found +* @return string +*/ + function get( $key, $default='' ) { + if (isset( $this->_params->$key )) return $this->_params->$key === '' ? $default : $this->_params->$key; + else return $default; + } + /** +* Look to see if string is bracketed by opener and closer +* If so, extract and trim the bracketed string +* Otherwise, return a null string +**/ + function getBracketed ($text, $opener, $closer) { + if (strlen($text) > 1 AND ($text[0] != $opener OR substr($text,-1) != $closer)) return ''; + else return trim(substr($text,1,-1)); + } + /** +* Parse an .ini string, based on phpDocumentor phpDocumentor_parse_ini_file function +* @param mixed The ini string or array of lines +* @param boolean add an associative index for each section [in brackets] +* @return object +*/ + function parse( $txt, $process_sections = false ) { + $result = new stdClass(); + if (is_string($txt)) $lines = explode( "\n", $txt ); + elseif (is_array($txt)) $lines = $txt; + else return $result; + + $sec_name = ''; + $unparsed = 0; + + foreach ($lines as $line) { + // ignore comments and null lines + $line = trim($line); + if (strlen($line) == 0 OR $line[0] == ';') continue; + + if ($sec_name = $this->getBracketed($line, '[', ']')) { + if ($process_sections) $result->$sec_name = new stdClass(); + continue; + } + + if (count($propsetter = explode ('=', $line, 2)) == 2) { + $property = trim($propsetter[0]); + if ($pquoted = $this->getBracketed($property, '"', '"')) $property = stripcslashes($pquoted); + $value = trim($propsetter[1]); + if ($value == 'false') $value = false; + elseif ($value == 'true') $value = true; + else if ($vquoted = $this->getBracketed($value, '"', '"')) $value = stripcslashes($vquoted); + if ($process_sections AND $sec_name) $result->$sec_name->$property = $value; + else $result->$property = $value; + } + else { + $property = '__invalid' . $unparsed++ . '__'; + if ($process_sections AND $sec_name) $result->$sec_name->$property = $line; + else $result->$property = $line; + } + } + return $result; + } + /** + * @param string The name of the control, or the default text area if a setup file is not found + * @return string HTML + */ + function render( $name='params' ) { + if (is_file($this->_path)) { + $parser = new mosXMLParams ($this->_path, $this, $name); + if (count($parser->html)) return implode("\n", $parser->html); + } + $raw = $this->_raw; + return ""; + } + + /** + * special handling for textarea param + */ + function textareaHandling( &$txt ) { + foreach ($txt as $key=>$value) $txt[$key] = str_replace("\n", '
      ', $value); + return implode( "\n", $txt ); + } +} + +/** +* Page generation time +* @package Mambo +*/ +class mosProfiler { + var $start=0; + var $prefix=''; + + function mosProfiler( $prefix='' ) { + $this->start = $this->getmicrotime(); + $this->prefix = $prefix; + } + + function mark( $label ) { + return sprintf ( "\n
      $this->prefix %.3f $label
      ", $this->getmicrotime() - $this->start ); + } + + function getmicrotime(){ + list($usec, $sec) = explode(" ",microtime()); + return ((float)$usec + (float)$sec); + } +} +?> diff -ruN 4.6rc2/uploadfiles/includes/database.php 4.6-complete/uploadfiles/includes/database.php --- 4.6rc2/uploadfiles/includes/database.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/database.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1054 @@ +forceOffline(1); + if (!($this->_resource = @mysql_connect( $host, $user, $pass ))) $this->forceOffline(2); + if (!mysql_select_db($db)) $this->forceOffline(3); + $this->_table_prefix = $table_prefix; + } + + function forceOffline ($error_number) { + $mosSystemError = $error_number; + $basePath = dirname( __FILE__ ); + include $basePath . '/../configuration.php'; + include $basePath . '/../offline.php'; + exit(); + } + + function getNullDate () { + return $this->_null_date; + } + /** + * @param int + */ + function debug( $level ) { + $this->_debug = intval( $level ); + } + + function debug_trace () { + trigger_error( $this->_errorNum, E_USER_NOTICE ); + //echo "
      " . $this->_sql . "
      \n"; + if (function_exists('debug_backtrace')) { + foreach(debug_backtrace() as $back) { + if (@$back['file']) { + echo '
      '.$back['file'].':'.$back['line']; + } + } + } + } + /** + * @return int The error number for the most recent query + */ + function getErrorNum() { + return $this->_errorNum; + } + /** + * @return string The error message for the most recent query + */ + function getErrorMsg() { + return str_replace( array( "\n", "'" ), array( '\n', "\'" ), $this->_errorMsg ); + } + /** + * Get a database escaped string + * @return string + */ + function getEscaped( $text ) { + return mysql_escape_string( $text ); + } + /** + * Get a quoted database escaped string + * @return string + */ + function Quote( $text ) { + return '\'' . mysql_escape_string( $text ) . '\''; + } + /** + * Sets the SQL query string for later execution. + * + * @param string The SQL query + */ + function setBareQuery ($sql) { + $this->_sql = $sql; + } + /** + * Sets the SQL query string for later execution. + * + * This function replaces a string identifier $prefix with the + * string held is the _table_prefix class variable. + * + * @param string The SQL query + * @param string The common table prefix + */ + function setQuery( $sql, $prefix='#__' ) { + $this->setBareQuery ($this->replacePrefix($sql, $prefix)); +// This is maintenance code for catching particular SQL statements +// if (strpos($this->_sql,'SELECT menutype') === 0) debug_print_backtrace(); + } + + /** + * This function replaces a string identifier $prefix with the + * string held is the _table_prefix class variable. + * + * @param string The SQL query + * @param string The common table prefix + * @author thede, David McKinnis + */ + function replacePrefix ($sql, $prefix='#__') { + $done = ''; + while (strlen($sql)) { + $single = preg_match("/\'([^\\\']|\\.)*'/", $sql,$matches_single,PREG_OFFSET_CAPTURE); + if ($double = preg_match('/\"([^\\\"]|\\.)*"/', $sql,$matches_double,PREG_OFFSET_CAPTURE) OR $single) { + if ($single == 0 OR ($double AND $matches_double[0][1] < $matches_single[0][1])) { + $done .= str_replace($prefix, $this->_table_prefix, substr($sql,0,$matches_double[0][1])).$matches_double[0][0]; + $sql = substr($sql,$matches_double[0][1]+strlen($matches_double[0][0])); + } + else { + $done .= str_replace($prefix, $this->_table_prefix, substr($sql,0,$matches_single[0][1])).$matches_single[0][0]; + $sql = substr($sql,$matches_single[0][1]+strlen($matches_single[0][0])); + } + } + else return $done.str_replace($prefix, $this->_table_prefix,$sql); + } + return $done; + } + /** + * @return string The current value of the internal SQL vairable + */ + function getQuery($sql='') { + if ($sql == '') $sql = $this->_sql; + return "
      " . htmlspecialchars( $sql ) . "
      "; + } + /** + * Execute the query + * @return mixed A database resource if successful, FALSE if not. + */ + function query($sql = '') { + global $mosConfig_debug; + if ($sql == '') $sql = $this->_sql; + if ($this->_debug) $this->_log[] = $sql; + if ($this->_cursor = mysql_query($sql, $this->_resource)) { + $this->_errorNum = 0; + $this->_errorMsg = ''; + return $this->_cursor; + } + else { + $this->_errorNum = mysql_errno( $this->_resource ); + $this->_errorMsg = mysql_error( $this->_resource )." SQL=$sql"; + if ($this->_debug) $this->debug_trace(); + return false; + } + } + + function query_batch( $abort_on_error=true, $p_transaction_safe = false) { + $this->_errorNum = 0; + $this->_errorMsg = ''; + if ($p_transaction_safe) { + $si = mysql_get_server_info(); + preg_match_all( "/(\d+)\.(\d+)\.(\d+)/i", $si, $m ); + $prefix = ''; + if ($m[1] >= 4) $prefix = 'START TRANSACTION; '; + elseif ($m[2] >= 23) { + if ($m[3] >= 19) $prefix = 'BEGIN WORK; '; + elseif ($m[3] >= 17) $prefix = 'BEGIN; '; + } + if ($prefix) $this->_sql = $prefix.$this->_sql.'; COMMIT;'; + } + $query_split = preg_split ("/[;]+/", $this->_sql); + $error = 0; + foreach ($query_split as $command_line) { + $command_line = trim( $command_line ); + if ($command_line != '') { + if (!$this->query($command_line)) { + $error = 1; echo 'xxx '; + if ($abort_on_error) { + return $this->_cursor; + } + } + } + } + return $error ? false : true; + } + + /** + * Diagnostic function + */ + function explain() { + if (!($cur = $this->query("EXPLAIN ".$this->_sql))) return null; + $headline = $header = $body = ''; + $buf = ''; + $buf .= $this->getQuery("EXPLAIN ".$this->_sql); + while ($row = mysql_fetch_assoc($cur)) { + $body .= ""; + foreach ($row as $k=>$v) { + if ($headline == '') $header .= ""; + $body .= ""; + } + $headline = $header; + $body .= ""; + } + $buf .= "$headline$body
      $k$v

       "; + mysql_free_result( $cur ); + return "
      $buf
      "; + } + /** + * @return int The number of rows returned from the most recent query - SELECT only + */ + function getNumRows( $cur=null ) { + return mysql_num_rows( $cur ? $cur : $this->_cursor ); + } + + /** + * @return int The number of rows affected by the most recent query - INSERT, UPDATE, DELETE + */ + function getAffectedRows( ) { + return mysql_affected_rows( $this->_resource ); + } + + /** + * Load an array of retrieved database objects or values + * @param int Database cursor + * @param string The field name of a primary key + * @return array If key is empty as sequential list of returned records. + * If key is not empty then the returned array is indexed by the value + * the database key. Returns null if the query fails. + */ + function &retrieveResults ($key='', $max=0, $result_type='row') { + $results = array(); + $sql_function = 'mysql_fetch_'.$result_type; + if ($cur = $this->query()) { + while ($row = $sql_function($cur)) { + if ($key != '') $results[$row->$key] = $row; + else $results[] = $row; + if ($max AND count($results) >= $max) break; + } + mysql_free_result($cur); + } + return $results; + } + /** + * This method loads the first field of the first row returned by the query. + * + * @return The value returned in the query or null if the query failed. + */ + function loadResult() { + $results =& $this->retrieveResults('', 1, 'row'); + if (count($results)) return $results[0][0]; + else return null; + } + + /** + * Load an array of single field results into an array + */ + function loadResultArray($numinarray = 0) { + $results =& $this->retrieveResults('', 0, 'row'); + $values = array(); + foreach ($results as $result) $values[] = $result[$numinarray]; + if (count($values)) return $values; + else return null; + } + /** + * Load a assoc list of database rows + * @param string The field name of a primary key + * @return array If key is empty as sequential list of returned records. + */ + function loadAssocList( $key='' ) { + $results =& $this->retrieveResults($key, 0, 'assoc'); + if (count($results)) return $results[0][0]; + else return null; + } + /** + * Copy the named array content into the object as properties + * only existing properties of object are filled. when undefined in hash, properties wont be deleted + * @param array the input array + * @param obj byref the object to fill of any class + * @param string + * @param boolean + */ + function mosBindArrayToObject( $array, &$obj, $ignore='', $prefix=NULL, $checkSlashes=true ) { + if (!is_array($array) OR !is_object($obj)) return false; + if ($prefix == null) $prefix = ''; + foreach (get_object_vars($obj) as $k => $v) { + if( substr( $k, 0, 1 ) != '_' AND strpos($ignore, $k) === false) { + if (isset($array[$prefix.$k])) { + $obj->$k = ($checkSlashes AND get_magic_quotes_gpc()) ? $this->mosStripslashes( $array[$prefix.$k] ) : $array[$prefix.$k]; + } + } + } + return true; + } + + /** + * Strip slashes from strings or arrays of strings + * @param value the input string or array + */ + function mosStripslashes(&$value) { + if (is_string($value)) $ret = stripslashes($value); + else { + if (is_array($value)) { + $ret = array(); + while (list($key,$val) = each($value)) { + $ret[$key] = $this->mosStripslashes($val); + } // while + } else $ret = $value; + } // if + return $ret; + } // mosStripSlashes + + /** + * This global function loads the first row of a query into an object + * + * If an object is passed to this function, the returned row is bound to the existing elements of object. + * If object has a value of null, then all of the returned query fields returned in the object. + * @param string The SQL query + * @param object The address of variable + */ + function loadObject( &$object ) { + if ($object != null) { + $results =& $this->retrieveResults('', 1, 'assoc'); + if (count($results)) { + $this->mosBindArrayToObject($results[0], $object, null, null, false); + return true; + } + } + else { + $results =& $this->retrieveResults('', 1, 'object'); + if (count($results)) { + $object = $results[0]; + return true; + } + else $object = null; + } + return false; + } + /** + * Load a list of database objects + * @param string The field name of a primary key + * @return array If key is empty as sequential list of returned records. + * If key is not empty then the returned array is indexed by the value + * the database key. Returns null if the query fails. + */ + function loadObjectList( $key='' ) { + $results =& $this->retrieveResults($key, 0, 'object'); + if (count($results)) return $results; + else return null; + } + /** + * @return The first row of the query. + */ + function loadRow() { + $results =& $this->retrieveResults('', 1, 'row'); + if (count($results)) return $results[0]; + else return null; + } + /** + * Load a list of database rows (numeric column indexing) + * @param string The field name of a primary key + * @return array If key is empty as sequential list of returned records. + * If key is not empty then the returned array is indexed by the value + * the database key. Returns null if the query fails. + */ + function loadRowList( $key='' ) { + $results =& $this->retrieveResults('', 0, 'row'); + if (count($results)) return $results; + else return null; + } + + /** + * Document::db_insertObject() + * + * { Description } + * + * @param [type] $keyName + * @param [type] $verbose + */ + function insertObject( $table, &$object, $keyName = NULL, $verbose=false ) { + $fmtsql = "INSERT INTO $table ( %s ) VALUES ( %s ) "; + $fmtsql = $this->replacePrefix($fmtsql); + $fields = array(); + foreach (get_object_vars( $object ) as $k => $v) { + if (is_array($v) OR is_object($v) OR $v === NULL OR $k[0] == '_') continue; + $fields[] = "`$k`"; + $values[] = "'" . $this->getEscaped( $v ) . "'"; + } + if (!isset($fields)) die ('class database method insertObject - no fields'); + $this->setBareQuery( sprintf( $fmtsql, implode( ",", $fields ), implode( ",", $values ) ) ); + ($verbose) && print "$sql
      \n"; + if (!$this->query()) return false; + $id = mysql_insert_id(); + ($verbose) && print "id=[$id]
      \n"; + if ($keyName && $id) $object->$keyName = $id; + return true; + } + + /** + * Document::db_updateObject() + * + * { Description } + * + * @param [type] $updateNulls + */ + function updateObject( $table, &$object, $keyName, $updateNulls=true ) { + $fmtsql = "UPDATE $table SET %s WHERE %s"; + $fmtsql = $this->replacePrefix($fmtsql); + $tmp = array(); + foreach (get_object_vars( $object ) as $k => $v) { + if (is_array($v) OR is_object($v) OR $k[0] == '_' OR ($v === null AND !$updateNulls)) continue; + if( $k == $keyName ) { // PK not to be updated + $where = "$keyName='" . $this->getEscaped( $v ) . "'"; + continue; + } + if ($v) $v = $this->getEscaped($v); + $tmp[] = "`$k`='$v'"; + } + if (!isset($tmp)) return true; + if (!isset($where)) die ('database class updateObject method - no key value'); + $this->setBareQuery( sprintf( $fmtsql, implode( ",", $tmp ) , $where ) ); + return $this->query(); + } + + /** + * @param boolean If TRUE, displays the last SQL statement sent to the database + * @return string A standised error message + */ + function stderr( $showSQL = false ) { + return "DB function failed with error number $this->_errorNum" + ."
      $this->_errorMsg" + .($showSQL ? "
      SQL =
      $this->_sql
      " : ''); + } + + function insertid() + { + return mysql_insert_id(); + } + + function getVersion() + { + return mysql_get_server_info(); + } + + /** + * Fudge method for ADOdb compatibility + */ + function GenID( $foo1=null, $foo2=null ) { + return '0'; + } + /** + * @return array A list of all the tables in the database + */ + function getTableList() { + $this->setQuery( 'SHOW tables' ); + $this->query(); + return $this->loadResultArray(); + } + /** + * @param array A list of table names + * @return array A list the create SQL for the tables + */ + function getTableCreate( $tables ) { + $result = array(); + + foreach ($tables as $tblval) { + $this->setQuery( 'SHOW CREATE table ' . $tblval ); + $this->query(); + $result[$tblval] = $this->loadResultArray( 1 ); + } + + return $result; + } + /** + * @param array A list of table names + * @return array An array of fields by table + */ + function getTableFields( $tables ) { + $result = array(); + + foreach ($tables as $tblval) { + $this->setQuery( 'SHOW FIELDS FROM ' . $tblval ); + $this->query(); + $fields = $this->loadObjectList(); + foreach ($fields as $field) { + $result[$tblval][$field->Field] = preg_replace("/[(0-9)]/",'', $field->Type ); + } + } + + return $result; + } + + function displayLogged () { + echo count($this->_log).' queries executed'; + echo '
      ';
      +	 	foreach ($this->_log as $k=>$sql) {
      +	 	    echo $k+1 . "\n" . $sql . '
      '; + } + } + + /* Helper method - maybe should go into database itself */ + function doSQL ($sql) { + $this->setQuery($sql); + if (!$this->query()) { + echo "\n"; + exit(); + } + } + + /* Helper method - maybe could go into database itself */ + function &doSQLget ($sql, $classname) { + $this->setQuery($sql); + $rows = $this->loadObjectList(); + $target = get_class_vars($classname); + if ($rows) { + foreach ($rows as $row) { + $next = new $classname(0); + foreach ($target as $field=>$value) { + if (isset($row->$field)) $next->$field = $row->$field; + } + $result[] = $next; + } + } + else $result = array(); + return $result; + } + + +} + +class mamboDatabase extends database { + + function mamboDatabase () { + $host = mamboCore::get('mosConfig_host'); + $user = mamboCore::get('mosConfig_user'); + $pw = mamboCore::get('mosConfig_password'); + $db = mamboCore::get('mosConfig_db'); + $prefix = mamboCore::get('mosConfig_dbprefix'); + parent::database($host, $user, $pw, $db, $prefix); + } + + function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new mamboDatabase(); + return $instance; + } +} + +/** +* mosDBAbstractRow Abstract Class. +* @abstract +* @package Mambo +* @subpackage Database +* +* Parent classes to all database derived objects. Customisation will generally +* not involve tampering with this object. +* @package Mambo +* @author Martin Brampton counterpoint@mambo-foundation.org +*/ +class mosDBAbstractRow { + /** @var string Name of the table in the db schema relating to child class */ + var $_tbl = ''; + /** @var string Name of the primary key field in the table */ + var $_tbl_key = ''; + /** @var string Error message */ + var $_error = ''; + + /** + * Object constructor to set table and key field + * + * Can be overloaded/supplemented by the child class + * @param string $table name of the table in the db schema relating to child class + * @param string $key name of the primary key field in the table + */ + function mosDBAbstractRow ($table='', $keyname='id', $db='') { + if ($table) $this->_tbl = $table; + else $this->_tbl = $this->tableName(); + $this->_tbl_key = $keyname; + if (is_object($db)) $this->_db = $db; + } + + /** + * generic check method + * + * can be overloaded/supplemented by the child class + * @return boolean True if the object is ok + */ + function check() { + return true; + } + + /** + * Checks if this object lacks the property given by the parameter + * @param string The name of the property + * @return bool + */ + function lacks( $property ) { + $thisclass = get_class($this); + if (array_key_exists( $property, get_class_vars($thisclass) )) return false; + $this->_error = T_(sprintf('WARNING: %s does not support %s.', $thisclass, $property)); + return true; + } + + /** + /* Move a database row object up or down through the ordering + /* @param int positive to move up, negative to move down + /* @param string Additional conditions on the WHERE clause to limit the effect + */ + function move( $direction, $where='' ) { + $compops = array (-1 => '<', 0 => '=', 1 => '>'); + $relation = $compops[($direction>0)-($direction<0)]; + $ordering = ($relation == '<' ? 'DESC' : 'ASC'); + $k = $this->_tbl_key; + $o1 = $this->ordering; + $k1 = $this->$k; + $database = isset($this->_db) ? $this->_db : mamboDatabase::getInstance(); + $sql = "SELECT $k, ordering FROM $this->_tbl WHERE ordering $relation $o1"; + $sql .= ($where ? "\n AND $where" : '').' ORDER BY ordering '.$ordering.' LIMIT 1'; + $database->setQuery( $sql ); + if ($database->loadObject($row)) { + $o2 = $row->ordering; + $k2 = $row->$k; + $sql = "UPDATE $this->_tbl SET ordering = (ordering=$o1)*$o2 + (ordering=$o2)*$o1 WHERE $k = $k1 OR $k = $k2"; + $database->doSQL($sql); + } + } + /** + * Compacts the ordering sequence of the selected records + * @param string Additional conditions on WHERE clause to limit ordering to a particular subset of records + */ + function updateOrder( $where='', $cfid=null, $order=null ) { + if ($this->lacks('ordering')) return false; + $k = $this->_tbl_key; + if ($this->_tbl == "#__content_frontpage") $order2 = ", content_id DESC"; + else $order2 = ""; + + $database = isset($this->_db) ? $this->_db : mamboDatabase::getInstance(); + + if (!is_null($cfid) AND !is_null($order)) { + foreach ($cfid as $i=>$id) { + $o = intval($order[$i]); + $set[] = "(id=$id)*$o"; + } + $sql = "UPDATE $this->_tbl SET ordering = ".implode(' + ', $set).' WHERE id IN ('.implode(',', $cfid).')'; + $database->doSQL($sql); + } + + $sql = "SELECT $k, ordering FROM $this->_tbl " + . ($where ? "\nWHERE $where" : '') + . "\nORDER BY ordering$order2"; + $database->setQuery($sql); + if (!$rows = $database->loadObjectList()) { + $this->_error = $database->getErrorMsg(); + return false; + } + $i = 1; + foreach ($rows as $row) { + $sql = "UPDATE $this->_tbl SET ordering=$i WHERE $k = ".$row->$k; + $database->doSQL($sql); + $i++; + } + return true; + } + +} + + +/** +* mosDBTable Abstract Class. +* @abstract +* @package Mambo +* @subpackage Database +* +* Parent classes to all database derived objects. Customisation will generally +* not involve tampering with this object. +* @package Mambo +* @author Andrew Eddie _db->query()) return false; + $this->_error = $this->_db->getErrorMsg(); + return true; + } + /** + * Filters public properties + * @access protected + * @param array List of fields to ignore + */ + function filter( $ignoreList=null ) { + $callcheck = array('InputFilter', 'process'); + if (!is_callable($callcheck)) require_once(mamboCore::get('mosConfig_absolute_path').'/includes/phpInputFilter/class.inputfilter.php'); + // specific filters + $iFilter =& new InputFilter(); + if (is_array($ignoreList)) foreach ($this->getPublicProperties() as $k) { + if (!in_array($k, $ignoreList)) $this->$k = $iFilter->process($this->$k); + } + else foreach ($this->getPublicProperties() as $k) $this->$k = $iFilter->process($this->$k); + } + /** + * @return string Returns the error message + */ + function getError() { + return $this->_error; + } + /** + * Gets the value of the class variable + * @param string The name of the class variable + * @return mixed The value of the class var (or null if no var of that name exists) + */ + function get( $_property ) { + if(isset( $this->$_property )) return $this->$_property; + else return null; + } + /** + * Returns an array of public properties + * @return array + */ + function getPublicProperties() { + static $cache = null; + if (is_null( $cache )) { + $cache = array(); + foreach (get_class_vars( get_class( $this ) ) as $key=>$val) { + if (substr( $key, 0, 1 ) != '_') { + $cache[] = $key; + } + } + } + return $cache; + } + /** + * Set the value of the class variable + * @param string The name of the class variable + * @param mixed The value to assign to the variable + */ + function set( $_property, $_value ) { + $this->$_property = $_value; + } + /** + * binds a named array/hash to this object + * + * can be overloaded/supplemented by the child class + * @param array $hash named array + * @return null|string null is operation was satisfactory, otherwise returns an error + */ + function bind( $array, $ignore="" ) { + $database =& mamboDatabase::getInstance(); + if (is_array($array)) return $database->mosBindArrayToObject($array, $this, $ignore); + $this->_error = strtolower(get_class( $this ))."::bind failed."; + return false; + } + + /** + * binds an array/hash to this object + * @param int $oid optional argument, if not specifed then the value of current key is used + * @return any result from the database operation + */ + function load( $oid=null ) { + $k = $this->_tbl_key; + if ($oid !== null) { + $this->$k = $this->_db->getEscaped($oid); + } + if ($this->$k === null) return false; + $this->_db->setQuery("SELECT * FROM $this->_tbl WHERE $this->_tbl_key='".$this->$k."'" ); + return $this->_db->loadObject($this); + } + + /** + * Inserts a new row if id is zero or updates an existing row in the database table + * + * Can be overloaded/supplemented by the child class + * @param boolean If false, null object variables are not updated + * @return null|string null if successful otherwise returns and error message + */ + function store( $updateNulls=false ) { + $k = $this->_tbl_key; + global $migrate; + if( $this->$k && !$migrate) $ret = $this->_db->updateObject( $this->_tbl, $this, $this->_tbl_key, $updateNulls ); + else $ret = $this->_db->insertObject( $this->_tbl, $this, $this->_tbl_key ); + if( !$ret ) { + $this->_error = strtolower(get_class( $this ))."::store failed
      " . $this->_db->getErrorMsg(); + return false; + } else return true; + } + + /** + * Default delete method + * + * can be overloaded/supplemented by the child class + * @return true if successful otherwise returns and error message + */ + function delete( $oid=null ) { + $k = $this->_tbl_key; + if ($oid) $this->$k = intval( $oid ); + $this->_db->setQuery( "DELETE FROM $this->_tbl WHERE $this->_tbl_key = '".$this->$k."'" ); + if ($this->queryTestFailure()) return false; + return true; + } + + function checkout( $who, $oid=null ) { + if ($this->lacks('checked_out')) return false; + $k = $this->_tbl_key; + if ($oid !== null) $this->$k = $oid; + $time = date( "%Y-%m-%d H:i:s" ); + if (intval( $who )) { + // new way of storing editor, by id + $this->_db->setQuery( "UPDATE $this->_tbl" + . "\nSET checked_out='$who', checked_out_time='$time'" + . "\nWHERE $this->_tbl_key='".$this->$k."'" + ); + } else { + // old way of storing editor, by name + $this->_db->setQuery( "UPDATE $this->_tbl" + . "\nSET checked_out='1', checked_out_time='$time', editor='".$who."' " + . "\nWHERE $this->_tbl_key='".$this->$k."'" + ); + } + return $this->_db->query(); + } + + function checkin( $oid=null ) { + if ($this->lacks('checked_out')) return false; + $k = $this->_tbl_key; + if ($oid !== null) $this->$k = $oid; + $time = date("H:i:s"); + $this->_db->setQuery( "UPDATE $this->_tbl" + . "\nSET checked_out='0', checked_out_time='0000-00-00 00:00:00'" + . "\nWHERE $this->_tbl_key='".$this->$k."'" + ); + return $this->_db->query(); + } + + function hit( $oid=null ) { + $k = $this->_tbl_key; + if ($oid !== null) $this->$k = intval( $oid ); + $key = $this->$k; + $this->_db->setQuery( "UPDATE $this->_tbl SET hits=(hits+1) WHERE $this->_tbl_key='$key'" ); + $this->_db->query(); + + if (mamboCore::get('mosConfig_enable_log_items')) { + $now = date( "Y-m-d" ); + $this->_db->setQuery( "SELECT hits" + . "\nFROM #__core_log_items" + . "\nWHERE time_stamp='$now' AND item_table='$this->_tbl' AND item_id='$key'" + ); + $hits = intval( $this->_db->loadResult() ); + if ($hits) $this->_db->setQuery( "UPDATE #__core_log_items SET hits=(hits+1)" + . "\nWHERE time_stamp='$now' AND item_table='$this->_tbl' AND item_id='".$this->$k."'" + ); + else $this->_db->setQuery( "INSERT INTO #__core_log_items VALUES" + . "\n('$now','$this->_tbl','".$this->$k."','1')" + ); + $this->_db->query(); + } + } + + /** + * Generic save function + * @param array Source array for binding to class vars + * @param string Filter for the order updating + * @returns TRUE if completely successful, FALSE if partially or not succesful. + */ + function save( $source, $order_filter ) { + if (!$this->bind($_POST) OR !$this->check() OR !$this->store()OR !$this->checkin()) return false; + $filter_value = $this->$order_filter; + $this->updateOrder( $order_filter ? "`$order_filter`='$filter_value'" : "" ); + $this->_error = ''; + return true; + } + + /** + * Generic Publish/Unpublish function + * @param array An array of id numbers + * @param integer 0 if unpublishing, 1 if publishing + * @param integer The id of the user performnig the operation + */ + function publish_array( $cid=null, $publish=1, $myid=0 ) { + if (!is_array( $cid ) OR count( $cid ) < 1) { + $this->_error = "No items selected."; + return false; + } + $cids = implode( ',', $cid ); + $this->_db->setQuery( "UPDATE $this->_tbl SET published='$publish'" + . "\nWHERE $this->_tbl_key IN ($cids) AND (checked_out=0 OR checked_out='$myid')" + ); + if ($this->queryTestFailure()) return false; + if (count( $cid ) == 1) $this->checkin( $cid[0] ); + return true; + } + + /** + * Export item list to xml + * @param boolean Map foreign keys to text values + */ + function toXML( $mapKeysToText=false ) { + $xml = ' $v) { + if ($v === null OR is_array($v) OR is_object($v)) continue; + if ($k[0] == '_') continue; // internal field + $xml .= '<' . $k . '>'; + } + $xml .= ''; + return $xml; + } +} + +/** +* Abstract class for classes where the objects of the class can be relatively easily +* stored in a single database table. Can usually be adapted to more complex cases. +* Requires child classes to implement: tableName(), notSQL(). +* tableName() must return the name of the database table, using #__ in the usual Mambo way +* notSQL() must return an array of strings, where each string is the name of a +* variable that is NOT in the database table, or is not written explicitly, +* e.g. the auto-increment key. If this is the ONLY non-SQL field, then the +* child class need not implement it, as that it is already in the abstract class. +* Child classes may implement timeStampField, in which case it must return the name +* of a field that will have a timestamp placed in it whenever the DB is written. +*/ + +class mosTableEntry extends mosDBAbstractRow { + + /* Stores all POST data where the name matches an object variable name */ + function addPostData () { + foreach (get_class_vars(get_class($this)) as $field=>$value) { + if ($field!='id' AND $field[1] != '_' AND isset($_POST[$field])) { + $this->$field = trim($_POST[$field]); + } + } + $this->forceBools(); + } + + /* Provided in case child class does not implement it. Can force any values */ + /* within some limited range. In particular, can force bools to be 0 or 1 */ + function forceBools () { + return; + } + + /* Updates an existing DB entry with the object's current values */ + function updateObjectDB () { + $this->prepareValues(); + $database = mamboDatabase::getInstance(); + $database->doSQL($this->updateSQL()); + } + + /* Deletes the current object from the DB */ + function delete () { + $table = $this->tableName(); + $sql = "DELETE FROM $table WHERE id=$this->id"; + $database = mamboDatabase::getInstance(); + $database->doSQL($sql); + } + + /* Provided in case the child class does not provide a method for timeStampField */ + function timeStampField () { + return ''; + } + + /* Provides SQL for updating the DB with the contents of the current object */ + function updateSQL () { + $tabname = $this->tableName(); + $sql = "UPDATE $tabname SET %s WHERE id=$this->id"; + $exclude = $this->notSQL(); + foreach (get_class_vars(get_class($this)) as $field=>$value) { + if (!in_array($field,$exclude) AND $field[0] != '_') $setter[] = $field."='".$this->$field."'"; + } + $timestamp = $this->timeStampField(); + if ($timestamp) $setter[] = $timestamp."='".date('Y-m-d H:i:s')."'"; + return sprintf($sql,implode(',', $setter)); + } + + /* Default method for identifying fields not to be written to the DB */ + /* The child classes may override this and return more items in the array */ + function notSQL () { + return array ('id'); + } + + /* Provides SQL to insert the current object into the DB */ + function insertSQL () { + $tabname = $this->tableName(); + $sql = "INSERT INTO $tabname (%s) VALUES (%s)"; + $exclude = $this->notSQL(); + foreach (get_class_vars(get_class($this)) as $field=>$value) { + if (!in_array($field,$exclude) AND $field[0] != '_') { + $infields[] = $field; + $values[] = "'".$this->$field."'"; + } + } + $timestamp = $this->timeStampField(); + if ($timestamp) { + $infields[] = $timestamp; + $values[] = "'".date('Y-m-d H:i:s')."'"; + } + return sprintf($sql, implode(',', $infields), implode(',', $values)); + } + + /* Copies any matching fields from some arbitrary object into the current object */ + function setValues (&$anObject) { + foreach (get_class_vars(get_class($this)) as $field=>$value) { + if ($field != 'id' AND isset($anObject->$field)) $this->$field = $anObject->$field; + } + } + + /* Ensures values can safely be written to DB; assumes magic quotes forced off */ + function prepareValues () { + $database = mamboDatabase::getInstance(); + foreach (get_class_vars(get_class($this)) as $field=>$value) { + if (!is_numeric($this->$field) AND is_string($this->$field)) $this->$field = $database->getEscaped($this->$field); + } + } + + /* Takes some arbitrary SELECT type SQL and places the first or only result into the current object */ + function readDataBase($sql) { + $database = mamboDatabase::getInstance(); + $database->setQuery( $sql ); + if (!$database->loadObject($this)) $this->id = 0; + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/feedcreator.class.php 4.6-complete/uploadfiles/includes/feedcreator.class.php --- 4.6rc2/uploadfiles/includes/feedcreator.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/feedcreator.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1620 @@ +useCached(); // use cached version if age<1 hour +$rss->title = "PHP news"; +$rss->description = "daily news from the PHP scripting world"; + +//optional +$rss->descriptionTruncSize = 500; +$rss->descriptionHtmlSyndicated = true; + +$rss->link = "http://www.dailyphp.net/news"; +$rss->syndicationURL = "http://www.dailyphp.net/".$_SERVER["PHP_SELF"]; + +$image = new FeedImage(); +$image->title = "dailyphp.net logo"; +$image->url = "http://www.dailyphp.net/images/logo.gif"; +$image->link = "http://www.dailyphp.net"; +$image->description = "Feed provided by dailyphp.net. Click to visit."; + +//optional +$image->descriptionTruncSize = 500; +$image->descriptionHtmlSyndicated = true; + +$rss->image = $image; + +// get your news items from somewhere, e.g. your database: +mysql_select_db($dbHost, $dbUser, $dbPass); +$res = mysql_query("SELECT * FROM news ORDER BY newsdate DESC"); +while ($data = mysql_fetch_object($res)) { + $item = new FeedItem(); + $item->title = $data->title; + $item->link = $data->url; + $item->description = $data->short; + + //optional + item->descriptionTruncSize = 500; + item->descriptionHtmlSyndicated = true; + + $item->date = $data->newsdate; + $item->source = "http://www.dailyphp.net"; + $item->author = "John Doe"; + + $rss->addItem($item); +} + +// valid format strings are: RSS0.91, RSS1.0, RSS2.0, PIE0.1 (deprecated), +// MBOX, OPML, ATOM1.0, HTML, JS +echo $rss->saveFeed("RSS1.0", "news/feed.xml"); + + +*************************************************************************** +* A little setup * +**************************************************************************/ + +// no direct access +defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); + + +// your local timezone, set to "" to disable or for GMT +define("TIME_ZONE","+01:00"); + + + +/** + * Version string. + **/ +define("FEEDCREATOR_VERSION", "FeedCreator 1.7.2"); + + + +/** + * A FeedItem is a part of a FeedCreator feed. + * + * @author Kai Blankenhorn + * @since 1.3 + */ +class FeedItem extends HtmlDescribable { + /** + * Mandatory attributes of an item. + */ + var $title, $description, $link; + + /** + * Optional attributes of an item. + */ + var $author, $authorEmail, $image, $category, $comments, $guid, $source, $creator; + + /** + * Publishing date of an item. May be in one of the following formats: + * + * RFC 822: + * "Mon, 20 Jan 03 18:05:41 +0400" + * "20 Jan 03 18:05:41 +0000" + * + * ISO 8601: + * "2003-01-20T18:05:41+04:00" + * + * Unix: + * 1043082341 + */ + var $date; + + /** + * Any additional elements to include as an assiciated array. All $key => $value pairs + * will be included unencoded in the feed item in the form + * <$key>$value + * Again: No encoding will be used! This means you can invalidate or enhance the feed + * if $value contains markup. This may be abused to embed tags not implemented by + * the FeedCreator class used. + */ + var $additionalElements = Array(); + + // on hold + // var $source; +} + + + +/** + * An FeedImage may be added to a FeedCreator feed. + * @author Kai Blankenhorn + * @since 1.3 + */ +class FeedImage extends HtmlDescribable { + /** + * Mandatory attributes of an image. + */ + var $title, $url, $link; + + /** + * Optional attributes of an image. + */ + var $width, $height, $description; +} + + + +/** + * An HtmlDescribable is an item within a feed that can have a description that may + * include HTML markup. + */ +class HtmlDescribable { + /** + * Indicates whether the description field should be rendered in HTML. + */ + var $descriptionHtmlSyndicated; + + /** + * Indicates whether and to how many characters a description should be truncated. + */ + var $descriptionTruncSize; + + /** + * Returns a formatted description field, depending on descriptionHtmlSyndicated and + * $descriptionTruncSize properties + * @return string the formatted description + */ + function getDescription() { + $descriptionField = new FeedHtmlField($this->description); + $descriptionField->syndicateHtml = $this->descriptionHtmlSyndicated; + $descriptionField->truncSize = $this->descriptionTruncSize; + return $descriptionField->output(); + } + +} + + +/** + * An FeedHtmlField describes and generates + * a feed, item or image html field (probably a description). Output is + * generated based on $truncSize, $syndicateHtml properties. + * @author Pascal Van Hecke + * @version 1.6 + */ +class FeedHtmlField { + /** + * Mandatory attributes of a FeedHtmlField. + */ + var $rawFieldContent; + + /** + * Optional attributes of a FeedHtmlField. + * + */ + var $truncSize, $syndicateHtml; + + /** + * Creates a new instance of FeedHtmlField. + * @param $string: if given, sets the rawFieldContent property + */ + function FeedHtmlField($parFieldContent) { + if ($parFieldContent) { + $this->rawFieldContent = $parFieldContent; + } + } + + + /** + * Creates the right output, depending on $truncSize, $syndicateHtml properties. + * @return string the formatted field + */ + function output() { + // when field available and syndicated in html we assume + // - valid html in $rawFieldContent and we enclose in CDATA tags + // - no truncation (truncating risks producing invalid html) + if (!$this->rawFieldContent) { + $result = ""; + } elseif ($this->syndicateHtml) { + $result = "rawFieldContent."]]>"; + } else { + if ($this->truncSize and is_int($this->truncSize)) { + $result = FeedCreator::iTrunc(htmlspecialchars($this->rawFieldContent),$this->truncSize); + } else { + $result = htmlspecialchars($this->rawFieldContent); + } + } + return $result; + } + +} + + + +/** + * UniversalFeedCreator lets you choose during runtime which + * format to build. + * For general usage of a feed class, see the FeedCreator class + * below or the example above. + * + * @since 1.3 + * @author Kai Blankenhorn + */ +class UniversalFeedCreator extends FeedCreator { + var $_feed; + + function _setFormat($format) { + switch (strtoupper($format)) { + + case "2.0": + // fall through + case "RSS2.0": + $this->_feed = new RSSCreator20(); + break; + + case "1.0": + // fall through + case "RSS1.0": + $this->_feed = new RSSCreator10(); + break; + + case "0.91": + // fall through + case "RSS0.91": + $this->_feed = new RSSCreator091(); + break; + + case "PIE0.1": + $this->_feed = new PIECreator01(); + break; + + case "MBOX": + $this->_feed = new MBOXCreator(); + break; + + case "OPML": + $this->_feed = new OPMLCreator(); + break; + + case "ATOM": + // fall through + + case "ATOM1.0": + $this->_feed = new AtomCreator10(); + break; + + case "HTML": + $this->_feed = new HTMLCreator(); + break; + + case "JS": + // fall through + case "JAVASCRIPT": + $this->_feed = new JSCreator(); + break; + + default: + $this->_feed = new RSSCreator091(); + break; + } + + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + // prevent overwriting of properties "contentType", "encoding"; do not copy "_feed" itself + if (!in_array($key, array("_feed", "contentType", "encoding"))) { + $this->_feed->{$key} = $this->{$key}; + } + } + } + + /** + * Creates a syndication feed based on the items previously added. + * + * @see FeedCreator::addItem() + * @param string format format the feed should comply to. Valid values are: + * "PIE0.1", "mbox", "RSS0.91", "RSS1.0", "RSS2.0", "OPML", "ATOM1.0", "HTML", "JS" + * @return string the contents of the feed. + */ + function createFeed($format = "RSS0.91") { + $this->_setFormat($format); + return $this->_feed->createFeed(); + } + + + + /** + * Saves this feed as a file on the local disk. After the file is saved, an HTTP redirect + * header may be sent to redirect the use to the newly created file. + * @since 1.4 + * + * @param string format format the feed should comply to. Valid values are: + * "PIE0.1" (deprecated), "mbox", "RSS0.91", "RSS1.0", "RSS2.0", "OPML", "ATOM1.0", "HTML", "JS" + * @param string filename optional the filename where a recent version of the feed is saved. If not specified, the filename is $_SERVER["PHP_SELF"] with the extension changed to .xml (see _generateFilename()). + * @param boolean displayContents optional send the content of the file or not. If true, the file will be sent in the body of the response. + */ + function saveFeed($format="RSS0.91", $filename="", $displayContents=true) { + $this->_setFormat($format); + $this->_feed->saveFeed($filename, $displayContents); + } + + + /** + * Turns on caching and checks if there is a recent version of this feed in the cache. + * If there is, an HTTP redirect header is sent. + * To effectively use caching, you should create the FeedCreator object and call this method + * before anything else, especially before you do the time consuming task to build the feed + * (web fetching, for example). + * + * @param string format format the feed should comply to. Valid values are: + * "PIE0.1" (deprecated), "mbox", "RSS0.91", "RSS1.0", "RSS2.0", "OPML", "ATOM1.0". + * @param filename string optional the filename where a recent version of the feed is saved. If not specified, the filename is $_SERVER["PHP_SELF"] with the extension changed to .xml (see _generateFilename()). + * @param timeout int optional the timeout in seconds before a cached version is refreshed (defaults to 3600 = 1 hour) + */ + function useCached($format="RSS0.91", $filename="", $timeout=3600) { + $this->_setFormat($format); + $this->_feed->useCached($filename, $timeout); + } + +} + + +/** + * FeedCreator is the abstract base implementation for concrete + * implementations that implement a specific format of syndication. + * + * @abstract + * @author Kai Blankenhorn + * @since 1.4 + */ +class FeedCreator extends HtmlDescribable { + + /** + * Mandatory attributes of a feed. + */ + var $title, $description, $link; + + + /** + * Optional attributes of a feed. + */ + var $syndicationURL, $image, $language, $copyright, $pubDate, $lastBuildDate, $editor, $editorEmail, $webmaster, $category, $docs, $ttl, $rating, $skipHours, $skipDays; + + /** + * The url of the external xsl stylesheet used to format the naked rss feed. + * Ignored in the output when empty. + */ + var $xslStyleSheet = ""; + + + /** + * @access private + */ + var $items = Array(); + + + /** + * This feed's MIME content type. + * @since 1.4 + * @access private + */ + var $contentType = "application/xml"; + + + /** + * This feed's character encoding. + * @since 1.6.1 + **/ + var $encoding = "ISO-8859-1"; + + + /** + * Any additional elements to include as an assiciated array. All $key => $value pairs + * will be included unencoded in the feed in the form + * <$key>$value + * Again: No encoding will be used! This means you can invalidate or enhance the feed + * if $value contains markup. This may be abused to embed tags not implemented by + * the FeedCreator class used. + */ + var $additionalElements = Array(); + + + /** + * Adds an FeedItem to the feed. + * + * @param object FeedItem $item The FeedItem to add to the feed. + * @access public + */ + function addItem($item) { + $this->items[] = $item; + } + + + /** + * Truncates a string to a certain length at the most sensible point. + * First, if there's a '.' character near the end of the string, the string is truncated after this character. + * If there is no '.', the string is truncated after the last ' ' character. + * If the string is truncated, " ..." is appended. + * If the string is already shorter than $length, it is returned unchanged. + * + * @static + * @param string string A string to be truncated. + * @param int length the maximum length the string should be truncated to + * @return string the truncated string + */ + function iTrunc($string, $length) { + if (strlen($string)<=$length) { + return $string; + } + + $pos = strrpos($string,"."); + if ($pos>=$length-4) { + $string = substr($string,0,$length-4); + $pos = strrpos($string,"."); + } + if ($pos>=$length*0.4) { + return substr($string,0,$pos+1)." ..."; + } + + $pos = strrpos($string," "); + if ($pos>=$length-4) { + $string = substr($string,0,$length-4); + $pos = strrpos($string," "); + } + if ($pos>=$length*0.4) { + return substr($string,0,$pos)." ..."; + } + + return substr($string,0,$length-4)." ..."; + + } + + + /** + * Creates a comment indicating the generator of this feed. + * The format of this comment seems to be recognized by + * Syndic8.com. + */ + function _createGeneratorComment() { + return "\n"; + } + + + /** + * Creates a string containing all additional elements specified in + * $additionalElements. + * @param elements array an associative array containing key => value pairs + * @param indentString string a string that will be inserted before every generated line + * @return string the XML tags corresponding to $additionalElements + */ + function _createAdditionalElements($elements, $indentString="") { + $ae = ""; + if (is_array($elements)) { + foreach($elements AS $key => $value) { + $ae.= $indentString."<$key>$value\n"; + } + } + return $ae; + } + + function _createStylesheetReferences() { + $xml = ""; + if ($this->cssStyleSheet) $xml .= "cssStyleSheet."\" type=\"text/css\"?>\n"; + if ($this->xslStyleSheet) $xml .= "xslStyleSheet."\" type=\"text/xsl\"?>\n"; + return $xml; + } + + + /** + * Builds the feed's text. + * @abstract + * @return string the feed's complete text + */ + function createFeed() { + } + + /** + * Generate a filename for the feed cache file. The result will be $_SERVER["PHP_SELF"] with the extension changed to .xml. + * For example: + * + * echo $_SERVER["PHP_SELF"]."\n"; + * echo FeedCreator::_generateFilename(); + * + * would produce: + * + * /rss/latestnews.php + * latestnews.xml + * + * @return string the feed cache filename + * @since 1.4 + * @access private + */ + function _generateFilename() { + $fileInfo = pathinfo($_SERVER["PHP_SELF"]); + return substr($fileInfo["basename"],0,-(strlen($fileInfo["extension"])+1)).".xml"; + } + + + /** + * @since 1.4 + * @access private + */ + function _redirect($filename) { + // attention, heavily-commented-out-area + + // maybe use this in addition to file time checking + //Header("Expires: ".date("r",time()+$this->_timeout)); + + /* no caching at all, doesn't seem to work as good: + Header("Cache-Control: no-cache"); + Header("Pragma: no-cache"); + */ + + // HTTP redirect, some feed readers' simple HTTP implementations don't follow it + //Header("Location: ".$filename); + + //Header("Content-Type: ".$this->contentType."; charset=".$this->encoding."; filename=".basename($filename)); + Header("Content-Type: ".$this->contentType."; charset=".$this->encoding); + Header("Content-Disposition: inline; filename=".basename($filename)); + readfile($filename, "r"); + die(); + } + + /** + * Turns on caching and checks if there is a recent version of this feed in the cache. + * If there is, an HTTP redirect header is sent. + * To effectively use caching, you should create the FeedCreator object and call this method + * before anything else, especially before you do the time consuming task to build the feed + * (web fetching, for example). + * @since 1.4 + * @param filename string optional the filename where a recent version of the feed is saved. If not specified, the filename is $_SERVER["PHP_SELF"] with the extension changed to .xml (see _generateFilename()). + * @param timeout int optional the timeout in seconds before a cached version is refreshed (defaults to 3600 = 1 hour) + */ + function useCached($filename="", $timeout=3600) { + $this->_timeout = $timeout; + if ($filename=="") { + $filename = $this->_generateFilename(); + } + if (file_exists($filename) AND (time()-filemtime($filename) < $timeout)) { + $this->_redirect($filename); + } + } + + + /** + * Saves this feed as a file on the local disk. After the file is saved, a redirect + * header may be sent to redirect the user to the newly created file. + * @since 1.4 + * + * @param filename string optional the filename where a recent version of the feed is saved. If not specified, the filename is $_SERVER["PHP_SELF"] with the extension changed to .xml (see _generateFilename()). + * @param redirect boolean optional send an HTTP redirect header or not. If true, the user will be automatically redirected to the created file. + */ + function saveFeed($filename="", $displayContents=true) { + if ($filename=="") { + $filename = $this->_generateFilename(); + } + $feedFile = fopen($filename, "w+"); + if ($feedFile) { + fputs($feedFile,$this->createFeed()); + fclose($feedFile); + if ($displayContents) { + $this->_redirect($filename); + } + } else { + echo "
      Error creating feed file, please check write permissions.
      "; + } + } + +} + + +/** + * FeedDate is an internal class that stores a date for a feed or feed item. + * Usually, you won't need to use this. + */ +class FeedDate { + var $unix; + + /** + * Creates a new instance of FeedDate representing a given date. + * Accepts RFC 822, ISO 8601 date formats as well as unix time stamps. + * @param mixed $dateString optional the date this FeedDate will represent. If not specified, the current date and time is used. + */ + function FeedDate($dateString="") { + if ($dateString=="") $dateString = date("r"); + + if (is_integer($dateString)) { + $this->unix = $dateString; + return; + } + if (preg_match("~(?:(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s+)?(\\d{1,2})\\s+([a-zA-Z]{3})\\s+(\\d{4})\\s+(\\d{2}):(\\d{2}):(\\d{2})\\s+(.*)~",$dateString,$matches)) { + $months = Array("Jan"=>1,"Feb"=>2,"Mar"=>3,"Apr"=>4,"May"=>5,"Jun"=>6,"Jul"=>7,"Aug"=>8,"Sep"=>9,"Oct"=>10,"Nov"=>11,"Dec"=>12); + $this->unix = mktime($matches[4],$matches[5],$matches[6],$months[$matches[2]],$matches[1],$matches[3]); + if (substr($matches[7],0,1)=='+' OR substr($matches[7],0,1)=='-') { + $tzOffset = (substr($matches[7],0,3) * 60 + substr($matches[7],-2)) * 60; + } else { + if (strlen($matches[7])==1) { + $oneHour = 3600; + $ord = ord($matches[7]); + if ($ord < ord("M")) { + $tzOffset = (ord("A") - $ord - 1) * $oneHour; + } elseif ($ord >= ord("M") AND $matches[7]!="Z") { + $tzOffset = ($ord - ord("M")) * $oneHour; + } elseif ($matches[7]=="Z") { + $tzOffset = 0; + } + } + switch ($matches[7]) { + case "UT": + case "GMT": $tzOffset = 0; + } + } + $this->unix += $tzOffset; + return; + } + if (preg_match("~(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})(.*)~",$dateString,$matches)) { + $this->unix = mktime($matches[4],$matches[5],$matches[6],$matches[2],$matches[3],$matches[1]); + if (substr($matches[7],0,1)=='+' OR substr($matches[7],0,1)=='-') { + $tzOffset = (substr($matches[7],0,3) * 60 + substr($matches[7],-2)) * 60; + } else { + if ($matches[7]=="Z") { + $tzOffset = 0; + } + } + $this->unix += $tzOffset; + return; + } + $this->unix = 0; + } + + /** + * Gets the date stored in this FeedDate as an RFC 822 date. + * + * @return a date in RFC 822 format + */ + function rfc822() { + //return gmdate("r",$this->unix); + $date = gmdate("D, d M Y H:i:s", $this->unix); + if (TIME_ZONE!="") $date .= " ".str_replace(":","",TIME_ZONE); + return $date; + } + + /** + * Gets the date stored in this FeedDate as an ISO 8601 date. + * + * @return a date in ISO 8601 format + */ + function iso8601() { + $date = gmdate("Y-m-d\TH:i:sO",$this->unix); + $date = substr($date,0,22) . ':' . substr($date,-2); + if (TIME_ZONE!="") $date = str_replace("+00:00",TIME_ZONE,$date); + return $date; + } + + /** + * Gets the date stored in this FeedDate as unix time stamp. + * + * @return a date as a unix time stamp + */ + function unix() { + return $this->unix; + } +} + + +/** + * RSSCreator10 is a FeedCreator that implements RDF Site Summary (RSS) 1.0. + * + * @see http://www.purl.org/rss/1.0/ + * @since 1.3 + * @author Kai Blankenhorn + */ +class RSSCreator10 extends FeedCreator { + + /** + * Builds the RSS feed's text. The feed will be compliant to RDF Site Summary (RSS) 1.0. + * The feed will contain all items previously added in the same order. + * @return string the feed's complete text + */ + function createFeed() { + $feed = "encoding."\"?>\n"; + $feed.= $this->_createGeneratorComment(); + if ($this->cssStyleSheet=="") { + $cssStyleSheet = "http://www.w3.org/2000/08/w3c-synd/style.css"; + } + $feed.= $this->_createStylesheetReferences(); + $feed.= "\n"; + $feed.= " syndicationURL."\">\n"; + $feed.= " ".htmlspecialchars($this->title)."\n"; + $feed.= " ".htmlspecialchars($this->description)."\n"; + $feed.= " ".$this->link."\n"; + if ($this->image!=null) { + $feed.= " image->url."\" />\n"; + } + $now = new FeedDate(); + $feed.= " ".htmlspecialchars($now->iso8601())."\n"; + $feed.= " \n"; + $feed.= " \n"; + for ($i=0;$iitems);$i++) { + $feed.= " items[$i]->link)."\"/>\n"; + } + $feed.= " \n"; + $feed.= " \n"; + $feed.= " \n"; + if ($this->image!=null) { + $feed.= " image->url."\">\n"; + $feed.= " ".$this->image->title."\n"; + $feed.= " ".$this->image->link."\n"; + $feed.= " ".$this->image->url."\n"; + $feed.= " \n"; + } + $feed.= $this->_createAdditionalElements($this->additionalElements, " "); + + for ($i=0;$iitems);$i++) { + $feed.= " items[$i]->link)."\">\n"; + //$feed.= " Posting\n"; + $feed.= " text/html\n"; + if ($this->items[$i]->date!=null) { + $itemDate = new FeedDate($this->items[$i]->date); + $feed.= " ".htmlspecialchars($itemDate->iso8601())."\n"; + } + if ($this->items[$i]->source!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->source)."\n"; + } + if ($this->items[$i]->author!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->author)."\n"; + } + $feed.= " ".htmlspecialchars(strip_tags(strtr($this->items[$i]->title,"\n\r"," ")))."\n"; + $feed.= " ".htmlspecialchars($this->items[$i]->link)."\n"; + $feed.= " ".htmlspecialchars($this->items[$i]->description)."\n"; + $feed.= $this->_createAdditionalElements($this->items[$i]->additionalElements, " "); + $feed.= " \n"; + } + $feed.= "\n"; + return $feed; + } +} + + + +/** + * RSSCreator091 is a FeedCreator that implements RSS 0.91 Spec, revision 3. + * + * @see http://my.netscape.com/publish/formats/rss-spec-0.91.html + * @since 1.3 + * @author Kai Blankenhorn + */ +class RSSCreator091 extends FeedCreator { + + /** + * Stores this RSS feed's version number. + * @access private + */ + var $RSSVersion; + + function RSSCreator091() { + $this->_setRSSVersion("0.91"); + $this->contentType = "application/rss+xml"; + } + + /** + * Sets this RSS feed's version number. + * @access private + */ + function _setRSSVersion($version) { + $this->RSSVersion = $version; + } + + /** + * Builds the RSS feed's text. The feed will be compliant to RDF Site Summary (RSS) 1.0. + * The feed will contain all items previously added in the same order. + * @return string the feed's complete text + */ + function createFeed() { + $feed = "encoding."\"?>\n"; + $feed.= $this->_createGeneratorComment(); + $feed.= $this->_createStylesheetReferences(); + $feed.= "RSSVersion."\">\n"; + $feed.= " \n"; + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars($this->title),100)."\n"; + $this->descriptionTruncSize = 500; + $feed.= " ".$this->getDescription()."\n"; + $feed.= " ".$this->link."\n"; + $now = new FeedDate(); + $feed.= " ".htmlspecialchars($now->rfc822())."\n"; + $feed.= " ".FEEDCREATOR_VERSION."\n"; + + if ($this->image!=null) { + $feed.= " \n"; + $feed.= " ".$this->image->url."\n"; + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars($this->image->title),100)."\n"; + $feed.= " ".$this->image->link."\n"; + if ($this->image->width!="") { + $feed.= " ".$this->image->width."\n"; + } + if ($this->image->height!="") { + $feed.= " ".$this->image->height."\n"; + } + if ($this->image->description!="") { + $feed.= " ".$this->image->getDescription()."\n"; + } + $feed.= " \n"; + } + if ($this->language!="") { + $feed.= " ".$this->language."\n"; + } + if ($this->copyright!="") { + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars($this->copyright),100)."\n"; + } + if ($this->editor!="") { + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars($this->editor),100)."\n"; + } + if ($this->webmaster!="") { + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars($this->webmaster),100)."\n"; + } + if ($this->pubDate!="") { + $pubDate = new FeedDate($this->pubDate); + $feed.= " ".htmlspecialchars($pubDate->rfc822())."\n"; + } + if ($this->category!="") { + $feed.= " ".htmlspecialchars($this->category)."\n"; + } + if ($this->docs!="") { + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars($this->docs),500)."\n"; + } + if ($this->ttl!="") { + $feed.= " ".htmlspecialchars($this->ttl)."\n"; + } + if ($this->rating!="") { + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars($this->rating),500)."\n"; + } + if ($this->skipHours!="") { + $feed.= " ".htmlspecialchars($this->skipHours)."\n"; + } + if ($this->skipDays!="") { + $feed.= " ".htmlspecialchars($this->skipDays)."\n"; + } + $feed.= $this->_createAdditionalElements($this->additionalElements, " "); + + for ($i=0;$iitems);$i++) { + $feed.= " \n"; + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars(strip_tags($this->items[$i]->title)),100)."\n"; + $feed.= " ".htmlspecialchars($this->items[$i]->link)."\n"; + $feed.= " ".$this->items[$i]->getDescription()."\n"; + + if ($this->items[$i]->author!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->author)."\n"; + } + /* + // on hold + if ($this->items[$i]->source!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->source)."\n"; + } + */ + if ($this->items[$i]->category!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->category)."\n"; + } + if ($this->items[$i]->comments!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->comments)."\n"; + } + if ($this->items[$i]->date!="") { + $itemDate = new FeedDate($this->items[$i]->date); + $feed.= " ".htmlspecialchars($itemDate->rfc822())."\n"; + } + if ($this->items[$i]->guid!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->guid)."\n"; + } + $feed.= $this->_createAdditionalElements($this->items[$i]->additionalElements, " "); + $feed.= " \n"; + } + $feed.= " \n"; + $feed.= "\n"; + return $feed; + } +} + + + +/** + * RSSCreator20 is a FeedCreator that implements RDF Site Summary (RSS) 2.0. + * + * @see http://backend.userland.com/rss + * @since 1.3 + * @author Kai Blankenhorn + */ +class RSSCreator20 extends RSSCreator091 { + + function RSSCreator20() { + parent::_setRSSVersion("2.0"); + } + +} + + +/** + * PIECreator01 is a FeedCreator that implements the emerging PIE specification, + * as in http://intertwingly.net/wiki/pie/Syntax. + * + * @deprecated + * @since 1.3 + * @author Scott Reynen and Kai Blankenhorn + */ +class PIECreator01 extends FeedCreator { + + function PIECreator01() { + $this->encoding = "utf-8"; + } + + function createFeed() { + $feed = "encoding."\"?>\n"; + $feed.= $this->_createStylesheetReferences(); + $feed.= "\n"; + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars($this->title),100)."\n"; + $this->truncSize = 500; + $feed.= " ".$this->getDescription()."\n"; + $feed.= " ".$this->link."\n"; + for ($i=0;$iitems);$i++) { + $feed.= " \n"; + $feed.= " ".FeedCreator::iTrunc(htmlspecialchars(strip_tags($this->items[$i]->title)),100)."\n"; + $feed.= " ".htmlspecialchars($this->items[$i]->link)."\n"; + $itemDate = new FeedDate($this->items[$i]->date); + $feed.= " ".htmlspecialchars($itemDate->iso8601())."\n"; + $feed.= " ".htmlspecialchars($itemDate->iso8601())."\n"; + $feed.= " ".htmlspecialchars($itemDate->iso8601())."\n"; + $feed.= " ".htmlspecialchars($this->items[$i]->guid)."\n"; + if ($this->items[$i]->author!="") { + $feed.= " \n"; + $feed.= " ".htmlspecialchars($this->items[$i]->author)."\n"; + if ($this->items[$i]->authorEmail!="") { + $feed.= " ".$this->items[$i]->authorEmail."\n"; + } + $feed.=" \n"; + } + $feed.= " \n"; + $feed.= "
      ".$this->items[$i]->getDescription()."
      \n"; + $feed.= "
      \n"; + $feed.= "
      \n"; + } + $feed.= "
      \n"; + return $feed; + } +} + + +/** + * DEPRICATED + * + * + * AtomCreator03 is a FeedCreator that implements the atom specification, + * as in http://www.intertwingly.net/wiki/pie/FrontPage. + * Please note that just by using AtomCreator03 you won't automatically + * produce valid atom files. For example, you have to specify either an editor + * for the feed or an author for every single feed item. + * + * Some elements have not been implemented yet. These are (incomplete list): + * author URL, item author's email and URL, item contents, alternate links, + * other link content types than text/html. Some of them may be created with + * AtomCreator03::additionalElements. + * + * @see FeedCreator#additionalElements + * @since 1.6 + * @author Kai Blankenhorn , Scott Reynen + */ +class AtomCreator03 extends FeedCreator { + + function AtomCreator03() { + $this->contentType = "application/atom+xml"; + $this->encoding = "utf-8"; + } + + function createFeed() { + $feed = "encoding."\"?>\n"; + $feed.= $this->_createGeneratorComment(); + $feed.= $this->_createStylesheetReferences(); + $feed.= "language!="") { + $feed.= " xml:lang=\"".$this->language."\""; + } + $feed.= ">\n"; + $feed.= " ".htmlspecialchars($this->title)."\n"; + $feed.= " ".htmlspecialchars($this->description)."\n"; + $feed.= " link)."\"/>\n"; + $feed.= " ".htmlspecialchars($this->link)."\n"; + $now = new FeedDate(); + $feed.= " ".htmlspecialchars($now->iso8601())."\n"; + if ($this->editor!="") { + $feed.= " \n"; + $feed.= " ".$this->editor."\n"; + if ($this->editorEmail!="") { + $feed.= " ".$this->editorEmail."\n"; + } + $feed.= " \n"; + } + $feed.= " ".FEEDCREATOR_VERSION."\n"; + $feed.= $this->_createAdditionalElements($this->additionalElements, " "); + for ($i=0;$iitems);$i++) { + $feed.= " \n"; + $feed.= " ".htmlspecialchars(strip_tags($this->items[$i]->title))."\n"; + $feed.= " items[$i]->link)."\"/>\n"; + if ($this->items[$i]->date=="") { + $this->items[$i]->date = time(); + } + $itemDate = new FeedDate($this->items[$i]->date); + $feed.= " ".htmlspecialchars($itemDate->iso8601())."\n"; + $feed.= " ".htmlspecialchars($itemDate->iso8601())."\n"; + $feed.= " ".htmlspecialchars($itemDate->iso8601())."\n"; + $feed.= " ".htmlspecialchars($this->items[$i]->link)."\n"; + $feed.= $this->_createAdditionalElements($this->items[$i]->additionalElements, " "); + if ($this->items[$i]->author!="") { + $feed.= " \n"; + $feed.= " ".htmlspecialchars($this->items[$i]->author)."\n"; + $feed.= " \n"; + } + if ($this->items[$i]->description!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->description)."\n"; + } + $feed.= " \n"; + } + $feed.= "\n"; + return $feed; + } +} + +/** + * AtomCreator10 is a FeedCreator that implements the atom specification, + * as in http://www.atomenabled.org/ + * @author neil.thompson + */ +class AtomCreator10 extends FeedCreator { + + function AtomCreator10() { + $this->contentType = "application/atom+xml"; + $this->encoding = "utf-8"; + } + + function createFeed() { + + $now = new FeedDate(); + + $feed = "encoding."\"?>\n"; + $feed.= $this->_createGeneratorComment(); + $feed.= $this->_createStylesheetReferences(); + $feed.= "\n"; + $feed.= " ".htmlspecialchars($this->title)."\n"; + $feed.= " ".htmlspecialchars($this->description)."\n"; + $feed.= " link)."\"/>\n"; + $feed.= " link)."/index2.php?option=com_rss&feed=ATOM1.0&no_html=1\"/>\n"; + $feed.= " ".htmlspecialchars($this->link)."/\n"; + $feed.= " ".htmlspecialchars($now->iso8601())."\n"; + + if ($this->editor!="") { + $feed.= " ".$this->editor; + if ($this->editorEmail!="") { + $feed.= $this->editorEmail; + } + $feed.= " \n"; + } + + $feed.= " ".FEEDCREATOR_VERSION."\n"; + + $feed.= $this->_createAdditionalElements($this->additionalElements, " "); + + for ($i=0;$iitems);$i++) { + + $this->items[$i]->created = time(); + $itemDate = new FeedDate($this->items[$i]->created); + + $feed.= " \n"; + $feed.= " ".htmlspecialchars(strip_tags($this->items[$i]->title))."\n"; + $feed.= " items[$i]->link)."\"/>\n"; + $feed.= " items[$i]->link)."\"/>\n"; + $feed.= " ".htmlspecialchars($itemDate->iso8601())."\n"; + $feed.= " ".htmlspecialchars($this->items[$i]->link)."\n"; + $feed.= " \n"; + if ($this->items[$i]->author!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->author)."\n"; + }else{ + $feed.= " ".htmlspecialchars($this->link)."\n"; + } + $feed.= " \n"; + + if ($this->items[$i]->description!="") { + $feed.= " ".htmlspecialchars($this->items[$i]->description)."\n"; + } + $feed.= " \n"; + + } + + $feed.= "\n"; + return $feed; + } +} + + +/** + * MBOXCreator is a FeedCreator that implements the mbox format + * as described in http://www.qmail.org/man/man5/mbox.html + * + * @since 1.3 + * @author Kai Blankenhorn + */ +class MBOXCreator extends FeedCreator { + + function MBOXCreator() { + $this->contentType = "text/plain"; + $this->encoding = "ISO-8859-15"; + } + + function qp_enc($input = "", $line_max = 76) { + $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); + $lines = preg_split("/(?:\r\n|\r|\n)/", $input); + $eol = "\r\n"; + $escape = "="; + $output = ""; + while( list(, $line) = each($lines) ) { + //$line = rtrim($line); // remove trailing white space -> no =20\r\n necessary + $linlen = strlen($line); + $newline = ""; + for($i = 0; $i < $linlen; $i++) { + $c = substr($line, $i, 1); + $dec = ord($c); + if ( ($dec == 32) && ($i == ($linlen - 1)) ) { // convert space at eol only + $c = "=20"; + } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required + $h2 = floor($dec/16); $h1 = floor($dec%16); + $c = $escape.$hex["$h2"].$hex["$h1"]; + } + if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted + $output .= $newline.$escape.$eol; // soft line break; " =\r\n" is okay + $newline = ""; + } + $newline .= $c; + } // end of for + $output .= $newline.$eol; + } + return trim($output); + } + + + /** + * Builds the MBOX contents. + * @return string the feed's complete text + */ + function createFeed() { + for ($i=0;$iitems);$i++) { + if ($this->items[$i]->author!="") { + $from = $this->items[$i]->author; + } else { + $from = $this->title; + } + $itemDate = new FeedDate($this->items[$i]->date); + $feed.= "From ".strtr(MBOXCreator::qp_enc($from)," ","_")." ".date("D M d H:i:s Y",$itemDate->unix())."\n"; + $feed.= "Content-Type: text/plain;\n"; + $feed.= " charset=\"".$this->encoding."\"\n"; + $feed.= "Content-Transfer-Encoding: quoted-printable\n"; + $feed.= "Content-Type: text/plain\n"; + $feed.= "From: \"".MBOXCreator::qp_enc($from)."\"\n"; + $feed.= "Date: ".$itemDate->rfc822()."\n"; + $feed.= "Subject: ".MBOXCreator::qp_enc(FeedCreator::iTrunc($this->items[$i]->title,100))."\n"; + $feed.= "\n"; + $body = chunk_split(MBOXCreator::qp_enc($this->items[$i]->description)); + $feed.= preg_replace("~\nFrom ([^\n]*)(\n?)~","\n>From $1$2\n",$body); + $feed.= "\n"; + $feed.= "\n"; + } + return $feed; + } + + /** + * Generate a filename for the feed cache file. Overridden from FeedCreator to prevent XML data types. + * @return string the feed cache filename + * @since 1.4 + * @access private + */ + function _generateFilename() { + $fileInfo = pathinfo($_SERVER["PHP_SELF"]); + return substr($fileInfo["basename"],0,-(strlen($fileInfo["extension"])+1)).".mbox"; + } +} + + +/** + * OPMLCreator is a FeedCreator that implements OPML 1.0. + * + * @see http://opml.scripting.com/spec + * @author Dirk Clemens, Kai Blankenhorn + * @since 1.5 + */ +class OPMLCreator extends FeedCreator { + + function OPMLCreator() { + $this->encoding = "utf-8"; + } + + function createFeed() { + $feed = "encoding."\"?>\n"; + $feed.= $this->_createGeneratorComment(); + $feed.= $this->_createStylesheetReferences(); + $feed.= "\n"; + $feed.= " \n"; + $feed.= " ".htmlspecialchars($this->title)."\n"; + if ($this->pubDate!="") { + $date = new FeedDate($this->pubDate); + $feed.= " ".$date->rfc822()."\n"; + } + if ($this->lastBuildDate!="") { + $date = new FeedDate($this->lastBuildDate); + $feed.= " ".$date->rfc822()."\n"; + } + if ($this->editor!="") { + $feed.= " ".$this->editor."\n"; + } + if ($this->editorEmail!="") { + $feed.= " ".$this->editorEmail."\n"; + } + $feed.= " \n"; + $feed.= " \n"; + for ($i=0;$iitems);$i++) { + $feed.= " items[$i]->title,"\n\r"," "))); + $feed.= " title=\"".$title."\""; + $feed.= " text=\"".$title."\""; + //$feed.= " description=\"".htmlspecialchars($this->items[$i]->description)."\""; + $feed.= " url=\"".htmlspecialchars($this->items[$i]->link)."\""; + $feed.= "/>\n"; + } + $feed.= " \n"; + $feed.= "\n"; + return $feed; + } +} + + + +/** + * HTMLCreator is a FeedCreator that writes an HTML feed file to a specific + * location, overriding the createFeed method of the parent FeedCreator. + * The HTML produced can be included over http by scripting languages, or serve + * as the source for an IFrame. + * All output by this class is embedded in
      tags to enable formatting + * using CSS. + * + * @author Pascal Van Hecke + * @since 1.7 + */ +class HTMLCreator extends FeedCreator { + + var $contentType = "text/html"; + + /** + * Contains HTML to be output at the start of the feed's html representation. + */ + var $header; + + /** + * Contains HTML to be output at the end of the feed's html representation. + */ + var $footer ; + + /** + * Contains HTML to be output between entries. A separator is only used in + * case of multiple entries. + */ + var $separator; + + /** + * Used to prefix the stylenames to make sure they are unique + * and do not clash with stylenames on the users' page. + */ + var $stylePrefix; + + /** + * Determines whether the links open in a new window or not. + */ + var $openInNewWindow = true; + + var $imageAlign ="right"; + + /** + * In case of very simple output you may want to get rid of the style tags, + * hence this variable. There's no equivalent on item level, but of course you can + * add strings to it while iterating over the items ($this->stylelessOutput .= ...) + * and when it is non-empty, ONLY the styleless output is printed, the rest is ignored + * in the function createFeed(). + */ + var $stylelessOutput =""; + + /** + * Writes the HTML. + * @return string the scripts's complete text + */ + function createFeed() { + // if there is styleless output, use the content of this variable and ignore the rest + if ($this->stylelessOutput!="") { + return $this->stylelessOutput; + } + + //if no stylePrefix is set, generate it yourself depending on the script name + if ($this->stylePrefix=="") { + $this->stylePrefix = str_replace(".", "_", $this->_generateFilename())."_"; + } + + //set an openInNewWindow_token_to be inserted or not + if ($this->openInNewWindow) { + $targetInsert = " target='_blank'"; + } + + // use this array to put the lines in and implode later with "document.write" javascript + $feedArray = array(); + if ($this->image!=null) { + $imageStr = "". + "".
+							FeedCreator::iTrunc(htmlspecialchars($this->image->title),100).
+							"image->width) { + $imageStr .=" width='".$this->image->width. "' "; + } + if ($this->image->height) { + $imageStr .=" height='".$this->image->height."' "; + } + $imageStr .="/>"; + $feedArray[] = $imageStr; + } + + if ($this->title) { + $feedArray[] = ""; + } + if ($this->getDescription()) { + $feedArray[] = "
      ". + str_replace("", "", str_replace("getDescription())). + "
      "; + } + + if ($this->header) { + $feedArray[] = "
      ".$this->header."
      "; + } + + for ($i=0;$iitems);$i++) { + if ($this->separator and $i > 0) { + $feedArray[] = "
      ".$this->separator."
      "; + } + + if ($this->items[$i]->title) { + if ($this->items[$i]->link) { + $feedArray[] = + ""; + } else { + $feedArray[] = + "
      ". + FeedCreator::iTrunc(htmlspecialchars(strip_tags($this->items[$i]->title)),100). + "
      "; + } + } + if ($this->items[$i]->getDescription()) { + $feedArray[] = + "
      ". + str_replace("]]>", "", str_replace("items[$i]->getDescription())). + "
      "; + } + } + if ($this->footer) { + $feedArray[] = "
      ".$this->footer."
      "; + } + + $feed= "".join($feedArray, "\r\n"); + return $feed; + } + + /** + * Overrrides parent to produce .html extensions + * + * @return string the feed cache filename + * @since 1.4 + * @access private + */ + function _generateFilename() { + $fileInfo = pathinfo($_SERVER["PHP_SELF"]); + return substr($fileInfo["basename"],0,-(strlen($fileInfo["extension"])+1)).".html"; + } +} + + +/** + * JSCreator is a class that writes a js file to a specific + * location, overriding the createFeed method of the parent HTMLCreator. + * + * @author Pascal Van Hecke + */ +class JSCreator extends HTMLCreator { + var $contentType = "text/javascript"; + + /** + * writes the javascript + * @return string the scripts's complete text + */ + function createFeed() + { + $feed = parent::createFeed(); + $feedArray = explode("\n",$feed); + + $jsFeed = ""; + foreach ($feedArray as $value) { + $jsFeed .= "document.write('".trim(addslashes($value))."');\n"; + } + return $jsFeed; + } + + /** + * Overrrides parent to produce .js extensions + * + * @return string the feed cache filename + * @since 1.4 + * @access private + */ + function _generateFilename() { + $fileInfo = pathinfo($_SERVER["PHP_SELF"]); + return substr($fileInfo["basename"],0,-(strlen($fileInfo["extension"])+1)).".js"; + } + +} + + + +/*** TEST SCRIPT ********************************************************* + +//include("feedcreator.class.php"); + +$rss = new UniversalFeedCreator(); +$rss->useCached(); +$rss->title = "PHP news"; +$rss->description = "daily news from the PHP scripting world"; + +//optional +//$rss->descriptionTruncSize = 500; +//$rss->descriptionHtmlSyndicated = true; +//$rss->xslStyleSheet = "http://feedster.com/rss20.xsl"; + +$rss->link = "http://www.dailyphp.net/news"; +$rss->feedURL = "http://www.dailyphp.net/".$PHP_SELF; + +$image = new FeedImage(); +$image->title = "dailyphp.net logo"; +$image->url = "http://www.dailyphp.net/images/logo.gif"; +$image->link = "http://www.dailyphp.net"; +$image->description = "Feed provided by dailyphp.net. Click to visit."; + +//optional +$image->descriptionTruncSize = 500; +$image->descriptionHtmlSyndicated = true; + +$rss->image = $image; + +// get your news items from somewhere, e.g. your database: +//mysql_select_db($dbHost, $dbUser, $dbPass); +//$res = mysql_query("SELECT * FROM news ORDER BY newsdate DESC"); +//while ($data = mysql_fetch_object($res)) { + $item = new FeedItem(); + $item->title = "This is an the test title of an item"; + $item->link = "http://localhost/item/"; + $item->description = "description in
      HTML"; + + //optional + //item->descriptionTruncSize = 500; + $item->descriptionHtmlSyndicated = true; + + $item->date = time(); + $item->source = "http://www.dailyphp.net"; + $item->author = "John Doe"; + + $rss->addItem($item); +//} + +// valid format strings are: RSS0.91, RSS1.0, RSS2.0, PIE0.1, MBOX, OPML, ATOM0.3, HTML, JS +echo $rss->saveFeed("RSS0.91", "feed.xml"); + + + +***************************************************************************/ + +?> diff -ruN 4.6rc2/uploadfiles/includes/footer.php 4.6-complete/uploadfiles/includes/footer.php --- 4.6rc2/uploadfiles/includes/footer.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/footer.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,16 @@ + +

      URL; ?>
      diff -ruN 4.6rc2/uploadfiles/includes/frontend.html.php 4.6-complete/uploadfiles/includes/frontend.html.php --- 4.6rc2/uploadfiles/includes/frontend.html.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/frontend.html.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,220 @@ +get( 'rssurl' ); + $rssitems = $params->get( 'rssitems', 5 ); + $rssdesc = $params->get( 'rssdesc', 1 ); + $rssimage = $params->get( 'rssimage', 1 ); + $rssitemdesc = $params->get( 'rssitemdesc', 1 ); + $moduleclass_sfx = $params->get( 'moduleclass_sfx' ); + $words = $params->def( 'word_count', 0 ); + + if ($style == -1 && !$rssurl) { + echo $module->content; + return; + } else { + ?> + + showtitle != 0 ) { + ?> + + + + content ) { + ?> + + + + image['title'])) $iTitle = $rss->image['title']; + if (isset($rss->image['url'])) $iUrl = $rss->image['url']; + // feed title + ?> + + + + + + + + + + + + + + + + +
      + title; ?> +
      + content; ?> +
      + + + channel['title']; ?> + + +
      + channel['description']; ?> +
      + <?php echo $iTitle; ?> +
      +
        + items as $item) { + if ($itemnumber > $rssitems) break; + $itemnumber++; + // item title + ?> +
      • + + + + + + $words ) { + $text = ''; + for( $i=0; $i < $words; $i++ ) { + $text .= ' '. $texts[$i]; + } + $text .= '...'; + } + } + ?> +
        + +
        + +
      • + +
      +
      + get( 'moduleclass_sfx' ); + $number = ''; + if ($count > 0) $number = '' . $count . ' '; + + if ($style == -3) { + // allows for rounded corners + echo "\n
      "; + if ($module->showtitle != 0) echo "

      $module->title

      \n"; + include( $mosConfig_absolute_path .'/modules/'. $module->module .'.php' ); + if (isset( $content)) echo $content; + echo "\n\n
      \n"; + + } else if ($style == -2) { + // headder and content encapsulated with div tag + ?> +
      + showtitle != 0) { + ?> +

      title; ?>

      + module .'.php' ); + if (isset( $content)) echo $content; + ?> +
      + module .'.php' ); + if (isset( $content)) echo $content; + + } else { + ?> + + showtitle != 0 ) { + ?> + + + + + + + +
      + title; ?> +
      + module . '.php' ); + if (isset( $content)) echo $content; + ?> +
      + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/frontend.php 4.6-complete/uploadfiles/includes/frontend.php --- 4.6rc2/uploadfiles/includes/frontend.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/frontend.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,51 @@ +mosMainBody(); +} +/** +* Utility functions and classes +*/ +function mosLoadComponent( $name ) { + // set up some global variables for use by the frontend component + global $mainframe, $database; + include( $mainframe->getCfg( 'absolute_path' )."/components/com_$name/$name.php" ); +} +/** +* @param string THe template position +*/ +function mosCountModules( $position='left' ) { + $handler =& mosModuleHandler::getInstance(); + return $handler->mosCountModules($position); +} + +/** +* @param string The position +* @param int The style. 0=normal, 1=horiz, -1=no wrapper +*/ +function mosLoadModules( $position='left', $style=0 ) { + $handler =& mosModuleHandler::getInstance(); + return $handler->mosLoadModules($position, $style); +} +/** +* Assembles head tags +*/ +function mosShowHead() { + $mainframe =& mosMainFrame::getInstance(); + $mainframe->mosShowHead(); +} +?> diff -ruN 4.6rc2/uploadfiles/includes/gacl.class.php 4.6-complete/uploadfiles/includes/gacl.class.php --- 4.6rc2/uploadfiles/includes/gacl.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/gacl.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,281 @@ +=@ins_rgt; +UPDATE mos_core_acl_aro_groups SET lft=lft+2 WHERE lft>@ins_rgt; + +-- Insert the new node +INSERT INTO mos_core_acl_aro_groups (group_id,parent_id,name,lft,rgt) +VALUES (@new_id,@ins_id,@new_name,@ins_rgt,@ins_rgt+1); +*/ + +class gacl { + + // --- Private properties --- + + /* + * Enable Debug output. + */ + var $_debug = FALSE; + + /* + * Database configuration. + */ + var $db=null; + var $_db_table_prefix = '#__core_acl_'; + + /* + * NOTE: This cache must be manually cleaned each time ACL's are modified. + * Alternatively you could wait for the cache to expire. + */ + var $_caching = FALSE; + var $_force_cache_expire = TRUE; + + // --- Fudge properties + var $acl=null; + var $acl_count=0; + + /* + * Constructor + */ + function gacl( $db=null ) { + global $database; + + $this->db = $db ? $db : $database; + + // ARO value is currently the user type, + // this changes to user id in proper implementation + // No hierarchial inheritance so have to do that the long way + $this->acl = array(); + + // backend login + $this->_mos_add_acl( 'administration', 'login', 'users', 'administrator', null, null ); + $this->_mos_add_acl( 'administration', 'login', 'users', 'super administrator', null, null ); + $this->_mos_add_acl( 'administration', 'login', 'users', 'manager', null, null ); + // backend menus + //$this->_mos_add_acl( 'administration', 'config', 'users', 'administrator', null, null ); + $this->_mos_add_acl( 'administration', 'config', 'users', 'super administrator', null, null ); + + // access to db admin + //$this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_dbadmin' ); + + // access to templates + //$this->_mos_add_acl( 'administration', 'manage', 'user', 'administrator', 'components', 'com_templates' ) + $this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_templates' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'templates', 'all' ); + + // access to trash + $this->_mos_add_acl( 'administration', 'manage', 'users', 'administrator', 'components', 'com_trash' ); + $this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_trash' ); + + // access to menu manager + $this->_mos_add_acl( 'administration', 'manage', 'users', 'administrator', 'components', 'com_menumanager' ); + $this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_menumanager' ); + + // access to languages + $this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_languages' ); + $this->_mos_add_acl( 'administration', 'manage', 'users', 'administrator', 'components', 'com_languages' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'languages', 'all' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'languages', 'all' ); + + // access to modules + $this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'modules', 'all' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'modules', 'all' ); + + $this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'modules', 'all' ); + $this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'modules', 'all' ); + + // access to modules + $this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'mambots', 'all' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'mambots', 'all' ); + + $this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'mambots', 'all' ); + $this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'mambots', 'all' ); + // uncomment following to allow managers to edit modules + //array( 'administration', 'edit', 'users', 'manager', 'modules', 'all' ); + + // access to universal installer + $this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'universals', 'all' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'universals', 'all' ); + + // access to components + $this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'components', 'all' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'components', 'all' ); + + // access to parameters + $this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'parameters', 'all' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'parameters', 'all' ); + + // access to includes + $this->_mos_add_acl( 'administration', 'install', 'users', 'administrator', 'includes', 'all' ); + $this->_mos_add_acl( 'administration', 'install', 'users', 'super administrator', 'includes', 'all' ); + + $this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'components', 'all' ); + $this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'components', 'all' ); + + $this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_newsflash' ); + $this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_frontpage' ); + $this->_mos_add_acl( 'administration', 'edit', 'users', 'manager', 'components', 'com_media' ); + // ** add additional components for a manager as desired, or give access to all + + // massmail + $this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_massmail' ); + + // manage users + $this->_mos_add_acl( 'administration', 'manage', 'users', 'administrator', 'components', 'com_users' ); + $this->_mos_add_acl( 'administration', 'manage', 'users', 'super administrator', 'components', 'com_users' ); + + // email block users property + $this->_mos_add_acl( 'administration', 'edit', 'users', 'administrator', 'user properties', 'block_user' ); + $this->_mos_add_acl( 'administration', 'edit', 'users', 'super administrator', 'user properties', 'block_user' ); + + // email system events + $this->_mos_add_acl( 'workflow', 'email_events', 'users', 'administrator', null, null ); + $this->_mos_add_acl( 'workflow', 'email_events', 'users', 'super administrator', null, null ); + + // actions + $this->_mos_add_acl( 'action', 'add', 'users', 'author', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'add', 'users', 'editor', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'add', 'users', 'publisher', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'edit', 'users', 'author', 'content', 'own' ); + $this->_mos_add_acl( 'action', 'edit', 'users', 'editor', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'edit', 'users', 'publisher', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'publish', 'users', 'publisher', 'content', 'all' ); + + $this->_mos_add_acl( 'action', 'add', 'users', 'manager', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'edit', 'users', 'manager', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'publish', 'users', 'manager', 'content', 'all' ); + + $this->_mos_add_acl( 'action', 'add', 'users', 'administrator', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'edit', 'users', 'administrator', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'publish', 'users', 'administrator', 'content', 'all' ); + + $this->_mos_add_acl( 'action', 'add', 'users', 'super administrator', 'content', 'all' ); + $this->_mos_add_acl( 'action', 'edit', 'users', 'super administrator', 'content', 'all' ); + + $this->_mos_add_acl( 'action', 'publish', 'users', 'super administrator', 'content', 'all' ); + + $this->acl_count = count( $this->acl ); + } + + /* + This is a temporary function to allow 3PD's to add basic ACL checks for their + modules and components. NOTE: this information will be compiled in the db + in future versions + */ + function _mos_add_acl( $aco_section_value, $aco_value, + $aro_section_value, $aro_value, $axo_section_value=NULL, $axo_value=NULL ) { + + $this->acl[] = array( $aco_section_value, $aco_value, $aro_section_value, $aro_value, $axo_section_value, $axo_value ); + $this->acl_count = count( $this->acl ); + } + + /*======================================================================*\ + Function: $gacl_api->debug_text() + Purpose: Prints debug text if debug is enabled. + \*======================================================================*/ + function debug_text($text) { + + if ($this->_debug) { + echo "$text
      \n"; + } + + return true; + } + + /*======================================================================*\ + Function: $gacl_api->debug_db() + Purpose: Prints database debug text if debug is enabled. + \*======================================================================*/ + function debug_db($function_name = '') { + if ($function_name != '') { + $function_name .= ' (): '; + } + + return $this->debug_text ($function_name .'database error: '. $this->db->getErrorMsg() .' ('. $this->db->getErrorNum() .')'); + } + + /*======================================================================*\ + Function: acl_check() + Purpose: Function that wraps the actual acl_query() function. + It is simply here to return TRUE/FALSE accordingly. + \*======================================================================*/ + function acl_check( $aco_section_value, $aco_value, + $aro_section_value, $aro_value, $axo_section_value=NULL, $axo_value=NULL ) { + $acl_result = 0; + for ($i=0; $i < $this->acl_count; $i++) { + if (strcasecmp( $aco_section_value, $this->acl[$i][0] ) == 0) { + if (strcasecmp( $aco_value, $this->acl[$i][1] ) == 0) { + if (strcasecmp( $aro_section_value, $this->acl[$i][2] ) == 0) { + if (strcasecmp( $aro_value, $this->acl[$i][3] ) == 0) { + if (strcasecmp( $axo_section_value, $this->acl[$i][4] ) == 0) { + if (strcasecmp( $axo_value, $this->acl[$i][5] ) == 0) { + $acl_result = 1; + break; + } + } + } + } + } + } + } + return $acl_result; + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/gacl_api.class.php 4.6-complete/uploadfiles/includes/gacl_api.class.php --- 4.6rc2/uploadfiles/includes/gacl_api.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/gacl_api.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1820 @@ +get_aco_section_id('System'); + * $aro_id= $gacl_api->add_aro($section_id, 'John Doe', 10); + * + * For more examples, see the Administration interface, as it makes use of nearly every API Call. + * + */ + +class gacl_api extends gacl { + /* + * Administration interface settings + */ + var $_items_per_page = 100; + var $_max_select_box_items = 100; + var $_max_search_return_items = 100; + + /* + * + * Misc helper functions. + * + */ + + /*======================================================================*\ + Function: showarray() + Purpose: Dump all contents of an array in HTML (kinda). + \*======================================================================*/ + function showarray($array) { + echo "
      \n";
      +		var_dump($array);
      +		echo "

      \n"; + } + + /*======================================================================*\ + Function: $gacl_api->return_page() + Purpose: Sends the user back to a passed URL, unless debug is enabled, then we don't redirect. + If no URL is passed, try the REFERER + \*======================================================================*/ + function return_page($url="") { + global $_SERVER, $debug; + + if (empty($url) AND !empty($_SERVER[HTTP_REFERER])) { + $this->debug_text("return_page(): URL not set, using referer!"); + $url = $_SERVER[HTTP_REFERER]; + } + + if (!$debug OR $debug==0) { + header("Location: $url\n\n"); + } else { + $this->debug_text("return_page(): URL: $url -- Referer: $_SERVER[HTTP_REFERRER]"); + } + } + + /*======================================================================*\ + Function: get_paging_data() + Purpose: Creates a basic array for Smarty to deal with paging large recordsets. + Pass it the ADODB recordset. + \*======================================================================*/ + function get_paging_data($rs) { + return array( + 'prevpage' => $rs->absolutepage() - 1, + 'currentpage' => $rs->absolutepage(), + 'nextpage' => $rs->absolutepage() + 1, + 'atfirstpage' => $rs->atfirstpage(), + 'atlastpage' => $rs->atlastpage(), + 'lastpageno' => $rs->lastpageno() + ); + } + + /*======================================================================*\ + Function: count_all() + Purpose: Recursively counts elements in an array and sub-arrays. + The returned count is a count of all scalar elements found. + + This is different from count($arg, COUNT_RECURSIVE) + in PHP >= 4.2.0, which includes sub-arrays in the count. + \*======================================================================*/ + function count_all($arg = NULL) { + switch (TRUE) { + case is_scalar($arg): + case is_object($arg): + // single object + return 1; + case is_array($arg): + // call recursively for all elements of $arg + $count = 0; + foreach ($arg as $val) { + $count += $this->count_all($val); + } + return $count; + } + return FALSE; + } + + /*======================================================================*\ + Function: get_version() + Purpose: Grabs phpGACL version from the database. + \*======================================================================*/ + + + /*======================================================================*\ + Function: get_schema_version() + Purpose: Grabs phpGACL schema version from the database. + \*======================================================================*/ + /* + * + * ACL + * + */ + + /*======================================================================*\ + Function: consolidated_edit_acl() + Purpose: Add's an ACL but checks to see if it can consolidate it with another one first. + This ONLY works with ACO's and ARO's. Groups, and AXO are excluded. + As well this function is designed for handling ACLs with return values, + and consolidating on the return_value, in hopes of keeping the ACL count to a minimum. + + A return value of false must _always_ be handled outside this function. + As this function will remove AROs from ACLs and return false, in most cases + you will need to a create a completely new ACL on a false return. + \*======================================================================*/ + + /*======================================================================*\ + Function: shift_acl() + Purpose: Opposite of append_acl(). Removes objects from a specific ACL. (named after PHP's array_shift()) + \*======================================================================*/ + + /*======================================================================*\ + Function: get_acl() + Purpose: Grabs ACL data. + \*======================================================================*/ + + /*======================================================================*\ + Function: is_conflicting_acl() + Purpose: Checks for conflicts when adding a specific ACL. + \*======================================================================*/ + + /*======================================================================*\ + Function: add_acl() + Purpose: Add's an ACL. ACO_IDS, ARO_IDS, GROUP_IDS must all be arrays. + \*======================================================================*/ + + /*======================================================================*\ + Function: edit_acl() + Purpose: Edit's an ACL, ACO_IDS, ARO_IDS, GROUP_IDS must all be arrays. + \*======================================================================*/ + + /*======================================================================*\ + Function: del_acl() + Purpose: Deletes a given ACL + \*======================================================================*/ + + + /* + * + * Groups + * + */ + + /*======================================================================*\ + Function: sort_groups() + Purpose: Grabs all the groups from the database doing preliminary grouping by parent + \*======================================================================*/ + + /*======================================================================*\ + Function: format_groups() + Purpose: Takes the array returned by sort_groups() and formats for human consumption. + \*======================================================================*/ + + /*======================================================================*\ + Function: get_group_id() + Purpose: Gets the group_id given the name. + Will only return one group id, so if there are duplicate names, it will return false. + \*======================================================================*/ + function get_group_id($name = null, $group_type = 'ARO') { + + $this->debug_text("get_group_id(): Name: $name"); + + switch(strtolower(trim($group_type))) { + case 'axo': + $table = $this->_db_table_prefix .'axo_groups'; + break; + default: + $table = $this->_db_table_prefix .'aro_groups'; + break; + } + + $name = trim($name); + + if (empty($name) ) { + $this->debug_text("get_group_id(): name ($name) is empty, this is required"); + return false; + } + + $this->db->setQuery( "SELECT group_id FROM $table WHERE name='$name'" ); + + $rows = $this->db->loadRowList(); + if ($this->db->getErrorNum()) { + $this->debug_db('get_group_id'); + return false; + } + + $row_count = count( $rows ); + + if ($row_count > 1) { + $this->debug_text("get_group_id(): Returned $row_count rows, can only return one. Please make your names unique."); + return false; + } + + if ($row_count == 0) { + $this->debug_text("get_group_id(): Returned $row_count rows"); + return false; + } + + $row = $rows[0]; + + //Return the ID. + return $row[0]; + } + + /*======================================================================*\ + Function: get_group_name() + Purpose: Gets the name given the group_id. + Will only return one group id, so if there are duplicate names, it will return false. + \*======================================================================*/ + function get_group_name($group_id = null, $group_type = 'ARO') { + + $this->debug_text("get_group_name(): ID: $group_id"); + + switch(strtolower(trim($group_type))) { + case 'axo': + $table = $this->_db_table_prefix .'axo_groups'; + break; + default: + $table = $this->_db_table_prefix .'aro_groups'; + break; + } + + $group_id = intval($group_id); + + if (!$group_id) { + $this->debug_text("get_group_name(): group_id ($group_id) is empty, this is required"); + return false; + } + + $this->db->setQuery( "SELECT name FROM $table WHERE group_id='$group_id'" ); + + $rows = $this->db->loadRowList(); + if ($this->db->getErrorNum()) { + $this->debug_db('get_group_name'); + return false; + } + + $row_count = count( $rows ); + + if ($row_count > 1) { + $this->debug_text("get_group_name(): Returned $row_count rows, can only return one. Please make your names unique."); + return false; + } + + if ($row_count == 0) { + $this->debug_text("get_group_name(): Returned $row_count rows"); + return false; + } + + $row = $rows[0]; + + //Return the ID. + return $row[0]; + } + + /*======================================================================*\ + Function: get_group_children() + Purpose: Gets a groups child IDs + \*======================================================================*/ + function get_group_children($group_id, $group_type = 'ARO', $recurse = 'NO_RECURSE') { + $this->debug_text("get_group_children(): Group_ID: $group_id Group Type: $group_type Recurse: $recurse"); + + switch (strtolower(trim($group_type))) { + case 'axo': + $group_type = 'axo'; + $table = $this->_db_table_prefix .'axo_groups'; + break; + default: + $group_type = 'aro'; + $table = $this->_db_table_prefix .'aro_groups'; + } + + if (empty($group_id)) { + $this->debug_text("get_group_children(): ID ($group_id) is empty, this is required"); + return FALSE; + } + + $query = ' + SELECT g1.group_id + FROM '. $table .' g1'; + + //FIXME-mikeb: Why is group_id in quotes? + switch (strtoupper($recurse)) { + case 'RECURSE': + $query .= ' + LEFT JOIN '. $table .' g2 ON g2.lftg1.rgt + WHERE g2.group_id='. $group_id; + break; + default: + $query .= ' + WHERE g1.parent_id='. $group_id; + } + + $query .= ' + ORDER BY g1.name'; + + + $this->db->setQuery( $query ); + return $this->db->loadResultArray(); + } + + /*======================================================================*\ + Function: get_group_data() + Purpose: Gets the group data given the GROUP_ID. + \*======================================================================*/ + + /*======================================================================*\ + Function: get_group_parent_id() + Purpose: Grabs the parent_id of a given group + \*======================================================================*/ + + /*======================================================================*\ + Function: get_group_children() + Purpose: Gets a groups child IDs + \*======================================================================*/ + function get_group_parents($group_id, $group_type = 'ARO', $recurse = 'NO_RECURSE') { + $this->debug_text("get_group_parents(): Group_ID: $group_id Group Type: $group_type Recurse: $recurse"); + + switch (strtolower(trim($group_type))) { + case 'axo': + $group_type = 'axo'; + $table = $this->_db_table_prefix .'axo_groups'; + break; + default: + $group_type = 'aro'; + $table = $this->_db_table_prefix .'aro_groups'; + } + + if (empty($group_id)) { + $this->debug_text("get_group_parents(): ID ($group_id) is empty, this is required"); + return FALSE; + } + + $query = ' + SELECT g2.group_id + FROM '. $table .' g1'; + + //FIXME-mikeb: Why is group_id in quotes? + switch (strtoupper($recurse)) { + case 'RECURSE': + $query .= ' + LEFT JOIN '. $table .' g2 ON g1.lft > g2.lft AND g1.lft < g2.rgt + WHERE g1.group_id='. $group_id; + break; + case 'RECURSE_INCL': + // inclusive resurse + $query .= ' + LEFT JOIN '. $table .' g2 ON g1.lft >= g2.lft AND g1.lft <= g2.rgt + WHERE g1.group_id='. $group_id; + break; + default: + $query .= ' + WHERE g1.parent_id='. $group_id; + } + + $query .= ' + ORDER BY g2.lft'; + + + $this->db->setQuery( $query ); + return $this->db->loadResultArray(); + } + + /*======================================================================*\ + Function: get_root_group_id () + Purpose: Grabs the id of the root group for the specified tree + \*======================================================================*/ + + /*======================================================================*\ + Function: map_path_to_root() + Purpose: Maps a unique path to root to a specific group. Each group can only have + one path to root. + \*======================================================================*/ + /** REMOVED **/ + /*======================================================================*\ + Function: put_path_to_root() + Purpose: Writes the unique path to root to the database. There should really only be + one path to root for each level "deep" the groups go. If the groups are branched + 10 levels deep, there should only be 10 unique path to roots. These of course + overlap each other more and more the closer to the root/trunk they get. + \*======================================================================*/ + /** REMOVED **/ + /*======================================================================*\ + Function: clean_path_to_root() + Purpose: Cleans up any paths that are not being used. + \*======================================================================*/ + /** REMOVED **/ + /*======================================================================*\ + Function: get_path_to_root() + Purpose: Generates the path to root for a given group. + \*======================================================================*/ + /** REMOVED **/ + + /*======================================================================*\ + Function: add_group() + Purpose: Inserts a group, defaults to be on the "root" branch. + \*======================================================================*/ + function add_group($name, $parent_id=0, $group_type='ARO') { + + switch(strtolower(trim($group_type))) { + case 'axo': + $group_type = 'axo'; + $table = $this->_db_table_prefix .'axo_groups'; + break; + default: + $group_type = 'aro'; + $table = $this->_db_table_prefix .'aro_groups'; + break; + } + + $this->debug_text("add_group(): Name: $name Parent ID: $parent_id Group Type: $group_type"); + + $name = trim($name); + + if (empty($name)) { + $this->debug_text("add_group(): name ($name) OR parent id ($parent_id) is empty, this is required"); + return false; + } + + //This has to be outside the transaction, because the first time it is run, it will say the sequence + //doesn't exist. Then try to create it, but the transaction will already by aborted by then. + //$insert_id = $this->db->GenID($this->_db_table_prefix.$group_type.'_groups_id_seq',10); + $this->db->setQuery( "SELECT MAX(group_id)+1 FROM $table" ); + $insert_id = intval( $this->db->loadResult() ); + + // $this->db->BeginTrans(); + + // special case for root group + if ($parent_id == 0) { + // check a root group is not already defined + $this->db->setQuery( 'SELECT group_id FROM '. $table .' WHERE parent_id=0' ); + $rs = $this->db->loadResultArray(); + + if (!is_array( $rs )) { + $this->debug_db('add_group'); + $this->db->RollBackTrans(); + return FALSE; + } + + if (count( $rs ) > 0) { + $this->debug_text('add_group (): A root group already exists.'); + // $this->db->RollBackTrans(); + return FALSE; + } + + $parent_lft = 0; + $parent_rgt = 1; + } else { + if (empty($parent_id)) { + $this->debug_text("add_group (): parent id ($parent_id) is empty, this is required"); + return FALSE; + } + + // grab parent details from database + $this->db->setQuery( 'SELECT group_id, lft, rgt FROM '. $table .' WHERE group_id='. $parent_id ); + $rows = $this->db->loadRowList(); + + if (!is_array($rows) OR $this->db->getErrorNum() > 0) { + $this->debug_db('add_group'); + // $this->db->RollBackTrans(); + return FALSE; + } + + if (empty($rows)) { + $this->debug_text('add_group (): Parent ID: '. $parent_id .' not found.'); + // $this->db->RollBackTrans(); + return FALSE; + } + $row = $rows[0]; + $parent_lft = &$row[1]; + $parent_rgt = &$row[2]; + + // make room for the new group + $this->db->setQuery( 'UPDATE '. $table .' SET rgt=rgt+2 WHERE rgt>='. $parent_rgt ); + $rs = $this->db->query(); + + if (!$rs) { + $this->debug_db('add_group: make room for the new group - right'); + // $this->db->RollBackTrans(); + return FALSE; + } + + $this->db->setQuery( 'UPDATE '. $table .' SET lft=lft+2 WHERE lft>'. $parent_rgt ); + $rs = $this->db->query(); + + if (!$rs) { + $this->debug_db('add_group: make room for the new group - left'); + // $this->db->RollBackTrans(); + return FALSE; + } + } + + $this->db->setQuery( 'INSERT INTO '. $table .' (group_id,parent_id,name,lft,rgt) VALUES ('. $insert_id .','. $parent_id .',\''. $this->db->getEscaped($name) .'\','. $parent_rgt .','. ($parent_rgt + 1) .')' ); + $rs = $this->db->query(); + + if (!$rs) { + $this->debug_db('add_group: insert record'); + // $this->db->RollBackTrans(); + return FALSE; + } + + // $this->db->CommitTrans(); + + $this->debug_text('add_group (): Added group as ID: '. $insert_id); + return $insert_id; + } + + /*======================================================================*\ + Function: get_group_objects() + Purpose: Gets all objects assigned to a group. + If $option == 'RECURSE' it will get all objects in child groups as well. + defaults to omit child groups. + \*======================================================================*/ + function get_group_objects($group_id, $group_type='ARO', $option='NO_RECURSE') { + + switch(strtolower(trim($group_type))) { + case 'axo': + $group_type = 'axo'; + $object_table = $this->_db_table_prefix .'axo'; + $group_table = $this->_db_table_prefix .'axo_groups'; + $map_table = $this->_db_table_prefix .'groups_axo_map'; + break; + default: + $group_type = 'aro'; + $object_table = $this->_db_table_prefix .'aro'; + $group_table = $this->_db_table_prefix .'aro_groups'; + $map_table = $this->_db_table_prefix .'groups_aro_map'; + break; + } + + $this->debug_text("get_group_objects(): Group ID: $group_id"); + + if (empty($group_id)) { + $this->debug_text("get_group_objects(): Group ID: ($group_id) is empty, this is required"); + return false; + } + + $query = ' + SELECT o.section_value,o.value + FROM '. $object_table .' o + LEFT JOIN '. $map_table .' gm ON o.'. $group_type .'_id=gm.'. $group_type .'_id'; + + if ($option == 'RECURSE') { + $query .= ' + LEFT JOIN '. $group_table .' g1 ON g1.group_id=gm.group_id + LEFT JOIN '. $group_table .' g2 ON g2.lft<=g1.lft AND g2.rgt>=g1.rgt + WHERE g2.group_id='. $group_id; + } else { + $query .= ' + WHERE gm.group_id='. $group_id; + } + + $this->db->setQuery( $query ); + + $rs = $this->db->loadRowList(); + + if (!is_array( $rs )) { + $this->debug_db('get_group_objects'); + return false; + } + + $this->debug_text("get_group_objects(): Got group objects, formatting array."); + + $retarr = array(); + + //format return array. + foreach ($rs as $row) { + $section = &$row[0]; + $value = &$row[1]; + + $retarr[$section][] = $value; + } + + return $retarr; + } + + /*======================================================================*\ + Function: add_group_object() + Purpose: Assigns an Object to a group + \*======================================================================*/ + function add_group_object($group_id, $object_section_value, $object_value, $group_type='ARO') { + + switch(strtolower(trim($group_type))) { + case 'axo': + $group_type = 'axo'; + $table = $this->_db_table_prefix .'groups_axo_map'; + $object_table = $this->_db_table_prefix .'axo'; + $group_table = $this->_db_table_prefix .'axo_groups'; + break; + default: + $group_type = 'aro'; + $table = $this->_db_table_prefix .'groups_aro_map'; + $object_table = $this->_db_table_prefix .'aro'; + $group_table = $this->_db_table_prefix .'aro_groups'; + break; + } + + $this->debug_text("add_group_object(): Group ID: $group_id, Section Value: $object_section_value, Value: $object_value, Group Type: $group_type"); + + $object_section_value = trim($object_section_value); + $object_value = trim($object_value); + + if (empty($group_id) OR empty($object_value) OR empty($object_section_value)) { + $this->debug_text("add_group_object(): Group ID: ($group_id) OR Value ($object_value) OR Section value ($object_section_value) is empty, this is required"); + return false; + } + + // test to see if object & group exist and if object is already a member + $this->db->setQuery( ' + SELECT g.group_id,o.'. $group_type .'_id,gm.group_id AS member + FROM '. $object_table .' o + LEFT JOIN '. $group_table .' g ON g.group_id='. $group_id .' + LEFT JOIN '. $table .' gm ON (gm.group_id=g.group_id AND gm.'. $group_type .'_id=o.'. $group_type .'_id) + WHERE (o.section_value=\''. $this->db->getEscaped($object_section_value) .'\' AND o.value=\''. $this->db->getEscaped($object_value) .'\')' + ); + + $rows = $this->db->loadRowList(); + if ($this->db->getErrorNum()) { + $this->debug_db('add_group_object'); + return FALSE; + } + + if (count( $rows ) != 1) { + $this->debug_text("add_group_object (): Group ID ($group_id) OR Value ($object_value) OR Section value ($object_section_value) is invalid. Does this object exist?"); + return FALSE; + } + + $row = $rows[0]; + + if ($row[2] == 1) { + $this->debug_text("add_group_object (): Object: $object_value is already a member of Group ID: $group_id"); + //Object is already assigned to group. Return true. + return true; + } + + $object_id = $row[1]; + + $this->db->setQuery( 'INSERT INTO '. $table .' (group_id,'. $group_type .'_id) VALUES ('. $group_id .','. $object_id .')' ); + + if (!$this->db->query()) { + $this->debug_db('add_group_object'); + return FALSE; + } + + $this->debug_text('add_group_object(): Added Object: '. $object_id .' to Group ID: '. $group_id); + + if ($this->_caching == TRUE AND $this->_force_cache_expire == TRUE) { + //Expire all cache. + $this->Cache_Lite->clean('default'); + } + + return TRUE; + } + + /*======================================================================*\ + Function: del_group_object() + Purpose: Removes an Object from a group. + \*======================================================================*/ + function del_group_object($group_id, $object_section_value, $object_value, $group_type='ARO') { + + switch(strtolower(trim($group_type))) { + case 'axo': + $group_type = 'axo'; + $table = $this->_db_table_prefix .'groups_axo_map'; + break; + default: + $group_type = 'aro'; + $table = $this->_db_table_prefix .'groups_aro_map'; + break; + } + + $this->debug_text("del_group_object(): Group ID: $group_id Section value: $object_section_value Value: $object_value"); + + $object_section_value = trim($object_section_value); + $object_value = trim($object_value); + + if (empty($group_id) OR empty($object_value) OR empty($object_section_value)) { + $this->debug_text("del_group_object(): Group ID: ($group_id) OR Section value: $object_section_value OR Value ($object_value) is empty, this is required"); + return false; + } + + if (!$object_id = $this->get_object_id($object_section_value, $object_value, $group_type)) { + $this->debug_text ("del_group_object (): Group ID ($group_id) OR Value ($object_value) OR Section value ($object_section_value) is invalid. Does this object exist?"); + return FALSE; + } + + $this->db->setQuery( 'DELETE FROM '. $table .' WHERE group_id='. $group_id .' AND '. $group_type .'_id='. $object_id ); + $this->db->query(); + + if ($this->db->getErrorNum()) { + $this->debug_db('del_group_object'); + return false; + } + + $this->debug_text("del_group_object(): Deleted Value: $object_value to Group ID: $group_id assignment"); + + if ($this->_caching == TRUE AND $this->_force_cache_expire == TRUE) { + //Expire all cache. + $this->Cache_Lite->clean('default'); + } + + return true; + } + + /*======================================================================*\ + Function: edit_group() + Purpose: Edits a group + \*======================================================================*/ + + /*======================================================================*\ + Function: rebuild_tree () + Purpose: rebuilds the group tree for the given type + \*======================================================================*/ + + /*======================================================================*\ + Function: del_group() + Purpose: deletes a given group + \*======================================================================*/ + function del_group($group_id, $reparent_children=TRUE, $group_type='ARO') { + + switch(strtolower(trim($group_type))) { + case 'axo': + $group_type = 'axo'; + $table = $this->_db_table_prefix .'axo_groups'; + $groups_map_table = $this->_db_table_prefix .'axo_groups_map'; + $groups_object_map_table = $this->_db_table_prefix .'groups_axo_map'; + break; + default: + $group_type = 'aro'; + $table = $this->_db_table_prefix .'aro_groups'; + $groups_map_table = $this->_db_table_prefix .'aro_groups_map'; + $groups_object_map_table = $this->_db_table_prefix .'groups_aro_map'; + break; + } + + $this->debug_text("del_group(): ID: $group_id Reparent Children: $reparent_children Group Type: $group_type"); + + if (empty($group_id) ) { + $this->debug_text("del_group(): Group ID ($group_id) is empty, this is required"); + return false; + } + + // Get details of this group + $this->db->setQuery( 'SELECT group_id, parent_id, name, lft, rgt FROM '. $table .' WHERE group_id='. $group_id ); + $group_details = $this->db->loadRow($query); + + if (!is_array($group_details)) { + $this->debug_db('del_group: get group details'); + return false; + } + + $parent_id = $group_details[1]; + + $left = $group_details[3]; + $right = $group_details[4]; + + // $this->db->BeginTrans(); + + // grab list of all children + $children_ids = $this->get_group_children($group_id, $group_type, 'RECURSE'); + + // prevent deletion of root group & reparent of children if it has more than one immediate child + if ($parent_id == 0) { + $this->db->setQuery( 'SELECT count(*) FROM '. $table .' WHERE parent_id='. $group_id ); + $child_count = $this->db->loadResult($query); + + if ($child_count > 1 && $reparent_children) { + $this->debug_text ('del_group (): You cannot delete the root group and reparent children, this would create multiple root groups.'); + return FALSE; + } + } + + $success = FALSE; + + /* + * Handle children here. + */ + switch (TRUE) { + // there are no child groups, just delete group + case !is_array($children_ids): + case count($children_ids) == 0: + // remove acl maps + /* Reapply when ACL's implemented + $this->db->setQuery( 'DELETE FROM '. $groups_map_table .' WHERE group_id='. $group_id ); + $rs = $this->db->Execute($query); + + if (!is_object($rs)) { + break; + }*/ + + // remove group object maps + $this->db->setQuery( 'DELETE FROM '. $groups_object_map_table .' WHERE group_id='. $group_id ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + // remove group + $this->db->setQuery( 'DELETE FROM '. $table .' WHERE group_id='. $group_id ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + // move all groups right of deleted group left by width of deleted group + $this->db->setQuery( 'UPDATE '. $table .' SET lft=lft-'. ($right-$left+1) .' WHERE lft>'. $right ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + $this->db->setQuery( 'UPDATE '. $table .' SET rgt=rgt-'. ($right-$left+1) .' WHERE rgt>'. $right ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + $success = TRUE; + break; + case $reparent_children == TRUE: + // remove acl maps + /* Reapply when ACL's implemented + $query = 'DELETE FROM '. $groups_map_table .' WHERE group_id='. $group_id; + $rs = $this->db->Execute($query); + + if (!is_object($rs)) { + break; + }*/ + + // remove group object maps + $this->db->setQuery( 'DELETE FROM '. $groups_object_map_table .' WHERE group_id='. $group_id ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + // remove group + $this->db->setQuery( 'DELETE FROM '. $table .' WHERE group_id='. $group_id ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + // set parent of immediate children to parent group + $this->db->setQuery( 'UPDATE '. $table .' SET parent_id='. $parent_id .' WHERE parent_id='. $group_id ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + // move all children left by 1 + $this->db->setQuery( 'UPDATE '. $table .' SET lft=lft-1, rgt=rgt-1 WHERE lft>'. $left .' AND rgt<'. $right ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + // move all groups right of deleted group left by 2 + $this->db->setQuery( 'UPDATE '. $table .' SET lft=lft-2 WHERE lft>'. $right ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + $this->db->setQuery( 'UPDATE '. $table .' SET rgt=rgt-2 WHERE rgt>'. $right ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + $success = TRUE; + break; + default: + // make list of group and all children + $group_ids = $children_ids; + $group_ids[] = $group_id; + + // remove acl maps + /* Reapply when ACL's implemented + $query = 'DELETE FROM '. $groups_map_table .' WHERE group_id IN ('. implode (',', $group_ids) .')'; + $rs = $this->db->Execute($query); + + if (!is_object($rs)) { + break; + }*/ + + // remove group object maps + $this->db->setQuery( 'DELETE FROM '. $groups_object_map_table .' WHERE group_id IN ('. implode (',', $group_ids) .')' ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + // remove groups + $this->db->setQuery( 'DELETE FROM '. $table .' WHERE group_id IN ('. implode (',', $group_ids) .')' ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + // move all groups right of deleted group left by width of deleted group + $this->db->setQuery( 'UPDATE '. $table .' SET lft=lft-'. ($right - $left + 1) .' WHERE lft>'. $right ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + $this->db->setQuery( 'UPDATE '. $table .' SET rgt=rgt-'. ($right - $left + 1) .' WHERE rgt>'. $right ); + $rs = $this->db->query(); + + if (!$rs) { + break; + } + + $success = TRUE; + } + + // if the delete failed, rollback the trans and return false + if (!$success) { + + $this->debug_db('del_group'); + $this->db->RollBackTrans(); + return false; + } + + $this->debug_text("del_group(): deleted group ID: $group_id"); + // $this->db->CommitTrans(); + + if ($this->_caching == TRUE AND $this->_force_cache_expire == TRUE) { + //Expire all cache. + $this->Cache_Lite->clean('default'); + } + + return true; + + } + + + /* + * + * Objects (ACO/ARO/AXO) + * + */ + /*======================================================================*\ + Function: get_object() + Purpose: Grabs all Objects's in the database, or specific to a section_value + \*======================================================================*/ + function get_object($section_value = null, $return_hidden=1, $object_type=NULL) { + + switch(strtolower(trim($object_type))) { + case 'aco': + $object_type = 'aco'; + $table = $this->_db_table_prefix .'aco'; + break; + case 'aro': + $object_type = 'aro'; + $table = $this->_db_table_prefix .'aro'; + break; + case 'axo': + $object_type = 'axo'; + $table = $this->_db_table_prefix .'axo'; + break; + default: + $this->debug_text('get_object(): Invalid Object Type: '. $object_type); + return FALSE; + } + + $this->debug_text("get_object(): Section Value: $section_value Object Type: $object_type"); + + $$this->db->setQuery( 'SELECT '. $object_type .'_id FROM '. $table ); + + $where = array(); + + if (!empty($section_value)) { + $where[] = 'section_value='. $this->db->getEscaped($section_value); + } + + if ($return_hidden==0) { + $where[] = 'hidden=0'; + } + + if (!empty($where)) { + $query .= ' WHERE '. implode(' AND ', $where); + } + + $rs = $this->db->loadResultArray(); + + if (!is_array($rs)) { + $this->debug_db('get_object'); + return false; + } + + // Return Object IDs + return $rs; + } + + /*======================================================================*\ + Function: get_objects () + Purpose: Grabs all Objects in the database, or specific to a section_value + returns format suitable for add_acl and is_conflicting_acl + \*======================================================================*/ + + /*======================================================================*\ + Function: get_object_data() + Purpose: Gets all data pertaining to a specific Object. + \*======================================================================*/ + + /*======================================================================*\ + Function: get_object_groups() + Purpose: Gets the group_id's for the given the section_value AND value + of the object. + \*======================================================================*/ + function get_object_groups($object_section_value, $object_value, $object_type=NULL) { + + switch(strtolower(trim($object_type))) { + case 'aro': + $group_type = 'aro'; + $table = $this->_db_table_prefix .'groups_aro_map'; + $object_table = $this->_db_table_prefix .'aro'; + $group_table = $this->_db_table_prefix .'aro_groups'; + break; + case 'axo': + $group_type = 'axo'; + $table = $this->_db_table_prefix .'groups_axo_map'; + $object_table = $this->_db_table_prefix .'axo'; + $group_table = $this->_db_table_prefix .'axo_groups'; + break; + default: + $this->debug_text('get_object_groups(): Invalid Object Type: '. $object_type); + return FALSE; + } + + $this->debug_text("get_object_groups(): Section Value: $object_section_value Value: $object_value Object Type: $object_type"); + + $object_section_value = trim($object_section_value); + $object_value = trim($object_value); + + if (empty($object_section_value) AND empty($object_value) ) { + $this->debug_text("get_object_groups(): Section Value ($object_section_value) AND value ($object_value) is empty, this is required"); + return false; + } + + if (empty($object_type) ) { + $this->debug_text("get_object_groups(): Object Type ($object_type) is empty, this is required"); + return false; + } +// SELECT g.group_id,o.'. $group_type .'_id,(gm.group_id IS NOT NULL) AS member + + $this->db->setQuery( ' + SELECT g.group_id,o.'. $group_type .'_id,(gm.group_id IS NOT NULL) AS member + FROM '. $group_table .' g + LEFT JOIN '. $table .' gm ON gm.group_id=g.group_id + LEFT JOIN '. $object_table .' o ON o.'. $group_type .'_id = gm.'. $group_type .'_id + WHERE (o.section_value=\''. $this->db->getEscaped($object_section_value) .'\' AND o.value=\''. $this->db->getEscaped($object_value) .'\')' + ); + $rs = $this->db->loadResultArray(); + + if ($this->db->getErrorNum()) { + $this->debug_db('get_object_id'); + return false; + } + + //Return the array of group id's + return $rs; + } + + /*======================================================================*\ + Function: get_object_id() + Purpose: Gets the object_id given the section_value AND value of the object. + \*======================================================================*/ + function get_object_id($section_value, $value, $object_type=NULL) { + + switch(strtolower(trim($object_type))) { + case 'aco': + $object_type = 'aco'; + $table = $this->_db_table_prefix .'aco'; + break; + case 'aro': + $object_type = 'aro'; + $table = $this->_db_table_prefix .'aro'; + break; + case 'axo': + $object_type = 'axo'; + $table = $this->_db_table_prefix .'axo'; + break; + default: + $this->debug_text('get_object_id(): Invalid Object Type: '. $object_type); + return FALSE; + } + + $this->debug_text("get_object_id(): Section Value: $section_value Value: $value Object Type: $object_type"); + + $section_value = trim($section_value); + $value = trim($value); + + if (empty($section_value) AND empty($value) ) { + $this->debug_text("get_object_id(): Section Value ($value) AND value ($value) is empty, this is required"); + return false; + } + + if (empty($object_type) ) { + $this->debug_text("get_object_id(): Object Type ($object_type) is empty, this is required"); + return false; + } + + $this->db->setQuery( 'SELECT '. $object_type .'_id FROM '. $table .' WHERE section_value=\''. $this->db->getEscaped($section_value) .'\' AND value=\''. $this->db->getEscaped($value) .'\'' + ); + $rs = $this->db->loadRowList(); + + if ($this->db->getErrorNum()) { + $this->debug_db('get_object_id'); + return false; + } + + $row_count = count( $rs ); + + if ($row_count > 1) { + $this->debug_text("get_object_id(): Returned $row_count rows, can only return one. This should never happen, the database may be missing a unique key."); + return false; + } + + if ($row_count == 0) { + $this->debug_text("get_object_id(): Returned $row_count rows"); + return false; + } + + $row = $rs[0]; + + //Return the ID. + return $row[0]; + } + + /*======================================================================*\ + Function: get_object_section_value() + Purpose: Gets the object_section_value given object id + \*======================================================================*/ + + /*======================================================================*\ + Function: get_object_groups() + Purpose: Gets all groups an object is a member of. + If $option == 'RECURSE' it will get all ancestor groups. + defaults to only get direct parents. + \*======================================================================*/ + + /*======================================================================*\ + Function: add_object() + Purpose: Inserts a new object + \*======================================================================*/ + function add_object($section_value, $name, $value=0, $order=0, $hidden=0, $object_type=NULL) { + + switch(strtolower(trim($object_type))) { + case 'aco': + $object_type = 'aco'; + $table = $this->_db_table_prefix .'aco'; + $object_sections_table = $this->_db_table_prefix .'aco_sections'; + break; + case 'aro': + $object_type = 'aro'; + $table = $this->_db_table_prefix .'aro'; + $object_sections_table = $this->_db_table_prefix .'aro_sections'; + break; + case 'axo': + $object_type = 'axo'; + $table = $this->_db_table_prefix .'axo'; + $object_sections_table = $this->_db_table_prefix .'axo_sections'; + break; + default: + $this->debug_text('add_object(): Invalid Object Type: '. $object_type); + return FALSE; + } + + $this->debug_text("add_object(): Section Value: $section_value Value: $value Order: $order Name: $name Object Type: $object_type"); + + $section_value = trim($section_value); + $name = trim($name); + $value = trim($value); + $order = trim($order); + + if ($order == NULL OR $order == '') { + $order = 0; + } + + if (empty($name) OR empty($section_value) ) { + $this->debug_text("add_object(): name ($name) OR section value ($section_value) is empty, this is required"); + return false; + } + + if (strlen($name) >= 255 OR strlen($value) >= 230 ) { + $this->debug_text("add_object(): name ($name) OR value ($value) is too long."); + return false; + } + + if (empty($object_type) ) { + $this->debug_text("add_object(): Object Type ($object_type) is empty, this is required"); + return false; + } + + // Test to see if the section is invalid or object already exists. + $this->db->setQuery( ' + SELECT (o.'. $object_type .'_id IS NOT NULL) AS object_exists + FROM '. $object_sections_table .' s + LEFT JOIN '. $table .' o ON (s.value=o.section_value AND o.value=\''. $this->db->getEscaped($value) .'\') + WHERE s.value=\''. $this->db->getEscaped($section_value). '\'' + ); + + $rows = $this->db->loadRowList(); + if ($this->db->getErrorNum()) { + $this->debug_db('add_object'); + return FALSE; + } + + if (count( $rows ) != 1) { + // Section is invalid + $this->debug_text("add_object(): Section Value: $section_value Object Type ($object_type) does not exist, this is required"); + return false; + } + + $row = $rows[0]; + + if ($row[0] == 1) { + //Object is already created. + return true; + } + + $insert_id = $this->db->GenID($this->_db_table_prefix.$object_type.'_seq',10); + $this->db->setQuery( "INSERT INTO $table ({$object_type}_id,section_value,value,order_value,name,hidden) VALUES($insert_id,'$section_value','$value','$order','$name','$hidden')" ); + + if (!$this->db->query()) { + $this->debug_db('add_object'); + return false; + } + + $insert_id = $this->db->insertid(); + $this->debug_text("add_object(): Added object as ID: $insert_id"); + return $insert_id; + } + /*======================================================================*\ + Function: edit_object() + Purpose: Edits a given Object + \*======================================================================*/ + function edit_object($object_id, $section_value, $name, $value=0, $order=0, $hidden=0, $object_type=NULL) { + + switch(strtolower(trim($object_type))) { + case 'aco': + $object_type = 'aco'; + $table = $this->_db_table_prefix .'aco'; + $object_map_table = 'aco_map'; + break; + case 'aro': + $object_type = 'aro'; + $table = $this->_db_table_prefix .'aro'; + $object_map_table = 'aro_map'; + break; + case 'axo': + $object_type = 'axo'; + $table = $this->_db_table_prefix .'axo'; + $object_map_table = 'axo_map'; + break; + } + + $this->debug_text("edit_object(): ID: $object_id, Section Value: $section_value, Value: $value, Order: $order, Name: $name, Object Type: $object_type"); + + $section_value = trim($section_value); + $name = trim($name); + $value = trim($value); + $order = trim($order); + + if (empty($object_id) OR empty($section_value) ) { + $this->debug_text("edit_object(): Object ID ($object_id) OR Section Value ($section_value) is empty, this is required"); + return false; + } + + if (empty($name) ) { + $this->debug_text("edit_object(): name ($name) is empty, this is required"); + return false; + } + + if (empty($object_type) ) { + $this->debug_text("edit_object(): Object Type ($object_type) is empty, this is required"); + return false; + } + + //Get old value incase it changed, before we do the update. + $this->db->setQuery( 'SELECT value, section_value FROM '. $table .' WHERE '. $object_type .'_id='. $object_id ); + $old = $this->db->loadRow(); + + $this->db->setQuery( ' + UPDATE '. $table .' + SET section_value=\''. $this->db->getEscaped($section_value) .'\', + value='. $this->db->getEscaped($value) .', + order_value='. $this->db->getEscaped($order) .', + name=\''. $this->db->getEscaped($name) .'\', + hidden='. $hidden .' + WHERE '. $object_type .'_id='. $object_id + ); + $this->db->query(); + + if (!$this->db->getErrorNum()) { + $this->debug_db('edit_object'); + return false; + } + + $this->debug_text('edit_object(): Modified '. strtoupper($object_type) .' ID: '. $object_id); + + if ($old[0] != $value OR $old[1] != $section_value) { + $this->debug_text("edit_object(): Value OR Section Value Changed, update other tables."); + + $this->db->setQuery( ' + UPDATE '. $object_map_table .' + SET value=\''. $this->db->getEscaped($value) .'\', + section_value=\''. $this->db->getEscaped($section_value) .'\' + WHERE section_value=\''. $this->db->getEscaped($old[1]) .'\' + AND value='. $this->db->getEscaped($old[0]) + ); + $this->db->query(); + + if (!$this->db->getErrorNum()) { + $this->debug_db('edit_object'); + return FALSE; + } + + $this->debug_text ('edit_object(): Modified Map Value: '. $value .' Section Value: '. $section_value); + } + + return TRUE; + } + + /*======================================================================*\ + Function: del_object() + Purpose: Deletes a given Object and, if instructed to do so, + erase all referencing objects + ERASE feature by: Martino Piccinato + \*======================================================================*/ + function del_object($object_id, $object_type=NULL, $erase=FALSE) { + + switch(strtolower(trim($object_type))) { + case 'aco': + $object_type = 'aco'; + $table = $this->_db_table_prefix .'aco'; + $object_map_table = $this->_db_table_prefix .'aco_map'; + break; + case 'aro': + $object_type = 'aro'; + $table = $this->_db_table_prefix .'aro'; + $object_map_table = $this->_db_table_prefix .'aro_map'; + $groups_map_table = $this->_db_table_prefix .'aro_groups_map'; + $object_group_table = $this->_db_table_prefix .'groups_aro_map'; + break; + case 'axo': + $object_type = 'axo'; + $table = $this->_db_table_prefix .'axo'; + $object_map_table = $this->_db_table_prefix .'axo_map'; + $groups_map_table = $this->_db_table_prefix .'axo_groups_map'; + $object_group_table = $this->_db_table_prefix .'groups_axo_map'; + break; + default: + $this->debug_text('del_object(): Invalid Object Type: '. $object_type); + return FALSE; + } + + $this->debug_text("del_object(): ID: $object_id Object Type: $object_type, Erase all referencing objects: $erase"); + + if (empty($object_id) ) { + $this->debug_text("del_object(): Object ID ($object_id) is empty, this is required"); + return false; + } + + if (empty($object_type) ) { + $this->debug_text("del_object(): Object Type ($object_type) is empty, this is required"); + return false; + } + + // $this->db->BeginTrans(); + + // Get Object section_value/value (needed to look for referencing objects) + $this->db->setQuery( 'SELECT section_value,value FROM '. $table .' WHERE '. $object_type .'_id='. $object_id ); + $object = $this->db->loadRow(); + + if (empty($object)) { + $this->debug_text('del_object(): The specified object ('. strtoupper($object_type) .' ID: '. $object_id .') could not be found.
      SQL = '.$this->db->stderr()); + return FALSE; + } + + $section_value = $object[0]; + $value = $object[1]; + + // Get ids of acl referencing the Object (if any) + $this->db->setQuery( "SELECT acl_id FROM $object_map_table WHERE value='$value' AND section_value='$section_value'" ); + $acl_ids = $this->db->loadResultArray(); + + if ($erase) { + // We were asked to erase all acl referencing it + + $this->debug_text("del_object(): Erase was set to TRUE, delete all referencing objects"); + + if ($object_type == "aro" OR $object_type == "axo") { + // The object can be referenced in groups_X_map tables + // in the future this branching may become useless because + // ACO might me "groupable" too + + // Get rid of groups_map referencing the Object + $this->db->setQuery( 'DELETE FROM '. $object_group_table .' WHERE '. $object_type .'_id='. $object_id ); + $rs = $this->db->query(); + + if (!$rs) { + $this->debug_db('edit_object'); + // $this->db->RollBackTrans(); + return false; + } + } + + if ($acl_ids) { + //There are acls actually referencing the object + + if ($object_type == 'aco') { + // I know it's extremely dangerous but + // if asked to really erase an ACO + // we should delete all acl referencing it + // (and relative maps) + + // Do this below this branching + // where it uses $orphan_acl_ids as + // the array of the "orphaned" acl + // in this case all referenced acl are + // orhpaned acl + + $orphan_acl_ids = $acl_ids; + } else { + // The object is not an ACO and might be referenced + // in still valid acls regarding also other object. + // In these cases the acl MUST NOT be deleted + + // Get rid of $object_id map referencing erased objects + $this->db->setQuery( "DELETE FROM $object_map_table WHERE section_value='$section_value' AND value='$value'" ); + $rs = $this->db->query(); + + if (!$rs) { + $this->debug_db('edit_object'); + $this->db->RollBackTrans(); + return false; + } + + // Find the "orphaned" acl. I mean acl referencing the erased Object (map) + // not referenced anymore by other objects + + $sql_acl_ids = implode(",", $acl_ids); + + $this->db->setQuery( ' + SELECT a.id + FROM '. $this->_db_table_prefix .'acl a + LEFT JOIN '. $object_map_table .' b ON a.id=b.acl_id + './* LEFT JOIN '. $groups_map_table .' c ON a.id=c.acl_id*/' + WHERE value IS NULL + AND section_value IS NULL + AND group_id IS NULL + AND a.id in ('. $sql_acl_ids .')'); + $orphan_acl_ids = $this->db->loadResultArray(); + + } // End of else section of "if ($object_type == "aco")" + + if ($orphan_acl_ids) { + // If there are orphaned acls get rid of them + + foreach ($orphan_acl_ids as $acl) { + $this->del_acl($acl); + } + } + + } // End of if ($acl_ids) + + // Finally delete the Object itself + $this->db->setQuery( "DELETE FROM $table WHERE {$object_type}_id='$object_id'" ); + $rs = $this->db->query(); + + if (!$rs) { + $this->debug_db('edit_object'); + // $this->db->RollBackTrans(); + return false; + } + + // $this->db->CommitTrans(); + return true; + + } // End of "if ($erase)" + + $groups_ids = FALSE; + + if ($object_type == 'axo' OR $object_type == 'aro') { + // If the object is "groupable" (may become unnecessary, + // see above + + // Get id of groups where the object is assigned: + // you must explicitly remove the object from its groups before + // deleting it (don't know if this is really needed, anyway it's safer ;-) + + $this->db->setQuery( 'SELECT group_id FROM '. $object_group_table .' WHERE '. $object_type .'_id='. $object_id ); + $groups_ids = $this->db->loadResultArray(); + } + + if ( ( isset($acl_ids) AND $acl_ids !== FALSE ) OR ( isset($groups_ids) AND $groups_ids !== FALSE) ) { + // The Object is referenced somewhere (group or acl), can't delete it + + $this->debug_text("del_object(): Can't delete the object as it is being referenced by GROUPs (".@implode($group_ids).") or ACLs (".@implode($acl_ids,",").")"); + + return false; + } else { + // The Object is NOT referenced anywhere, delete it + + $this->db->setQuery( "DELETE FROM $table WHERE {$object_type}_id='$object_id'" ); + $this->db->query(); + + if ( $this->db->getErrorNum() ) { + $this->debug_db('edit_object'); + // $this->db->RollBackTrans(); + return false; + } + + // $this->db->CommitTrans(); + return true; + } + + return false; + } + + /* + * + * Object Sections + * + */ + + /*======================================================================*\ + Function: get_object_section_section_id() + Purpose: Gets the object_section_id given the name AND/OR value of the section. + Will only return one section id, so if there are duplicate names it will return false. + \*======================================================================*/ + + /*======================================================================*\ + Function: add_object_section() + Purpose: Inserts an object Section + \*======================================================================*/ + + /*======================================================================*\ + Function: edit_object_section() + Purpose: Edits a given Object Section + \*======================================================================*/ + + /*======================================================================*\ + Function: del_object_section() + Purpose: Deletes a given Object Section and, if explicitly + asked, all the section objects + ERASE feature by: Martino Piccinato + \*======================================================================*/ + + /* + * + * Mambo Utility Methods + * + */ + + /*======================================================================*\ + Function: has_group_parent + Purpose: Checks whether the 'source' group is a child of the 'target' + \*======================================================================*/ + function is_group_child_of( $grp_src, $grp_tgt, $group_type='ARO' ) { + $this->debug_text("has_group_parent(): Source=$grp_src, Target=$grp_tgt, Type=$group_type"); + + switch(strtolower(trim($group_type))) { + case 'axo': + $table = $this->_db_table_prefix .'axo_groups'; + break; + default: + $table = $this->_db_table_prefix .'aro_groups'; + break; + } + + if (is_int( $grp_src ) && is_int($grp_tgt)) { + $this->db->setQuery( "SELECT COUNT(*)" + . "\nFROM $table AS g1" + . "\nLEFT JOIN $table AS g2 ON g1.lft > g2.lft AND g1.lft < g2.rgt" + . "\nWHERE g1.group_id=$grp_src AND g2.group_id=$grp_tgt" + ); + } else if (is_string( $grp_src ) && is_string($grp_tgt)) { + $this->db->setQuery( "SELECT COUNT(*)" + . "\nFROM $table AS g1" + . "\nLEFT JOIN $table AS g2 ON g1.lft > g2.lft AND g1.lft < g2.rgt" + . "\nWHERE g1.name='$grp_src' AND g2.name='$grp_tgt'" + ); + } else if (is_int( $grp_src ) && is_string($grp_tgt)) { + $this->db->setQuery( "SELECT COUNT(*)" + . "\nFROM $table AS g1" + . "\nLEFT JOIN $table AS g2 ON g1.lft > g2.lft AND g1.lft < g2.rgt" + . "\nWHERE g1.group_id='$grp_src' AND g2.name='$grp_tgt'" + ); + } else { + $this->db->setQuery( "SELECT COUNT(*)" + . "\nFROM $table AS g1" + . "\nLEFT JOIN $table AS g2 ON g1.lft > g2.lft AND g1.lft < g2.rgt" + . "\nWHERE g1.name=$grp_src AND g2.group_id='$grp_tgt'" + ); + } + + return $this->db->loadResult(); + } + + function getAroGroup( $value ) { + return $this->_getGroup( 'aro', $value ); + } + + function _getGroup( $type, $value ) { + global $database; + + $database->setQuery( "SELECT g.*" + . "\nFROM #__core_acl_{$type}_groups AS g" + . "\nINNER JOIN #__core_acl_groups_{$type}_map AS gm ON gm.group_id = g.group_id" + . "\nINNER JOIN #__core_acl_{$type} AS ao ON ao.{$type}_id = gm.{$type}_id" + . "\nWHERE ao.value='$value'" + ); + $obj = null; + $database->loadObject( $obj ); + return $obj; + } + + function _getAbove() { + } + + function _getBelow( $table, $fields, $groupby=null, $root_id=null, $root_name=null, $inclusive=true ) { + global $database; + + $root = new stdClass(); + $root->lft = 0; + $root->rgt = 0; + + if ($root_id) { + } else if ($root_name) { + $database->setQuery( "SELECT lft, rgt FROM $table WHERE name='$root_name'" ); + $database->loadObject( $root ); + } + + $where = ''; + if ($root->lft+$root->rgt <> 0) { + if ($inclusive) { + $where = "WHERE g1.lft BETWEEN $root->lft AND $root->rgt"; + } else { + $where = "WHERE g1.lft BETWEEN $root->lft+1 AND $root->rgt-1"; + } + } + + $database->setQuery( "SELECT $fields" + . "\nFROM $table AS g1" + . "\nINNER JOIN $table AS g2 ON g1.lft BETWEEN g2.lft AND g2.rgt" + . "\n$where" + . ($groupby ? "\nGROUP BY $groupby" : "") + . "\nORDER BY g1.lft" + ); + + //echo $database->getQuery(); + return $database->loadObjectList(); + } + + function get_group_children_tree( $root_id=null, $root_name=null, $inclusive=true ) { + global $database; + + $tree = gacl_api::_getBelow( '#__core_acl_aro_groups', + 'g1.group_id, g1.name, COUNT(g2.name) AS level', + 'g1.name', + $root_id, $root_name, $inclusive ); + + // first pass get level limits + $n = count( $tree ); + $min = $tree[0]->level; + $max = $tree[0]->level; + for ($i=0; $i < $n; $i++) { + $min = min( $min, $tree[$i]->level ); + $max = max( $max, $tree[$i]->level ); + } + + $indents = array(); + foreach (range( $min, $max ) as $i) { + $indents[$i] = '      '; + } + // correction for first indent + $indents[$min] = ''; + + $list = array(); + for ($i=$n-1; $i >= 0; $i--) { + $shim = ''; + foreach (range( $min, $tree[$i]->level ) as $j) { + $shim .= $indents[$j]; + } + + if (@$indents[$tree[$i]->level+1] == '. ') { + $twist = ' '; + } else { + $twist = "- "; + } + + //$list[$i] = $tree[$i]->level.$shim.$twist.$tree[$i]->name; + $list[$i] = mosHTML::makeOption( $tree[$i]->group_id, $shim.$twist.$tree[$i]->name ); + if ($tree[$i]->level < @$tree[$i-1]->level) { + $indents[$tree[$i]->level+1] = '. '; + } + } + + ksort($list); + return $list; + } +} + +class mosARO extends mosDBTable { +/** @var int Primary key */ + var $aro_id=null; + var $section_value=null; + var $value=null; + var $order_value=null; + var $name=null; + var $hidden=null; + + function mosARO( &$db ) { + $this->mosDBTable( '#__core_acl_aro', 'aro_id', $db ); + } + +/** +* Utility function for returning groups +*/ + +} + +class mosAroGroup extends mosDBTable { +/** @var int Primary key */ + var $group_id=null; + var $parent_id=null; + var $name=null; + var $lft=null; + var $rgt=null; + + function mosAroGroup( &$db ) { + $this->mosDBTable( '#__core_acl_aro_groups', 'group_id', $db ); + } +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/getids.php 4.6-complete/uploadfiles/includes/getids.php --- 4.6rc2/uploadfiles/includes/getids.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/getids.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,133 @@ +'') { + return ''; + } + $c = 0; + while ($rowC = mysql_fetch_object($resultC)){ + $topic[$c] = $rowC->$field; + $c++; + } + + //Build CatID query + $accquery="("; + for ($a=0; $a4) { + $accquery = substr($accquery,0,(strlen($accquery)-4)); + } + $accquery=$accquery.")"; + + //Get all CatIDs + $resultD = mysql_db_query ($db, "SELECT id FROM ".$_dbprefix."categories WHERE (access<='$gid' AND published=1 AND ".$accquery.")") or $mysql_eval_err = mysql_error(); + if ($mysql_eval_err<>'') { + return ''; + } + $d = 0; + while ($rowD = mysql_fetch_object($resultD)){ + $cid[$d] = $rowD->id; + $d++; + } + + //Build TopicID query + $topquery="("; + for ($a=0; $a4) { + $topquery = substr($topquery,0,(strlen($topquery)-4)); + $topquery = "AND ".$topquery.")"; + } else { + $topquery = ""; + } + + + return $topquery; +} + + +function getmenuids($field, $table, $gid, $db, $_dbprefix){ + + //Get all Story Topics + $resultC = mysql_db_query ($db, "SELECT $field FROM ".$_dbprefix."$table WHERE published=1") or $mysql_eval_err = mysql_error(); + if ($mysql_eval_err<>'') { + return ''; + } + $c = 0; + while ($rowC = mysql_fetch_object($resultC)){ + $topic[$c] = $rowC->$field; + $c++; + } + + //Build MenuID query + $accquery="("; + for ($a=0; $a4) { + $accquery = substr($accquery,0,(strlen($accquery)-4)); + } + $accquery=$accquery.")"; + + //Get all MenuIDs + $resultD = mysql_db_query ($db, "SELECT id FROM ".$_dbprefix."menu WHERE (access<='$gid' AND published=1 AND ".$accquery.")") or $mysql_eval_err = mysql_error(); + if ($mysql_eval_err<>'') { + return ''; + } + $d = 0; + while ($rowD = mysql_fetch_object($resultD)){ + $cid[$d] = $rowD->id; + $d++; + } + + //Build MenuContentID query + $topquery="("; + for ($a=0; $a4) { + $topquery = substr($topquery,0,(strlen($topquery)-4)); + $topquery = "AND ".$topquery.")"; + } else { + $topquery = ""; + } + + return $topquery; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/index.html 4.6-complete/uploadfiles/includes/index.html --- 4.6rc2/uploadfiles/includes/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/js/JSCookMenu.js 4.6-complete/uploadfiles/includes/js/JSCookMenu.js --- 4.6rc2/uploadfiles/includes/js/JSCookMenu.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/JSCookMenu.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1656 @@ +/* + JSCookMenu v2.0.1 (c) Copyright 2002-2006 by Heng Yuan + + http://jscook.sourceforge.net/JSCookMenu/ + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + ITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +// default node properties +var _cmNodeProperties = +{ + // theme prefix + prefix: '', + + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: '', + // HTML code to the right of the folder item + mainFolderRight: '', + // HTML code to the left of the regular item + mainItemLeft: '', + // HTML code to the right of the regular item + mainItemRight: '', + + // sub menu display attributes + + // HTML code to the left of the folder item + folderLeft: '', + // HTML code to the right of the folder item + folderRight: '', + // HTML code to the left of the regular item + itemLeft: '', + // HTML code to the right of the regular item + itemRight: '', + // cell spacing for main menu + mainSpacing: 0, + // cell spacing for sub menus + subSpacing: 0, + + // optional settings + // If not set, use the default + + // auto disappear time for submenus in milli-seconds + delay: 500, + + // 1st layer sub menu starting index + zIndexStart: 1000, + // z-index incremental step for subsequent layers + zIndexInc: 5, + + // sub menu header appears before the sub menu table + subMenuHeader: null, + // sub menu header appears after the sub menu table + subMenuFooter: null, + + // submenu location adjustments + // + // offsetHMainAdjust for adjusting the first submenu + // of a 'hbr' menu. + // offsetVMainAdjust for adjusting the first submenu + // of a 'vbr' menu. + // offsetSubAdjust for subsequent level of submenus + // + offsetHMainAdjust: [0, 0], + offsetVMainAdjust: [0, 0], + offsetSubAdjust: [0, 0], + + // act on click to open sub menu + // not yet implemented + // 0 : use default behavior + // 1 : hover open in all cases + // 2 : click on main, hover on sub + // 3 : click open in all cases (illegal as of 1.5) + clickOpen: 1, + + // special effects on open/closing a sub menu + effect: null +}; + +// Globals +var _cmIDCount = 0; +var _cmIDName = 'cmSubMenuID'; // for creating submenu id + +var _cmTimeOut = null; // how long the menu would stay +var _cmCurrentItem = null; // the current menu item being selected; + +var _cmNoAction = new Object (); // indicate that the item cannot be hovered. +var _cmNoClick = new Object (); // similar to _cmNoAction but does not respond to mouseup/mousedown events +var _cmSplit = new Object (); // indicate that the item is a menu split + +var _cmMenuList = new Array (); // a list of the current menus +var _cmItemList = new Array (); // a simple list of items + +var _cmFrameList = new Array (); // a pool of reusable iframes +var _cmFrameListSize = 0; // keep track of the actual size +var _cmFrameMasking = true; // use the frame masking + +// disable iframe masking for IE7 +/*@cc_on + @if (@_jscript_version >= 5.6) + if (_cmFrameMasking) + { + var v = navigator.appVersion; + var i = v.indexOf ("MSIE "); + if (i >= 0) + { + if (parseInt (navigator.appVersion.substring (i + 5)) >= 7) + _cmFrameMasking = false; + } + } + @end +@*/ + +var _cmClicked = false; // for onClick + +// flag for turning on off hiding objects +// +// 0: automatic +// 1: hiding +// 2: no hiding +var _cmHideObjects = 0; + +// Utility function to do a shallow copy a node property +function cmClone (nodeProperties) +{ + var returnVal = new Object (); + for (v in nodeProperties) + returnVal[v] = nodeProperties[v]; + return returnVal; +} + +// +// store the new menu information into a structure to retrieve it later +// +function cmAllocMenu (div, menu, orient, nodeProperties, prefix) +{ + var info = new Object (); + info.div = div; + info.menu = menu; + info.orient = orient; + info.nodeProperties = nodeProperties; + info.prefix = prefix; + var menuID = _cmMenuList.length; + _cmMenuList[menuID] = info; + return menuID; +} + +// +// request a frame +// +function cmAllocFrame () +{ + if (_cmFrameListSize > 0) + return _cmFrameList[--_cmFrameListSize]; + var frameObj = document.createElement ('iframe'); + frameObj.frameBorder = '0'; + frameObj.style.display = 'none'; + document.body.appendChild (frameObj); + frameObj.style.filter = 'alpha(opacity=0)'; + frameObj.style.zIndex = 99; + frameObj.style.position = 'absolute'; + frameObj.style.border = '0'; + frameObj.scrolling = 'no'; + return frameObj; +} + +// +// make a frame resuable later +// +function cmFreeFrame (frameObj) +{ + _cmFrameList[_cmFrameListSize++] = frameObj; +} + +////////////////////////////////////////////////////////////////////// +// +// Drawing Functions and Utility Functions +// +////////////////////////////////////////////////////////////////////// + +// +// produce a new unique id +// +function cmNewID () +{ + return _cmIDName + (++_cmIDCount); +} + +// +// return the property string for the menu item +// +function cmActionItem (item, isMain, idSub, menuInfo, menuID) +{ + _cmItemList[_cmItemList.length] = item; + var index = _cmItemList.length - 1; + idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); + + var clickOpen = menuInfo.nodeProperties.clickOpen; + var onClick = (clickOpen == 3) || (clickOpen == 2 && isMain); + + var param = 'this,' + isMain + ',' + idSub + ',' + menuID + ',' + index; + + var returnStr; + if (onClick) + returnStr = ' onmouseover="cmItemMouseOver(' + param + ',false)" onmousedown="cmItemMouseDownOpenSub (' + param + ')"'; + else + returnStr = ' onmouseover="cmItemMouseOverOpenSub (' + param + ')" onmousedown="cmItemMouseDown (' + param + ')"'; + return returnStr + ' onmouseout="cmItemMouseOut (' + param + ')" onmouseup="cmItemMouseUp (' + param + ')"'; +} + +// +// this one is used by _cmNoClick to only take care of onmouseover and onmouseout +// events which are associated with menu but not actions associated with menu clicking/closing +// +function cmNoClickItem (item, isMain, idSub, menuInfo, menuID) +{ + // var index = _cmItemList.push (item) - 1; + _cmItemList[_cmItemList.length] = item; + var index = _cmItemList.length - 1; + idSub = (!idSub) ? 'null' : ('\'' + idSub + '\''); + + var param = 'this,' + isMain + ',' + idSub + ',' + menuID + ',' + index; + + return ' onmouseover="cmItemMouseOver (' + param + ')" onmouseout="cmItemMouseOut (' + param + ')"'; +} + +function cmNoActionItem (item, prefix) +{ + return item[1]; +} + +function cmSplitItem (prefix, isMain, vertical) +{ + var classStr = 'cm' + prefix; + if (isMain) + { + classStr += 'Main'; + if (vertical) + classStr += 'HSplit'; + else + classStr += 'VSplit'; + } + else + classStr += 'HSplit'; + return eval (classStr); +} + +// +// draw the sub menu recursively +// +function cmDrawSubMenu (subMenu, prefix, id, orient, nodeProperties, zIndexStart, menuInfo, menuID) +{ + var str = '
      '; + if (nodeProperties.subMenuHeader) + str += nodeProperties.subMenuHeader; + + str += ''; + + var strSub = ''; + + var item; + var idSub; + var hasChild; + + var i; + + var classStr; + + for (i = 5; i < subMenu.length; ++i) + { + item = subMenu[i]; + if (!item) + continue; + + if (item == _cmSplit) + item = cmSplitItem (prefix, 0, true); + item.parentItem = subMenu; + item.subMenuID = id; + + hasChild = (item.length > 5); + idSub = hasChild ? cmNewID () : null; + + str += ''; + + if (item[0] != null) + str += item[0]; + else + str += hasChild ? nodeProperties.folderLeft : nodeProperties.itemLeft; + + str += ''; + } + + str += '
      ' + item[1]; + + str += ''; + + if (hasChild) + { + str += nodeProperties.folderRight; + strSub += cmDrawSubMenu (item, prefix, idSub, orient, nodeProperties, zIndexStart + nodeProperties.zIndexInc, menuInfo, menuID); + } + else + str += nodeProperties.itemRight; + str += '
      '; + + if (nodeProperties.subMenuFooter) + str += nodeProperties.subMenuFooter; + str += '
      ' + strSub; + return str; +} + +// +// The function that builds the menu inside the specified element id. +// +// id id of the element +// orient orientation of the menu in [hv][ub][lr] format +// menu the menu object to be drawn +// nodeProperties properties for the theme +// prefix prefix of the theme +// +function cmDraw (id, menu, orient, nodeProperties, prefix) +{ + var obj = cmGetObject (id); + + if (!prefix) + prefix = nodeProperties.prefix; + if (!prefix) + prefix = ''; + if (!nodeProperties) + nodeProperties = _cmNodeProperties; + + var menuID = cmAllocMenu (obj, menu, orient, nodeProperties, prefix); + var menuInfo = _cmMenuList[menuID]; + + // setup potentially missing properties + if (!nodeProperties.delay) + nodeProperties.delay = _cmNodeProperties.delay; + if (!nodeProperties.clickOpen) + nodeProperties.clickOpen = _cmNodeProperties.clickOpen; + if (!nodeProperties.zIndexStart) + nodeProperties.zIndexStart = _cmNodeProperties.zIndexStart; + if (!nodeProperties.zIndexInc) + nodeProperties.zIndexInc = _cmNodeProperties.zIndexInc; + if (!nodeProperties.offsetHMainAdjust) + nodeProperties.offsetHMainAdjust = _cmNodeProperties.offsetHMainAdjust; + if (!nodeProperties.offsetVMainAdjust) + nodeProperties.offsetVMainAdjust = _cmNodeProperties.offsetVMainAdjust; + if (!nodeProperties.offsetSubAdjust) + nodeProperties.offsetSubAdjust = _cmNodeProperties.offsetSubAdjust; + // save user setting on frame masking + nodeProperties.cmFrameMasking = _cmFrameMasking; + + var str = ''; + var strSub = ''; + + if (!orient) + orient = 'hbr'; + + var orientStr = String (orient); + var orientSub; + var vertical; + + // draw the main menu items + if (orientStr.charAt (0) == 'h') + { + // horizontal menu + orientSub = 'v' + orientStr.substr (1, 2); + str += ''; + vertical = false; + } + else + { + // vertical menu + orientSub = 'v' + orientStr.substr (1, 2); + vertical = true; + } + + var i; + var item; + var idSub; + var hasChild; + + var classStr; + + for (i = 0; i < menu.length; ++i) + { + item = menu[i]; + + if (!item) + continue; + + item.menu = menu; + item.subMenuID = id; + + str += vertical ? ' 5); + idSub = hasChild ? cmNewID () : null; + + str += cmActionItem (item, 1, idSub, menuInfo, menuID) + '>'; + + if (item == _cmSplit) + item = cmSplitItem (prefix, 1, vertical); + + if (item[0] == _cmNoAction || item[0] == _cmNoClick) + { + str += cmNoActionItem (item, prefix); + str += vertical? '' : ''; + continue; + } + + classStr = prefix + 'Main' + (hasChild ? 'Folder' : 'Item'); + + str += vertical ? ''; + + str += (item[0] == null) ? (hasChild ? nodeProperties.mainFolderLeft : nodeProperties.mainItemLeft) + : item[0]; + str += vertical ? '' : ''; + + str += vertical ? ''; + str += item[1]; + + str += vertical ? '' : ''; + + str += vertical ? ''; + + str += hasChild ? nodeProperties.mainFolderRight : nodeProperties.mainItemRight; + + str += vertical ? '' : ''; + + str += vertical ? '' : ''; + + if (hasChild) + strSub += cmDrawSubMenu (item, prefix, idSub, orientSub, nodeProperties, nodeProperties.zIndexStart, menuInfo, menuID); + } + if (!vertical) + str += ''; + str += '
      ' + strSub; + obj.innerHTML = str; +} + +// +// The function builds the menu inside the specified element id. +// +// This function is similar to cmDraw except that menu is taken from HTML node +// rather a javascript tree. This feature allows links to be scanned by search +// bots. +// +// This function basically converts HTML node to a javascript tree, and then calls +// cmDraw to draw the actual menu, replacing the hidden menu tree. +// +// Format: +// +// +function cmDrawFromText (id, orient, nodeProperties, prefix) +{ + var domMenu = cmGetObject (id); + var menu = null; + for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (!currentDomItem.tagName) + continue; + var tag = currentDomItem.tagName.toLowerCase (); + if (tag != 'ul' && tag != 'ol') + continue; + menu = cmDrawFromTextSubMenu (currentDomItem); + break; + } + if (menu) + cmDraw (id, menu, orient, nodeProperties, prefix); +} + +// +// a recursive function that build menu tree structure +// +function cmDrawFromTextSubMenu (domMenu) +{ + var items = new Array (); + for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (!currentDomItem.tagName || currentDomItem.tagName.toLowerCase () != 'li') + continue; + if (currentDomItem.firstChild == null) + { + items[items.length] = _cmSplit; + continue; + } + var item = new Array (); + var currentItem = currentDomItem.firstChild; + var hasAction = false; + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span or div tag + if (!currentItem.tagName) + continue; + if (currentItem.className == 'cmNoClick') + { + item[0] = _cmNoClick; + item[1] = getActionHTML (currentItem); + hasAction = true; + break; + } + if (currentItem.className == 'cmNoAction') + { + item[0] = _cmNoAction; + item[1] = getActionHTML (currentItem); + hasAction = true; + break; + } + var tag = currentItem.tagName.toLowerCase (); + if (tag != 'span') + continue; + if (!currentItem.firstChild) + item[0] = null; + else + item[0] = currentItem.innerHTML; + currentItem = currentItem.nextSibling; + break; + } + if (hasAction) + { + items[items.length] = item; + continue; + } + if (!currentItem) + continue; + for (; currentItem; currentItem = currentItem.nextSibling) + { + if (!currentItem.tagName) + continue; + var tag = currentItem.tagName.toLowerCase (); + if (tag == 'a') + { + item[1] = currentItem.innerHTML; + item[2] = currentItem.href; + item[3] = currentItem.target; + item[4] = currentItem.title; + if (item[4] == '') + item[4] = null; + } + else if (tag == 'span' || tag == 'div') + { + item[1] = currentItem.innerHTML; + item[2] = null; + item[3] = null; + item[4] = null; + } + break; + } + + for (; currentItem; currentItem = currentItem.nextSibling) + { + // scan for span tag + if (!currentItem.tagName) + continue; + var tag = currentItem.tagName.toLowerCase (); + if (tag != 'ul' && tag != 'ol') + continue; + var subMenuItems = cmDrawFromTextSubMenu (currentItem); + for (i = 0; i < subMenuItems.length; ++i) + item[i + 5] = subMenuItems[i]; + break; + } + items[items.length] = item; + } + return items; +} + +// +// obtain the actual action item's action, which is inside a +// table. The first row should be it +// +function getActionHTML (htmlNode) +{ + var returnVal = ''; + var currentDomItem; + // find the table first + for (currentDomItem = htmlNode.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'table') + break; + } + if (!currentDomItem) + return returnVal; + // skip over tbody + for (currentDomItem = currentDomItem.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'tbody') + break; + } + if (!currentDomItem) + return returnVal; + // get the first tr + for (currentDomItem = currentDomItem.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling) + { + if (currentDomItem.tagName && currentDomItem.tagName.toLowerCase () == 'tr') + break; + } + if (!currentDomItem) + return returnVal; + return currentDomItem.innerHTML; +} + +// +// get the DOM object associated with the item +// +function cmGetMenuItem (item) +{ + if (!item.subMenuID) + return null; + var subMenu = cmGetObject (item.subMenuID); + // we are dealing with a main menu item + if (item.menu) + { + var menu = item.menu; + // skip over table, tbody, tr, reach td + subMenu = subMenu.firstChild.firstChild.firstChild.firstChild; + var i; + for (i = 0; i < menu.length; ++i) + { + if (menu[i] == item) + return subMenu; + subMenu = subMenu.nextSibling; + } + } + else if (item.parentItem) // sub menu item + { + var menu = item.parentItem; + var table = cmGetObject (item.subMenuID + 'Table'); + if (!table) + return null; + // skip over table, tbody, reach tr + subMenu = table.firstChild.firstChild; + var i; + for (i = 5; i < menu.length; ++i) + { + if (menu[i] == item) + return subMenu; + subMenu = subMenu.nextSibling; + } + } + return null; +} + +// +// disable a menu item +// +function cmDisableItem (item, prefix) +{ + if (!item) + return; + var menuItem = cmGetMenuItem (item); + if (!menuItem) + return; + if (item.menu) + menuItem.className = prefix + 'MainItemDisabled'; + else + menuItem.className = prefix + 'MenuItemDisabled'; + item.isDisabled = true; +} + +// +// enable a menu item +// +function cmEnableItem (item, prefix) +{ + if (!item) + return; + var menuItem = cmGetMenuItem (item); + if (!menuItem) + return; + if (item.menu) + menu.className = prefix + 'MainItem'; + else + menu.className = prefix + 'MenuItem'; + item.isDisabled = true; +} + +////////////////////////////////////////////////////////////////////// +// +// Mouse Event Handling Functions +// +////////////////////////////////////////////////////////////////////// + +// +// action should be taken for mouse moving in to the menu item +// +// Here we just do things concerning this menu item, w/o opening sub menus. +// +function cmItemMouseOver (obj, isMain, idSub, menuID, index, calledByOpenSub) +{ + if (!calledByOpenSub && _cmClicked) + { + cmItemMouseOverOpenSub (obj, isMain, idSub, menuID, index); + return; + } + + clearTimeout (_cmTimeOut); + + if (_cmItemList[index].isDisabled) + return; + + var prefix = _cmMenuList[menuID].prefix; + + if (!obj.cmMenuID) + { + obj.cmMenuID = menuID; + obj.cmIsMain = isMain; + } + + var thisMenu = cmGetThisMenu (obj, prefix); + + // insert obj into cmItems if cmItems doesn't have obj + if (!thisMenu.cmItems) + thisMenu.cmItems = new Array (); + var i; + for (i = 0; i < thisMenu.cmItems.length; ++i) + { + if (thisMenu.cmItems[i] == obj) + break; + } + if (i == thisMenu.cmItems.length) + { + //thisMenu.cmItems.push (obj); + thisMenu.cmItems[i] = obj; + } + + // hide the previous submenu that is not this branch + if (_cmCurrentItem) + { + // occationally, we get this case when user + // move the mouse slowly to the border + if (_cmCurrentItem == obj || _cmCurrentItem == thisMenu) + { + var item = _cmItemList[index]; + cmSetStatus (item); + return; + } + + var thatMenuInfo = _cmMenuList[_cmCurrentItem.cmMenuID]; + var thatPrefix = thatMenuInfo.prefix; + var thatMenu = cmGetThisMenu (_cmCurrentItem, thatPrefix); + + if (thatMenu != thisMenu.cmParentMenu) + { + if (_cmCurrentItem.cmIsMain) + _cmCurrentItem.className = thatPrefix + 'MainItem'; + else + _cmCurrentItem.className = thatPrefix + 'MenuItem'; + if (thatMenu.id != idSub) + cmHideMenu (thatMenu, thisMenu, thatMenuInfo); + } + } + + // okay, set the current menu to this obj + _cmCurrentItem = obj; + + // just in case, reset all items in this menu to MenuItem + cmResetMenu (thisMenu, prefix); + + var item = _cmItemList[index]; + var isDefaultItem = cmIsDefaultItem (item); + + if (isDefaultItem) + { + if (isMain) + obj.className = prefix + 'MainItemHover'; + else + obj.className = prefix + 'MenuItemHover'; + } + + cmSetStatus (item); +} + +// +// action should be taken for mouse moving in to the menu item +// +// This function also opens sub menu +// +function cmItemMouseOverOpenSub (obj, isMain, idSub, menuID, index) +{ + clearTimeout (_cmTimeOut); + + if (_cmItemList[index].isDisabled) + return; + + cmItemMouseOver (obj, isMain, idSub, menuID, index, true); + + if (idSub) + { + var subMenu = cmGetObject (idSub); + var menuInfo = _cmMenuList[menuID]; + var orient = menuInfo.orient; + var prefix = menuInfo.prefix; + cmShowSubMenu (obj, isMain, subMenu, menuInfo); + } +} + +// +// action should be taken for mouse moving out of the menu item +// +function cmItemMouseOut (obj, isMain, idSub, menuID, index) +{ + var delayTime = _cmMenuList[menuID].nodeProperties.delay; + _cmTimeOut = window.setTimeout ('cmHideMenuTime ()', delayTime); + window.defaultStatus = ''; +} + +// +// action should be taken for mouse button down at a menu item +// +function cmItemMouseDown (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + if (cmIsDefaultItem (_cmItemList[index])) + { + var prefix = _cmMenuList[menuID].prefix; + if (obj.cmIsMain) + obj.className = prefix + 'MainItemActive'; + else + obj.className = prefix + 'MenuItemActive'; + } +} + +// +// action should be taken for mouse button down at a menu item +// this is one also opens submenu if needed +// +function cmItemMouseDownOpenSub (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + _cmClicked = true; + cmItemMouseDown (obj, isMain, idSub, menuID, index); + + if (idSub) + { + var subMenu = cmGetObject (idSub); + var menuInfo = _cmMenuList[menuID]; + cmShowSubMenu (obj, isMain, subMenu, menuInfo); + } +} + +// +// action should be taken for mouse button up at a menu item +// +function cmItemMouseUp (obj, isMain, idSub, menuID, index) +{ + if (_cmItemList[index].isDisabled) + return; + + var item = _cmItemList[index]; + + var link = null, target = '_self'; + + if (item.length > 2) + link = item[2]; + if (item.length > 3 && item[3]) + target = item[3]; + + if (link != null) + { + _cmClicked = false; + window.open (link, target); + } + + var menuInfo = _cmMenuList[menuID]; + var prefix = menuInfo.prefix; + var thisMenu = cmGetThisMenu (obj, prefix); + + var hasChild = (item.length > 5); + if (!hasChild) + { + if (cmIsDefaultItem (item)) + { + if (obj.cmIsMain) + obj.className = prefix + 'MainItem'; + else + obj.className = prefix + 'MenuItem'; + } + cmHideMenu (thisMenu, null, menuInfo); + } + else + { + if (cmIsDefaultItem (item)) + { + if (obj.cmIsMain) + obj.className = prefix + 'MainItemHover'; + else + obj.className = prefix + 'MenuItemHover'; + } + } +} + +////////////////////////////////////////////////////////////////////// +// +// Mouse Event Support Utility Functions +// +////////////////////////////////////////////////////////////////////// + +// +// move submenu to the appropriate location +// +function cmMoveSubMenu (obj, isMain, subMenu, menuInfo) +{ + var orient = menuInfo.orient; + + var offsetAdjust; + + if (isMain) + { + if (orient.charAt (0) == 'h') + offsetAdjust = menuInfo.nodeProperties.offsetHMainAdjust; + else + offsetAdjust = menuInfo.nodeProperties.offsetVMainAdjust; + } + else + offsetAdjust = menuInfo.nodeProperties.offsetSubAdjust; + + if (!isMain && orient.charAt (0) == 'h') + orient = 'v' + orient.charAt (1) + orient.charAt (2); + + var mode = String (orient); + var p = subMenu.offsetParent; + var subMenuWidth = cmGetWidth (subMenu); + var horiz = cmGetHorizontalAlign (obj, mode, p, subMenuWidth); + if (mode.charAt (0) == 'h') + { + if (mode.charAt (1) == 'b') + subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) + offsetAdjust[1]) + 'px'; + else + subMenu.style.top = (cmGetYAt (obj, p) - cmGetHeight (subMenu) - offsetAdjust[1]) + 'px'; + if (horiz == 'r') + subMenu.style.left = (cmGetXAt (obj, p) + offsetAdjust[0]) + 'px'; + else + subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) - subMenuWidth - offsetAdjust[0]) + 'px'; + } + else + { + if (horiz == 'r') + subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) + offsetAdjust[0]) + 'px'; + else + subMenu.style.left = (cmGetXAt (obj, p) - subMenuWidth - offsetAdjust[0]) + 'px'; + if (mode.charAt (1) == 'b') + subMenu.style.top = (cmGetYAt (obj, p) + offsetAdjust[1]) + 'px'; + else + subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) - cmGetHeight (subMenu) + offsetAdjust[1]) + 'px'; + } + + // IE specific iframe masking method + /*@cc_on + @if (@_jscript_version >= 5.5) + if (menuInfo.nodeProperties.cmFrameMasking) + { + if (!subMenu.cmFrameObj) + { + var frameObj = cmAllocFrame (); + subMenu.cmFrameObj = frameObj; + } + + var frameObj = subMenu.cmFrameObj; + frameObj.style.zIndex = subMenu.style.zIndex - 1; + frameObj.style.left = (cmGetX (subMenu) - cmGetX (frameObj.offsetParent)) + 'px'; + frameObj.style.top = (cmGetY (subMenu) - cmGetY (frameObj.offsetParent)) + 'px'; + frameObj.style.width = cmGetWidth (subMenu) + 'px'; + frameObj.style.height = cmGetHeight (subMenu) + 'px'; + frameObj.style.display = 'block'; + } + @end + @*/ + if (horiz != orient.charAt (2)) + orient = orient.charAt (0) + orient.charAt (1) + horiz; + return orient; +} + +// +// automatically re-adjust the menu position based on available screen size. +// +function cmGetHorizontalAlign (obj, mode, p, subMenuWidth) +{ + var horiz = mode.charAt (2); + if (!(document.body)) + return horiz; + var body = document.body; + var browserLeft; + var browserRight; + if (window.innerWidth) + { + // DOM window attributes + browserLeft = window.pageXOffset; + browserRight = window.innerWidth + browserLeft; + } + else if (body.clientWidth) + { + // IE attributes + browserLeft = body.clientLeft; + browserRight = body.clientWidth + browserLeft; + } + else + return horiz; + if (mode.charAt (0) == 'h') + { + if (horiz == 'r' && (cmGetXAt (obj) + subMenuWidth) > browserRight) + horiz = 'l'; + if (horiz == 'l' && (cmGetXAt (obj) + cmGetWidth (obj) - subMenuWidth) < browserLeft) + horiz = 'r'; + return horiz; + } + else + { + if (horiz == 'r' && (cmGetXAt (obj, p) + cmGetWidth (obj) + subMenuWidth) > browserRight) + horiz = 'l'; + if (horiz == 'l' && (cmGetXAt (obj, p) - subMenuWidth) < browserLeft) + horiz = 'r'; + return horiz; + } +} + +// +// show the subMenu w/ specified orientation +// also move it to the correct coordinates +// +function cmShowSubMenu (obj, isMain, subMenu, menuInfo) +{ + var prefix = menuInfo.prefix; + + if (!subMenu.cmParentMenu) + { + // establish the tree w/ back edge + var thisMenu = cmGetThisMenu (obj, prefix); + subMenu.cmParentMenu = thisMenu; + if (!thisMenu.cmSubMenu) + thisMenu.cmSubMenu = new Array (); + thisMenu.cmSubMenu[thisMenu.cmSubMenu.length] = subMenu; + } + + var effectInstance = subMenu.cmEffect; + if (effectInstance) + effectInstance.showEffect (true); + else + { + // position the sub menu only if we are not already showing the submenu + var orient = cmMoveSubMenu (obj, isMain, subMenu, menuInfo); + subMenu.cmOrient = orient; + + var forceShow = false; + if (subMenu.style.visibility != 'visible' && menuInfo.nodeProperties.effect) + { + try + { + effectInstance = menuInfo.nodeProperties.effect.getInstance (subMenu, orient); + effectInstance.showEffect (false); + } + catch (e) + { + forceShow = true; + subMenu.cmEffect = null; + } + } + else + forceShow = true; + + if (forceShow) + { + subMenu.style.visibility = 'visible'; + /*@cc_on + @if (@_jscript_version >= 5.5) + if (subMenu.cmFrameObj) + subMenu.cmFrameObj.style.display = 'block'; + @end + @*/ + } + } + + if (!_cmHideObjects) + { + _cmHideObjects = 2; // default = not hide, may change behavior later + try + { + if (window.opera) + { + if (parseInt (navigator.appVersion) < 9) + _cmHideObjects = 1; + } + } + catch (e) + { + } + } + + if (_cmHideObjects == 1) + { + if (!subMenu.cmOverlap) + subMenu.cmOverlap = new Array (); + cmHideControl ("IFRAME", subMenu); + cmHideControl ("OBJECT", subMenu); + } +} + +// +// reset all the menu items to class MenuItem in thisMenu +// +function cmResetMenu (thisMenu, prefix) +{ + if (thisMenu.cmItems) + { + var i; + var str; + var items = thisMenu.cmItems; + for (i = 0; i < items.length; ++i) + { + if (items[i].cmIsMain) + { + if (items[i].className == (prefix + 'MainItemDisabled')) + continue; + } + else + { + if (items[i].className == (prefix + 'MenuItemDisabled')) + continue; + } + if (items[i].cmIsMain) + str = prefix + 'MainItem'; + else + str = prefix + 'MenuItem'; + if (items[i].className != str) + items[i].className = str; + } + } +} + +// +// called by the timer to hide the menu +// +function cmHideMenuTime () +{ + _cmClicked = false; + if (_cmCurrentItem) + { + var menuInfo = _cmMenuList[_cmCurrentItem.cmMenuID]; + var prefix = menuInfo.prefix; + cmHideMenu (cmGetThisMenu (_cmCurrentItem, prefix), null, menuInfo); + _cmCurrentItem = null; + } +} + +// +// Only hides this menu +// +function cmHideThisMenu (thisMenu, menuInfo) +{ + var effectInstance = thisMenu.cmEffect; + if (effectInstance) + effectInstance.hideEffect (true); + else + { + thisMenu.style.visibility = 'hidden'; + thisMenu.style.top = '0px'; + thisMenu.style.left = '0px'; + thisMenu.cmOrient = null; + /*@cc_on + @if (@_jscript_version >= 5.5) + if (thisMenu.cmFrameObj) + { + var frameObj = thisMenu.cmFrameObj; + frameObj.style.display = 'none'; + frameObj.style.width = '1px'; + frameObj.style.height = '1px'; + thisMenu.cmFrameObj = null; + cmFreeFrame (frameObj); + } + @end + @*/ + } + + cmShowControl (thisMenu); +} + +// +// hide thisMenu, children of thisMenu, as well as the ancestor +// of thisMenu until currentMenu is encountered. currentMenu +// will not be hidden +// +function cmHideMenu (thisMenu, currentMenu, menuInfo) +{ + var prefix = menuInfo.prefix; + var str = prefix + 'SubMenu'; + + // hide the down stream menus + if (thisMenu.cmSubMenu) + { + var i; + for (i = 0; i < thisMenu.cmSubMenu.length; ++i) + { + cmHideSubMenu (thisMenu.cmSubMenu[i], menuInfo); + } + } + + // hide the upstream menus + while (thisMenu && thisMenu != currentMenu) + { + cmResetMenu (thisMenu, prefix); + if (thisMenu.className == str) + { + cmHideThisMenu (thisMenu, menuInfo); + } + else + break; + thisMenu = cmGetThisMenu (thisMenu.cmParentMenu, prefix); + } +} + +// +// hide thisMenu as well as its sub menus if thisMenu is not +// already hidden +// +function cmHideSubMenu (thisMenu, menuInfo) +{ + if (thisMenu.style.visibility == 'hidden') + return; + if (thisMenu.cmSubMenu) + { + var i; + for (i = 0; i < thisMenu.cmSubMenu.length; ++i) + { + cmHideSubMenu (thisMenu.cmSubMenu[i], menuInfo); + } + } + var prefix = menuInfo.prefix; + cmResetMenu (thisMenu, prefix); + cmHideThisMenu (thisMenu, menuInfo); +} + +// +// hide a control such as IFRAME +// +function cmHideControl (tagName, subMenu) +{ + var x = cmGetX (subMenu); + var y = cmGetY (subMenu); + var w = subMenu.offsetWidth; + var h = subMenu.offsetHeight; + + var i; + for (i = 0; i < document.all.tags(tagName).length; ++i) + { + var obj = document.all.tags(tagName)[i]; + if (!obj || !obj.offsetParent) + continue; + + // check if the object and the subMenu overlap + + var ox = cmGetX (obj); + var oy = cmGetY (obj); + var ow = obj.offsetWidth; + var oh = obj.offsetHeight; + + if (ox > (x + w) || (ox + ow) < x) + continue; + if (oy > (y + h) || (oy + oh) < y) + continue; + + // if object is already made hidden by a different + // submenu then we dont want to put it on overlap list of + // of a submenu a second time. + // - bug fixed by Felix Zaslavskiy + if(obj.style.visibility == 'hidden') + continue; + + //subMenu.cmOverlap.push (obj); + subMenu.cmOverlap[subMenu.cmOverlap.length] = obj; + obj.style.visibility = 'hidden'; + } +} + +// +// show the control hidden by the subMenu +// +function cmShowControl (subMenu) +{ + if (subMenu.cmOverlap) + { + var i; + for (i = 0; i < subMenu.cmOverlap.length; ++i) + subMenu.cmOverlap[i].style.visibility = ""; + } + subMenu.cmOverlap = null; +} + +// +// returns the main menu or the submenu table where this obj (menu item) +// is in +// +function cmGetThisMenu (obj, prefix) +{ + var str1 = prefix + 'SubMenu'; + var str2 = prefix + 'Menu'; + while (obj) + { + if (obj.className == str1 || obj.className == str2) + return obj; + obj = obj.parentNode; + } + return null; +} + +// +// A special effect function to hook the menu which contains +// special effect object to the timer. +// +function cmTimeEffect (menuID, show, delayTime) +{ + window.setTimeout ('cmCallEffect("' + menuID + '",' + show + ')', delayTime); +} + +// +// A special effect function. Called by timer. +// +function cmCallEffect (menuID, show) +{ + var menu = cmGetObject (menuID); + if (!menu || !menu.cmEffect) + return; + try + { + if (show) + menu.cmEffect.showEffect (false); + else + menu.cmEffect.hideEffect (false); + } + catch (e) + { + } +} + +// +// return true if this item is handled using default handlers +// +function cmIsDefaultItem (item) +{ + if (item == _cmSplit || item[0] == _cmNoAction || item[0] == _cmNoClick) + return false; + return true; +} + +// +// returns the object baring the id +// +function cmGetObject (id) +{ + if (document.all) + return document.all[id]; + return document.getElementById (id); +} + +// +// functions that obtain the width of an HTML element. +// +function cmGetWidth (obj) +{ + var width = obj.offsetWidth; + if (width > 0 || !cmIsTRNode (obj)) + return width; + if (!obj.firstChild) + return 0; + // use TABLE's length can cause an extra pixel gap + //return obj.parentNode.parentNode.offsetWidth; + + // use the left and right child instead + return obj.lastChild.offsetLeft - obj.firstChild.offsetLeft + cmGetWidth (obj.lastChild); +} + +// +// functions that obtain the height of an HTML element. +// +function cmGetHeight (obj) +{ + var height = obj.offsetHeight; + if (height > 0 || !cmIsTRNode (obj)) + return height; + if (!obj.firstChild) + return 0; + // use the first child's height + return obj.firstChild.offsetHeight; +} + +// +// functions that obtain the coordinates of an HTML element +// +function cmGetX (obj) +{ + if (!obj) + return 0; + var x = 0; + + do + { + x += obj.offsetLeft; + obj = obj.offsetParent; + } + while (obj); + return x; +} + +function cmGetXAt (obj, elm) +{ + var x = 0; + + while (obj && obj != elm) + { + x += obj.offsetLeft; + obj = obj.offsetParent; + } + if (obj == elm) + return x; + return x - cmGetX (elm); +} + +function cmGetY (obj) +{ + if (!obj) + return 0; + var y = 0; + do + { + y += obj.offsetTop; + obj = obj.offsetParent; + } + while (obj); + return y; +} + +function cmIsTRNode (obj) +{ + var tagName = obj.tagName; + return tagName == "TR" || tagName == "tr" || tagName == "Tr" || tagName == "tR"; +} + +// +// get the Y position of the object. In case of TR element though, +// we attempt to adjust the value. +// +function cmGetYAt (obj, elm) +{ + var y = 0; + + if (!obj.offsetHeight && cmIsTRNode (obj)) + { + var firstTR = obj.parentNode.firstChild; + obj = obj.firstChild; + y -= firstTR.firstChild.offsetTop; + } + + while (obj && obj != elm) + { + y += obj.offsetTop; + obj = obj.offsetParent; + } + + if (obj == elm) + return y; + return y - cmGetY (elm); +} + +// +// extract description from the menu item and set the status text +// +function cmSetStatus (item) +{ + var descript = ''; + if (item.length > 4) + descript = (item[4] != null) ? item[4] : (item[2] ? item[2] : descript); + else if (item.length > 2) + descript = (item[2] ? item[2] : descript); + + window.defaultStatus = descript; +} + +// +// debug function, ignore :) +// +function cmGetProperties (obj) +{ + if (obj == undefined) + return 'undefined'; + if (obj == null) + return 'null'; + + var msg = obj + ':\n'; + var i; + for (i in obj) + msg += i + ' = ' + obj[i] + '; '; + return msg; +} + +/* v2.0.1 1. Disable iframe masking for IE7 since it is no longer necessary. */ +/* v2.0 1. improves the way handling flash/iframe/select boxes in IE + and firefox and Opera 9. Hiding these elements is no + longer necessary. For older versions of Opera, flash/iframe + still need to be hidden. + 2. Improves cmDrawFromText (). Also allows custom actions. + 3. Improves clickOpen behavior. Now once a submenu is opened, + opening other sub menus no longer requires clicking. + 4. Special Effects. This version has hooks that allow people + to install special effects to various themes. + 5. For a given menu item, cmGetMenuitem(item) provides the ability + to find the corresponding DOM element. + 6. Disable API. If you know which item to disable, you can call + cmDisableItem(item, themePrefix) and cmEnableItem(item, themePrefix). + However, you will have to provide your own CSS for the item. + For purposes other than to disable an item, cmGetMenuItem (item) + is provided for locating HTML DOM element of the menu item in concern. + 7. Better z-index. Now you can specify in the theme property the + starting z-index and incremental step for submenus. + 8. Allow themes to insert additional elements before and after + the sub menu table. + 9. Improved themes. More organized and easier to customize. + 10. Add a flag to control hiding/nohiding objects/iframes. By default, + only Opera before 9 hides objects. + 11. Add new property options to control submenu positions to fine tune + the look. + 12. It is no longer necessary to specify the theme name while calling + cmDraw and cmDrawFromText. Currently it still accepts it, but it + will not in the future. +*/ +/* v1.4.4 1. a quick fix for a bug for _cmSplit checking. reported by + Son Nguyen. +*/ +/* v1.4.3 1. changed how _cmSplit is handled a bit so that _cmNoClick can work + properly. All splits in predefined themes are changed to use + _cmNoClick instead of _cmNoAction. +*/ +/* v1.4.2 1. fixed _cmNoClick mouse hoover bug. + 2. fixed a statusbar text problem that cause text to disappear when + hoovering mouse within the same menu item. + 3. changed the behavior of cmDrawFromText s.t. if the title of the + of a link is empty, the actual url is used as text. To clear + this link information, title needs to be ' '. +*/ +/* v1.4.1 1. fixed a problem introduced in 1.4 where re-entering a main menu + item which doesn't have a child can disable its hover setting. + Apparently I deleted an extra line of code when I was doing + cleaning up. Reported by David Maliachi and a few others. +*/ +/* JSCookMenu v1.4 1. fixed a minor td cell closure problem. Thanks to Georg Lorenz + for discovering that. + 2. added clickOpen to nodeProperties. See _cmNodeProperties for + description. Basically menus can be opened on click only. + 3. added an ability to draw menu from an html node instead of a javascript + tree, making this script search bot friendly (I hope?). +*/ +/* JSCookMenu v1.31 1. fix a bug on IE with causes submenus to display at the top + left corner due to doctype. The fix was provided by + Burton Strauss . +*/ +/* JSCookMenu v1.3 1. automatically realign (left and right) the submenu when + client space is not enough. + 2. add _cmNoClick to get rid of menu closing behavior + on the particular menu item, to make it possible for things + such as search box to be inside the menu. +*/ +/* JSCookMenu v1.25 1. fix Safari positioning issue. The problem is that all TR elements are located + at the top left corner. Thus, need to obtain the "virtual" + position of these element could be at. +*/ +/* JSCookMenu v1.24 1. fix window based control hiding bug + thanks to Felix Zaslavskiy for the fix. +*/ +/* JSCookMenu v1.23 1. correct a position bug when the container is positioned. + thanks to Andre for narrowing down + the problem. +*/ +/* JSCookMenu v1.22 1. change Array.push (obj) call to Array[length] = obj. + Suggestion from Dick van der Kaaden to + make the script compatible with IE 5.0 + 2. Changed theme files a little to add z-index: 100 for sub + menus. This change is necessary for Netscape to avoid + a display problem. + 3. some changes to the DOM structure to make this menu working + on Netscape 6.0 (tested). The main reason is that NN6 does + not do absolute positioning with tables. Therefore an extra + div layer must be put around the table. +*/ +/* JSCookMenu v1.21 1. fixed a bug that didn't add 'px' as part of coordinates. + JSCookMenu should be XHTML validator friendly now. + 2. removed unnecessary display attribute and corresponding + theme entry to fix a problem that Netscape sometimes + render Office theme incorrectly +*/ +/* JSCookMenu v1.2. 1. fix the problem of showing status in Netscape + 2. changed the handler parameters a bit to allow + string literals to be passed to javascript based + links + 3. having null in target field would cause the link + to be opened in the current window, but this behavior + could change in the future releases +*/ +/* JSCookMenu v1.1. added ability to hide controls in IE to show submenus properly */ +/* JSCookMenu v1.01. cmDraw generates XHTML code */ +/* JSCookMenu v1.0. (c) Copyright 2002 by Heng Yuan */ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/add_section.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/add_section.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/arrow.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/arrow.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/backup.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/backup.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/blank.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/blank.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/categories.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/categories.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/checkin.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/checkin.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/component.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/component.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/config.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/config.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/content.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/content.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/controlpanel.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/controlpanel.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/credits.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/credits.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/db.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/db.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/document.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/document.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/edit.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/edit.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/globe1.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/globe1.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/globe2.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/globe2.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/globe3.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/globe3.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/globe4.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/globe4.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/help.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/help.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/home.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/home.png differ diff -ruN 4.6rc2/uploadfiles/includes/js/ThemeOffice/index.html 4.6-complete/uploadfiles/includes/js/ThemeOffice/index.html --- 4.6rc2/uploadfiles/includes/js/ThemeOffice/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/ThemeOffice/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/install.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/install.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/language.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/language.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/license.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/license.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/mail.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/mail.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/mainmenu.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/mainmenu.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/mass_email.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/mass_email.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/media.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/media.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/menus.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/menus.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/messaging.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/messaging.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/messaging_config.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/messaging_config.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/messaging_inbox.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/messaging_inbox.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/module.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/module.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/preview.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/preview.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/query.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/query.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/restore.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/restore.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/search_text.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/search_text.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/sections.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/sections.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/spacer.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/spacer.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/statistics.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/statistics.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/sysinfo.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/sysinfo.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/template.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/template.png differ diff -ruN 4.6rc2/uploadfiles/includes/js/ThemeOffice/theme.css 4.6-complete/uploadfiles/includes/js/ThemeOffice/theme.css --- 4.6rc2/uploadfiles/includes/js/ThemeOffice/theme.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/ThemeOffice/theme.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,292 @@ +/* ThemeOfficeMenu Style Sheet */ + +.ThemeOfficeMenu,.ThemeOfficeSubMenuTable +{ + font-family: verdana, arial, sans-serif; + font-size: 13px; + + padding: 0; + + white-space: nowrap; + cursor: default; +} + +.ThemeOfficeSubMenu +{ + position: absolute; + visibility: hidden; + + /* + Netscape/Mozilla renders borders by increasing + their z-index. The following line is necessary + to cover any borders underneath + */ + z-index: 100; + border: 0; + padding: 0; + + overflow: visible; + border: 1px solid #8C867B; + + filter:progid:DXImageTransform.Microsoft.Shadow(color=#BDC3BD, Direction=135, Strength=4); +} + +.ThemeOfficeSubMenuTable +{ + overflow: visible; +} + +.ThemeOfficeMainItem,.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive, +.ThemeOfficeMenuItem,.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive +{ + border: 0; + cursor: default; + white-space: nowrap; +} + +.ThemeOfficeMainItem +{ + /*background-color: #EFEBDE;*/ +} + +.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive +{ + background-color: #C6D3EF; +} + +.ThemeOfficeMenuItem +{ + background-color: #FFF; +} + +.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive +{ + background-color: #C6D3EF; +} + + +/* horizontal main menu */ + +.ThemeOfficeMainItem +{ + padding: 4px 1px 4px 1px; + border: 0; +} + +td.ThemeOfficeMainItemHover,td.ThemeOfficeMainItemActive +{ + padding: 0px; + border: 1px solid #3169C6; +} + +.ThemeOfficeMainFolderLeft,.ThemeOfficeMainItemLeft, +.ThemeOfficeMainFolderText,.ThemeOfficeMainItemText, +.ThemeOfficeMainFolderRight,.ThemeOfficeMainItemRight +{ + background-color: inherit; +} + +/* vertical main menu sub components */ + +td.ThemeOfficeMainFolderLeft,td.ThemeOfficeMainItemLeft +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 2px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + border-left: 1px solid #3169C6; + + background-color: inherit; +} + +td.ThemeOfficeMainFolderText,td.ThemeOfficeMainItemText +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 5px; + padding-right: 5px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + + background-color: inherit; + white-space: nowrap; +} + +td.ThemeOfficeMainFolderRight,td.ThemeOfficeMainItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + border-right: 1px solid #3169C6; + + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderLeft, +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 1px; + padding-right: 2px; + + white-space: nowrap; + + border: 0; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderText, +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 5px; + padding-right: 5px; + + border: 0; + background-color: inherit; +} + +tr.ThemeOfficeMainItem td.ThemeOfficeMainItemRight, +tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + background-color: inherit; +} + +/* sub menu sub components */ + +.ThemeOfficeMenuFolderLeft,.ThemeOfficeMenuItemLeft +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 1px; + padding-right: 3px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + border-left: 1px solid #3169C6; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuFolderText,.ThemeOfficeMenuItemText +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 5px; + padding-right: 5px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuFolderRight,.ThemeOfficeMenuItemRight +{ + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + + border-top: 1px solid #3169C6; + border-bottom: 1px solid #3169C6; + border-right: 1px solid #3169C6; + + background-color: inherit; + white-space: nowrap; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderLeft, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemLeft +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 2px; + padding-right: 3px; + + white-space: nowrap; + + border: 0; + background-color: #EFEFDE; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderText, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemText +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 5px; + padding-right: 5px; + + border: 0; + background-color: inherit; +} + +.ThemeOfficeMenuItem .ThemeOfficeMenuFolderRight, +.ThemeOfficeMenuItem .ThemeOfficeMenuItemRight +{ + padding-top: 3px; + padding-bottom: 3px; + padding-left: 0px; + padding-right: 1px; + + border: 0; + background-color: inherit; +} + +/* menu splits */ + +.ThemeOfficeMenuSplit +{ + margin: 2px; + height: 1px; + overflow: hidden; + background-color: inherit; + border-top: 1px solid #C6C3BD; +} + +/* image shadow animation */ + +/* + seq1: image for normal + seq2: image for hover and active + + To use, in the icon field, input the following: + +*/ + +.ThemeOfficeMenuItem img.seq1 +{ + display: inline; +} + +.ThemeOfficeMenuItemHover seq2, +.ThemeOfficeMenuItemActive seq2 +{ + display: inline; +} + +.ThemeOfficeMenuItem .seq2, +.ThemeOfficeMenuItemHover .seq1, +.ThemeOfficeMenuItemActive .seq1 +{ + display: none; +} diff -ruN 4.6rc2/uploadfiles/includes/js/ThemeOffice/theme.js 4.6-complete/uploadfiles/includes/js/ThemeOffice/theme.js --- 4.6rc2/uploadfiles/includes/js/ThemeOffice/theme.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/ThemeOffice/theme.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,45 @@ + +// directory of where all the images are +var cmThemeOfficeBase = '../includes/js/ThemeOffice/'; + +var cmThemeOffice = +{ + // main menu display attributes + // + // Note. When the menu bar is horizontal, + // mainFolderLeft and mainFolderRight are + // put in . When the menu + // bar is vertical, they would be put in + // a separate TD cell. + + // HTML code to the left of the folder item + mainFolderLeft: ' ', + // HTML code to the right of the folder item + mainFolderRight: ' ', + // HTML code to the left of the regular item + mainItemLeft: ' ', + // HTML code to the right of the regular item + mainItemRight: ' ', + + // sub menu display attributes + + // 0, HTML code to the left of the folder item + folderLeft: '', + // 1, HTML code to the right of the folder item + folderRight: '', + // 2, HTML code to the left of the regular item + itemLeft: '', + // 3, HTML code to the right of the regular item + itemRight: '', + // 4, cell spacing for main menu + mainSpacing: 0, + // 5, cell spacing for sub menus + subSpacing: 0, + // 6, auto dispear time for submenus in milli-seconds + delay: 500 +}; + +// for horizontal menu split +var cmThemeOfficeHSplit = [_cmNoAction, '
      ']; +var cmThemeOfficeMainHSplit = [_cmNoAction, '
      ']; +var cmThemeOfficeMainVSplit = [_cmNoAction, ' ']; Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/tooltip.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/tooltip.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/trash.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/trash.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/tux.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/tux.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/user.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/user.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/users.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/users.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/users_add.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/users_add.png differ Binary files 4.6rc2/uploadfiles/includes/js/ThemeOffice/warning.png and 4.6-complete/uploadfiles/includes/js/ThemeOffice/warning.png differ diff -ruN 4.6rc2/uploadfiles/includes/js/calendar/README 4.6-complete/uploadfiles/includes/js/calendar/README --- 4.6rc2/uploadfiles/includes/js/calendar/README 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/calendar/README 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,31 @@ +The DHTML Calendar +------------------- + + Author: Mihai Bazon, + http://students.infoiasi.ro/~mishoo + + This program is free software published under the + GNU Lesser General Public License. + + For the entire license text please refer to + http://www.gnu.org/licenses/lgpl + + An additional restriction is that you are not allowed + to remove the comment note present at the beginning of + the script. + +Contents +--------- + + calendar.js -- the main program file + lang/*.js -- internalization files + *.css -- color themes + cal.html -- example usage file + +Documentation +-------------- + + For details and latest versions please refer to calendar + homepage, located on my website: + + http://students.infoiasi.ro/~mishoo/site/calendar.epl diff -ruN 4.6rc2/uploadfiles/includes/js/calendar/calendar-mos.css 4.6-complete/uploadfiles/includes/js/calendar/calendar-mos.css --- 4.6rc2/uploadfiles/includes/js/calendar/calendar-mos.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/calendar/calendar-mos.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,178 @@ +/* The main calendar widget. DIV containing a table. */ + +div.calendar { + position: relative; + z-index: 100; +} + +.calendar, .calendar table { + border: 1px solid #cccccc; + font-size: 11px; + color: #000; + cursor: default; + background: #efefef; + font-family: arial,verdana,sans-serif; +} + +/* Header part -- contains navigation buttons and day names. */ + +.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ + text-align: center; /* They are the navigation buttons */ + padding: 2px; /* Make the buttons seem like they're pressing */ +} + +.calendar thead .title { /* This holds the current "month, year" */ + font-weight: bold; /* Pressing it will take you to the current date */ + text-align: center; + background: #333333; + color: #ffffff; + padding: 2px; +} + +.calendar thead .headrow { /* Row containing navigation buttons */ + background: #dedede; + color: #000; +} + +.calendar thead .name { /* Cells containing the day names */ + border-bottom: 1px solid #cccccc; + padding: 2px; + text-align: center; + color: #000; +} + +.calendar thead .weekend { /* How a weekend day name shows in header */ + color: #dedede; +} + +.calendar thead .hilite { /* How do the buttons in header appear when hover */ + background: #bbbbbb; + color: #000000; + border: 1px solid #cccccc; + padding: 1px; +} + +.calendar thead .active { /* Active (pressed) buttons in header */ + background: #c77; + padding: 2px 0px 0px 2px; +} + +.calendar thead .daynames { /* Row containing the day names */ + background: #dddddd; +} + +/* The body part -- contains all the days in month. */ + +.calendar tbody .day { /* Cells containing month days dates */ + width: 2em; + text-align: right; + padding: 2px 4px 2px 2px; +} + +.calendar table .wn { + padding: 2px 3px 2px 2px; + border-right: 1px solid #cccccc; + background: #dddddd; +} + +.calendar tbody .rowhilite td { + background: #666666; + color: #ffffff; +} + +.calendar tbody .rowhilite td.wn { + background: #666666; + color: #ffffff; +} + +.calendar tbody td.hilite { /* Hovered cells */ + background: #999999; + padding: 1px 3px 1px 1px; + border: 1px solid #666666; +} + +.calendar tbody td.active { /* Active (pressed) cells */ + background: #000000; + color: #ffffff; + padding: 2px 2px 0px 2px; +} + +.calendar tbody td.selected { /* Cell showing today date */ + font-weight: bold; + border: 1px solid #000; + padding: 1px 3px 1px 1px; + background: #000000; + color: #ffffff; +} + +.calendar tbody td.weekend { /* Cells showing weekend days */ + color: #cccccc; +} + +.calendar tbody td.today { font-weight: bold; } + +.calendar tbody .disabled { color: #999; } + +.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ + visibility: hidden; +} + +.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ + display: none; +} + +/* The footer part -- status bar and "Close" button */ + +.calendar tfoot .footrow { /* The in footer (only one right now) */ + text-align: center; + background: #cccccc; + color: #000; +} + +.calendar tfoot .ttip { /* Tooltip (status bar) cell */ + border-top: 1px solid #cccccc; + background: #efefef; + color: #000000; +} + +.calendar tfoot .hilite { /* Hover style for buttons in footer */ + background: #666666; + border: 1px solid #f40; + padding: 1px; +} + +.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ + background: #999999; + padding: 2px 0px 0px 2px; +} + +/* Combo boxes (menus that display months/years for direct selection) */ + +.combo { + position: absolute; + display: none; + top: 0px; + left: 0px; + width: 4em; + cursor: default; + border: 1px solid #655; + background: #ffffff; + color: #000; + font-size: smaller; +} + +.combo .label { + width: 100%; + text-align: center; +} + +.combo .hilite { + background: #fc8; +} + +.combo .active { + border-top: 1px solid #cccccc; + border-bottom: 1px solid #cccccc; + background: #efefef; + font-weight: bold; +} diff -ruN 4.6rc2/uploadfiles/includes/js/calendar/calendar.js 4.6-complete/uploadfiles/includes/js/calendar/calendar.js --- 4.6rc2/uploadfiles/includes/js/calendar/calendar.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/calendar/calendar.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1294 @@ +/* Copyright Mihai Bazon, 2002 | http://students.infoiasi.ro/~mishoo + * --------------------------------------------------------------------- + * + * The DHTML Calendar, version 0.9.2 "The art of date selection" + * + * Details and latest version at: + * http://students.infoiasi.ro/~mishoo/site/calendar.epl + * + * Feel free to use this script under the terms of the GNU Lesser General + * Public License, as long as you do not remove or alter this notice. + */ + +// $Id: calendar.js,v 1.1 2005/07/22 01:57:20 eddieajau Exp $ + +/** The Calendar object constructor. */ +Calendar = function (mondayFirst, dateStr, onSelected, onClose) { + // member variables + this.activeDiv = null; + this.currentDateEl = null; + this.checkDisabled = null; + this.timeout = null; + this.onSelected = onSelected || null; + this.onClose = onClose || null; + this.dragging = false; + this.hidden = false; + this.minYear = 1970; + this.maxYear = 2050; + this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"]; + this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"]; + this.isPopup = true; + this.weekNumbers = true; + this.mondayFirst = mondayFirst; + this.dateStr = dateStr; + this.ar_days = null; + // HTML elements + this.table = null; + this.element = null; + this.tbody = null; + this.firstdayname = null; + // Combo boxes + this.monthsCombo = null; + this.yearsCombo = null; + this.hilitedMonth = null; + this.activeMonth = null; + this.hilitedYear = null; + this.activeYear = null; + + // one-time initializations + if (!Calendar._DN3) { + // table of short day names + var ar = new Array(); + for (var i = 8; i > 0;) { + ar[--i] = Calendar._DN[i].substr(0, 3); + } + Calendar._DN3 = ar; + // table of short month names + ar = new Array(); + for (var i = 12; i > 0;) { + ar[--i] = Calendar._MN[i].substr(0, 3); + } + Calendar._MN3 = ar; + } +}; + +// ** constants + +/// "static", needed for event handlers. +Calendar._C = null; + +/// detect a special case of "web browser" +Calendar.is_ie = ( (navigator.userAgent.toLowerCase().indexOf("msie") != -1) && + (navigator.userAgent.toLowerCase().indexOf("opera") == -1) ); + +// short day names array (initialized at first constructor call) +Calendar._DN3 = null; + +// short month names array (initialized at first constructor call) +Calendar._MN3 = null; + +// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate +// library, at some point. + +Calendar.getAbsolutePos = function(el) { + var r = { x: el.offsetLeft, y: el.offsetTop }; + if (el.offsetParent) { + var tmp = Calendar.getAbsolutePos(el.offsetParent); + r.x += tmp.x; + r.y += tmp.y; + } + return r; +}; + +Calendar.isRelated = function (el, evt) { + var related = evt.relatedTarget; + if (!related) { + var type = evt.type; + if (type == "mouseover") { + related = evt.fromElement; + } else if (type == "mouseout") { + related = evt.toElement; + } + } + while (related) { + if (related == el) { + return true; + } + related = related.parentNode; + } + return false; +}; + +Calendar.removeClass = function(el, className) { + if (!(el && el.className)) { + return; + } + var cls = el.className.split(" "); + var ar = new Array(); + for (var i = cls.length; i > 0;) { + if (cls[--i] != className) { + ar[ar.length] = cls[i]; + } + } + el.className = ar.join(" "); +}; + +Calendar.addClass = function(el, className) { + Calendar.removeClass(el, className); + el.className += " " + className; +}; + +Calendar.getElement = function(ev) { + if (Calendar.is_ie) { + return window.event.srcElement; + } else { + return ev.currentTarget; + } +}; + +Calendar.getTargetElement = function(ev) { + if (Calendar.is_ie) { + return window.event.srcElement; + } else { + return ev.target; + } +}; + +Calendar.stopEvent = function(ev) { + if (Calendar.is_ie) { + window.event.cancelBubble = true; + window.event.returnValue = false; + } else { + ev.preventDefault(); + ev.stopPropagation(); + } +}; + +Calendar.addEvent = function(el, evname, func) { + if (Calendar.is_ie) { + el.attachEvent("on" + evname, func); + } else { + el.addEventListener(evname, func, true); + } +}; + +Calendar.removeEvent = function(el, evname, func) { + if (Calendar.is_ie) { + el.detachEvent("on" + evname, func); + } else { + el.removeEventListener(evname, func, true); + } +}; + +Calendar.createElement = function(type, parent) { + var el = null; + if (document.createElementNS) { + // use the XHTML namespace; IE won't normally get here unless + // _they_ "fix" the DOM2 implementation. + el = document.createElementNS("http://www.w3.org/1999/xhtml", type); + } else { + el = document.createElement(type); + } + if (typeof parent != "undefined") { + parent.appendChild(el); + } + return el; +}; + +// END: UTILITY FUNCTIONS + +// BEGIN: CALENDAR STATIC FUNCTIONS + +/** Internal -- adds a set of events to make some element behave like a button. */ +Calendar._add_evs = function(el) { + with (Calendar) { + addEvent(el, "mouseover", dayMouseOver); + addEvent(el, "mousedown", dayMouseDown); + addEvent(el, "mouseout", dayMouseOut); + if (is_ie) { + addEvent(el, "dblclick", dayMouseDblClick); + el.setAttribute("unselectable", true); + } + } +}; + +Calendar.findMonth = function(el) { + if (typeof el.month != "undefined") { + return el; + } else if (typeof el.parentNode.month != "undefined") { + return el.parentNode; + } + return null; +}; + +Calendar.findYear = function(el) { + if (typeof el.year != "undefined") { + return el; + } else if (typeof el.parentNode.year != "undefined") { + return el.parentNode; + } + return null; +}; + +Calendar.showMonthsCombo = function () { + var cal = Calendar._C; + if (!cal) { + return false; + } + var cal = cal; + var cd = cal.activeDiv; + var mc = cal.monthsCombo; + if (cal.hilitedMonth) { + Calendar.removeClass(cal.hilitedMonth, "hilite"); + } + if (cal.activeMonth) { + Calendar.removeClass(cal.activeMonth, "active"); + } + var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()]; + Calendar.addClass(mon, "active"); + cal.activeMonth = mon; + mc.style.left = cd.offsetLeft + "px"; + mc.style.top = (cd.offsetTop + cd.offsetHeight) + "px"; + mc.style.display = "block"; +}; + +Calendar.showYearsCombo = function (fwd) { + var cal = Calendar._C; + if (!cal) { + return false; + } + var cal = cal; + var cd = cal.activeDiv; + var yc = cal.yearsCombo; + if (cal.hilitedYear) { + Calendar.removeClass(cal.hilitedYear, "hilite"); + } + if (cal.activeYear) { + Calendar.removeClass(cal.activeYear, "active"); + } + cal.activeYear = null; + var Y = cal.date.getFullYear() + (fwd ? 1 : -1); + var yr = yc.firstChild; + var show = false; + for (var i = 12; i > 0; --i) { + if (Y >= cal.minYear && Y <= cal.maxYear) { + yr.firstChild.data = Y; + yr.year = Y; + yr.style.display = "block"; + show = true; + } else { + yr.style.display = "none"; + } + yr = yr.nextSibling; + Y += fwd ? 2 : -2; + } + if (show) { + yc.style.left = cd.offsetLeft + "px"; + yc.style.top = (cd.offsetTop + cd.offsetHeight) + "px"; + yc.style.display = "block"; + } +}; + +// event handlers + +Calendar.tableMouseUp = function(ev) { + var cal = Calendar._C; + if (!cal) { + return false; + } + if (cal.timeout) { + clearTimeout(cal.timeout); + } + var el = cal.activeDiv; + if (!el) { + return false; + } + var target = Calendar.getTargetElement(ev); + Calendar.removeClass(el, "active"); + if (target == el || target.parentNode == el) { + Calendar.cellClick(el); + } + var mon = Calendar.findMonth(target); + var date = null; + if (mon) { + date = new Date(cal.date); + if (mon.month != date.getMonth()) { + date.setMonth(mon.month); + cal.setDate(date); + } + } else { + var year = Calendar.findYear(target); + if (year) { + date = new Date(cal.date); + if (year.year != date.getFullYear()) { + date.setFullYear(year.year); + cal.setDate(date); + } + } + } + with (Calendar) { + removeEvent(document, "mouseup", tableMouseUp); + removeEvent(document, "mouseover", tableMouseOver); + removeEvent(document, "mousemove", tableMouseOver); + cal._hideCombos(); + stopEvent(ev); + _C = null; + } +}; + +Calendar.tableMouseOver = function (ev) { + var cal = Calendar._C; + if (!cal) { + return; + } + var el = cal.activeDiv; + var target = Calendar.getTargetElement(ev); + if (target == el || target.parentNode == el) { + Calendar.addClass(el, "hilite active"); + Calendar.addClass(el.parentNode, "rowhilite"); + } else { + Calendar.removeClass(el, "active"); + Calendar.removeClass(el, "hilite"); + Calendar.removeClass(el.parentNode, "rowhilite"); + } + var mon = Calendar.findMonth(target); + if (mon) { + if (mon.month != cal.date.getMonth()) { + if (cal.hilitedMonth) { + Calendar.removeClass(cal.hilitedMonth, "hilite"); + } + Calendar.addClass(mon, "hilite"); + cal.hilitedMonth = mon; + } else if (cal.hilitedMonth) { + Calendar.removeClass(cal.hilitedMonth, "hilite"); + } + } else { + var year = Calendar.findYear(target); + if (year) { + if (year.year != cal.date.getFullYear()) { + if (cal.hilitedYear) { + Calendar.removeClass(cal.hilitedYear, "hilite"); + } + Calendar.addClass(year, "hilite"); + cal.hilitedYear = year; + } else if (cal.hilitedYear) { + Calendar.removeClass(cal.hilitedYear, "hilite"); + } + } + } + Calendar.stopEvent(ev); +}; + +Calendar.tableMouseDown = function (ev) { + if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) { + Calendar.stopEvent(ev); + } +}; + +Calendar.calDragIt = function (ev) { + var cal = Calendar._C; + if (!(cal && cal.dragging)) { + return false; + } + var posX; + var posY; + if (Calendar.is_ie) { + posY = window.event.clientY + document.body.scrollTop; + posX = window.event.clientX + document.body.scrollLeft; + } else { + posX = ev.pageX; + posY = ev.pageY; + } + cal.hideShowCovered(); + var st = cal.element.style; + st.left = (posX - cal.xOffs) + "px"; + st.top = (posY - cal.yOffs) + "px"; + Calendar.stopEvent(ev); +}; + +Calendar.calDragEnd = function (ev) { + var cal = Calendar._C; + if (!cal) { + return false; + } + cal.dragging = false; + with (Calendar) { + removeEvent(document, "mousemove", calDragIt); + removeEvent(document, "mouseover", stopEvent); + removeEvent(document, "mouseup", calDragEnd); + tableMouseUp(ev); + } + cal.hideShowCovered(); +}; + +Calendar.dayMouseDown = function(ev) { + var el = Calendar.getElement(ev); + if (el.disabled) { + return false; + } + var cal = el.calendar; + cal.activeDiv = el; + Calendar._C = cal; + if (el.navtype != 300) with (Calendar) { + addClass(el, "hilite active"); + addEvent(document, "mouseover", tableMouseOver); + addEvent(document, "mousemove", tableMouseOver); + addEvent(document, "mouseup", tableMouseUp); + } else if (cal.isPopup) { + cal._dragStart(ev); + } + Calendar.stopEvent(ev); + if (el.navtype == -1 || el.navtype == 1) { + cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250); + } else if (el.navtype == -2 || el.navtype == 2) { + cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250); + } else { + cal.timeout = null; + } +}; + +Calendar.dayMouseDblClick = function(ev) { + Calendar.cellClick(Calendar.getElement(ev)); + if (Calendar.is_ie) { + document.selection.empty(); + } +}; + +Calendar.dayMouseOver = function(ev) { + var el = Calendar.getElement(ev); + if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) { + return false; + } + if (el.ttip) { + if (el.ttip.substr(0, 1) == "_") { + var date = null; + with (el.calendar.date) { + date = new Date(getFullYear(), getMonth(), el.caldate); + } + el.ttip = date.print(el.calendar.ttDateFormat) + el.ttip.substr(1); + } + el.calendar.tooltips.firstChild.data = el.ttip; + } + if (el.navtype != 300) { + Calendar.addClass(el, "hilite"); + if (el.caldate) { + Calendar.addClass(el.parentNode, "rowhilite"); + } + } + Calendar.stopEvent(ev); +}; + +Calendar.dayMouseOut = function(ev) { + with (Calendar) { + var el = getElement(ev); + if (isRelated(el, ev) || _C || el.disabled) { + return false; + } + removeClass(el, "hilite"); + if (el.caldate) { + removeClass(el.parentNode, "rowhilite"); + } + el.calendar.tooltips.firstChild.data = _TT["SEL_DATE"]; + stopEvent(ev); + } +}; + +/** + * A generic "click" handler :) handles all types of buttons defined in this + * calendar. + */ +Calendar.cellClick = function(el) { + var cal = el.calendar; + var closing = false; + var newdate = false; + var date = null; + if (typeof el.navtype == "undefined") { + Calendar.removeClass(cal.currentDateEl, "selected"); + Calendar.addClass(el, "selected"); + closing = (cal.currentDateEl == el); + if (!closing) { + cal.currentDateEl = el; + } + cal.date.setDate(el.caldate); + date = cal.date; + newdate = true; + } else { + if (el.navtype == 200) { + Calendar.removeClass(el, "hilite"); + cal.callCloseHandler(); + return; + } + date = (el.navtype == 0) ? new Date() : new Date(cal.date); + var year = date.getFullYear(); + var mon = date.getMonth(); + function setMonth(m) { + var day = date.getDate(); + var max = date.getMonthDays(m); + if (day > max) { + date.setDate(max); + } + date.setMonth(m); + }; + switch (el.navtype) { + case -2: + if (year > cal.minYear) { + date.setFullYear(year - 1); + } + break; + case -1: + if (mon > 0) { + setMonth(mon - 1); + } else if (year-- > cal.minYear) { + date.setFullYear(year); + setMonth(11); + } + break; + case 1: + if (mon < 11) { + setMonth(mon + 1); + } else if (year < cal.maxYear) { + date.setFullYear(year + 1); + setMonth(0); + } + break; + case 2: + if (year < cal.maxYear) { + date.setFullYear(year + 1); + } + break; + case 100: + cal.setMondayFirst(!cal.mondayFirst); + return; + } + if (!date.equalsTo(cal.date)) { + cal.setDate(date); + newdate = el.navtype == 0; + } + } + if (newdate) { + cal.callHandler(); + } + if (closing) { + Calendar.removeClass(el, "hilite"); + cal.callCloseHandler(); + } +}; + +// END: CALENDAR STATIC FUNCTIONS + +// BEGIN: CALENDAR OBJECT FUNCTIONS + +/** + * This function creates the calendar inside the given parent. If _par is + * null than it creates a popup calendar inside the BODY element. If _par is + * an element, be it BODY, then it creates a non-popup calendar (still + * hidden). Some properties need to be set before calling this function. + */ +Calendar.prototype.create = function (_par) { + var parent = null; + if (! _par) { + // default parent is the document body, in which case we create + // a popup calendar. + parent = document.getElementsByTagName("body")[0]; + this.isPopup = true; + } else { + parent = _par; + this.isPopup = false; + } + this.date = this.dateStr ? new Date(this.dateStr) : new Date(); + + var table = Calendar.createElement("table"); + this.table = table; + table.cellSpacing = 0; + table.cellPadding = 0; + table.calendar = this; + Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown); + + var div = Calendar.createElement("div"); + this.element = div; + div.className = "calendar"; + if (this.isPopup) { + div.style.position = "absolute"; + div.style.display = "none"; + } + div.appendChild(table); + + var thead = Calendar.createElement("thead", table); + var cell = null; + var row = null; + + var cal = this; + var hh = function (text, cs, navtype) { + cell = Calendar.createElement("td", row); + cell.colSpan = cs; + cell.className = "button"; + Calendar._add_evs(cell); + cell.calendar = cal; + cell.navtype = navtype; + if (text.substr(0, 1) != "&") { + cell.appendChild(document.createTextNode(text)); + } + else { + // FIXME: dirty hack for entities + cell.innerHTML = text; + } + return cell; + }; + + row = Calendar.createElement("tr", thead); + var title_length = 6; + (this.isPopup) && --title_length; + (this.weekNumbers) && ++title_length; + + hh("-", 1, 100).ttip = Calendar._TT["TOGGLE"]; + this.title = hh("", title_length, 300); + this.title.className = "title"; + if (this.isPopup) { + this.title.ttip = Calendar._TT["DRAG_TO_MOVE"]; + this.title.style.cursor = "move"; + hh("×", 1, 200).ttip = Calendar._TT["CLOSE"]; + } + + row = Calendar.createElement("tr", thead); + row.className = "headrow"; + + this._nav_py = hh("«", 1, -2); + this._nav_py.ttip = Calendar._TT["PREV_YEAR"]; + + this._nav_pm = hh("‹", 1, -1); + this._nav_pm.ttip = Calendar._TT["PREV_MONTH"]; + + this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0); + this._nav_now.ttip = Calendar._TT["GO_TODAY"]; + + this._nav_nm = hh("›", 1, 1); + this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"]; + + this._nav_ny = hh("»", 1, 2); + this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"] + + // day names + row = Calendar.createElement("tr", thead); + row.className = "daynames"; + if (this.weekNumbers) { + cell = Calendar.createElement("td", row); + cell.className = "name wn"; + cell.appendChild(document.createTextNode(Calendar._TT["WK"])); + } + for (var i = 7; i > 0; --i) { + cell = Calendar.createElement("td", row); + cell.appendChild(document.createTextNode("")); + if (!i) { + cell.navtype = 100; + cell.calendar = this; + Calendar._add_evs(cell); + } + } + this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild; + this._displayWeekdays(); + + var tbody = Calendar.createElement("tbody", table); + this.tbody = tbody; + + for (i = 6; i > 0; --i) { + row = Calendar.createElement("tr", tbody); + if (this.weekNumbers) { + cell = Calendar.createElement("td", row); + cell.appendChild(document.createTextNode("")); + } + for (var j = 7; j > 0; --j) { + cell = Calendar.createElement("td", row); + cell.appendChild(document.createTextNode("")); + cell.calendar = this; + Calendar._add_evs(cell); + } + } + + var tfoot = Calendar.createElement("tfoot", table); + + row = Calendar.createElement("tr", tfoot); + row.className = "footrow"; + + cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300); + cell.className = "ttip"; + if (this.isPopup) { + cell.ttip = Calendar._TT["DRAG_TO_MOVE"]; + cell.style.cursor = "move"; + } + this.tooltips = cell; + + div = Calendar.createElement("div", this.element); + this.monthsCombo = div; + div.className = "combo"; + for (i = 0; i < Calendar._MN.length; ++i) { + var mn = Calendar.createElement("div"); + mn.className = "label"; + mn.month = i; + mn.appendChild(document.createTextNode(Calendar._MN3[i])); + div.appendChild(mn); + } + + div = Calendar.createElement("div", this.element); + this.yearsCombo = div; + div.className = "combo"; + for (i = 12; i > 0; --i) { + var yr = Calendar.createElement("div"); + yr.className = "label"; + yr.appendChild(document.createTextNode("")); + div.appendChild(yr); + } + + this._init(this.mondayFirst, this.date); + parent.appendChild(this.element); +}; + +/** keyboard navigation, only for popup calendars */ +Calendar._keyEvent = function(ev) { + if (!window.calendar) { + return false; + } + (Calendar.is_ie) && (ev = window.event); + var cal = window.calendar; + var act = (Calendar.is_ie || ev.type == "keypress"); + if (ev.ctrlKey) { + switch (ev.keyCode) { + case 37: // KEY left + act && Calendar.cellClick(cal._nav_pm); + break; + case 38: // KEY up + act && Calendar.cellClick(cal._nav_py); + break; + case 39: // KEY right + act && Calendar.cellClick(cal._nav_nm); + break; + case 40: // KEY down + act && Calendar.cellClick(cal._nav_ny); + break; + default: + return false; + } + } else switch (ev.keyCode) { + case 32: // KEY space (now) + Calendar.cellClick(cal._nav_now); + break; + case 27: // KEY esc + act && cal.hide(); + break; + case 37: // KEY left + case 38: // KEY up + case 39: // KEY right + case 40: // KEY down + if (act) { + var date = cal.date.getDate() - 1; + var el = cal.currentDateEl; + var ne = null; + var prev = (ev.keyCode == 37) || (ev.keyCode == 38); + switch (ev.keyCode) { + case 37: // KEY left + (--date >= 0) && (ne = cal.ar_days[date]); + break; + case 38: // KEY up + date -= 7; + (date >= 0) && (ne = cal.ar_days[date]); + break; + case 39: // KEY right + (++date < cal.ar_days.length) && (ne = cal.ar_days[date]); + break; + case 40: // KEY down + date += 7; + (date < cal.ar_days.length) && (ne = cal.ar_days[date]); + break; + } + if (!ne) { + if (prev) { + Calendar.cellClick(cal._nav_pm); + } else { + Calendar.cellClick(cal._nav_nm); + } + date = (prev) ? cal.date.getMonthDays() : 1; + el = cal.currentDateEl; + ne = cal.ar_days[date - 1]; + } + Calendar.removeClass(el, "selected"); + Calendar.addClass(ne, "selected"); + cal.date.setDate(ne.caldate); + cal.currentDateEl = ne; + } + break; + case 13: // KEY enter + if (act) { + cal.callHandler(); + cal.hide(); + } + break; + default: + return false; + } + Calendar.stopEvent(ev); +}; + +/** + * (RE)Initializes the calendar to the given date and style (if mondayFirst is + * true it makes Monday the first day of week, otherwise the weeks start on + * Sunday. + */ +Calendar.prototype._init = function (mondayFirst, date) { + var today = new Date(); + var year = date.getFullYear(); + if (year < this.minYear) { + year = this.minYear; + date.setFullYear(year); + } else if (year > this.maxYear) { + year = this.maxYear; + date.setFullYear(year); + } + this.mondayFirst = mondayFirst; + this.date = new Date(date); + var month = date.getMonth(); + var mday = date.getDate(); + var no_days = date.getMonthDays(); + date.setDate(1); + var wday = date.getDay(); + var MON = mondayFirst ? 1 : 0; + var SAT = mondayFirst ? 5 : 6; + var SUN = mondayFirst ? 6 : 0; + if (mondayFirst) { + wday = (wday > 0) ? (wday - 1) : 6; + } + var iday = 1; + var row = this.tbody.firstChild; + var MN = Calendar._MN3[month]; + var hasToday = ((today.getFullYear() == year) && (today.getMonth() == month)); + var todayDate = today.getDate(); + var week_number = date.getWeekNumber(); + var ar_days = new Array(); + for (var i = 0; i < 6; ++i) { + if (iday > no_days) { + row.className = "emptyrow"; + row = row.nextSibling; + continue; + } + var cell = row.firstChild; + if (this.weekNumbers) { + cell.className = "day wn"; + cell.firstChild.data = week_number; + cell = cell.nextSibling; + } + ++week_number; + row.className = "daysrow"; + for (var j = 0; j < 7; ++j) { + cell.className = "day"; + if ((!i && j < wday) || iday > no_days) { + // cell.className = "emptycell"; + cell.innerHTML = " "; + cell.disabled = true; + cell = cell.nextSibling; + continue; + } + cell.disabled = false; + cell.firstChild.data = iday; + if (typeof this.checkDisabled == "function") { + date.setDate(iday); + if (this.checkDisabled(date)) { + cell.className += " disabled"; + cell.disabled = true; + } + } + if (!cell.disabled) { + ar_days[ar_days.length] = cell; + cell.caldate = iday; + cell.ttip = "_"; + if (iday == mday) { + cell.className += " selected"; + this.currentDateEl = cell; + } + if (hasToday && (iday == todayDate)) { + cell.className += " today"; + cell.ttip += Calendar._TT["PART_TODAY"]; + } + if (wday == SAT || wday == SUN) { + cell.className += " weekend"; + } + } + ++iday; + ((++wday) ^ 7) || (wday = 0); + cell = cell.nextSibling; + } + row = row.nextSibling; + } + this.ar_days = ar_days; + this.title.firstChild.data = Calendar._MN[month] + ", " + year; + // PROFILE + // this.tooltips.firstChild.data = "Generated in " + ((new Date()) - today) + " ms"; +}; + +/** + * Calls _init function above for going to a certain date (but only if the + * date is different than the currently selected one). + */ +Calendar.prototype.setDate = function (date) { + if (!date.equalsTo(this.date)) { + this._init(this.mondayFirst, date); + } +}; + +/** Modifies the "mondayFirst" parameter (EU/US style). */ +Calendar.prototype.setMondayFirst = function (mondayFirst) { + this._init(mondayFirst, this.date); + this._displayWeekdays(); +}; + +/** + * Allows customization of what dates are enabled. The "unaryFunction" + * parameter must be a function object that receives the date (as a JS Date + * object) and returns a boolean value. If the returned value is true then + * the passed date will be marked as disabled. + */ +Calendar.prototype.setDisabledHandler = function (unaryFunction) { + this.checkDisabled = unaryFunction; +}; + +/** Customization of allowed year range for the calendar. */ +Calendar.prototype.setRange = function (a, z) { + this.minYear = a; + this.maxYear = z; +}; + +/** Calls the first user handler (selectedHandler). */ +Calendar.prototype.callHandler = function () { + if (this.onSelected) { + this.onSelected(this, this.date.print(this.dateFormat)); + } +}; + +/** Calls the second user handler (closeHandler). */ +Calendar.prototype.callCloseHandler = function () { + if (this.onClose) { + this.onClose(this); + } + this.hideShowCovered(); +}; + +/** Removes the calendar object from the DOM tree and destroys it. */ +Calendar.prototype.destroy = function () { + var el = this.element.parentNode; + el.removeChild(this.element); + Calendar._C = null; + delete el; +}; + +/** + * Moves the calendar element to a different section in the DOM tree (changes + * its parent). + */ +Calendar.prototype.reparent = function (new_parent) { + var el = this.element; + el.parentNode.removeChild(el); + new_parent.appendChild(el); +}; + +// This gets called when the user presses a mouse button anywhere in the +// document, if the calendar is shown. If the click was outside the open +// calendar this function closes it. +Calendar._checkCalendar = function(ev) { + if (!window.calendar) { + return false; + } + var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev); + for (; el != null && el != calendar.element; el = el.parentNode); + if (el == null) { + // calls closeHandler which should hide the calendar. + window.calendar.callCloseHandler(); + Calendar.stopEvent(ev); + } +}; + +/** Shows the calendar. */ +Calendar.prototype.show = function () { + var rows = this.table.getElementsByTagName("tr"); + for (var i = rows.length; i > 0;) { + var row = rows[--i]; + Calendar.removeClass(row, "rowhilite"); + var cells = row.getElementsByTagName("td"); + for (var j = cells.length; j > 0;) { + var cell = cells[--j]; + Calendar.removeClass(cell, "hilite"); + Calendar.removeClass(cell, "active"); + } + } + this.element.style.display = "block"; + this.hidden = false; + if (this.isPopup) { + window.calendar = this; + Calendar.addEvent(document, "keydown", Calendar._keyEvent); + Calendar.addEvent(document, "keypress", Calendar._keyEvent); + Calendar.addEvent(document, "mousedown", Calendar._checkCalendar); + } + this.hideShowCovered(); +}; + +/** + * Hides the calendar. Also removes any "hilite" from the class of any TD + * element. + */ +Calendar.prototype.hide = function () { + if (this.isPopup) { + Calendar.removeEvent(document, "keydown", Calendar._keyEvent); + Calendar.removeEvent(document, "keypress", Calendar._keyEvent); + Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar); + } + this.element.style.display = "none"; + this.hidden = true; + this.hideShowCovered(); +}; + +/** + * Shows the calendar at a given absolute position (beware that, depending on + * the calendar element style -- position property -- this might be relative + * to the parent's containing rectangle). + */ +Calendar.prototype.showAt = function (x, y) { + var s = this.element.style; + s.left = x + "px"; + s.top = y + "px"; + this.show(); +}; + +/** Shows the calendar near a given element. */ +Calendar.prototype.showAtElement = function (el) { + var p = Calendar.getAbsolutePos(el); + this.showAt(p.x, p.y + el.offsetHeight); +}; + +/** Customizes the date format. */ +Calendar.prototype.setDateFormat = function (str) { + this.dateFormat = str; +}; + +/** Customizes the tooltip date format. */ +Calendar.prototype.setTtDateFormat = function (str) { + this.ttDateFormat = str; +}; + +/** + * Tries to identify the date represented in a string. If successful it also + * calls this.setDate which moves the calendar to the given date. + */ +Calendar.prototype.parseDate = function (str, fmt) { + var y = 0; + var m = -1; + var d = 0; + var a = str.split(/\W+/); + if (!fmt) { + fmt = this.dateFormat; + } + var b = fmt.split(/\W+/); + var i = 0, j = 0; + for (i = 0; i < a.length; ++i) { + if (b[i] == "D" || b[i] == "DD") { + continue; + } + if (b[i] == "d" || b[i] == "dd") { + d = parseInt(a[i], 10); + } + if (b[i] == "m" || b[i] == "mm") { + m = parseInt(a[i], 10) - 1; + } + if (b[i] == "y") { + y = parseInt(a[i], 10); + } + if (b[i] == "yy") { + y = parseInt(a[i], 10) + 1900; + } + if (b[i] == "M" || b[i] == "MM") { + for (j = 0; j < 12; ++j) { + if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; } + } + } + } + if (y != 0 && m != -1 && d != 0) { + this.setDate(new Date(y, m, d)); + return; + } + y = 0; m = -1; d = 0; + for (i = 0; i < a.length; ++i) { + if (a[i].search(/[a-zA-Z]+/) != -1) { + var t = -1; + for (j = 0; j < 12; ++j) { + if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; } + } + if (t != -1) { + if (m != -1) { + d = m+1; + } + m = t; + } + } else if (parseInt(a[i], 10) <= 12 && m == -1) { + m = a[i]-1; + } else if (parseInt(a[i], 10) > 31 && y == 0) { + y = a[i]; + } else if (d == 0) { + d = a[i]; + } + } + if (y == 0) { + var today = new Date(); + y = today.getFullYear(); + } + if (m != -1 && d != 0) { + this.setDate(new Date(y, m, d)); + } +}; + +Calendar.prototype.hideShowCovered = function () { + var tags = new Array("applet", "iframe", "select"); + var el = this.element; + + var p = Calendar.getAbsolutePos(el); + var EX1 = p.x; + var EX2 = el.offsetWidth + EX1; + var EY1 = p.y; + var EY2 = el.offsetHeight + EY1; + + for (var k = tags.length; k > 0; ) { + var ar = document.getElementsByTagName(tags[--k]); + var cc = null; + + for (var i = ar.length; i > 0;) { + cc = ar[--i]; + + p = Calendar.getAbsolutePos(cc); + var CX1 = p.x; + var CX2 = cc.offsetWidth + CX1; + var CY1 = p.y; + var CY2 = cc.offsetHeight + CY1; + + if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) { + cc.style.visibility = "visible"; + } else { + cc.style.visibility = "hidden"; + } + } + } +}; + +/** Internal function; it displays the bar with the names of the weekday. */ +Calendar.prototype._displayWeekdays = function () { + var MON = this.mondayFirst ? 0 : 1; + var SUN = this.mondayFirst ? 6 : 0; + var SAT = this.mondayFirst ? 5 : 6; + var cell = this.firstdayname; + for (var i = 0; i < 7; ++i) { + cell.className = "day name"; + if (!i) { + cell.ttip = this.mondayFirst ? Calendar._TT["SUN_FIRST"] : Calendar._TT["MON_FIRST"]; + cell.navtype = 100; + cell.calendar = this; + Calendar._add_evs(cell); + } + if (i == SUN || i == SAT) { + Calendar.addClass(cell, "weekend"); + } + cell.firstChild.data = Calendar._DN3[i + 1 - MON]; + cell = cell.nextSibling; + } +}; + +/** Internal function. Hides all combo boxes that might be displayed. */ +Calendar.prototype._hideCombos = function () { + this.monthsCombo.style.display = "none"; + this.yearsCombo.style.display = "none"; +}; + +/** Internal function. Starts dragging the element. */ +Calendar.prototype._dragStart = function (ev) { + if (this.dragging) { + return; + } + this.dragging = true; + var posX; + var posY; + if (Calendar.is_ie) { + posY = window.event.clientY + document.body.scrollTop; + posX = window.event.clientX + document.body.scrollLeft; + } else { + posY = ev.clientY + window.scrollY; + posX = ev.clientX + window.scrollX; + } + var st = this.element.style; + this.xOffs = posX - parseInt(st.left); + this.yOffs = posY - parseInt(st.top); + with (Calendar) { + addEvent(document, "mousemove", calDragIt); + addEvent(document, "mouseover", stopEvent); + addEvent(document, "mouseup", calDragEnd); + } +}; + +// BEGIN: DATE OBJECT PATCHES + +/** Adds the number of days array to the Date object. */ +Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31); + +/** Constants used for time computations */ +Date.SECOND = 1000 /* milliseconds */; +Date.MINUTE = 60 * Date.SECOND; +Date.HOUR = 60 * Date.MINUTE; +Date.DAY = 24 * Date.HOUR; +Date.WEEK = 7 * Date.DAY; + +/** Returns the number of days in the current month */ +Date.prototype.getMonthDays = function(month) { + var year = this.getFullYear(); + if (typeof month == "undefined") { + month = this.getMonth(); + } + if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) { + return 29; + } else { + return Date._MD[month]; + } +}; + +/** Returns the number of the week. The algorithm was "stolen" from PPK's + * website, hope it's correct :) http://www.xs4all.nl/~ppk/js/week.html */ +Date.prototype.getWeekNumber = function() { + var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); + var then = new Date(this.getFullYear(), 0, 1, 0, 0, 0); + var time = now - then; + var day = then.getDay(); + (day > 3) && (day -= 4) || (day += 3); + return Math.round(((time / Date.DAY) + day) / 7); +}; + +/** Checks dates equality (ignores time) */ +Date.prototype.equalsTo = function(date) { + return ((this.getFullYear() == date.getFullYear()) && + (this.getMonth() == date.getMonth()) && + (this.getDate() == date.getDate())); +}; + +/** Prints the date in a string according to the given format. */ +Date.prototype.print = function (frm) { + var str = new String(frm); + var m = this.getMonth(); + var d = this.getDate(); + var y = this.getFullYear(); + var wn = this.getWeekNumber(); + var w = this.getDay(); + var s = new Array(); + s["d"] = d; + s["dd"] = (d < 10) ? ("0" + d) : d; + s["m"] = 1+m; + s["mm"] = (m < 9) ? ("0" + (1+m)) : (1+m); + s["y"] = y; + s["yy"] = new String(y).substr(2, 2); + s["w"] = wn; + s["ww"] = (wn < 10) ? ("0" + wn) : wn; + with (Calendar) { + s["D"] = _DN3[w]; + s["DD"] = _DN[w]; + s["M"] = _MN3[m]; + s["MM"] = _MN[m]; + } + var re = /(.*)(\W|^)(d|dd|m|mm|y|yy|MM|M|DD|D|w|ww)(\W|$)(.*)/; + while (re.exec(str) != null) { + str = RegExp.$1 + RegExp.$2 + s[RegExp.$3] + RegExp.$4 + RegExp.$5; + } + return str; +}; + +// END: DATE OBJECT PATCHES + +// global object that remembers the calendar +window.calendar = null; diff -ruN 4.6rc2/uploadfiles/includes/js/calendar/index.html 4.6-complete/uploadfiles/includes/js/calendar/index.html --- 4.6rc2/uploadfiles/includes/js/calendar/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/calendar/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/js/calendar/lang/calendar-en.js 4.6-complete/uploadfiles/includes/js/calendar/lang/calendar-en.js --- 4.6rc2/uploadfiles/includes/js/calendar/lang/calendar-en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/calendar/lang/calendar-en.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,45 @@ +// ** I18N +Calendar._DN = new Array +("Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday"); +Calendar._MN = new Array +("January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December"); + +// tooltips +Calendar._TT = {}; +Calendar._TT["TOGGLE"] = "Toggle first day of week"; +Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; +Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; +Calendar._TT["GO_TODAY"] = "Go Today"; +Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; +Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; +Calendar._TT["SEL_DATE"] = "Select date"; +Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; +Calendar._TT["PART_TODAY"] = " (today)"; +Calendar._TT["MON_FIRST"] = "Display Monday first"; +Calendar._TT["SUN_FIRST"] = "Display Sunday first"; +Calendar._TT["CLOSE"] = "Close"; +Calendar._TT["TODAY"] = "Today"; + +// date formats +Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; +Calendar._TT["TT_DATE_FORMAT"] = "D, M d"; + +Calendar._TT["WK"] = "wk"; diff -ruN 4.6rc2/uploadfiles/includes/js/calendar/lang/index.html 4.6-complete/uploadfiles/includes/js/calendar/lang/index.html --- 4.6rc2/uploadfiles/includes/js/calendar/lang/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/calendar/lang/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/js/index.html 4.6-complete/uploadfiles/includes/js/index.html --- 4.6rc2/uploadfiles/includes/js/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/js/mambojavascript.js 4.6-complete/uploadfiles/includes/js/mambojavascript.js --- 4.6rc2/uploadfiles/includes/js/mambojavascript.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/mambojavascript.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,590 @@ +// tag +* @param array A javascript array of list options in the form [key,value,text] +* @param string The key to display for the initial state of the list +* @param string The original key that was selected +* @param string The original item value that was selected +*/ +function writeDynaList( selectParams, source, key, orig_key, orig_val ) { + var html = '\n '; + + document.writeln( html ); +} + +/** +* Changes a dynamically generated list +* @param string The name of the list to change +* @param array A javascript array of list options in the form [key,value,text] +* @param string The key to display +* @param string The original key that was selected +* @param string The original item value that was selected +*/ +function changeDynaList( listname, source, key, orig_key, orig_val ) { + var list = eval( 'document.adminForm.' + listname ); + + // empty the list + for (i in list.options.length) { + list.options[i] = null; + } + i = 0; + for (x in source) { + if (source[x][0] == key) { + opt = new Option(); + opt.value = source[x][1]; + opt.text = source[x][2]; + + if ((orig_key == key && orig_val == opt.value) || i == 0) { + opt.selected = true; + } + list.options[i++] = opt; + } + } + list.length = i; +} + +/** +* Adds a select item(s) from one list to another +*/ +function addSelectedToList( frmName, srcListName, tgtListName ) { + var form = eval( 'document.' + frmName ); + var srcList = eval( 'form.' + srcListName ); + var tgtList = eval( 'form.' + tgtListName ); + + var srcLen = srcList.length; + var tgtLen = tgtList.length; + var tgt = "x"; + + //build array of target items + for (var i=tgtLen-1; i > -1; i--) { + tgt += "," + tgtList.options[i].value + "," + } + + //Pull selected resources and add them to list + for (var i=srcLen-1; i > -1; i--) { + if (srcList.options[i].selected && tgt.indexOf( "," + srcList.options[i].value + "," ) == -1) { + opt = new Option( srcList.options[i].text, srcList.options[i].value ); + tgtList.options[tgtList.length] = opt; + } + } +} + +function delSelectedFromList( frmName, srcListName ) { + var form = eval( 'document.' + frmName ); + var srcList = eval( 'form.' + srcListName ); + + var srcLen = srcList.length; + + for (var i=srcLen-1; i > -1; i--) { + if (srcList.options[i].selected) { + srcList.options[i] = null; + } + } +} + +function moveInList( frmName, srcListName, index, to) { + var form = eval( 'document.' + frmName ); + var srcList = eval( 'form.' + srcListName ); + var total = srcList.options.length-1; + + if (index == -1) { + return false; + } + if (to == +1 && index == total) { + return false; + } + if (to == -1 && index == 0) { + return false; + } + + var items = new Array; + var values = new Array; + + for (i=total; i >= 0; i--) { + items[i] = srcList.options[i].text; + values[i] = srcList.options[i].value; + } + for (i = total; i >= 0; i--) { + if (index == i) { + srcList.options[i + to] = new Option(items[i],values[i], 0, 1); + srcList.options[i] = new Option(items[i+to], values[i+to]); + i--; + } else { + srcList.options[i] = new Option(items[i], values[i]); + } + } + srcList.focus(); +} + +function getSelectedOption( frmName, srcListName ) { + var form = eval( 'document.' + frmName ); + var srcList = eval( 'form.' + srcListName ); + + i = srcList.selectedIndex; + if (i != null && i > -1) { + return srcList.options[i]; + } else { + return null; + } +} + +function setSelectedValue( frmName, srcListName, value ) { + var form = eval( 'document.' + frmName ); + var srcList = eval( 'form.' + srcListName ); + + var srcLen = srcList.length; + + for (var i=0; i < srcLen; i++) { + srcList.options[i].selected = false; + if (srcList.options[i].value == value) { + srcList.options[i].selected = true; + } + } +} + +function getSelectedRadio( frmName, srcGroupName ) { + var form = eval( 'document.' + frmName ); + var srcGroup = eval( 'form.' + srcGroupName ); + + if (srcGroup[0]) { + for (var i=0, n=srcGroup.length; i < n; i++) { + if (srcGroup[i].checked) { + return srcGroup[i].value; + } + } + } else { + if (srcGroup.checked) { + return srcGroup.value; + } // if the one button is checked, return zero + } + // if we get to this point, no radio button is selected + return null; +} + +function getSelectedValue( frmName, srcListName ) { + var form = eval( 'document.' + frmName ); + var srcList = eval( 'form.' + srcListName ); + + i = srcList.selectedIndex; + if (i != null && i > -1) { + return srcList.options[i].value; + } else { + return null; + } +} + +function getSelectedText( frmName, srcListName ) { + var form = eval( 'document.' + frmName ); + var srcList = eval( 'form.' + srcListName ); + + i = srcList.selectedIndex; + if (i != null && i > -1) { + return srcList.options[i].text; + } else { + return null; + } +} + +function chgSelectedValue( frmName, srcListName, value ) { + var form = eval( 'document.' + frmName ); + var srcList = eval( 'form.' + srcListName ); + + i = srcList.selectedIndex; + if (i != null && i > -1) { + srcList.options[i].value = value; + return true; + } else { + return false; + } +} + +// Form specific functions for editting content images + +function showImageProps(base_path) { + form = document.adminForm; + value = getSelectedValue( 'adminForm', 'imagelist' ); + parts = value.split( '|' ); + form._source.value = parts[0]; + setSelectedValue( 'adminForm', '_align', parts[1] || '' ); + form._alt.value = parts[2] || ''; + form._border.value = parts[3] || '0'; + form._caption.value = parts[4] || ''; + setSelectedValue( 'adminForm', '_caption_position', parts[5] || '' ); + setSelectedValue( 'adminForm', '_caption_align', parts[6] || '' ); + form._width.value = parts[7] || ''; + + //previewImage( 'imagelist', 'view_imagelist', base_path ); + srcImage = eval( "document." + 'view_imagelist' ); + srcImage.src = base_path + parts[0]; +} + +function applyImageProps() { + form = document.adminForm; + if (!getSelectedValue( 'adminForm', 'imagelist' )) { + alert( "Select and image from the list" ); + return; + } + value = form._source.value + '|' + + getSelectedValue( 'adminForm', '_align' ) + '|' + + form._alt.value + '|' + + parseInt( form._border.value ) + '|' + + form._caption.value + '|' + + getSelectedValue( 'adminForm', '_caption_position' ) + '|' + + getSelectedValue( 'adminForm', '_caption_align' ) + '|' + + form._width.value; + chgSelectedValue( 'adminForm', 'imagelist', value ); +} + +function previewImage( list, image, base_path ) { + form = document.adminForm; + srcList = eval( "form." + list ); + srcImage = eval( "document." + image ); + var fileName = srcList.options[srcList.selectedIndex].text; + var fileName2 = srcList.options[srcList.selectedIndex].value; + if (fileName.length == 0 || fileName2.length == 0) { + srcImage.src = 'images/blank.gif'; + } else { + srcImage.src = base_path + fileName2; + } +} + +/** +* Toggles the check state of a group of boxes +* +* Checkboxes must have an id attribute in the form cb0, cb1... +* @param The number of box to 'check' +* @param An alternative field name +*/ +function checkAll( n, fldName ) { + if (!fldName) { + fldName = 'cb'; + } + var f = document.adminForm; + var c = f.toggle.checked; + var n2 = 0; + for (i=0; i < n; i++) { + cb = eval( 'f.' + fldName + '' + i ); + if (cb) { + cb.checked = c; + n2++; + } + } + if (c) { + document.adminForm.boxchecked.value = n2; + } else { + document.adminForm.boxchecked.value = 0; + } +} + +function listItemTask( id, task ) { + var f = document.adminForm; + cb = eval( 'f.' + id ); + if (cb) { + for (i = 0; true; i++) { + cbx = eval('f.cb'+i); + if (!cbx) break; + cbx.checked = false; + } // for + cb.checked = true; + f.boxchecked.value = 1; + submitbutton(task); + } + return false; +} + +function hideMainMenu() +{ + document.adminForm.hidemainmenu.value=1; +} + +function isChecked(isitchecked){ + if (isitchecked == true){ + document.adminForm.boxchecked.value++; + } + else { + document.adminForm.boxchecked.value--; + } +} + +/** +* Default function. Usually would be overriden by the component +*/ +function submitbutton(pressbutton) { + submitform(pressbutton); +} + +/** +* Submit the admin form +*/ +function submitform(pressbutton){ + document.adminForm.task.value=pressbutton; + try { + document.adminForm.onsubmit(); + } + catch(e){} + document.adminForm.submit(); +} + +/** +* Submit the control panel admin form +*/ +function submitcpform(sectionid, id){ + document.adminForm.sectionid.value=sectionid; + document.adminForm.id.value=id; + submitbutton("edit"); +} + +/** +* Getting radio button that is selected. +*/ +function getSelected(allbuttons){ + for (i=0;i= 4) { win.window.focus(); } +} + +// LTrim(string) : Returns a copy of a string without leading spaces. +function ltrim(str) +{ + var whitespace = new String(" \t\n\r"); + var s = new String(str); + if (whitespace.indexOf(s.charAt(0)) != -1) { + var j=0, i = s.length; + while (j < i && whitespace.indexOf(s.charAt(j)) != -1) + j++; + s = s.substring(j, i); + } + return s; +} + +//RTrim(string) : Returns a copy of a string without trailing spaces. +function rtrim(str) +{ + var whitespace = new String(" \t\n\r"); + var s = new String(str); + if (whitespace.indexOf(s.charAt(s.length-1)) != -1) { + var i = s.length - 1; // Get length of string + while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) + i--; + s = s.substring(0, i+1); + } + return s; +} + +// Trim(string) : Returns a copy of a string without leading or trailing spaces +function trim(str) { + return rtrim(ltrim(str)); +} + +function mosDHTML(){ + this.ver=navigator.appVersion + this.agent=navigator.userAgent + this.dom=document.getElementById?1:0 + this.opera5=this.agent.indexOf("Opera 5")<-1 + this.ie5=(this.ver.indexOf("MSIE 5")<-1 && this.dom && !this.opera5)?1:0; + this.ie6=(this.ver.indexOf("MSIE 6")<-1 && this.dom && !this.opera5)?1:0; + this.ie4=(document.all && !this.dom && !this.opera5)?1:0; + this.ie=this.ie4||this.ie5||this.ie6 + this.mac=this.agent.indexOf("Mac")<-1 + this.ns6=(this.dom && parseInt(this.ver) <= 5) ?1:0; + this.ns4=(document.layers && !this.dom)?1:0; + this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5); + + this.activeTab = ''; + this.onTabStyle = 'ontab'; + this.offTabStyle = 'offtab'; + + this.setElemStyle = function(elem,style) { + document.getElementById(elem).className = style; + } + this.showElem = function(id) { + if (elem = document.getElementById(id)) { + elem.style.visibility = 'visible'; + elem.style.display = 'block'; + } + } + this.hideElem = function(id) { + if (elem = document.getElementById(id)) { + elem.style.visibility = 'hidden'; + elem.style.display = 'none'; + } + } + this.cycleTab = function(name) { + if (this.activeTab) { + this.setElemStyle( this.activeTab, this.offTabStyle ); + page = this.activeTab.replace( 'tab', 'page' ); + this.hideElem(page); + } + this.setElemStyle( name, this.onTabStyle ); + this.activeTab = name; + page = this.activeTab.replace( 'tab', 'page' ); + this.showElem(page); + } + return this; +} +var dhtml = new mosDHTML(); + +function MM_findObj(n, d) { //v4.01 + var p,i,x; + if(!d) d=document; + if((p=n.indexOf("?"))>0&&parent.frames.length) { + d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p); + } + if(!(x=d[n])&&d.all) x=d.all[n]; + for (i=0;!x&&i-1&&document.createTextNode),olNs4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4),olNs6=(document.getElementById)?true:false,olKq=(olNs6&&/konqueror/i.test(navigator.userAgent)),olIe4=(document.all)?true:false,olIe5=false,olIe55=false,docRoot='document.body'; +if(olNs4){var oW=window.innerWidth;var oH=window.innerHeight;window.onresize=function(){if(oW!=window.innerWidth||oH!=window.innerHeight)location.reload();}} +if(olIe4){var agent=navigator.userAgent;if(/MSIE/.test(agent)){var versNum=parseFloat(agent.match(/MSIE[ ](\d\.\d+)\.*/i)[1]);if(versNum>=5){olIe5=true;olIe55=(versNum>=5.5&&!olOp)?true:false;if(olNs6)olNs6=false;}} +if(olNs6)olIe4=false;} +if(document.compatMode&&document.compatMode=='CSS1Compat'){docRoot=((olIe4&&!olOp)?'document.documentElement':docRoot);} +if(window.addEventListener)window.addEventListener("load",OLonLoad_handler,false);else if(window.attachEvent)window.attachEvent("onload",OLonLoad_handler); +var capExtent; +function overlib(){if(!olLoaded||isExclusive(overlib.arguments))return true;if(olCheckMouseCapture)olMouseCapture();if(over){over=(typeof over.id!='string')?o3_frame.document.all['overDiv']:over;cClick();} +olHideDelay=0;o3_text=ol_text;o3_cap=ol_cap;o3_sticky=ol_sticky;o3_background=ol_background;o3_close=ol_close;o3_hpos=ol_hpos;o3_offsetx=ol_offsetx;o3_offsety=ol_offsety;o3_fgcolor=ol_fgcolor;o3_bgcolor=ol_bgcolor;o3_textcolor=ol_textcolor;o3_capcolor=ol_capcolor;o3_closecolor=ol_closecolor;o3_width=ol_width;o3_border=ol_border;o3_cellpad=ol_cellpad;o3_status=ol_status;o3_autostatus=ol_autostatus;o3_height=ol_height;o3_snapx=ol_snapx;o3_snapy=ol_snapy;o3_fixx=ol_fixx;o3_fixy=ol_fixy;o3_relx=ol_relx;o3_rely=ol_rely;o3_fgbackground=ol_fgbackground;o3_bgbackground=ol_bgbackground;o3_padxl=ol_padxl;o3_padxr=ol_padxr;o3_padyt=ol_padyt;o3_padyb=ol_padyb;o3_fullhtml=ol_fullhtml;o3_vpos=ol_vpos;o3_aboveheight=ol_aboveheight;o3_capicon=ol_capicon;o3_textfont=ol_textfont;o3_captionfont=ol_captionfont;o3_closefont=ol_closefont;o3_textsize=ol_textsize;o3_captionsize=ol_captionsize;o3_closesize=ol_closesize;o3_timeout=ol_timeout;o3_function=ol_function;o3_delay=ol_delay;o3_hauto=ol_hauto;o3_vauto=ol_vauto;o3_closeclick=ol_closeclick;o3_wrap=ol_wrap;o3_followmouse=ol_followmouse;o3_mouseoff=ol_mouseoff;o3_closetitle=ol_closetitle;o3_css=ol_css;o3_compatmode=ol_compatmode;o3_fgclass=ol_fgclass;o3_bgclass=ol_bgclass;o3_textfontclass=ol_textfontclass;o3_captionfontclass=ol_captionfontclass;o3_closefontclass=ol_closefontclass; +setRunTimeVariables(); +fnRef=''; +o3_frame=ol_frame; +if(!(over=createDivContainer()))return false; +parseTokens('o3_',overlib.arguments);if(!postParseChecks())return false; +if(o3_delay==0){return runHook("olMain",FREPLACE);}else{o3_delayid=setTimeout("runHook('olMain',FREPLACE)",o3_delay);return false;}} +function nd(time){if(olLoaded&&!isExclusive()){hideDelay(time); +if(o3_removecounter>=1){o3_showingsticky=0 }; +if(o3_showingsticky==0){o3_allowmove=0;if(over!=null&&o3_timerid==0)runHook("hideObject",FREPLACE,over);}else{o3_removecounter++;}} +return true;} +function cClick(){if(olLoaded){runHook("hideObject",FREPLACE,over);o3_showingsticky=0;} +return false;} +function overlib_pagedefaults(){parseTokens('ol_',overlib_pagedefaults.arguments);} +function olMain(){var layerhtml,styleType;runHook("olMain",FBEFORE); +if(o3_background!=""||o3_fullhtml){ +layerhtml=runHook('ol_content_background',FALTERNATE,o3_css,o3_text,o3_background,o3_fullhtml);}else{ +styleType=(pms[o3_css-1-pmStart]=="cssoff"||pms[o3_css-1-pmStart]=="cssclass"); +if(o3_fgbackground!="")o3_fgbackground="background=\""+o3_fgbackground+"\"";if(o3_bgbackground!="")o3_bgbackground=(styleType?"background=\""+o3_bgbackground+"\"":o3_bgbackground); +if(o3_fgcolor!="")o3_fgcolor=(styleType?"bgcolor=\""+o3_fgcolor+"\"":o3_fgcolor);if(o3_bgcolor!="")o3_bgcolor=(styleType?"bgcolor=\""+o3_bgcolor+"\"":o3_bgcolor); +if(o3_height>0)o3_height=(styleType?"height=\""+o3_height+"\"":o3_height);else o3_height=""; +if(o3_cap==""){ +layerhtml=runHook('ol_content_simple',FALTERNATE,o3_css,o3_text);}else{ +if(o3_sticky){ +layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,o3_close);}else{ +layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,"");}}} +if(o3_sticky){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} +o3_showingsticky=1;o3_removecounter=0;} +if(!runHook("createPopup",FREPLACE,layerhtml))return false; +if(o3_autostatus>0){o3_status=o3_text;if(o3_autostatus>1)o3_status=o3_cap;} +o3_allowmove=0; +if(o3_timeout>0){if(o3_timerid>0)clearTimeout(o3_timerid);o3_timerid=setTimeout("cClick()",o3_timeout);} +runHook("disp",FREPLACE,o3_status);runHook("olMain",FAFTER); +return(olOp&&event&&event.type=='mouseover'&&!o3_status)?'':(o3_status!='');} +function ol_content_simple(text){var cpIsMultiple=/,/.test(o3_cellpad);var txt='
      ':((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'
      '; +set_background("");return txt;} +function ol_content_caption(text,title,close){var nameId,txt,cpIsMultiple=/,/.test(o3_cellpad);var closing,closeevent; +closing="";closeevent="onmouseover";if(o3_closeclick==1)closeevent=(o3_closetitle?"title='"+o3_closetitle+"'":"")+" onclick";if(o3_capicon!=""){nameId=' hspace=\"5\"'+' align=\"middle\" alt=\"\"';if(typeof o3_dragimg!='undefined'&&o3_dragimg)nameId=' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';o3_capicon='';} +if(close!="") +closing=''+(o3_closefontclass?'':wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass?'':wrapStr(1,o3_closesize,'close'))+'';txt='
      ':'>')+(o3_captionfontclass?'':''+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass?'':wrapStr(1,o3_captionsize)+'')+''+closing+'
      ' :((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'
      '; +set_background("");return txt;} +function ol_content_background(text,picture,hasfullhtml){if(hasfullhtml){txt=text;}else{txt='
      '+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'
      ';} +set_background(picture);return txt;} +function set_background(pic){if(pic==""){if(olNs4){over.background.src=null;}else if(over.style){over.style.backgroundImage="none";} +}else{if(olNs4){over.background.src=pic;}else if(over.style){over.style.width=o3_width+'px';over.style.backgroundImage="url("+pic+")";}}} +var olShowId=-1; +function disp(statustext){runHook("disp",FBEFORE); +if(o3_allowmove==0){runHook("placeLayer",FREPLACE);(olNs6&&olShowId<0)?olShowId=setTimeout("runHook('showObject',FREPLACE,over)",1):runHook("showObject",FREPLACE,over);o3_allowmove=(o3_sticky||o3_followmouse==0)?0:1;} +runHook("disp",FAFTER); +if(statustext!="")self.status=statustext;} +function createPopup(lyrContent){runHook("createPopup",FBEFORE); +if(o3_wrap){var wd,ww,theObj=(olNs4?over:over.style);theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);layerWrite(lyrContent);wd=(olNs4?over.clip.width:over.offsetWidth);if(wd>(ww=windowWidth())){lyrContent=lyrContent.replace(/\ /g,' ');o3_width=ww;o3_wrap=0;}} +layerWrite(lyrContent); +if(o3_wrap)o3_width=(olNs4?over.clip.width:over.offsetWidth); +runHook("createPopup",FAFTER,lyrContent); +return true;} +function placeLayer(){var placeX,placeY,widthFix=0; +if(o3_frame.innerWidth)widthFix=18;iwidth=windowWidth(); +winoffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollLeft'):o3_frame.pageXOffset; +placeX=runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix); +if(o3_frame.innerHeight){iheight=o3_frame.innerHeight;}else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')){iheight=eval('o3_frame.'+docRoot+'.clientHeight');} +scrolloffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollTop'):o3_frame.pageYOffset;placeY=runHook('verticalPlacement',FCHAIN,iheight,scrolloffset); +repositionTo(over,placeX,placeY);} +function olMouseMove(e){var e=(e)?e:event; +if(e.pageX){o3_x=e.pageX;o3_y=e.pageY;}else if(e.clientX){o3_x=eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');o3_y=eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');} +if(o3_allowmove==1)runHook("placeLayer",FREPLACE); +if(hoveringSwitch&&!olNs4&&runHook("cursorOff",FREPLACE)){(olHideDelay?hideDelay(olHideDelay):cClick());hoveringSwitch=!hoveringSwitch;}} +function no_overlib(){return ver3fix;} +function olMouseCapture(){capExtent=document;var fN,str='',l,k,f,wMv,sS,mseHandler=olMouseMove;var re=/function[ ]*(\w*)\(/; +wMv=(!olIe4&&window.onmousemove);if(document.onmousemove||wMv){if(wMv)capExtent=window;f=capExtent.onmousemove.toString();fN=f.match(re);if(fN==null){str=f+'(e);';}else if(fN[1]=='anonymous'||fN[1]=='olMouseMove'||(wMv&&fN[1]=='onmousemove')){if(!olOp&&wMv){l=f.indexOf('{')+1;k=f.lastIndexOf('}');sS=f.substring(l,k);if((l=sS.indexOf('('))!=-1){sS=sS.substring(0,l).replace(/^\s+/,'').replace(/\s+$/,'');if(eval("typeof "+sS+"=='undefined'"))window.onmousemove=null;else str=sS+'(e);';}} +if(!str){olCheckMouseCapture=false;return;} +}else{if(fN[1])str=fN[1]+'(e);';else{l=f.indexOf('{')+1;k=f.lastIndexOf('}');str=f.substring(l,k)+'\n';}} +str+='olMouseMove(e);';mseHandler=new Function('e',str);} +capExtent.onmousemove=mseHandler;if(olNs4)capExtent.captureEvents(Event.MOUSEMOVE);} +function parseTokens(pf,ar){ +var v,i,mode=-1,par=(pf!='ol_'),fnMark=(par&&!ar.length?1:0); +for(i=0;ipmStart&&ar[i]=pmCount||ar[i]==DONOTHING){continue;} +if(ar[i]==INARRAY){fnMark=0;eval(pf+'text=ol_texts['+ar[++i]+'].toString()');continue;} +if(ar[i]==CAPARRAY){eval(pf+'cap=ol_caps['+ar[++i]+'].toString()');continue;} +if(ar[i]==STICKY){if(pf!='ol_')eval(pf+'sticky=1');continue;} +if(ar[i]==BACKGROUND){eval(pf+'background="'+ar[++i]+'"');continue;} +if(ar[i]==NOCLOSE){if(pf!='ol_')opt_NOCLOSE();continue;} +if(ar[i]==CAPTION){eval(pf+"cap='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==CENTER||ar[i]==LEFT||ar[i]==RIGHT){eval(pf+'hpos='+ar[i]);if(pf!='ol_')olHautoFlag=1;continue;} +if(ar[i]==OFFSETX){eval(pf+'offsetx='+ar[++i]);continue;} +if(ar[i]==OFFSETY){eval(pf+'offsety='+ar[++i]);continue;} +if(ar[i]==FGCOLOR){eval(pf+'fgcolor="'+ar[++i]+'"');continue;} +if(ar[i]==BGCOLOR){eval(pf+'bgcolor="'+ar[++i]+'"');continue;} +if(ar[i]==TEXTCOLOR){eval(pf+'textcolor="'+ar[++i]+'"');continue;} +if(ar[i]==CAPCOLOR){eval(pf+'capcolor="'+ar[++i]+'"');continue;} +if(ar[i]==CLOSECOLOR){eval(pf+'closecolor="'+ar[++i]+'"');continue;} +if(ar[i]==WIDTH){eval(pf+'width='+ar[++i]);continue;} +if(ar[i]==BORDER){eval(pf+'border='+ar[++i]);continue;} +if(ar[i]==CELLPAD){i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad'));continue;} +if(ar[i]==STATUS){eval(pf+"status='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==AUTOSTATUS){eval(pf+'autostatus=('+pf+'autostatus==1)?0:1');continue;} +if(ar[i]==AUTOSTATUSCAP){eval(pf+'autostatus=('+pf+'autostatus==2)?0:2');continue;} +if(ar[i]==HEIGHT){eval(pf+'height='+pf+'aboveheight='+ar[++i]);continue;} +if(ar[i]==CLOSETEXT){eval(pf+"close='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==SNAPX){eval(pf+'snapx='+ar[++i]);continue;} +if(ar[i]==SNAPY){eval(pf+'snapy='+ar[++i]);continue;} +if(ar[i]==FIXX){eval(pf+'fixx='+ar[++i]);continue;} +if(ar[i]==FIXY){eval(pf+'fixy='+ar[++i]);continue;} +if(ar[i]==RELX){eval(pf+'relx='+ar[++i]);continue;} +if(ar[i]==RELY){eval(pf+'rely='+ar[++i]);continue;} +if(ar[i]==FGBACKGROUND){eval(pf+'fgbackground="'+ar[++i]+'"');continue;} +if(ar[i]==BGBACKGROUND){eval(pf+'bgbackground="'+ar[++i]+'"');continue;} +if(ar[i]==PADX){eval(pf+'padxl='+ar[++i]);eval(pf+'padxr='+ar[++i]);continue;} +if(ar[i]==PADY){eval(pf+'padyt='+ar[++i]);eval(pf+'padyb='+ar[++i]);continue;} +if(ar[i]==FULLHTML){if(pf!='ol_')eval(pf+'fullhtml=1');continue;} +if(ar[i]==BELOW||ar[i]==ABOVE){eval(pf+'vpos='+ar[i]);if(pf!='ol_')olVautoFlag=1;continue;} +if(ar[i]==CAPICON){eval(pf+'capicon="'+ar[++i]+'"');continue;} +if(ar[i]==TEXTFONT){eval(pf+"textfont='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==CAPTIONFONT){eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==CLOSEFONT){eval(pf+"closefont='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==TEXTSIZE){eval(pf+'textsize="'+ar[++i]+'"');continue;} +if(ar[i]==CAPTIONSIZE){eval(pf+'captionsize="'+ar[++i]+'"');continue;} +if(ar[i]==CLOSESIZE){eval(pf+'closesize="'+ar[++i]+'"');continue;} +if(ar[i]==TIMEOUT){eval(pf+'timeout='+ar[++i]);continue;} +if(ar[i]==FUNCTION){if(pf=='ol_'){if(typeof ar[i+1]!='number'){v=ar[++i];ol_function=(typeof v=='function'?v:null);}}else{fnMark=0;v=null;if(typeof ar[i+1]!='number')v=ar[++i]; opt_FUNCTION(v);} continue;} +if(ar[i]==DELAY){eval(pf+'delay='+ar[++i]);continue;} +if(ar[i]==HAUTO){eval(pf+'hauto=('+pf+'hauto==0)?1:0');continue;} +if(ar[i]==VAUTO){eval(pf+'vauto=('+pf+'vauto==0)?1:0');continue;} +if(ar[i]==CLOSECLICK){eval(pf+'closeclick=('+pf+'closeclick==0)?1:0');continue;} +if(ar[i]==WRAP){eval(pf+'wrap=('+pf+'wrap==0)?1:0');continue;} +if(ar[i]==FOLLOWMOUSE){eval(pf+'followmouse=('+pf+'followmouse==1)?0:1');continue;} +if(ar[i]==MOUSEOFF){eval(pf+'mouseoff=('+pf+'mouseoff==0)?1:0');v=ar[i+1];if(pf!='ol_'&&eval(pf+'mouseoff')&&typeof v=='number'&&(vpmUpper))olHideDelay=ar[++i];continue;} +if(ar[i]==CLOSETITLE){eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==CSSOFF||ar[i]==CSSCLASS){eval(pf+'css='+ar[i]);continue;} +if(ar[i]==COMPATMODE){eval(pf+'compatmode=('+pf+'compatmode==0)?1:0');continue;} +if(ar[i]==FGCLASS){eval(pf+'fgclass="'+ar[++i]+'"');continue;} +if(ar[i]==BGCLASS){eval(pf+'bgclass="'+ar[++i]+'"');continue;} +if(ar[i]==TEXTFONTCLASS){eval(pf+'textfontclass="'+ar[++i]+'"');continue;} +if(ar[i]==CAPTIONFONTCLASS){eval(pf+'captionfontclass="'+ar[++i]+'"');continue;} +if(ar[i]==CLOSEFONTCLASS){eval(pf+'closefontclass="'+ar[++i]+'"');continue;} +i=parseCmdLine(pf,i,ar);}} +if(fnMark&&o3_function)o3_text=o3_function(); +if((pf=='o3_')&&o3_wrap){o3_width=0; +var tReg=/<.*\n*>/ig;if(!tReg.test(o3_text))o3_text=o3_text.replace(/[ ]+/g,' ');if(!tReg.test(o3_cap))o3_cap=o3_cap.replace(/[ ]+/g,' ');} +if((pf=='o3_')&&o3_sticky){if(!o3_close&&(o3_frame!=ol_frame))o3_close=ol_close;if(o3_mouseoff&&(o3_frame==ol_frame))opt_NOCLOSE(' ');}} +function layerWrite(txt){txt+="\n";if(olNs4){var lyr=o3_frame.document.layers['overDiv'].document +lyr.write(txt) +lyr.close() +}else if(typeof over.innerHTML!='undefined'){if(olIe5&&isMac)over.innerHTML='';over.innerHTML=txt;}else{range=o3_frame.document.createRange();range.setStartAfter(over);domfrag=range.createContextualFragment(txt); +while(over.hasChildNodes()){over.removeChild(over.lastChild);} +over.appendChild(domfrag);}} +function showObject(obj){runHook("showObject",FBEFORE); +var theObj=(olNs4?obj:obj.style);theObj.visibility='visible'; +runHook("showObject",FAFTER);} +function hideObject(obj){runHook("hideObject",FBEFORE); +var theObj=(olNs4?obj:obj.style);if(olNs6&&olShowId>0){clearTimeout(olShowId);olShowId=0;} +theObj.visibility='hidden';theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0); +if(o3_timerid>0)clearTimeout(o3_timerid);if(o3_delayid>0)clearTimeout(o3_delayid); +o3_timerid=0;o3_delayid=0;self.status=""; +if(obj.onmouseout||obj.onmouseover){if(olNs4)obj.releaseEvents(Event.MOUSEOUT||Event.MOUSEOVER);obj.onmouseout=obj.onmouseover=null;} +runHook("hideObject",FAFTER);} +function repositionTo(obj,xL,yL){var theObj=(olNs4?obj:obj.style);theObj.left=xL+(!olNs4?'px':0);theObj.top=yL+(!olNs4?'px':0);} +function cursorOff(){var left=parseInt(over.style.left);var top=parseInt(over.style.top);var right=left+(over.offsetWidth>=parseInt(o3_width)?over.offsetWidth:parseInt(o3_width));var bottom=top+(over.offsetHeight>=o3_aboveheight?over.offsetHeight:o3_aboveheight); +if(o3_xright||o3_ybottom)return true; +return false;} +function opt_FUNCTION(callme){o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):callme):callme()):(o3_function?o3_function():'No Function')); +return 0;} +function opt_NOCLOSE(unused){if(!unused)o3_close=""; +if(olNs4){over.captureEvents(Event.MOUSEOUT||Event.MOUSEOVER);over.onmouseover=function(){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} } +over.onmouseout=function(e){if(olHideDelay)hideDelay(olHideDelay);else cClick(e);} +}else{over.onmouseover=function(){hoveringSwitch=true;if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} }} +return 0;} +function opt_MULTIPLEARGS(i,args,parameter){var k=i,re,pV,str=''; +for(k=i;kpmStart)break;str+=args[k]+',';} +if(str)str=str.substring(0,--str.length); +k--;pV=(olNs4&&/cellpad/i.test(parameter))?str.split(',')[0]:str;eval(parameter+'="'+pV+'"'); +return k;} +function nbspCleanup(){if(o3_wrap){o3_text=o3_text.replace(/\ /g,' ');o3_cap=o3_cap.replace(/\ /g,' ');}} +function escSglQuote(str){return str.toString().replace(/'/g,"\\'");} +function OLonLoad_handler(e){var re=/\w+\(.*\)[;\s]+/g,olre=/overlib\(|nd\(|cClick\(/,fn,l,i; +if(!olLoaded)olLoaded=1; +if(window.removeEventListener&&e.eventPhase==3)window.removeEventListener("load",OLonLoad_handler,false);else if(window.detachEvent){window.detachEvent("onload",OLonLoad_handler);var fN=document.body.getAttribute('onload');if(fN){fN=fN.toString().match(re);if(fN&&fN.length){for(i=0;i':''):'
      ';else{fontStr='o3_'+whichString+'font';fontColor='o3_'+((whichString=='caption')? 'cap':whichString)+'color';return(hasDims&&!olNs4)?(isClose?'':'
      '):'';}} +function quoteMultiNameFonts(theFont){var v,pM=theFont.split(',');for(var i=0;i0)clearTimeout(o3_timerid); +o3_timerid=setTimeout("cClick()",(o3_timeout=time));}} +function horizontalPlacement(browserWidth,horizontalScrollAmount,widthFix){var placeX,iwidth=browserWidth,winoffset=horizontalScrollAmount;var parsedWidth=parseInt(o3_width); +if(o3_fixx>-1||o3_relx!=null){ +placeX=(o3_relx!=null?( o3_relx<0?winoffset+o3_relx+iwidth-parsedWidth-widthFix:winoffset+o3_relx):o3_fixx);}else{ +if(o3_hauto==1){if((o3_x-winoffset)>(iwidth/2)){o3_hpos=LEFT;}else{o3_hpos=RIGHT;}} +if(o3_hpos==CENTER){placeX=o3_x+o3_offsetx-(parsedWidth/2); +if(placeX(winoffset+iwidth-widthFix)){placeX=iwidth+winoffset-parsedWidth-widthFix;if(placeX<0)placeX=0;}} +if(o3_hpos==LEFT){placeX=o3_x-o3_offsetx-parsedWidth;if(placeX1){var snapping=placeX % o3_snapx; +if(o3_hpos==LEFT){placeX=placeX-(o3_snapx+snapping);}else{ +placeX=placeX+(o3_snapx-snapping);} +if(placeX-1||o3_rely!=null){ +placeY=(o3_rely!=null?(o3_rely<0?scrolloffset+o3_rely+iheight-parsedHeight:scrolloffset+o3_rely):o3_fixy);}else{ +if(o3_vauto==1){if((o3_y-scrolloffset)>(iheight/2)&&o3_vpos==BELOW&&(o3_y+parsedHeight+o3_offsety-(scrolloffset+iheight)>0)){o3_vpos=ABOVE;}else if(o3_vpos==ABOVE&&(o3_y-(parsedHeight+o3_offsety)-scrolloffset<0)){o3_vpos=BELOW;}} +if(o3_vpos==ABOVE){if(o3_aboveheight==0)o3_aboveheight=parsedHeight; +placeY=o3_y-(o3_aboveheight+o3_offsety);if(placeY1){var snapping=placeY % o3_snapy; +if(o3_aboveheight>0&&o3_vpos==ABOVE){placeY=placeY-(o3_snapy+snapping);}else{placeY=placeY+(o3_snapy-snapping);} +if(placeY
      ');divContainer=layerReference(id);}else{divContainer=frm.document.createElement("DIV");divContainer.id=id;body.appendChild(divContainer);} +objRef=divContainer.style;} +objRef.position='absolute';objRef.visibility='hidden';objRef.zIndex=zValue;if(olIe4&&!olOp)objRef.left=objRef.top='0px';else objRef.left=objRef.top=-10000+(!olNs4?'px':0);} +return divContainer;} +function layerReference(id){return(olNs4?o3_frame.document.layers[id]:(document.all?o3_frame.document.all[id]:o3_frame.document.getElementById(id)));} +function isFunction(fnRef){var rtn=true; +if(typeof fnRef=='object'){for(var i=0;ijS){for(var k=jS;k-1){i=j;break;}}} +return i;} +function postParseChecks(pf,args){if(typeof postParse!='undefined'&&postParse.length){for(var k=0;k-1)hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef; +}else if(hookType==FBEFORE||hookType==FAFTER){var hookPt=(hookType==1?hookPt.before:hookPt.after); +if(typeof fnRef=='object'){hookPt=hookPt.concat(fnRef);}else{hookPt[hookPt.length++]=fnRef;} +if(optPm)hookPt=reOrder(hookPt,fnRef,optPm); +}else if(hookType==FALTERNATE){if(last=='number')hookPt.alt[pms[optPm-1-pmStart]]=fnRef;}else if(hookType==FCHAIN){hookPt=hookPt.chain;if(typeof fnRef=='object')hookPt=hookPt.concat(fnRef);else hookPt[hookPt.length++]=fnRef;} +return;}} +function registerRunTimeFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){runTime=runTime.concat(fn);}else{runTime[runTime.length++]=fn;}}} +function registerCmdLineFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){cmdLine=cmdLine.concat(fn);}else{cmdLine[cmdLine.length++]=fn;}}} +function registerPostParseFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){postParse=postParse.concat(fn);}else{postParse[postParse.length++]=fn;}}} +function runHook(fnHookTo,hookType){var l=hookPts[fnHookTo],k,rtnVal=null,optPm,arS,ar=runHook.arguments; +if(hookType==FREPLACE){arS=argToString(ar,2); +if(typeof l=='undefined'||!(l=l.ovload))rtnVal=eval(fnHookTo+'('+arS+')');else rtnVal=eval('l('+arS+')'); +}else if(hookType==FBEFORE||hookType==FAFTER){if(typeof l!='undefined'){l=(hookType==1?l.before:l.after); +if(l.length){arS=argToString(ar,2);for(var k=0;k0;k--)if((rtnVal=eval('l[k-1]('+arS+')'))!=void(0))break;} +return rtnVal;} +function FunctionReference(){this.ovload=null;this.before=new Array();this.after=new Array();this.alt=new Array();this.chain=new Array();} +function Info(version,prerelease){this.version=version;this.prerelease=prerelease; +this.simpleversion=Math.round(this.version*100);this.major=parseInt(this.simpleversion/100);this.minor=parseInt(this.simpleversion/10)-this.major * 10;this.revision=parseInt(this.simpleversion)-this.major * 100-this.minor * 10;this.meets=meets;} +function meets(reqdVersion){return(!reqdVersion)?false:this.simpleversion>=Math.round(100*parseFloat(reqdVersion));} +registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSOFF);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSOFF);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSOFF);registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSCLASS);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSCLASS);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSCLASS);registerPostParseFunction(checkPositionFlags);registerHook("hideObject",nbspCleanup,FAFTER);registerHook("horizontalPlacement",horizontalPlacement,FCHAIN);registerHook("verticalPlacement",verticalPlacement,FCHAIN);if(olNs4||(olIe5&&isMac)||olKq)olLoaded=1;registerNoParameterCommands('sticky,autostatus,autostatuscap,fullhtml,hauto,vauto,closeclick,wrap,followmouse,mouseoff,compatmode'); +var olCheckMouseCapture=true;if((olNs4||olNs6||olIe4)){olMouseCapture();}else{overlib=no_overlib;nd=no_overlib;ver3fix=true;} diff -ruN 4.6rc2/uploadfiles/includes/js/tabs/index.html 4.6-complete/uploadfiles/includes/js/tabs/index.html --- 4.6rc2/uploadfiles/includes/js/tabs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/tabs/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/includes/js/tabs/tab.png and 4.6-complete/uploadfiles/includes/js/tabs/tab.png differ Binary files 4.6rc2/uploadfiles/includes/js/tabs/tab_active.png and 4.6-complete/uploadfiles/includes/js/tabs/tab_active.png differ Binary files 4.6rc2/uploadfiles/includes/js/tabs/tab_hover.png and 4.6-complete/uploadfiles/includes/js/tabs/tab_hover.png differ diff -ruN 4.6rc2/uploadfiles/includes/js/tabs/tabpane.css 4.6-complete/uploadfiles/includes/js/tabs/tabpane.css --- 4.6rc2/uploadfiles/includes/js/tabs/tabpane.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/tabs/tabpane.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,69 @@ +.dynamic-tab-pane-control.tab-pane { + position: relative; + /*width: 100%; width needed weird IE bug */ + /*margin-right: -2px; to make room for the shadow */ +} +.dynamic-tab-pane-control .tab-row .tab { + width: 70px; + height: 16px; + background-image: url( "tab.png" ); + position: relative; + top: 0; + display: inline; + float: left; + overflow: hidden; + cursor: pointer; + margin: 1px -1px 1px 2px; + padding: 2px 0px 0px 0px; + border: 0; + z-index: 1; + font: 11px Tahoma; + white-space: nowrap; + text-align: center; +} +.dynamic-tab-pane-control .tab-row .tab.selected { + width: 74px !important; + height: 18px !important; + background-image: url( "tab_active.png" ) !important; + background-repeat: no-repeat; + border-bottom-width: 0; + z-index: 3; + padding: 2px 0px 0px 0px; + margin: 1px -3px -3px 0px; + top: -2px; + font: 11px Tahoma; +} +.dynamic-tab-pane-control .tab-row .tab a { + font: 11px Tahoma; + color: #333; + text-decoration: none; + cursor: pointer; +} +.dynamic-tab-pane-control .tab-row .tab.hover { + font: 11px Tahoma; + width: 70px; + height: 16px; + background-image: url( "tab_hover.png" ); + background-repeat: no-repeat; +} +.dynamic-tab-pane-control .tab-page { + + border: 1px solid rgb( 145, 155, 156 ); + background: rgb( 252, 252, 254 ); + z-index: 2; + position: relative; + top: -2px; + font: 11px Tahoma; + color: #333; + + /*244, 243, 238*/ + /* 145, 155, 156*/ + padding: 5px; + width: 97%; /* stupid stupid stupid IE!!! */ + float: left; + +} +.dynamic-tab-pane-control .tab-row { + z-index: 1; + white-space: nowrap; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/js/tabs/tabpane.js 4.6-complete/uploadfiles/includes/js/tabs/tabpane.js --- 4.6rc2/uploadfiles/includes/js/tabs/tabpane.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/tabs/tabpane.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,368 @@ +/*----------------------------------------------------------------------------\ +| Tab Pane 1.02 | +|-----------------------------------------------------------------------------| +| Created by Erik Arvidsson | +| (http://webfx.eae.net/contact.html#erik) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------------------------------------------| +| Copyright (c) 1998 - 2003 Erik Arvidsson | +|-----------------------------------------------------------------------------| +| This software is provided "as is", without warranty of any kind, express or | +| implied, including but not limited to the warranties of merchantability, | +| fitness for a particular purpose and noninfringement. In no event shall the | +| authors or copyright holders be liable for any claim, damages or other | +| liability, whether in an action of contract, tort or otherwise, arising | +| from, out of or in connection with the software or the use or other | +| dealings in the software. | +| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | +| This software is available under the three different licenses mentioned | +| below. To use this software you must chose, and qualify, for one of those. | +| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | +| The WebFX Non-Commercial License http://webfx.eae.net/license.html | +| Permits anyone the right to use the software in a non-commercial context | +| free of charge. | +| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | +| The WebFX Commercial license http://webfx.eae.net/commercial.html | +| Permits the license holder the right to use the software in a commercial | +| context. Such license must be specifically obtained, however it's valid for | +| any number of implementations of the licensed software. | +| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | +| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt | +| Permits anyone the right to use and modify the software without limitations | +| as long as proper credits are given and the original and modified source | +| code are included. Requires that the final product, software derivate from | +| the original source or any software utilizing a GPL component, such as | +| this, is also licensed under the GPL license. | +|-----------------------------------------------------------------------------| +| 2002-01-?? | First working version | +| 2002-02-17 | Cleaned up for 1.0 public version | +| 2003-02-18 | Changed from javascript uri for anchors to return false | +| 2003-03-03 | Added dispose methods to release IE memory | +|-----------------------------------------------------------------------------| +| Dependencies: *.css a css file to define the layout | +|-----------------------------------------------------------------------------| +| Created 2002-01-?? | All changes are in the log above. | Updated 2003-03-03 | +\----------------------------------------------------------------------------*/ + +// This function is used to define if the browser supports the needed +// features +function hasSupport() { + + if (typeof hasSupport.support != "undefined") + return hasSupport.support; + + var ie55 = /msie 5\.[56789]/i.test( navigator.userAgent ); + + hasSupport.support = ( typeof document.implementation != "undefined" && + document.implementation.hasFeature( "html", "1.0" ) || ie55 ) + + // IE55 has a serious DOM1 bug... Patch it! + if ( ie55 ) { + document._getElementsByTagName = document.getElementsByTagName; + document.getElementsByTagName = function ( sTagName ) { + if ( sTagName == "*" ) + return document.all; + else + return document._getElementsByTagName( sTagName ); + }; + } + + return hasSupport.support; +} + +/////////////////////////////////////////////////////////////////////////////////// +// The constructor for tab panes +// +// el : HTMLElement The html element used to represent the tab pane +// bUseCookie : Boolean Optional. Default is true. Used to determine whether to us +// persistance using cookies or not +// +function WebFXTabPane( el, bUseCookie ) { + if ( !hasSupport() || el == null ) return; + + this.element = el; + this.element.tabPane = this; + this.pages = []; + this.selectedIndex = null; + this.useCookie = bUseCookie != null ? bUseCookie : true; + + // add class name tag to class name + this.element.className = this.classNameTag + " " + this.element.className; + + // add tab row + this.tabRow = document.createElement( "div" ); + this.tabRow.className = "tab-row"; + el.insertBefore( this.tabRow, el.firstChild ); + + var tabIndex = 0; + if ( this.useCookie ) { + tabIndex = Number( WebFXTabPane.getCookie( "webfxtab_" + this.element.id ) ); + if ( isNaN( tabIndex ) ) + tabIndex = 0; + } + this.selectedIndex = tabIndex; + + // loop through child nodes and add them + var cs = el.childNodes; + var n; + for (var i = 0; i < cs.length; i++) { + if (cs[i].nodeType == 1 && cs[i].className == "tab-page") { + this.addTabPage( cs[i] ); + } + } +} + +WebFXTabPane.prototype.classNameTag = "dynamic-tab-pane-control"; + +WebFXTabPane.prototype.setSelectedIndex = function ( n ) { + if (this.selectedIndex != n) { + if (this.selectedIndex != null && this.pages[ this.selectedIndex ] != null ) + this.pages[ this.selectedIndex ].hide(); + this.selectedIndex = n; + this.pages[ this.selectedIndex ].show(); + + if ( this.useCookie ) + WebFXTabPane.setCookie( "webfxtab_" + this.element.id, n ); // session cookie + } +}; + +WebFXTabPane.prototype.getSelectedIndex = function () { + return this.selectedIndex; +}; + +WebFXTabPane.prototype.addTabPage = function ( oElement ) { + if ( !hasSupport() ) return; + + if ( oElement.tabPage == this ) // already added + return oElement.tabPage; + + var n = this.pages.length; + var tp = this.pages[n] = new WebFXTabPage( oElement, this, n ); + tp.tabPane = this; + + // move the tab out of the box + this.tabRow.appendChild( tp.tab ); + + if ( n == this.selectedIndex ) + tp.show(); + else + tp.hide(); + + return tp; +}; + +WebFXTabPane.prototype.dispose = function () { + this.element.tabPane = null; + this.element = null; + this.tabRow = null; + + for (var i = 0; i < this.pages.length; i++) { + this.pages[i].dispose(); + this.pages[i] = null; + } + this.pages = null; +}; + + + +// Cookie handling +WebFXTabPane.setCookie = function ( sName, sValue, nDays ) { + var expires = ""; + if ( nDays ) { + var d = new Date(); + d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 ); + expires = "; expires=" + d.toGMTString(); + } + + document.cookie = sName + "=" + sValue + expires + "; path=/"; +}; + +WebFXTabPane.getCookie = function (sName) { + var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" ); + var res = re.exec( document.cookie ); + return res != null ? res[3] : null; +}; + +WebFXTabPane.removeCookie = function ( name ) { + setCookie( name, "", -1 ); +}; + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +// The constructor for tab pages. This one should not be used. +// Use WebFXTabPage.addTabPage instead +// +// el : HTMLElement The html element used to represent the tab pane +// tabPane : WebFXTabPane The parent tab pane +// nindex : Number The index of the page in the parent pane page array +// +function WebFXTabPage( el, tabPane, nIndex ) { + if ( !hasSupport() || el == null ) return; + + this.element = el; + this.element.tabPage = this; + this.index = nIndex; + + var cs = el.childNodes; + for (var i = 0; i < cs.length; i++) { + if (cs[i].nodeType == 1 && cs[i].className == "tab") { + this.tab = cs[i]; + break; + } + } + + // insert a tag around content to support keyboard navigation + + + var a = document.createElement( "A" ); + this.aElement = a; + a.href = "#"; + a.onclick = function () { return false; }; + while ( this.tab.hasChildNodes() ) + a.appendChild( this.tab.firstChild ); + this.tab.appendChild( a ); + + + // hook up events, using DOM0 + var oThis = this; + this.tab.onclick = function () { oThis.select(); }; + this.tab.onmouseover = function () { WebFXTabPage.tabOver( oThis ); }; + this.tab.onmouseout = function () { WebFXTabPage.tabOut( oThis ); }; +} + +WebFXTabPage.prototype.show = function () { + var el = this.tab; + var s = el.className + " selected"; + s = s.replace(/ +/g, " "); + el.className = s; + + this.element.style.display = "block"; +}; + +WebFXTabPage.prototype.hide = function () { + var el = this.tab; + var s = el.className; + s = s.replace(/ selected/g, ""); + el.className = s; + + this.element.style.display = "none"; +}; + +WebFXTabPage.prototype.select = function () { + this.tabPane.setSelectedIndex( this.index ); +}; + +WebFXTabPage.prototype.dispose = function () { + this.aElement.onclick = null; + this.aElement = null; + this.element.tabPage = null; + this.tab.onclick = null; + this.tab.onmouseover = null; + this.tab.onmouseout = null; + this.tab = null; + this.tabPane = null; + this.element = null; +}; + +WebFXTabPage.tabOver = function ( tabpage ) { + var el = tabpage.tab; + var s = el.className + " hover"; + s = s.replace(/ +/g, " "); + el.className = s; +}; + +WebFXTabPage.tabOut = function ( tabpage ) { + var el = tabpage.tab; + var s = el.className; + s = s.replace(/ hover/g, ""); + el.className = s; +}; + + +// This function initializes all uninitialized tab panes and tab pages +function setupAllTabs() { + if ( !hasSupport() ) return; + + var all = document.getElementsByTagName( "*" ); + var l = all.length; + var tabPaneRe = /tab\-pane/; + var tabPageRe = /tab\-page/; + var cn, el; + var parentTabPane; + + for ( var i = 0; i < l; i++ ) { + el = all[i] + cn = el.className; + + // no className + if ( cn == "" ) continue; + + // uninitiated tab pane + if ( tabPaneRe.test( cn ) && !el.tabPane ) + new WebFXTabPane( el ); + + // unitiated tab page wit a valid tab pane parent + else if ( tabPageRe.test( cn ) && !el.tabPage && + tabPaneRe.test( el.parentNode.className ) ) { + el.parentNode.tabPane.addTabPage( el ); + } + } +} + +function disposeAllTabs() { + if ( !hasSupport() ) return; + + var all = document.getElementsByTagName( "*" ); + var l = all.length; + var tabPaneRe = /tab\-pane/; + var cn, el; + var tabPanes = []; + + for ( var i = 0; i < l; i++ ) { + el = all[i] + cn = el.className; + + // no className + if ( cn == "" ) continue; + + // tab pane + if ( tabPaneRe.test( cn ) && el.tabPane ) + tabPanes[tabPanes.length] = el.tabPane; + } + + for (var i = tabPanes.length - 1; i >= 0; i--) { + tabPanes[i].dispose(); + tabPanes[i] = null; + } +} + + +// initialization hook up + +// DOM2 +if ( typeof window.addEventListener != "undefined" ) + window.addEventListener( "load", setupAllTabs, false ); + +// IE +else if ( typeof window.attachEvent != "undefined" ) { + window.attachEvent( "onload", setupAllTabs ); + window.attachEvent( "onunload", disposeAllTabs ); +} + +else { + if ( window.onload != null ) { + var oldOnload = window.onload; + window.onload = function ( e ) { + oldOnload( e ); + setupAllTabs(); + }; + } + else + window.onload = setupAllTabs; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/js/wz_tooltip.js 4.6-complete/uploadfiles/includes/js/wz_tooltip.js --- 4.6rc2/uploadfiles/includes/js/wz_tooltip.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/js/wz_tooltip.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,478 @@ +/* This notice must be untouched at all times. + +wz_tooltip.js v. 3.26 + +The latest version is available at +http://www.walterzorn.com +or http://www.devira.com +or http://www.walterzorn.de + +Copyright (c) 2002-2004 Walter Zorn. All rights reserved. +Created 1. 12. 2002 by Walter Zorn (Web: http://www.walterzorn.com ) +Last modified: 10. 10. 2004 + +Cross-browser tooltips working even in Opera 5 and 6, +as well as in NN 4, Gecko-Browsers, IE4+, Opera 7 and Konqueror. +No onmouseouts required. +Appearance of tooltips can be individually configured +via commands within the onmouseovers. + +LICENSE: LGPL + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License (LGPL) as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +For more details on the GNU Lesser General Public License, +see http://www.gnu.org/copyleft/lesser.html +*/ + + + +//////////////// GLOBAL TOOPTIP CONFIGURATION ///////////////////// +var ttBgColor = "#e6ecff"; +var ttBgImg = ""; // path to background image; +var ttBorderColor = "#003399"; +var ttBorderWidth = 1; +var ttDelay = 500; // time span until tooltip shows up [milliseconds] +var ttFontColor = "#000066"; +var ttFontFace = "arial,helvetica,sans-serif"; +var ttFontSize = "11px"; +var ttFontWeight = "normal"; // alternative is "bold"; +var ttOffsetX = 8; // horizontal offset of left-top corner from mousepointer +var ttOffsetY = 19; // vertical offset " +var ttPadding = 3; // spacing between border and content +var ttShadowColor = ""; +var ttShadowWidth = 0; +var ttTemp = 0; // time span after which the tooltip disappears; 0 (zero) means "infinite timespan" +var ttTitleColor = "#ffffff"; // color of caption text +var ttWidth = 300; +//////////////////// END OF TOOLTIP CONFIG //////////////////////// + + + +////////////// TAGS WITH TOOLTIP FUNCTIONALITY //////////////////// +// List may be extended or shortened: +var tt_tags = new Array("a","area","b","big","caption","center","code","dd","div","dl","dt","em","h1","h2","h3","h4","h5","h6","i","img","input","li","map","ol","p","pre","s","small","span","strike","strong","sub","sup","table","td","th","tr","tt","u","var","ul","layer"); +///////////////////////////////////////////////////////////////////// + + + +///////// DON'T CHANGE ANYTHING BELOW THIS LINE ///////////////////// +var tt_obj, // current tooltip +tt_objW = 0, tt_objH = 0, // width and height of tt_obj +tt_objX = 0, tt_objY = 0, +tt_offX = 0, tt_offY = 0, +xlim = 0, ylim = 0, // right and bottom borders of visible client area +tt_above = false, // true if T_ABOVE cmd +tt_sticky = false, // tt_obj sticky? +tt_wait = false, +tt_vis = false, // tooltip visibility flag +tt_dwn = false, // true while tooltip below mousepointer +tt_u = "undefined", +tt_inputs = new Array(); // drop-down-boxes to be hidden in IE + + +var tt_db = (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body? document.body : null, +tt_n = navigator.userAgent.toLowerCase(); + +// Browser flags +var tt_op = !!(window.opera && document.getElementById), +tt_op6 = tt_op && !document.defaultView, +tt_ie = tt_n.indexOf("msie") != -1 && document.all && tt_db && !tt_op, +tt_n4 = (document.layers && typeof document.classes != "undefined"), +tt_n6 = (!tt_op && document.defaultView && typeof document.defaultView.getComputedStyle != "undefined"), +tt_w3c = !tt_ie && !tt_n6 && !tt_op && document.getElementById; + +tt_n = ""; + + +function tt_Int(t_x) +{ + var t_y; + return isNaN(t_y = parseInt(t_x))? 0 : t_y; +} + +function wzReplace(t_x, t_y) +{ + var t_ret = "", + t_str = this, + t_xI; + while ((t_xI = t_str.indexOf(t_x)) != -1) + { + t_ret += t_str.substring(0, t_xI) + t_y; + t_str = t_str.substring(t_xI + t_x.length); + } + return t_ret+t_str; +} +String.prototype.wzReplace = wzReplace; + +function tt_N4Tags(tagtyp, t_d, t_y) +{ + t_d = t_d || document; + t_y = t_y || new Array(); + var t_x = (tagtyp=="a")? t_d.links : t_d.layers; + for (var z = t_x.length; z--;) t_y[t_y.length] = t_x[z]; + for (var z = t_d.layers.length; z--;) t_y = tt_N4Tags(tagtyp, t_d.layers[z].document, t_y); + return t_y; +} + +function tt_GetSelects() +{ + if (!tt_op6 && !tt_ie) return; + var t_s = tt_op6? "input" : "select"; + if (document.all) + { + var t_i = document.all.tags(t_s).length; while (t_i--) + tt_inputs[t_i] = document.all.tags(t_s)[t_i]; + } + else if (document.getElementsByTagName) + { + var t_i = document.getElementsByTagName(t_s).length; while (t_i--) + tt_inputs[t_i] = document.getElementsByTagName(t_s)[t_i]; + } + var t_i = tt_inputs.length; while (t_i--) + { + tt_inputs[t_i].x = 0; + tt_inputs[t_i].y = 0; + var t_o = tt_inputs[t_i]; + while (t_o) + { + tt_inputs[t_i].x += t_o.offsetLeft || 0; + tt_inputs[t_i].y += t_o.offsetTop|| 0; + t_o = t_o.offsetParent; + } + } +} + +function tt_Htm(tt, t_id, txt) +{ + var t_bgc = (typeof tt.T_BGCOLOR != tt_u)? tt.T_BGCOLOR : ttBgColor, + t_bgimg = (typeof tt.T_BGIMG != tt_u)? tt.T_BGIMG : ttBgImg, + t_bc = (typeof tt.T_BORDERCOLOR != tt_u)? tt.T_BORDERCOLOR : ttBorderColor, + t_bw = (typeof tt.T_BORDERWIDTH != tt_u)? tt.T_BORDERWIDTH : ttBorderWidth, + t_ff = (typeof tt.T_FONTFACE != tt_u)? tt.T_FONTFACE : ttFontFace, + t_fc = (typeof tt.T_FONTCOLOR != tt_u)? tt.T_FONTCOLOR : ttFontColor, + t_fsz = (typeof tt.T_FONTSIZE != tt_u)? tt.T_FONTSIZE : ttFontSize, + t_fwght = (typeof tt.T_FONTWEIGHT != tt_u)? tt.T_FONTWEIGHT : ttFontWeight, + t_padd = (typeof tt.T_PADDING != tt_u)? tt.T_PADDING : ttPadding, + t_shc = (typeof tt.T_SHADOWCOLOR != tt_u)? tt.T_SHADOWCOLOR : (ttShadowColor || 0), + t_shw = (typeof tt.T_SHADOWWIDTH != tt_u)? tt.T_SHADOWWIDTH : (ttShadowWidth || 0), + t_tit = (typeof tt.T_TITLE != tt_u)? tt.T_TITLE : "", + t_titc = (typeof tt.T_TITLECOLOR != tt_u)? tt.T_TITLECOLOR : ttTitleColor, + t_w = (typeof tt.T_WIDTH != tt_u)? tt.T_WIDTH : ttWidth; + if (t_shc || t_shw) + { + t_shc = t_shc || "#cccccc"; + t_shw = t_shw || 3; + } + if (tt_n4 && (t_fsz == "10px" || t_fsz == "11px")) t_fsz = "12px"; + + + var t_y = '
      '; + t_y += ''; + if (t_tit) + { + t_y += ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + checked_out_time, '%A, %d %B %Y' ); + $time = mosFormatDate( $row->checked_out_time, '%H:%M' ); + $checked_out_text = '
      '; + t_y += (tt_n4? ' ' : '') + t_tit + '<\/b><\/font><\/td><\/tr>'; + } + t_y += '
      '; + t_y += ''; + if (t_fwght == 'bold') t_y += ''; + t_y += txt; + if (t_fwght == 'bold') t_y += '<\/b>'; + t_y += '<\/font><\/td><\/tr><\/table><\/td><\/tr><\/table>'; + if (t_shw) + { + var t_spct = Math.round(t_shw*1.3); + if (tt_n4) + { + t_y += '<\/layer>'; + t_y += '<\/layer>'; + } + else + { + var t_opa = tt_n6? '-moz-opacity:0.85;' : tt_ie? 'filter:Alpha(opacity=85);' : ''; + t_y += '
      <\/div>'; + t_y += '
      <\/div>'; + } + } + t_y += '<\/div>'; + return t_y; +} + +function tt_Init() +{ + if (!(tt_op || tt_n4 || tt_n6 || tt_ie || tt_w3c)) return; + + var htm = tt_n4? '
      <\/div>' : '', + tags, + t_tj, + over, + esc = 'return escape('; + var i = tt_tags.length; while (i--) + { + tags = tt_ie? (document.all.tags(tt_tags[i]) || 1) + : document.getElementsByTagName? (document.getElementsByTagName(tt_tags[i]) || 1) + : (!tt_n4 && tt_tags[i]=="a")? document.links + : 1; + if (tt_n4 && (tt_tags[i] == "a" || tt_tags[i] == "layer")) tags = tt_N4Tags(tt_tags[i]); + var j = tags.length; while (j--) + { + if (typeof (t_tj = tags[j]).onmouseover == "function" && t_tj.onmouseover.toString().indexOf(esc) != -1 && !tt_n6 || tt_n6 && (over = t_tj.getAttribute("onmouseover")) && over.indexOf(esc) != -1) + { + if (over) t_tj.onmouseover = new Function(over); + var txt = unescape(t_tj.onmouseover()); + htm += tt_Htm( + t_tj, + "tOoLtIp"+i+""+j, + txt.wzReplace("& ","&") + ); + + t_tj.onmouseover = new Function('e', + 'tt_Show(e,'+ + '"tOoLtIp' +i+''+j+ '",'+ + (typeof t_tj.T_ABOVE != tt_u) + ','+ + ((typeof t_tj.T_DELAY != tt_u)? t_tj.T_DELAY : ttDelay) + ','+ + ((typeof t_tj.T_FIX != tt_u)? '"'+t_tj.T_FIX+'"' : '""') + ','+ + (typeof t_tj.T_LEFT != tt_u) + ','+ + ((typeof t_tj.T_OFFSETX != tt_u)? t_tj.T_OFFSETX : ttOffsetX) + ','+ + ((typeof t_tj.T_OFFSETY != tt_u)? t_tj.T_OFFSETY : ttOffsetY) + ','+ + (typeof t_tj.T_STATIC != tt_u) + ','+ + (typeof t_tj.T_STICKY != tt_u) + ','+ + ((typeof t_tj.T_TEMP != tt_u)? t_tj.T_TEMP : ttTemp)+ + ');' + ); + t_tj.onmouseout = tt_Hide; + if (t_tj.alt) t_tj.alt = ""; + if (t_tj.title) t_tj.title = ""; + } + } + } + document.write(htm); +} + +function tt_EvX(t_e) +{ + var t_y = tt_Int(t_e.pageX || t_e.clientX || 0) + + tt_Int(tt_ie? tt_db.scrollLeft : 0) + + tt_offX; + if (t_y > xlim) t_y = xlim; + var t_scr = tt_Int(window.pageXOffset || (tt_db? tt_db.scrollLeft : 0) || 0); + if (t_y < t_scr) t_y = t_scr; + return t_y; +} + +function tt_EvY(t_e) +{ + var t_y = tt_Int(t_e.pageY || t_e.clientY || 0) + + tt_Int(tt_ie? tt_db.scrollTop : 0); + if (tt_above) t_y -= (tt_objH + tt_offY - (tt_op? 31 : 15)); + else if (t_y > ylim || !tt_dwn && t_y > ylim-24) + { + t_y -= (tt_objH + 5); + tt_dwn = false; + } + else + { + t_y += tt_offY; + tt_dwn = true; + } + return t_y; +} + +function tt_ReleasMov() +{ + if (document.onmousemove == tt_Move) + { + if (document.releaseEvents) document.releaseEvents(Event.MOUSEMOVE); + document.onmousemove = null; + } +} + +function tt_HideInput() +{ + if (!(tt_ie || tt_op6) || !tt_inputs) return; + var t_o; + var t_i = tt_inputs.length; while (t_i--) + { + t_o = tt_inputs[t_i]; + if (tt_vis && tt_objX+tt_objW > t_o.x && tt_objX < t_o.x+t_o.offsetWidth && tt_objY+tt_objH > t_o.y && tt_objY < t_o.y+t_o.offsetHeight) + t_o.style.visibility = 'hidden'; + else t_o.style.visibility = 'visible'; + } +} + +function tt_GetDiv(t_id) +{ + return ( + tt_n4? (document.layers[t_id] || null) + : tt_ie? (document.all[t_id] || null) + : (document.getElementById(t_id) || null) + ); +} + +function tt_GetDivW() +{ + return tt_Int( + tt_n4? tt_obj.clip.width + : tt_obj.style.pixelWidth? tt_obj.style.pixelWidth + : tt_obj.offsetWidth + ); +} + +function tt_GetDivH() +{ + return tt_Int( + tt_n4? tt_obj.clip.height + : tt_obj.style.pixelHeight? tt_obj.style.pixelHeight + : tt_obj.offsetHeight + ); +} + +// Compat with DragDrop Lib: Ensure that z-index of tooltip is lifted beyond toplevel dragdrop element +function tt_SetDivZ() +{ + var t_i = tt_obj.style || tt_obj; + if (window.dd && dd.z) + t_i.zIndex = Math.max(dd.z+1, t_i.zIndex); +} + +function tt_SetDivPos(t_x, t_y) +{ + var t_i = tt_obj.style || tt_obj; + var t_px = (tt_op6 || tt_n4)? '' : 'px'; + t_i.left = (tt_objX = t_x) + t_px; + t_i.top = (tt_objY = t_y) + t_px; + tt_HideInput(); +} + +function tt_ShowDiv(t_x) +{ + if (tt_n4) tt_obj.visibility = t_x? 'show' : 'hide'; + else tt_obj.style.visibility = t_x? 'visible' : 'hidden'; + tt_vis = t_x; + tt_HideInput(); +} + +function tt_Show(t_e, t_id, t_above, t_delay, t_fix, t_left, t_offx, t_offy, t_static, t_sticky, t_temp) +{ + if (tt_obj) tt_Hide(); + var t_mf = document.onmousemove || null; + if (window.dd && (window.DRAG && t_mf == DRAG || window.RESIZE && t_mf == RESIZE)) return; + var t_uf = document.onmouseup || null; + if (t_mf && t_uf) t_uf(t_e); + + tt_obj = tt_GetDiv(t_id); + if (tt_obj) + { + tt_dwn = !(tt_above = t_above); + tt_sticky = t_sticky; + tt_objW = tt_GetDivW(); + tt_objH = tt_GetDivH(); + tt_offX = t_left? -(tt_objW+t_offx) : t_offx; + tt_offY = t_offy; + if (tt_op) tt_offY += 21; + if (tt_n4) + { + if (tt_obj.document.layers.length) + { + var t_sh = tt_obj.document.layers[0]; + t_sh.clip.height = tt_objH - Math.round(t_sh.clip.width*1.3); + } + } + else + { + var t_sh = tt_GetDiv(t_id+'R'); + if (t_sh) + { + var t_h = tt_objH - tt_Int(t_sh.style.pixelTop || t_sh.style.top || 0); + if (typeof t_sh.style.pixelHeight != tt_u) t_sh.style.pixelHeight = t_h; + else t_sh.style.height = t_h + 'px'; + } + } + + tt_GetSelects(); + + xlim = tt_Int((tt_db && tt_db.clientWidth)? tt_db.clientWidth : window.innerWidth) + + tt_Int(window.pageXOffset || (tt_db? tt_db.scrollLeft : 0) || 0) - + tt_objW - + (tt_n4? 21 : 0); + ylim = tt_Int(window.innerHeight || tt_db.clientHeight) + + tt_Int(window.pageYOffset || (tt_db? tt_db.scrollTop : 0) || 0) - + tt_objH - tt_offY; + + tt_SetDivZ(); + t_e = t_e || window.event; + if (t_fix) tt_SetDivPos(tt_Int((t_fix = t_fix.split(','))[0]), tt_Int(t_fix[1])); + else tt_SetDivPos(tt_EvX(t_e), tt_EvY(t_e)); + + var t_txt = 'tt_ShowDiv(\'true\');'; + if (t_sticky) t_txt += '{'+ + 'tt_ReleasMov();'+ + 'window.tt_upFunc = document.onmouseup || null;'+ + 'if (document.captureEvents) document.captureEvents(Event.MOUSEUP);'+ + 'document.onmouseup = new Function("window.setTimeout(\'tt_Hide();\', 10);");'+ + '}'; + else if (t_static) t_txt += 'tt_ReleasMov();'; + if (t_temp > 0) t_txt += 'window.tt_rtm = window.setTimeout(\'tt_sticky = false; tt_Hide();\','+t_temp+');'; + window.tt_rdl = window.setTimeout(t_txt, t_delay); + + if (!t_fix) + { + if (document.captureEvents) document.captureEvents(Event.MOUSEMOVE); + document.onmousemove = tt_Move; + } + } +} + +var tt_area = false; +function tt_Move(t_ev) +{ + if (!tt_obj) return; + if (tt_n6 || tt_w3c) + { + if (tt_wait) return; + tt_wait = true; + setTimeout('tt_wait = false;', 5); + } + var t_e = t_ev || window.event; + tt_SetDivPos(tt_EvX(t_e), tt_EvY(t_e)); + if (tt_op6) + { + if (tt_area && t_e.target.tagName != 'AREA') tt_Hide(); + else if (t_e.target.tagName == 'AREA') tt_area = true; + } +} + +function tt_Hide() +{ + if (window.tt_obj) + { + if (window.tt_rdl) window.clearTimeout(tt_rdl); + if (!tt_sticky || tt_sticky && !tt_vis) + { + if (window.tt_rtm) window.clearTimeout(tt_rtm); + tt_ShowDiv(false); + tt_SetDivPos(-tt_objW, -tt_objH); + tt_obj = null; + if (typeof window.tt_upFunc != tt_u) document.onmouseup = window.tt_upFunc; + } + tt_sticky = false; + if (tt_op6 && tt_area) tt_area = false; + tt_ReleasMov(); + tt_HideInput(); + } +} + +tt_Init(); diff -ruN 4.6rc2/uploadfiles/includes/magpie_cache/index.html 4.6-complete/uploadfiles/includes/magpie_cache/index.html --- 4.6rc2/uploadfiles/includes/magpie_cache/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/magpie_cache/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/magpierss/extlib/Snoopy.class.php 4.6-complete/uploadfiles/includes/magpierss/extlib/Snoopy.class.php --- 4.6rc2/uploadfiles/includes/magpierss/extlib/Snoopy.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/magpierss/extlib/Snoopy.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,900 @@ + +Copyright (c): 1999-2000 ispi, all rights reserved +Version: 1.0 + + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +You may contact the author of Snoopy by e-mail at: +monte@ispi.net + +Or, write to: +Monte Ohrt +CTO, ispi +237 S. 70th suite 220 +Lincoln, NE 68510 + +The latest version of Snoopy can be obtained from: +http://snoopy.sourceforge.com + +*************************************************/ + +class Snoopy +{ + /**** Public variables ****/ + + /* user definable vars */ + + var $host = "www.php.net"; // host name we are connecting to + var $port = 80; // port we are connecting to + var $proxy_host = ""; // proxy host to use + var $proxy_port = ""; // proxy port to use + var $agent = "Snoopy v1.0"; // agent we masquerade as + var $referer = ""; // referer info to pass + var $cookies = array(); // array of cookies to pass + // $cookies["username"]="joe"; + var $rawheaders = array(); // array of raw headers to send + // $rawheaders["Content-type"]="text/html"; + + var $maxredirs = 5; // http redirection depth maximum. 0 = disallow + var $lastredirectaddr = ""; // contains address of last redirected address + var $offsiteok = true; // allows redirection off-site + var $maxframes = 0; // frame content depth maximum. 0 = disallow + var $expandlinks = true; // expand links to fully qualified URLs. + // this only applies to fetchlinks() + // or submitlinks() + var $passcookies = true; // pass set cookies back through redirects + // NOTE: this currently does not respect + // dates, domains or paths. + + var $user = ""; // user for http authentication + var $pass = ""; // password for http authentication + + // http accept types + var $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; + + var $results = ""; // where the content is put + + var $error = ""; // error messages sent here + var $response_code = ""; // response code returned from server + var $headers = array(); // headers returned from server sent here + var $maxlength = 500000; // max return data length (body) + var $read_timeout = 0; // timeout on read operations, in seconds + // supported only since PHP 4 Beta 4 + // set to 0 to disallow timeouts + var $timed_out = false; // if a read operation timed out + var $status = 0; // http request status + + var $curl_path = "/usr/bin/curl"; + // Snoopy will use cURL for fetching + // SSL content if a full system path to + // the cURL binary is supplied here. + // set to false if you do not have + // cURL installed. See http://curl.haxx.se + // for details on installing cURL. + // Snoopy does *not* use the cURL + // library functions built into php, + // as these functions are not stable + // as of this Snoopy release. + + // send Accept-encoding: gzip? + var $use_gzip = true; + + /**** Private variables ****/ + + var $_maxlinelen = 4096; // max line length (headers) + + var $_httpmethod = "GET"; // default http request method + var $_httpversion = "HTTP/1.0"; // default http request version + var $_submit_method = "POST"; // default submit method + var $_submit_type = "application/x-www-form-urlencoded"; // default submit type + var $_mime_boundary = ""; // MIME boundary for multipart/form-data submit type + var $_redirectaddr = false; // will be set if page fetched is a redirect + var $_redirectdepth = 0; // increments on an http redirect + var $_frameurls = array(); // frame src urls + var $_framedepth = 0; // increments on frame depth + + var $_isproxy = false; // set if using a proxy server + var $_fp_timeout = 30; // timeout for socket connection + +/*======================================================================*\ + Function: fetch + Purpose: fetch the contents of a web page + (and possibly other protocols in the + future like ftp, nntp, gopher, etc.) + Input: $URI the location of the page to fetch + Output: $this->results the output text from the fetch +\*======================================================================*/ + + function fetch($URI) + { + + //preg_match("|^([^:]+)://([^:/]+)(:[\d]+)*(.*)|",$URI,$URI_PARTS); + $URI_PARTS = parse_url($URI); + if (!empty($URI_PARTS["user"])) + $this->user = $URI_PARTS["user"]; + if (!empty($URI_PARTS["pass"])) + $this->pass = $URI_PARTS["pass"]; + + switch($URI_PARTS["scheme"]) + { + case "http": + $this->host = $URI_PARTS["host"]; + if(!empty($URI_PARTS["port"])) + $this->port = $URI_PARTS["port"]; + if($this->_connect($fp)) + { + if($this->_isproxy) + { + // using proxy, send entire URI + $this->_httprequest($URI,$fp,$URI,$this->_httpmethod); + } + else + { + $path = $URI_PARTS["path"].(isset($URI_PARTS["query"]) ? "?".$URI_PARTS["query"] : ""); + // no proxy, send only the path + $this->_httprequest($path, $fp, $URI, $this->_httpmethod); + } + + $this->_disconnect($fp); + + if($this->_redirectaddr) + { + /* url was redirected, check if we've hit the max depth */ + if($this->maxredirs > $this->_redirectdepth) + { + // only follow redirect if it's on this site, or offsiteok is true + if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) + { + /* follow the redirect */ + $this->_redirectdepth++; + $this->lastredirectaddr=$this->_redirectaddr; + $this->fetch($this->_redirectaddr); + } + } + } + + if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0) + { + $frameurls = $this->_frameurls; + $this->_frameurls = array(); + + while(list(,$frameurl) = each($frameurls)) + { + if($this->_framedepth < $this->maxframes) + { + $this->fetch($frameurl); + $this->_framedepth++; + } + else + break; + } + } + } + else + { + return false; + } + return true; + break; + case "https": + if(!$this->curl_path || (!is_executable($this->curl_path))) { + $this->error = "Bad curl ($this->curl_path), can't fetch HTTPS \n"; + return false; + } + $this->host = $URI_PARTS["host"]; + if(!empty($URI_PARTS["port"])) + $this->port = $URI_PARTS["port"]; + if($this->_isproxy) + { + // using proxy, send entire URI + $this->_httpsrequest($URI,$URI,$this->_httpmethod); + } + else + { + $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : ""); + // no proxy, send only the path + $this->_httpsrequest($path, $URI, $this->_httpmethod); + } + + if($this->_redirectaddr) + { + /* url was redirected, check if we've hit the max depth */ + if($this->maxredirs > $this->_redirectdepth) + { + // only follow redirect if it's on this site, or offsiteok is true + if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) + { + /* follow the redirect */ + $this->_redirectdepth++; + $this->lastredirectaddr=$this->_redirectaddr; + $this->fetch($this->_redirectaddr); + } + } + } + + if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0) + { + $frameurls = $this->_frameurls; + $this->_frameurls = array(); + + while(list(,$frameurl) = each($frameurls)) + { + if($this->_framedepth < $this->maxframes) + { + $this->fetch($frameurl); + $this->_framedepth++; + } + else + break; + } + } + return true; + break; + default: + // not a valid protocol + $this->error = 'Invalid protocol "'.$URI_PARTS["scheme"].'"\n'; + return false; + break; + } + return true; + } + + + +/*======================================================================*\ + Private functions +\*======================================================================*/ + + +/*======================================================================*\ + Function: _striplinks + Purpose: strip the hyperlinks from an html document + Input: $document document to strip. + Output: $match an array of the links +\*======================================================================*/ + + function _striplinks($document) + { + preg_match_all("'<\s*a\s+.*href\s*=\s* # find ]+)) # if quote found, match up to next matching + # quote, otherwise match up to next space + 'isx",$document,$links); + + + // catenate the non-empty matches from the conditional subpattern + + while(list($key,$val) = each($links[2])) + { + if(!empty($val)) + $match[] = $val; + } + + while(list($key,$val) = each($links[3])) + { + if(!empty($val)) + $match[] = $val; + } + + // return the links + return $match; + } + +/*======================================================================*\ + Function: _stripform + Purpose: strip the form elements from an html document + Input: $document document to strip. + Output: $match an array of the links +\*======================================================================*/ + + function _stripform($document) + { + preg_match_all("'<\/?(FORM|INPUT|SELECT|TEXTAREA|(OPTION))[^<>]*>(?(2)(.*(?=<\/?(option|select)[^<>]*>[\r\n]*)|(?=[\r\n]*))|(?=[\r\n]*))'Usi",$document,$elements); + + // catenate the matches + $match = implode("\r\n",$elements[0]); + + // return the links + return $match; + } + + + +/*======================================================================*\ + Function: _striptext + Purpose: strip the text from an html document + Input: $document document to strip. + Output: $text the resulting text +\*======================================================================*/ + + function _striptext($document) + { + + // I didn't use preg eval (//e) since that is only available in PHP 4.0. + // so, list your entities one by one here. I included some of the + // more common ones. + + $search = array("']*?>.*?'si", // strip out javascript + "'<[\/\!]*?[^<>]*?>'si", // strip out html tags + "'([\r\n])[\s]+'", // strip out white space + "'&(quote|#34);'i", // replace html entities + "'&(amp|#38);'i", + "'&(lt|#60);'i", + "'&(gt|#62);'i", + "'&(nbsp|#160);'i", + "'&(iexcl|#161);'i", + "'&(cent|#162);'i", + "'&(pound|#163);'i", + "'&(copy|#169);'i" + ); + $replace = array( "", + "", + "\\1", + "\"", + "&", + "<", + ">", + " ", + chr(161), + chr(162), + chr(163), + chr(169)); + + $text = preg_replace($search,$replace,$document); + + return $text; + } + +/*======================================================================*\ + Function: _expandlinks + Purpose: expand each link into a fully qualified URL + Input: $links the links to qualify + $URI the full URI to get the base from + Output: $expandedLinks the expanded links +\*======================================================================*/ + + function _expandlinks($links,$URI) + { + + preg_match("/^[^\?]+/",$URI,$match); + + $match = preg_replace("|/[^\/\.]+\.[^\/\.]+$|","",$match[0]); + + $search = array( "|^http://".preg_quote($this->host)."|i", + "|^(?!http://)(\/)?(?!mailto:)|i", + "|/\./|", + "|/[^\/]+/\.\./|" + ); + + $replace = array( "", + $match."/", + "/", + "/" + ); + + $expandedLinks = preg_replace($search,$replace,$links); + + return $expandedLinks; + } + +/*======================================================================*\ + Function: _httprequest + Purpose: go get the http data from the server + Input: $url the url to fetch + $fp the current open file pointer + $URI the full URI + $body body contents to send if any (POST) + Output: +\*======================================================================*/ + + function _httprequest($url,$fp,$URI,$http_method,$content_type="",$body="") + { + if($this->passcookies && $this->_redirectaddr) + $this->setcookies(); + + $URI_PARTS = parse_url($URI); + if(empty($url)) + $url = "/"; + $headers = $http_method." ".$url." ".$this->_httpversion."\r\n"; + if(!empty($this->agent)) + $headers .= "User-Agent: ".$this->agent."\r\n"; + if(!empty($this->host) && !isset($this->rawheaders['Host'])) + $headers .= "Host: ".$this->host."\r\n"; + if(!empty($this->accept)) + $headers .= "Accept: ".$this->accept."\r\n"; + + if($this->use_gzip) { + // make sure PHP was built with --with-zlib + // and we can handle gzipp'ed data + if ( function_exists(gzinflate) ) { + $headers .= "Accept-encoding: gzip\r\n"; + } + else { + trigger_error( + "use_gzip is on, but PHP was built without zlib support.". + " Requesting file(s) without gzip encoding.", + E_USER_NOTICE); + } + } + + if(!empty($this->referer)) + $headers .= "Referer: ".$this->referer."\r\n"; + if(!empty($this->cookies)) + { + if(!is_array($this->cookies)) + $this->cookies = (array)$this->cookies; + + reset($this->cookies); + if ( count($this->cookies) > 0 ) { + $cookie_headers .= 'Cookie: '; + foreach ( $this->cookies as $cookieKey => $cookieVal ) { + $cookie_headers .= $cookieKey."=".urlencode($cookieVal)."; "; + } + $headers .= substr($cookie_headers,0,-2) . "\r\n"; + } + } + if(!empty($this->rawheaders)) + { + if(!is_array($this->rawheaders)) + $this->rawheaders = (array)$this->rawheaders; + while(list($headerKey,$headerVal) = each($this->rawheaders)) + $headers .= $headerKey.": ".$headerVal."\r\n"; + } + if(!empty($content_type)) { + $headers .= "Content-type: $content_type"; + if ($content_type == "multipart/form-data") + $headers .= "; boundary=".$this->_mime_boundary; + $headers .= "\r\n"; + } + if(!empty($body)) + $headers .= "Content-length: ".strlen($body)."\r\n"; + if(!empty($this->user) || !empty($this->pass)) + $headers .= "Authorization: BASIC ".base64_encode($this->user.":".$this->pass)."\r\n"; + + $headers .= "\r\n"; + + // set the read timeout if needed + if ($this->read_timeout > 0) + socket_set_timeout($fp, $this->read_timeout); + $this->timed_out = false; + + fwrite($fp,$headers.$body,strlen($headers.$body)); + + $this->_redirectaddr = false; + unset($this->headers); + + // content was returned gzip encoded? + $is_gzipped = false; + + while($currentHeader = fgets($fp,$this->_maxlinelen)) + { + if ($this->read_timeout > 0 && $this->_check_timeout($fp)) + { + $this->status=-100; + return false; + } + + // if($currentHeader == "\r\n") + if(preg_match("/^\r?\n$/", $currentHeader) ) + break; + + // if a header begins with Location: or URI:, set the redirect + if(preg_match("/^(Location:|URI:)/i",$currentHeader)) + { + // get URL portion of the redirect + preg_match("/^(Location:|URI:)\s+(.*)/",chop($currentHeader),$matches); + // look for :// in the Location header to see if hostname is included + if(!preg_match("|\:\/\/|",$matches[2])) + { + // no host in the path, so prepend + $this->_redirectaddr = $URI_PARTS["scheme"]."://".$this->host.":".$this->port; + // eliminate double slash + if(!preg_match("|^/|",$matches[2])) + $this->_redirectaddr .= "/".$matches[2]; + else + $this->_redirectaddr .= $matches[2]; + } + else + $this->_redirectaddr = $matches[2]; + } + + if(preg_match("|^HTTP/|",$currentHeader)) + { + if(preg_match("|^HTTP/[^\s]*\s(.*?)\s|",$currentHeader, $status)) + { + $this->status= $status[1]; + } + $this->response_code = $currentHeader; + } + + if (preg_match("/Content-Encoding: gzip/", $currentHeader) ) { + $is_gzipped = true; + } + + $this->headers[] = $currentHeader; + } + + # $results = fread($fp, $this->maxlength); + $results = ""; + while ( $data = fread($fp, $this->maxlength) ) { + $results .= $data; + if ( + strlen($results) > $this->maxlength ) { + break; + } + } + + // gunzip + if ( $is_gzipped ) { + // per http://www.php.net/manual/en/function.gzencode.php + $results = substr($results, 10); + $results = gzinflate($results); + } + + if ($this->read_timeout > 0 && $this->_check_timeout($fp)) + { + $this->status=-100; + return false; + } + + // check if there is a a redirect meta tag + + if(preg_match("']*?content[\s]*=[\s]*[\"\']?\d+;[\s]+URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match)) + { + $this->_redirectaddr = $this->_expandlinks($match[1],$URI); + } + + // have we hit our frame depth and is there frame src to fetch? + if(($this->_framedepth < $this->maxframes) && preg_match_all("']+)'i",$results,$match)) + { + $this->results[] = $results; + for($x=0; $x_frameurls[] = $this->_expandlinks($match[1][$x],$URI_PARTS["scheme"]."://".$this->host); + } + // have we already fetched framed content? + elseif(is_array($this->results)) + $this->results[] = $results; + // no framed content + else + $this->results = $results; + + return true; + } + +/*======================================================================*\ + Function: _httpsrequest + Purpose: go get the https data from the server using curl + Input: $url the url to fetch + $URI the full URI + $body body contents to send if any (POST) + Output: +\*======================================================================*/ + + function _httpsrequest($url,$URI,$http_method,$content_type="",$body="") + { + if($this->passcookies && $this->_redirectaddr) + $this->setcookies(); + + $headers = array(); + + $URI_PARTS = parse_url($URI); + if(empty($url)) + $url = "/"; + // GET ... header not needed for curl + //$headers[] = $http_method." ".$url." ".$this->_httpversion; + if(!empty($this->agent)) + $headers[] = "User-Agent: ".$this->agent; + if(!empty($this->host)) + $headers[] = "Host: ".$this->host; + if(!empty($this->accept)) + $headers[] = "Accept: ".$this->accept; + if(!empty($this->referer)) + $headers[] = "Referer: ".$this->referer; + if(!empty($this->cookies)) + { + if(!is_array($this->cookies)) + $this->cookies = (array)$this->cookies; + + reset($this->cookies); + if ( count($this->cookies) > 0 ) { + $cookie_str = 'Cookie: '; + foreach ( $this->cookies as $cookieKey => $cookieVal ) { + $cookie_str .= $cookieKey."=".urlencode($cookieVal)."; "; + } + $headers[] = substr($cookie_str,0,-2); + } + } + if(!empty($this->rawheaders)) + { + if(!is_array($this->rawheaders)) + $this->rawheaders = (array)$this->rawheaders; + while(list($headerKey,$headerVal) = each($this->rawheaders)) + $headers[] = $headerKey.": ".$headerVal; + } + if(!empty($content_type)) { + if ($content_type == "multipart/form-data") + $headers[] = "Content-type: $content_type; boundary=".$this->_mime_boundary; + else + $headers[] = "Content-type: $content_type"; + } + if(!empty($body)) + $headers[] = "Content-length: ".strlen($body); + if(!empty($this->user) || !empty($this->pass)) + $headers[] = "Authorization: BASIC ".base64_encode($this->user.":".$this->pass); + + for($curr_header = 0; $curr_header < count($headers); $curr_header++) { + $cmdline_params .= " -H \"".$headers[$curr_header]."\""; + } + + if(!empty($body)) + $cmdline_params .= " -d \"$body\""; + + if($this->read_timeout > 0) + $cmdline_params .= " -m ".$this->read_timeout; + + $headerfile = uniqid(time()); + + # accept self-signed certs + $cmdline_params .= " -k"; + exec($this->curl_path." -D \"/tmp/$headerfile\"".escapeshellcmd($cmdline_params)." ".escapeshellcmd($URI),$results,$return); + + if($return) + { + $this->error = "Error: cURL could not retrieve the document, error $return."; + return false; + } + + + $results = implode("\r\n",$results); + + $result_headers = file("/tmp/$headerfile"); + + $this->_redirectaddr = false; + unset($this->headers); + + for($currentHeader = 0; $currentHeader < count($result_headers); $currentHeader++) + { + + // if a header begins with Location: or URI:, set the redirect + if(preg_match("/^(Location: |URI: )/i",$result_headers[$currentHeader])) + { + // get URL portion of the redirect + preg_match("/^(Location: |URI:)(.*)/",chop($result_headers[$currentHeader]),$matches); + // look for :// in the Location header to see if hostname is included + if(!preg_match("|\:\/\/|",$matches[2])) + { + // no host in the path, so prepend + $this->_redirectaddr = $URI_PARTS["scheme"]."://".$this->host.":".$this->port; + // eliminate double slash + if(!preg_match("|^/|",$matches[2])) + $this->_redirectaddr .= "/".$matches[2]; + else + $this->_redirectaddr .= $matches[2]; + } + else + $this->_redirectaddr = $matches[2]; + } + + if(preg_match("|^HTTP/|",$result_headers[$currentHeader])) + { + $this->response_code = $result_headers[$currentHeader]; + if(preg_match("|^HTTP/[^\s]*\s(.*?)\s|",$this->response_code, $match)) + { + $this->status= $match[1]; + } + } + $this->headers[] = $result_headers[$currentHeader]; + } + + // check if there is a a redirect meta tag + + if(preg_match("']*?content[\s]*=[\s]*[\"\']?\d+;[\s]+URL[\s]*=[\s]*([^\"\']*?)[\"\']?>'i",$results,$match)) + { + $this->_redirectaddr = $this->_expandlinks($match[1],$URI); + } + + // have we hit our frame depth and is there frame src to fetch? + if(($this->_framedepth < $this->maxframes) && preg_match_all("']+)'i",$results,$match)) + { + $this->results[] = $results; + for($x=0; $x_frameurls[] = $this->_expandlinks($match[1][$x],$URI_PARTS["scheme"]."://".$this->host); + } + // have we already fetched framed content? + elseif(is_array($this->results)) + $this->results[] = $results; + // no framed content + else + $this->results = $results; + + unlink("/tmp/$headerfile"); + + return true; + } + +/*======================================================================*\ + Function: setcookies() + Purpose: set cookies for a redirection +\*======================================================================*/ + + function setcookies() + { + for($x=0; $xheaders); $x++) + { + if(preg_match("/^set-cookie:[\s]+([^=]+)=([^;]+)/i", $this->headers[$x],$match)) + $this->cookies[$match[1]] = $match[2]; + } + } + + +/*======================================================================*\ + Function: _check_timeout + Purpose: checks whether timeout has occurred + Input: $fp file pointer +\*======================================================================*/ + + function _check_timeout($fp) + { + if ($this->read_timeout > 0) { + $fp_status = socket_get_status($fp); + if ($fp_status["timed_out"]) { + $this->timed_out = true; + return true; + } + } + return false; + } + +/*======================================================================*\ + Function: _connect + Purpose: make a socket connection + Input: $fp file pointer +\*======================================================================*/ + + function _connect(&$fp) + { + if(!empty($this->proxy_host) && !empty($this->proxy_port)) + { + $this->_isproxy = true; + $host = $this->proxy_host; + $port = $this->proxy_port; + } + else + { + $host = $this->host; + $port = $this->port; + } + + $this->status = 0; + + if($fp = fsockopen( + $host, + $port, + $errno, + $errstr, + $this->_fp_timeout + )) + { + // socket connection succeeded + + return true; + } + else + { + // socket connection failed + $this->status = $errno; + switch($errno) + { + case -3: + $this->error="socket creation failed (-3)"; + case -4: + $this->error="dns lookup failure (-4)"; + case -5: + $this->error="connection refused or timed out (-5)"; + default: + $this->error="connection failed (".$errno.")"; + } + return false; + } + } +/*======================================================================*\ + Function: _disconnect + Purpose: disconnect a socket connection + Input: $fp file pointer +\*======================================================================*/ + + function _disconnect($fp) + { + return(fclose($fp)); + } + + +/*======================================================================*\ + Function: _prepare_post_body + Purpose: Prepare post body according to encoding type + Input: $formvars - form variables + $formfiles - form upload files + Output: post body +\*======================================================================*/ + + function _prepare_post_body($formvars, $formfiles) + { + settype($formvars, "array"); + settype($formfiles, "array"); + + if (count($formvars) == 0 && count($formfiles) == 0) + return; + + switch ($this->_submit_type) { + case "application/x-www-form-urlencoded": + reset($formvars); + while(list($key,$val) = each($formvars)) { + if (is_array($val) || is_object($val)) { + while (list($cur_key, $cur_val) = each($val)) { + $postdata .= urlencode($key)."[]=".urlencode($cur_val)."&"; + } + } else + $postdata .= urlencode($key)."=".urlencode($val)."&"; + } + break; + + case "multipart/form-data": + $this->_mime_boundary = "Snoopy".md5(uniqid(microtime())); + + reset($formvars); + while(list($key,$val) = each($formvars)) { + if (is_array($val) || is_object($val)) { + while (list($cur_key, $cur_val) = each($val)) { + $postdata .= "--".$this->_mime_boundary."\r\n"; + $postdata .= "Content-Disposition: form-data; name=\"$key\[\]\"\r\n\r\n"; + $postdata .= "$cur_val\r\n"; + } + } else { + $postdata .= "--".$this->_mime_boundary."\r\n"; + $postdata .= "Content-Disposition: form-data; name=\"$key\"\r\n\r\n"; + $postdata .= "$val\r\n"; + } + } + + reset($formfiles); + while (list($field_name, $file_names) = each($formfiles)) { + settype($file_names, "array"); + while (list(, $file_name) = each($file_names)) { + if (!is_readable($file_name)) continue; + + $fp = fopen($file_name, "r"); + $file_content = fread($fp, filesize($file_name)); + fclose($fp); + $base_name = basename($file_name); + + $postdata .= "--".$this->_mime_boundary."\r\n"; + $postdata .= "Content-Disposition: form-data; name=\"$field_name\"; filename=\"$base_name\"\r\n\r\n"; + $postdata .= "$file_content\r\n"; + } + } + $postdata .= "--".$this->_mime_boundary."--\r\n"; + break; + } + + return $postdata; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/magpierss/extlib/index.html 4.6-complete/uploadfiles/includes/magpierss/extlib/index.html --- 4.6rc2/uploadfiles/includes/magpierss/extlib/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/magpierss/extlib/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/magpierss/index.html 4.6-complete/uploadfiles/includes/magpierss/index.html --- 4.6rc2/uploadfiles/includes/magpierss/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/magpierss/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/magpierss/rss_cache.php 4.6-complete/uploadfiles/includes/magpierss/rss_cache.php --- 4.6rc2/uploadfiles/includes/magpierss/rss_cache.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/magpierss/rss_cache.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,200 @@ + + * Version: 0.51 + * License: GPL + * + * The lastest version of MagpieRSS can be obtained from: + * http://magpierss.sourceforge.net + * + * For questions, help, comments, discussion, etc., please join the + * Magpie mailing list: + * http://lists.sourceforge.net/lists/listinfo/magpierss-general + * + */ + +class RSSCache { + var $BASE_CACHE = './cache'; // where the cache files are stored + var $MAX_AGE = 3600; // when are files stale, default one hour + var $ERROR = ""; // accumulate error messages + + function RSSCache ($base='', $age='') { + if ( $base ) { + $this->BASE_CACHE = $base; + } + if ( $age ) { + $this->MAX_AGE = $age; + } + + // attempt to make the cache directory + if ( ! file_exists( $this->BASE_CACHE ) ) { + $status = @mkdir( $this->BASE_CACHE, 0755 ); + + // if make failed + if ( ! $status ) { + $this->error( + "Cache couldn't make dir '" . $this->BASE_CACHE . "'." + ); + } + } + } + +/*=======================================================================*\ + Function: set + Purpose: add an item to the cache, keyed on url + Input: url from wich the rss file was fetched + Output: true on sucess +\*=======================================================================*/ + function set ($url, $rss) { + $this->ERROR = ""; + $cache_file = $this->file_name( $url ); + $fp = @fopen( $cache_file, 'w' ); + + if ( ! $fp ) { + $this->error( + "Cache unable to open file for writing: $cache_file" + ); + return 0; + } + + + $data = $this->serialize( $rss ); + fwrite( $fp, $data ); + fclose( $fp ); + + return $cache_file; + } + +/*=======================================================================*\ + Function: get + Purpose: fetch an item from the cache + Input: url from wich the rss file was fetched + Output: cached object on HIT, false on MISS +\*=======================================================================*/ + function get ($url) { + $this->ERROR = ""; + $cache_file = $this->file_name( $url ); + + if ( ! file_exists( $cache_file ) ) { + $this->debug( + "Cache doesn't contain: $url (cache file: $cache_file)" + ); + return 0; + } + + $fp = @fopen($cache_file, 'r'); + if ( ! $fp ) { + $this->error( + "Failed to open cache file for reading: $cache_file" + ); + return 0; + } + + if ($filesize = filesize($cache_file) ) { + $data = fread( $fp, filesize($cache_file) ); + $rss = $this->unserialize( $data ); + + return $rss; + } + + return 0; + } + +/*=======================================================================*\ + Function: check_cache + Purpose: check a url for membership in the cache + and whether the object is older then MAX_AGE (ie. STALE) + Input: url from wich the rss file was fetched + Output: cached object on HIT, false on MISS +\*=======================================================================*/ + function check_cache ( $url ) { + $this->ERROR = ""; + $filename = $this->file_name( $url ); + + if ( file_exists( $filename ) ) { + // find how long ago the file was added to the cache + // and whether that is longer then MAX_AGE + $mtime = filemtime( $filename ); + $age = time() - $mtime; + if ( $this->MAX_AGE > $age ) { + // object exists and is current + return 'HIT'; + } + else { + // object exists but is old + return 'STALE'; + } + } + else { + // object does not exist + return 'MISS'; + } + } + + function cache_age( $cache_key ) { + $filename = $this->file_name( $url ); + if ( file_exists( $filename ) ) { + $mtime = filemtime( $filename ); + $age = time() - $mtime; + return $age; + } + else { + return -1; + } + } + +/*=======================================================================*\ + Function: serialize +\*=======================================================================*/ + function serialize ( $rss ) { + return serialize( $rss ); + } + +/*=======================================================================*\ + Function: unserialize +\*=======================================================================*/ + function unserialize ( $data ) { + return unserialize( $data ); + } + +/*=======================================================================*\ + Function: file_name + Purpose: map url to location in cache + Input: url from wich the rss file was fetched + Output: a file name +\*=======================================================================*/ + function file_name ($url) { + $filename = md5( $url ); + return join( DIRECTORY_SEPARATOR, array( $this->BASE_CACHE, $filename ) ); + } + +/*=======================================================================*\ + Function: error + Purpose: register error +\*=======================================================================*/ + function error ($errormsg, $lvl=E_USER_WARNING) { + // append PHP's error message if track_errors enabled + if ( isset($php_errormsg) ) { + $errormsg .= " ($php_errormsg)"; + } + $this->ERROR = $errormsg; + if ( MAGPIE_DEBUG ) { + trigger_error( $errormsg, $lvl); + } + else { + error_log( $errormsg, 0); + } + } + + function debug ($debugmsg, $lvl=E_USER_NOTICE) { + if ( MAGPIE_DEBUG ) { + $this->error("MagpieRSS [debug] $debugmsg", $lvl); + } + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/magpierss/rss_fetch.php 4.6-complete/uploadfiles/includes/magpierss/rss_fetch.php --- 4.6rc2/uploadfiles/includes/magpierss/rss_fetch.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/magpierss/rss_fetch.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,458 @@ + + * License: GPL + * + * The lastest version of MagpieRSS can be obtained from: + * http://magpierss.sourceforge.net + * + * For questions, help, comments, discussion, etc., please join the + * Magpie mailing list: + * magpierss-general@lists.sourceforge.net + * + */ + +// Setup MAGPIE_DIR for use on hosts that don't include +// the current path in include_path. +// with thanks to rajiv and smarty +if (!defined('DIR_SEP')) { + define('DIR_SEP', DIRECTORY_SEPARATOR); +} + +if (!defined('MAGPIE_DIR')) { + define('MAGPIE_DIR', dirname(__FILE__) . DIR_SEP); +} + +require_once( MAGPIE_DIR . 'rss_parse.php' ); +require_once( MAGPIE_DIR . 'rss_cache.php' ); + +// for including 3rd party libraries +define('MAGPIE_EXTLIB', MAGPIE_DIR . 'extlib' . DIR_SEP); +require_once( MAGPIE_EXTLIB . 'Snoopy.class.php'); + + +/* + * CONSTANTS - redefine these in your script to change the + * behaviour of fetch_rss() currently, most options effect the cache + * + * MAGPIE_CACHE_ON - Should Magpie cache parsed RSS objects? + * For me a built in cache was essential to creating a "PHP-like" + * feel to Magpie, see rss_cache.php for rationale + * + * + * MAGPIE_CACHE_DIR - Where should Magpie cache parsed RSS objects? + * This should be a location that the webserver can write to. If this + * directory does not already exist Mapie will try to be smart and create + * it. This will often fail for permissions reasons. + * + * + * MAGPIE_CACHE_AGE - How long to store cached RSS objects? In seconds. + * + * + * MAGPIE_CACHE_FRESH_ONLY - If remote fetch fails, throw error + * instead of returning stale object? + * + * MAGPIE_DEBUG - Display debugging notices? + * +*/ + + +/*=======================================================================*\ + Function: fetch_rss: + Purpose: return RSS object for the give url + maintain the cache + Input: url of RSS file + Output: parsed RSS object (see rss_parse.php) + + NOTES ON CACHEING: + If caching is on (MAGPIE_CACHE_ON) fetch_rss will first check the cache. + + NOTES ON RETRIEVING REMOTE FILES: + If conditional gets are on (MAGPIE_CONDITIONAL_GET_ON) fetch_rss will + return a cached object, and touch the cache object upon recieving a + 304. + + NOTES ON FAILED REQUESTS: + If there is an HTTP error while fetching an RSS object, the cached + version will be return, if it exists (and if MAGPIE_CACHE_FRESH_ONLY is off) +\*=======================================================================*/ + +define('MAGPIE_VERSION', '0.72'); + +$MAGPIE_ERROR = ""; + +function fetch_rss ($url) { + // initialize constants + init(); + + if ( !isset($url) ) { + error("fetch_rss called without a url"); + return false; + } + + // if cache is disabled + if ( !MAGPIE_CACHE_ON ) { + // fetch file, and parse it + $resp = _fetch_remote_file( $url ); + if ( is_success( $resp->status ) ) { + return _response_to_rss( $resp ); + } + else { + error("Failed to fetch $url and cache is off"); + return false; + } + } + // else cache is ON + else { + // Flow + // 1. check cache + // 2. if there is a hit, make sure its fresh + // 3. if cached obj fails freshness check, fetch remote + // 4. if remote fails, return stale object, or error + + $cache = new RSSCache( MAGPIE_CACHE_DIR, MAGPIE_CACHE_AGE ); + + if (MAGPIE_DEBUG and $cache->ERROR) { + debug($cache->ERROR, E_USER_WARNING); + } + + + $cache_status = 0; // response of check_cache + $request_headers = array(); // HTTP headers to send with fetch + $rss = 0; // parsed RSS object + $errormsg = 0; // errors, if any + + // store parsed XML by desired output encoding + // as character munging happens at parse time + $cache_key = $url . MAGPIE_OUTPUT_ENCODING; + + if (!$cache->ERROR) { + // return cache HIT, MISS, or STALE + $cache_status = $cache->check_cache( $cache_key); + } + + // if object cached, and cache is fresh, return cached obj + if ( $cache_status == 'HIT' ) { + $rss = $cache->get( $cache_key ); + if ( isset($rss) and $rss ) { + // should be cache age + $rss->from_cache = 1; + if ( MAGPIE_DEBUG > 1) { + debug("MagpieRSS: Cache HIT", E_USER_NOTICE); + } + return $rss; + } + } + + // else attempt a conditional get + + // setup headers + if ( $cache_status == 'STALE' ) { + $rss = $cache->get( $cache_key ); + if ( $rss and @$rss->etag and @$rss->last_modified ) { + $request_headers['If-None-Match'] = $rss->etag; + $request_headers['If-Last-Modified'] = $rss->last_modified; + } + } + + $resp = _fetch_remote_file( $url, $request_headers ); + + if (isset($resp) and $resp) { + if ($resp->status == '304' ) { + // we have the most current copy + if ( MAGPIE_DEBUG > 1) { + debug("Got 304 for $url"); + } + // reset cache on 304 (at minutillo insistent prodding) + $cache->set($cache_key, $rss); + return $rss; + } + elseif ( is_success( $resp->status ) ) { + $rss = _response_to_rss( $resp ); + if ( $rss ) { + if (MAGPIE_DEBUG > 1) { + debug("Fetch successful"); + } + // add object to cache + $cache->set( $cache_key, $rss ); + return $rss; + } + } + else { + $errormsg = "Failed to fetch $url "; + if ( $resp->status == '-100' ) { + $errormsg .= "(Request timed out after " . MAGPIE_FETCH_TIME_OUT . " seconds)"; + } + elseif ( $resp->error ) { + # compensate for Snoopy's annoying habbit to tacking + # on '\n' + $http_error = substr($resp->error, 0, -2); + $errormsg .= "(HTTP Error: $http_error)"; + } + else { + $errormsg .= "(HTTP Response: " . $resp->response_code .')'; + } + } + } + else { + $errormsg = "Unable to retrieve RSS file for unknown reasons."; + } + + // else fetch failed + + // attempt to return cached object + if ($rss) { + if ( MAGPIE_DEBUG ) { + debug("Returning STALE object for $url"); + } + return $rss; + } + + // else we totally failed + error( $errormsg ); + + return false; + + } // end if ( !MAGPIE_CACHE_ON ) { +} // end fetch_rss() + +/*=======================================================================*\ + Function: error + Purpose: set MAGPIE_ERROR, and trigger error +\*=======================================================================*/ + +function error ($errormsg, $lvl=E_USER_WARNING) { + global $MAGPIE_ERROR; + + // append PHP's error message if track_errors enabled + if ( isset($php_errormsg) ) { + $errormsg .= " ($php_errormsg)"; + } + if ( $errormsg ) { + $errormsg = "MagpieRSS: $errormsg"; + $MAGPIE_ERROR = $errormsg; + trigger_error( $errormsg, $lvl); + } +} + +function debug ($debugmsg, $lvl=E_USER_NOTICE) { + trigger_error("MagpieRSS [debug] $debugmsg", $lvl); +} + +/*=======================================================================*\ + Function: magpie_error + Purpose: accessor for the magpie error variable +\*=======================================================================*/ +function magpie_error ($errormsg="") { + global $MAGPIE_ERROR; + + if ( isset($errormsg) and $errormsg ) { + $MAGPIE_ERROR = $errormsg; + } + + return $MAGPIE_ERROR; +} + +/*=======================================================================*\ + Function: _fetch_remote_file + Purpose: retrieve an arbitrary remote file + Input: url of the remote file + headers to send along with the request (optional) + Output: an HTTP response object (see Snoopy.class.php) +\*=======================================================================*/ +function _fetch_remote_file ($url, $headers = "" ) { + // Snoopy is an HTTP client in PHP + $client = new Snoopy(); + $client->agent = MAGPIE_USER_AGENT; + $client->read_timeout = MAGPIE_FETCH_TIME_OUT; + $client->use_gzip = MAGPIE_USE_GZIP; + if (is_array($headers) ) { + $client->rawheaders = $headers; + } + + @$client->fetch($url); + return $client; + +} + +/*=======================================================================*\ + Function: _response_to_rss + Purpose: parse an HTTP response object into an RSS object + Input: an HTTP response object (see Snoopy) + Output: parsed RSS object (see rss_parse) +\*=======================================================================*/ +function _response_to_rss ($resp) { + $rss = new MagpieRSS( $resp->results, MAGPIE_OUTPUT_ENCODING, MAGPIE_INPUT_ENCODING, MAGPIE_DETECT_ENCODING ); + + // if RSS parsed successfully + if ( $rss and !$rss->ERROR) { + + // find Etag, and Last-Modified + foreach($resp->headers as $h) { + // 2003-03-02 - Nicola Asuni (www.tecnick.com) - fixed bug "Undefined offset: 1" + if (strpos($h, ": ")) { + list($field, $val) = explode(": ", $h, 2); + } + else { + $field = $h; + $val = ""; + } + + if ( $field == 'ETag' ) { + $rss->etag = $val; + } + + if ( $field == 'Last-Modified' ) { + $rss->last_modified = $val; + } + } + + return $rss; + } // else construct error message + else { + $errormsg = "Failed to parse RSS file."; + + if ($rss) { + $errormsg .= " (" . $rss->ERROR . ")"; + } + error($errormsg); + + return false; + } // end if ($rss and !$rss->error) +} + +/*=======================================================================*\ + Function: init + Purpose: setup constants with default values + check for user overrides +\*=======================================================================*/ +function init () { + if ( defined('MAGPIE_INITALIZED') ) { + return; + } + else { + define('MAGPIE_INITALIZED', true); + } + + if ( !defined('MAGPIE_CACHE_ON') ) { + define('MAGPIE_CACHE_ON', true); + } + + if ( !defined('MAGPIE_CACHE_DIR') ) { + define('MAGPIE_CACHE_DIR', './cache'); + } + + if ( !defined('MAGPIE_CACHE_AGE') ) { + define('MAGPIE_CACHE_AGE', 60*60); // one hour + } + + if ( !defined('MAGPIE_CACHE_FRESH_ONLY') ) { + define('MAGPIE_CACHE_FRESH_ONLY', false); + } + + if ( !defined('MAGPIE_OUTPUT_ENCODING') ) { + define('MAGPIE_OUTPUT_ENCODING', 'ISO-8859-1'); + } + + if ( !defined('MAGPIE_INPUT_ENCODING') ) { + define('MAGPIE_INPUT_ENCODING', null); + } + + if ( !defined('MAGPIE_DETECT_ENCODING') ) { + define('MAGPIE_DETECT_ENCODING', true); + } + + if ( !defined('MAGPIE_DEBUG') ) { + define('MAGPIE_DEBUG', 0); + } + + if ( !defined('MAGPIE_USER_AGENT') ) { + $ua = 'MagpieRSS/'. MAGPIE_VERSION . ' (+http://magpierss.sf.net'; + + if ( MAGPIE_CACHE_ON ) { + $ua = $ua . ')'; + } + else { + $ua = $ua . '; No cache)'; + } + + define('MAGPIE_USER_AGENT', $ua); + } + + if ( !defined('MAGPIE_FETCH_TIME_OUT') ) { + define('MAGPIE_FETCH_TIME_OUT', 5); // 5 second timeout + } + + // use gzip encoding to fetch rss files if supported? + if ( !defined('MAGPIE_USE_GZIP') ) { + define('MAGPIE_USE_GZIP', true); + } +} + +// NOTE: the following code should really be in Snoopy, or at least +// somewhere other then rss_fetch! + +/*=======================================================================*\ + HTTP STATUS CODE PREDICATES + These functions attempt to classify an HTTP status code + based on RFC 2616 and RFC 2518. + + All of them take an HTTP status code as input, and return true or false + + All this code is adapted from LWP's HTTP::Status. +\*=======================================================================*/ + + +/*=======================================================================*\ + Function: is_info + Purpose: return true if Informational status code +\*=======================================================================*/ +function is_info ($sc) { + return $sc >= 100 && $sc < 200; +} + +/*=======================================================================*\ + Function: is_success + Purpose: return true if Successful status code +\*=======================================================================*/ +function is_success ($sc) { + return $sc >= 200 && $sc < 300; +} + +/*=======================================================================*\ + Function: is_redirect + Purpose: return true if Redirection status code +\*=======================================================================*/ +function is_redirect ($sc) { + return $sc >= 300 && $sc < 400; +} + +/*=======================================================================*\ + Function: is_error + Purpose: return true if Error status code +\*=======================================================================*/ +function is_error ($sc) { + return $sc >= 400 && $sc < 600; +} + +/*=======================================================================*\ + Function: is_client_error + Purpose: return true if Error status code, and its a client error +\*=======================================================================*/ +function is_client_error ($sc) { + return $sc >= 400 && $sc < 500; +} + +/*=======================================================================*\ + Function: is_client_error + Purpose: return true if Error status code, and its a server error +\*=======================================================================*/ +function is_server_error ($sc) { + return $sc >= 500 && $sc < 600; +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/magpierss/rss_parse.php 4.6-complete/uploadfiles/includes/magpierss/rss_parse.php --- 4.6rc2/uploadfiles/includes/magpierss/rss_parse.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/magpierss/rss_parse.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,605 @@ + +* @version 0.7a +* @license GPL +* +*/ + +define('RSS', 'RSS'); +define('ATOM', 'Atom'); + +require_once (MAGPIE_DIR . 'rss_utils.php'); + +/** +* Hybrid parser, and object, takes RSS as a string and returns a simple object. +* +* see: rss_fetch.php for a simpler interface with integrated caching support +* +*/ +class MagpieRSS { + var $parser; + + var $current_item = array(); // item currently being parsed + var $items = array(); // collection of parsed items + var $channel = array(); // hash of channel fields + var $textinput = array(); + var $image = array(); + var $feed_type; + var $feed_version; + var $encoding = ''; // output encoding of parsed rss + + var $_source_encoding = ''; // only set if we have to parse xml prolog + + var $ERROR = ""; + var $WARNING = ""; + + // define some constants + + var $_CONTENT_CONSTRUCTS = array('content', 'summary', 'info', 'title', 'tagline', 'copyright'); + var $_KNOWN_ENCODINGS = array('UTF-8', 'US-ASCII', 'ISO-8859-1'); + + // parser variables, useless if you're not a parser, treat as private + var $stack = array(); // parser stack + var $inchannel = false; + var $initem = false; + var $incontent = false; // if in Atom field + var $intextinput = false; + var $inimage = false; + var $current_namespace = false; + + + /** + * Set up XML parser, parse source, and return populated RSS object.. + * + * @param string $source string containing the RSS to be parsed + * + * NOTE: Probably a good idea to leave the encoding options alone unless + * you know what you're doing as PHP's character set support is + * a little weird. + * + * NOTE: A lot of this is unnecessary but harmless with PHP5 + * + * + * @param string $output_encoding output the parsed RSS in this character + * set defaults to ISO-8859-1 as this is PHP's + * default. + * + * NOTE: might be changed to UTF-8 in future + * versions. + * + * @param string $input_encoding the character set of the incoming RSS source. + * Leave blank and Magpie will try to figure it + * out. + * + * + * @param bool $detect_encoding if false Magpie won't attempt to detect + * source encoding. (caveat emptor) + * + */ + function MagpieRSS ($source, $output_encoding='ISO-8859-1', + $input_encoding=null, $detect_encoding=true) + { + # if PHP xml isn't compiled in, die + # + if (!function_exists('xml_parser_create')) { + $this->error( "Failed to load PHP's XML Extension. " . + "http://www.php.net/manual/en/ref.xml.php", + E_USER_ERROR ); + } + + list($parser, $source) = $this->create_parser($source, + $output_encoding, $input_encoding, $detect_encoding); + + + if (!is_resource($parser)) { + $this->error( "Failed to create an instance of PHP's XML parser. " . + "http://www.php.net/manual/en/ref.xml.php", + E_USER_ERROR ); + } + + + $this->parser = $parser; + + # pass in parser, and a reference to this object + # setup handlers + # + xml_set_object( $this->parser, $this ); + xml_set_element_handler($this->parser, + 'feed_start_element', 'feed_end_element' ); + + xml_set_character_data_handler( $this->parser, 'feed_cdata' ); + + $status = xml_parse( $this->parser, $source ); + + if (! $status ) { + $errorcode = xml_get_error_code( $this->parser ); + if ( $errorcode != XML_ERROR_NONE ) { + $xml_error = xml_error_string( $errorcode ); + $error_line = xml_get_current_line_number($this->parser); + $error_col = xml_get_current_column_number($this->parser); + $errormsg = "$xml_error at line $error_line, column $error_col"; + + $this->error( $errormsg ); + } + } + + xml_parser_free( $this->parser ); + + $this->normalize(); + } + + function feed_start_element($p, $element, &$attrs) { + $el = $element = strtolower($element); + $attrs = array_change_key_case($attrs, CASE_LOWER); + + // check for a namespace, and split if found + $ns = false; + if ( strpos( $element, ':' ) ) { + list($ns, $el) = split( ':', $element, 2); + } + if ( $ns and $ns != 'rdf' ) { + $this->current_namespace = $ns; + } + + # if feed type isn't set, then this is first element of feed + # identify feed from root element + # + if (!isset($this->feed_type) ) { + if ( $el == 'rdf' ) { + $this->feed_type = RSS; + $this->feed_version = '1.0'; + } + elseif ( $el == 'rss' ) { + $this->feed_type = RSS; + $this->feed_version = $attrs['version']; + } + elseif ( $el == 'feed' ) { + $this->feed_type = ATOM; + $this->feed_version = $attrs['version']; + $this->inchannel = true; + } + return; + } + + if ( $el == 'channel' ) + { + $this->inchannel = true; + } + elseif ($el == 'item' or $el == 'entry' ) + { + $this->initem = true; + if ( isset($attrs['rdf:about']) ) { + $this->current_item['about'] = $attrs['rdf:about']; + } + } + + // if we're in the default namespace of an RSS feed, + // record textinput or image fields + elseif ( + $this->feed_type == RSS and + $this->current_namespace == '' and + $el == 'textinput' ) + { + $this->intextinput = true; + } + + elseif ( + $this->feed_type == RSS and + $this->current_namespace == '' and + $el == 'image' ) + { + $this->inimage = true; + } + + # handle atom content constructs + elseif ( $this->feed_type == ATOM and in_array($el, $this->_CONTENT_CONSTRUCTS) ) + { + // avoid clashing w/ RSS mod_content + if ($el == 'content' ) { + $el = 'atom_content'; + } + + $this->incontent = $el; + + + } + + // if inside an Atom content construct (e.g. content or summary) field treat tags as text + elseif ($this->feed_type == ATOM and $this->incontent ) + { + // if tags are inlined, then flatten + $attrs_str = join(' ', + array_map('map_attrs', + array_keys($attrs), + array_values($attrs) ) ); + + $this->append_content( "<$element $attrs_str>" ); + + array_unshift( $this->stack, $el ); + } + + // Atom support many links per containging element. + // Magpie treats link elements of type rel='alternate' + // as being equivalent to RSS's simple link element. + // + elseif ($this->feed_type == ATOM and $el == 'link' ) + { + if ( isset($attrs['rel']) and $attrs['rel'] == 'alternate' ) + { + $link_el = 'link'; + } + else { + $link_el = 'link_' . $attrs['rel']; + } + + $this->append($link_el, $attrs['href']); + } + // set stack[0] to current element + else { + array_unshift($this->stack, $el); + } + } + + + + function feed_cdata ($p, $text) { + if ($this->feed_type == ATOM and $this->incontent) + { + $this->append_content( $text ); + } + else { + $current_el = join('_', array_reverse($this->stack)); + $this->append($current_el, $text); + } + } + + function feed_end_element ($p, $el) { + $el = strtolower($el); + + if ( $el == 'item' or $el == 'entry' ) + { + $this->items[] = $this->current_item; + $this->current_item = array(); + $this->initem = false; + } + elseif ($this->feed_type == RSS and $this->current_namespace == '' and $el == 'textinput' ) + { + $this->intextinput = false; + } + elseif ($this->feed_type == RSS and $this->current_namespace == '' and $el == 'image' ) + { + $this->inimage = false; + } + elseif ($this->feed_type == ATOM and in_array($el, $this->_CONTENT_CONSTRUCTS) ) + { + $this->incontent = false; + } + elseif ($el == 'channel' or $el == 'feed' ) + { + $this->inchannel = false; + } + elseif ($this->feed_type == ATOM and $this->incontent ) { + // balance tags properly + // note: i don't think this is actually neccessary + if ( $this->stack[0] == $el ) + { + $this->append_content(""); + } + else { + $this->append_content("<$el />"); + } + + array_shift( $this->stack ); + } + else { + array_shift( $this->stack ); + } + + $this->current_namespace = false; + } + + function concat (&$str1, $str2="") { + if (!isset($str1) ) { + $str1=""; + } + $str1 .= $str2; + } + + + + function append_content($text) { + if ( $this->initem ) { + $this->concat( $this->current_item[ $this->incontent ], $text ); + } + elseif ( $this->inchannel ) { + $this->concat( $this->channel[ $this->incontent ], $text ); + } + } + + // smart append - field and namespace aware + function append($el, $text) { + if (!$el) { + return; + } + if ( $this->current_namespace ) + { + if ( $this->initem ) { + $this->concat( + $this->current_item[ $this->current_namespace ][ $el ], $text); + } + elseif ($this->inchannel) { + $this->concat( + $this->channel[ $this->current_namespace][ $el ], $text ); + } + elseif ($this->intextinput) { + $this->concat( + $this->textinput[ $this->current_namespace][ $el ], $text ); + } + elseif ($this->inimage) { + $this->concat( + $this->image[ $this->current_namespace ][ $el ], $text ); + } + } + else { + if ( $this->initem ) { + $this->concat( + $this->current_item[ $el ], $text); + } + elseif ($this->intextinput) { + $this->concat( + $this->textinput[ $el ], $text ); + } + elseif ($this->inimage) { + $this->concat( + $this->image[ $el ], $text ); + } + elseif ($this->inchannel) { + $this->concat( + $this->channel[ $el ], $text ); + } + + } + } + + function normalize () { + // if atom populate rss fields + if ( $this->is_atom() ) { + $this->channel['description'] = $this->channel['tagline']; + for ( $i = 0; $i < count($this->items); $i++) { + $item = $this->items[$i]; + if ( isset($item['summary']) ) + $item['description'] = $item['summary']; + if ( isset($item['atom_content'])) + $item['content']['encoded'] = $item['atom_content']; + + $atom_date = (isset($item['issued']) ) ? $item['issued'] : $item['modified']; + if ( $atom_date ) { + $epoch = @parse_w3cdtf($atom_date); + if ($epoch and $epoch > 0) { + $item['date_timestamp'] = $epoch; + } + } + + $this->items[$i] = $item; + } + } + elseif ( $this->is_rss() ) { + $this->channel['tagline'] = @$this->channel['description']; + for ( $i = 0; $i < count($this->items); $i++) { + $item = $this->items[$i]; + if ( isset($item['description'])) + $item['summary'] = $item['description']; + if ( isset($item['content']['encoded'] ) ) + $item['atom_content'] = $item['content']['encoded']; + + if ( $this->is_rss() == '1.0' and isset($item['dc']['date']) ) { + $epoch = @parse_w3cdtf($item['dc']['date']); + if ($epoch and $epoch > 0) { + $item['date_timestamp'] = $epoch; + } + } + elseif ( isset($item['pubdate']) ) { + $epoch = @strtotime($item['pubdate']); + if ($epoch > 0) { + $item['date_timestamp'] = $epoch; + } + } + + $this->items[$i] = $item; + } + } + } + + + function is_rss () { + if ( $this->feed_type == RSS ) { + return $this->feed_version; + } + else { + return false; + } + } + + function is_atom() { + if ( $this->feed_type == ATOM ) { + return $this->feed_version; + } + else { + return false; + } + } + + /** + * return XML parser, and possibly re-encoded source + * + */ + function create_parser($source, $out_enc, $in_enc, $detect) { + if ( substr(phpversion(),0,1) == 5) { + $parser = $this->php5_create_parser($in_enc, $detect); + } + else { + list($parser, $source) = $this->php4_create_parser($source, $in_enc, $detect); + } + if ($out_enc) { + $this->encoding = $out_enc; + xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, $out_enc); + } + + return array($parser, $source); + } + + /** + * Instantiate an XML parser under PHP5 + * + * PHP5 will do a fine job of detecting input encoding + * if passed an empty string as the encoding. + * + * All hail libxml2! + * + */ + function php5_create_parser($in_enc, $detect) { + // by default php5 does a fine job of detecting input encodings + if(!$detect && $in_enc) { + return xml_parser_create($in_enc); + } + else { + return xml_parser_create(''); + } + } + + /** + * Instaniate an XML parser under PHP4 + * + * Unfortunately PHP4's support for character encodings + * and especially XML and character encodings sucks. As + * long as the documents you parse only contain characters + * from the ISO-8859-1 character set (a superset of ASCII, + * and a subset of UTF-8) you're fine. However once you + * step out of that comfy little world things get mad, bad, + * and dangerous to know. + * + * The following code is based on SJM's work with FoF + * @see http://minutillo.com/steve/weblog/2004/6/17/php-xml-and-character-encodings-a-tale-of-sadness-rage-and-data-loss + * + */ + function php4_create_parser($source, $in_enc, $detect) { + if ( !$detect ) { + return array(xml_parser_create($in_enc), $source); + } + + if (!$in_enc) { + if (preg_match('//m', $source, $m)) { + $in_enc = strtoupper($m[1]); + $this->source_encoding = $in_enc; + } + else { + $in_enc = 'UTF-8'; + } + } + + if ($this->known_encoding($in_enc)) { + return array(xml_parser_create($in_enc), $source); + } + + // the dectected encoding is not one of the simple encodings PHP knows + + // attempt to use the iconv extension to + // cast the XML to a known encoding + // @see http://php.net/iconv + + if (function_exists('iconv')) { + $encoded_source = iconv($in_enc,'UTF-8', $source); + if ($encoded_source) { + return array(xml_parser_create('UTF-8'), $encoded_source); + } + } + + // iconv didn't work, try mb_convert_encoding + // @see http://php.net/mbstring + if(function_exists('mb_convert_encoding')) { + $encoded_source = mb_convert_encoding($source, 'UTF-8', $in_enc ); + if ($encoded_source) { + return array(xml_parser_create('UTF-8'), $encoded_source); + } + } + + // else + $this->error("Feed is in an unsupported character encoding. ($in_enc) " . + "You may see strange artifacts, and mangled characters.", + E_USER_NOTICE); + + return array(xml_parser_create(), $source); + } + + function known_encoding($enc) { + $enc = strtoupper($enc); + if ( in_array($enc, $this->_KNOWN_ENCODINGS) ) { + return $enc; + } + else { + return false; + } + } + + function error ($errormsg, $lvl=E_USER_WARNING) { + // append PHP's error message if track_errors enabled + if ( isset($php_errormsg) ) { + $errormsg .= " ($php_errormsg)"; + } + if ( MAGPIE_DEBUG ) { + trigger_error( $errormsg, $lvl); + } + else { + error_log( $errormsg, 0); + } + + $notices = E_USER_NOTICE|E_NOTICE; + if ( $lvl&$notices ) { + $this->WARNING = $errormsg; + } else { + $this->ERROR = $errormsg; + } + } + + +} // end class RSS + +function map_attrs($k, $v) { + return "$k=\"$v\""; +} + +// patch to support medieval versions of PHP4.1.x, +// courtesy, Ryan Currie, ryan@digibliss.com + +if (!function_exists('array_change_key_case')) { + define("CASE_UPPER",1); + define("CASE_LOWER",0); + + + function array_change_key_case($array,$case=CASE_LOWER) { + if ($case=CASE_LOWER) $cmd=strtolower; + elseif ($case=CASE_UPPER) $cmd=strtoupper; + foreach($array as $key=>$value) { + $output[$cmd($key)]=$value; + } + return $output; + } + +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/magpierss/rss_utils.php 4.6-complete/uploadfiles/includes/magpierss/rss_utils.php --- 4.6rc2/uploadfiles/includes/magpierss/rss_utils.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/magpierss/rss_utils.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,67 @@ + + * Version: 0.51 + * License: GPL + * + * The lastest version of MagpieRSS can be obtained from: + * http://magpierss.sourceforge.net + * + * For questions, help, comments, discussion, etc., please join the + * Magpie mailing list: + * magpierss-general@lists.sourceforge.net + */ + + +/*======================================================================*\ + Function: parse_w3cdtf + Purpose: parse a W3CDTF date into unix epoch + + NOTE: http://www.w3.org/TR/NOTE-datetime +\*======================================================================*/ + +function parse_w3cdtf ( $date_str ) { + + # regex to match wc3dtf + $pat = "/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(:(\d{2}))?(?:([-+])(\d{2}):?(\d{2})|(Z))?/"; + + if ( preg_match( $pat, $date_str, $match ) ) { + list( $year, $month, $day, $hours, $minutes, $seconds) = + array( $match[1], $match[2], $match[3], $match[4], $match[5], $match[6]); + + # calc epoch for current date assuming GMT + $epoch = gmmktime( $hours, $minutes, $seconds, $month, $day, $year); + + $offset = 0; + if ( $match[10] == 'Z' ) { + # zulu time, aka GMT + } + else { + list( $tz_mod, $tz_hour, $tz_min ) = + array( $match[8], $match[9], $match[10]); + + # zero out the variables + if ( ! $tz_hour ) { $tz_hour = 0; } + if ( ! $tz_min ) { $tz_min = 0; } + + $offset_secs = (($tz_hour*60)+$tz_min)*60; + + # is timezone ahead of GMT? then subtract offset + # + if ( $tz_mod == '+' ) { + $offset_secs = $offset_secs * -1; + } + + $offset = $offset_secs; + } + $epoch = $epoch + $offset; + return $epoch; + } + else { + return -1; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/mambo.php 4.6-complete/uploadfiles/includes/mambo.php --- 4.6rc2/uploadfiles/includes/mambo.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/mambo.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,342 @@ +connection =& mamboDatabase::getInstance(); + } + + function &getInstance () { + static $instance; + if (!is_object($instance)) { + $instance =& new mosAuthoriser(); + } + return $instance; + } + + function doSQL ($sql) { + $this->connection->setQuery($sql); + if (!$this->connection->query()) { + echo "\n"; + exit(); + } + } + + function getAccessorData ($type, $id) { + if (isset($this->perm_found[$type][$id])) return; + $sql = "SELECT a.*, p.control, p.action, p.subject_type, p.subject_id, p.system FROM #__assignments AS a LEFT JOIN #__permissions AS p ON p.role=a.role WHERE a.access_type='$type'"; + if (isset($this->perm_found[$type])) $sql .= " AND a.access_id='$id'"; + else $sql .= " AND (a.access_id='$id' OR a.access_id='*' OR a.access_id='+')"; + $this->doSQL($sql); + $new_permissions = $this->connection->loadObjectList(); + if ($new_permissions) $this->permissions = array_merge($this->permissions, $new_permissions); + $this->perm_found[$type][$id] = 1; + } + + function &getRoles ($type, $id) { + $this->getAccessorData ($type, $id); + $rolenames = array(); + foreach ($this->permissions as $role) { + if (strcasecmp($role->access_type, $type) == 0 + AND ($role->access_id == $id OR $role->access_id == '*' OR ($role->access_id == '+' AND $id != 0)) + AND !in_array($role->role,$rolenames)) $rolenames[] = $role->role; + } + return $rolenames; + } + + function accessorPermissionOrControl ($mask, $a_type, $a_id, $action, $s_type='*', $s_id='*') { + $this->getAccessorData ($a_type, $a_id); + foreach ($this->permissions as $permission) { + if ((strcasecmp($permission->access_type,$a_type) == 0 OR $permission->access_type == '*') + AND (strcasecmp($permission->access_id,$a_id) == 0 OR $permission->access_id == '*') + AND (strcasecmp($permission->action,$action)==0 OR $permission->action == '*' OR $action == '*') + AND (strcasecmp($permission->subject_type,$s_type)==0 OR $s_type=='*') + AND (strcasecmp($permission->subject_id,$s_id)==0 OR $permission->subject_id == '*') + AND ($permission->control&$mask)) return 1; + } + return 0; + } + + function checkPermission ($a_type, $a_id, $action, $s_type='*', $s_id='*') { + return $this->accessorPermissionOrControl(2, $a_type, $a_id, $action, $s_type='*', $s_id='*'); + } + + function checkControl ($a_type, $a_id, $action, $s_type='*', $s_id='*') { + return $this->accessorPermissionOrControl(1, $a_type, $a_id, $action, $s_type='*', $s_id='*'); + } + + function checkGrant ($a_type, $a_id, $action, $s_type='*', $s_id='*') { + return $this->accessorPermissionOrControl(4, $a_type, $a_id, $action, $s_type='*', $s_id='*'); + } + + function rolePermissionOrControl ($mask, $role, $action, $s_type, $s_id) { + $sql = "SELECT * FROM #__permissions WHERE role='$role'"; + $this->connection->setQuery($sql); + $permissions = $this->connection->loadObjectList(); + if ($permissions) { + foreach ($permissions as $permission) { + if (strcasecmp($permission->role,$role) == 0 + AND (strcasecmp($permission->action,$action)==0 OR $permission->action == '*') + AND (strcasecmp($permission->subject_type,$s_type)==0) + AND (strcasecmp($permission->subject_id,$s_id)==0 OR $permission->subject_id == '*') + AND ($permission->control&$mask)) return 1; + } + } + return 0; + } + + function checkRolePermission ($role, $action, $s_type, $s_id) { + return $this->rolePermissionOrControl(2, $role, $action, $s_type, $s_id); + } + + function checkRoleControl ($role, $action, $s_type, $s_id) { + return $this->rolePermissionOrControl(1, $role, $action, $s_type, $s_id); + } + + function checkRoleGrant ($role, $action, $s_type, $s_id) { + return $this->rolePermissionOrControl(4, $role, $action, $s_type, $s_id); + } + + function &listPermissions ($a_type, $a_id, $action, $property) { + $this->getAccessorData ($a_type, $a_id); + $results = array(); + foreach ($this->permissions as $permission) { + if (strcasecmp($permission->access_type,$a_type) == 0 + AND (strcasecmp($permission->access_id,$a_id) == 0 OR $permission->access_id == '*' OR ($permission->access_id == '+' AND $a_id != 0)) + AND (strcasecmp($permission->action,$action) == 0 OR $permission->action == '*') + AND $permission->subject_type != null AND $permission->subject_id != null) { + $results[] = $permission->$property; + } + } + return $results; + } + +} + +class mosAuthorisationAdmin { + var $connection; + var $roles = array(); + + function mosAuthorisationAdmin () { + $this->connection =& mamboDatabase::getInstance(); + } + + function &getInstance () { + static $instance; + if (!is_object($instance)) { + $instance =& new mosAuthorisationAdmin(); + } + return $instance; + } + + function doSQL ($sql) { + $this->connection->setQuery($sql); + if (!$this->connection->query()) { + echo "\n"; + exit(); + } + } + + function getRoles () { + if (count($this->roles) == 0) { + $sql = "SELECT DISTINCT role FROM #__assignments"; + $this->connection->setQuery($sql); + $this->roles = $this->connection->loadResultArray(); + $sql = "SELECT DISTINCT role FROM #__permissions"; + $this->connection->setQuery($sql); + $more = $this->connection->loadResultArray(); + foreach ($more as $role) $this->addRole($role); + } + return $this->roles; + } + + function addRole ($role) { + if (!in_array($role, $this->roles)) $this->roles[] = $role; + } + + function removeRole ($role) { + $key = array_search($role, $this->roles); + if ($key !== false) unset($this->roles[$key]); + } + + function &permissionHolders ($subject_type, $subject_id) { + $sql = "SELECT role, action, control FROM #__permissions"; + if ($subject_type != '*') $where[] = "(subject_type='$subject_type' OR subject_type='*')"; + if ($subject_id != '*') $where[] = "(subject_id='$subject_id' OR subject_id='*')"; + if (isset($where)) $sql .= " WHERE ".implode(' AND ', $where); + $this->connection->setQuery($sql); + $result = $this->connection->loadObjectList(); + if (!$result) $result = array(); + return $result; + } + + function &nonLocalPermissionHolders ($subject_type, $subject_id) { + $sql = "SELECT role, action, control FROM #__permissions WHERE (action='*' OR subject_type='*' OR subject_id='*') AND ((subject_type='$subject_type' OR subject_type='*') AND (subject_id='$subject_id' OR subject_id='*'))"; + $this->connection->setQuery($sql); + $result = $this->connection->loadObjectList(); + if (!$result) $result = array(); + return $result; + } + + function permitSQL ($role, $control, $action, $subject_type, $subject_id) { + $sql = "REPLACE INTO #__permissions (role, control, action, subject_type, subject_id) VALUES ('$role', '$control', '$action', '$subject_type', '$subject_id');"; + return $sql; + } + + function permit ($role, $control, $action, $subject_type, $subject_id) { + $sql = $this->permitSQL($role, $control, $action, $subject_type, $subject_id); + $this->doSQL($sql); + $this->addRole($role); + } + + function assign ($role, $access_type, $access_id) { + $sql = "REPLACE INTO #__assignments (role, access_type, access_id) VALUES ('$role', '$access_type', '$access_id')"; + $this->doSQL($sql); + $this->addRole($role); + } + + function dropAccess ($access_type, $access_id) { + $sql = "DELETE FROM #__assignments WHERE access_type='$access_type' AND access_id='$access_id'"; + $this->doSQL($sql); + } + + function &getControllingRoles ($access_type, $access_id, $action, $subject_type, $subject_id) { + $sql = "SELECT a.role FROM #__permissions AS p, #__assignments AS a WHERE a.access_type='$access_type'" + ." AND a.access_id='$access_id' AND a.role=p.role AND (p.control&1)" + ." AND p.action='$action' AND p.subject_type='$subject_type' AND p.subject_id='$subject_id'"; + $this->doSQL($sql); + $roles = $this->connection->loadResultArray(); + return $roles; + } + + function &getMyPermissions ($access_type, $access_id) { + $sql = 'SELECT p.action, p.subject_type, p.subject_id, control FROM #__permissions AS p, #__assignments AS a' + . " WHERE p.role=a.role AND a.access_type='$access_type' AND (a.access_id='$access_id' OR a.access_id='*')" + . ' AND (p.control&1)'; + $this->doSQL($sql); + $permissions =& $this->connection->loadObjectList(); + return $permissions; + } + + function getJointPermissions ($access_type, $access_id, $role) { + $sql = "SELECT p2.control AS hiscontrol, p1.control AS mycontrol, p1.action, p1.subject_type, p1.subject_id" + ." FROM `#__assignments` AS a, `#__permissions` AS p1 LEFT JOIN `#__permissions` AS p2" + ." ON (p2.role='$role' AND p1.action=p2.action AND p1.subject_type=p2.subject_type AND p1.subject_id=p2.subject_id)" + ." WHERE (p1.control&1) AND p1.role=a.role AND a.access_type='$access_type' AND (a.access_id='$access_id' OR a.access_id='*')"; + $this->doSQL($sql); + $permissions =& $this->connection->loadObjectList(); + return $permissions; + } + + function getAccessLists ($access_type, $access_id, $action, $subject_type, $subject_id) { + $authoriser =& mosAuthoriser::getInstance(); + if ($authoriser->checkControl($access_type, $access_id, $action, $subject_type, $subject_id)) { + $cangrant = $authoriser->checkGrant($access_type, $access_id, $action, $subject_type, $subject_id); + $permissions = $this->permissionHolders($subject_type, $subject_id); + $allroles = $this->getRoles(); + foreach ($allroles as $role) { + $itemc[] = $optionc = mosHTML::makeOption($role, $role); + $itema[] = $optiona = mosHTML::makeOption($role, $role); + if ($cangrant) $itemg[] = $optiong = mosHTML::makeOption($role, $role); + foreach ($permissions as $permission) { + if (($permission->action == '*' OR $permission->action == $action) AND $permission->role == $role) { + if ($permission->control & 1) $cselected[] = $optionc; + if ($permission->control & 2) $aselected[] = $optiona; + if ($cangrant AND $permission->control & 4) $gselected[] = $optiong; + } + } + } + $results[] = mosHTML::selectList($itema, $action.'_arole[]', 'multiple="multiple"', 'value', 'text', $aselected); + $results[] = mosHTML::selectList($itemc, $action.'_crole[]', 'multiple="multiple"', 'value', 'text', $cselected); + if ($cangrant) $results[] = mosHTML::selectList($itemg, $action.'_grole[]', 'multiple="multiple"', 'value', 'text', $gselected); + } + else $results = array(); + return $results; + } + + function resetPermissions ($action, $subject_type, $subject_id) { + $control_types = array ('crole', 'arole', 'grole'); + $control_values = array (1,2,4); + $permissions = $this->nonLocalPermissionHolders($subject_type, $subject_id); + $this->dropPermissions($action, $subject_type, $subject_id); + foreach ($control_types as $i=>$type) { + $key = $action.'_'.$type; + if (isset($_POST[$key])) { + foreach ($_POST[$key] as $role) { + $value = isset($newpermits[$role]) ? $newpermits[$role] : 0; + $newpermits[$role] = $value | $control_values[$i]; + } + } + } + $sql = ''; + foreach ($newpermits as $role=>$value) { + $needed = true; + foreach ($permissions as $permission) { + if (($permission->action == '*' OR $permission->action == $action) AND $permission->role == $role) { + if (($value & $permission->control) === $value) { + $needed = false; + break; + } + } + } + if ($needed) $sql .= $this->permitSQL ($role, $value, $action, $subject_type, $subject_id); + } + if ($sql) $this->doSQL($sql); + } + + function roleExists ($role) { + $sql = "SELECT COUNT(role) FROM #__permissions WHERE role='$role' GROUP BY role"; + $this->doSQL($sql); + if ($this->connection->loadResult()) return true; + $sql = "SELECT COUNT(role) FROM #__assignments WHERE role='$role' GROUP BY role"; + $this->doSQL($sql); + if ($this->connection->loadResult()) return true; + else return false; + } + + function dropRole ($role) { + $sql = "DELETE FROM #__permissions WHERE action='administer' AND subject_type='$role' AND system=0"; + $this->doSQL($sql); + $sql = "DELETE a FROM #__assignments AS a LEFT JOIN #__permissions AS p ON a.role=p.role WHERE a.role='$role' AND (p.system=0 OR p.system=NULL)"; + $this->doSQL($sql); + $this->dropRolePermissions($role); + $this->removeRole($role); + } + + function dropRolePermissions ($role) { + $sql = "DELETE FROM #__permissions WHERE role='$role' AND system=0"; + $this->doSQL($sql); + $this->roles = array(); + } + + function dropPermissions ($action, $subject_type, $subject_id) { + $sql = "DELETE FROM #__permissions WHERE action='$action' AND subject_type='$subject_type'AND subject_id='$subject_id' AND system=0"; + $this->doSQL($sql); + $this->roles = array(); + } + +} + + + + +// ----- NO MORE CLASSES OR FUNCTIONS PASSED THIS POINT ----- +// Post class declaration initialisations +// some version of PHP don't allow the instantiation of classes +// before they are defined + +?> diff -ruN 4.6rc2/uploadfiles/includes/mamboHTML.php 4.6-complete/uploadfiles/includes/mamboHTML.php --- 4.6rc2/uploadfiles/includes/mamboHTML.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/mamboHTML.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,730 @@ +value = $value; + $obj->text = trim( $text ) ? $text : $value; + return $obj; + } + + function writableCell( $folder ) { + echo '
      '; + echo ''; + echo ''; + echo ''; + } + + /** + * Generates an HTML select list + * @param array An array of objects + * @param string The value of the HTML name attribute + * @param string Additional HTML attributes for the "; + for ($i=0, $n=count( $arr ); $i < $n; $i++ ) { + $k = $arr[$i]->$key; + $t = $arr[$i]->$text; + $id = isset($arr[$i]->id) ? $arr[$i]->id : null; + + $extra = ''; + $extra .= $id ? " id=\"" . $arr[$i]->id . "\"" : ''; + if (is_array( $selected )) { + foreach ($selected as $obj) { + $k2 = $obj->$key; + if ($k == $k2) { + $extra .= " selected=\"selected\""; + break; + } + } + } else { + $extra .= ($k == $selected ? " selected=\"selected\"" : ''); + } + $html .= "\n\t"; + } + $html .= "\n\n"; + return $html; + } + + /** + * Writes a select list of integers + * @param int The start integer + * @param int The end integer + * @param int The increment + * @param string The value of the HTML name attribute + * @param string Additional HTML attributes for the tag + * @param mixed The key that is selected + * @returns string HTML for the select list values + */ + function monthSelectList( $tag_name, $tag_attribs, $selected ) { + $arr = array( + mosHTML::makeOption( '01', T_('January') ), + mosHTML::makeOption( '02', T_('February') ), + mosHTML::makeOption( '03', T_('March') ), + mosHTML::makeOption( '04', T_('April') ), + mosHTML::makeOption( '05', T_('May') ), + mosHTML::makeOption( '06', T_('June') ), + mosHTML::makeOption( '07', T_('July') ), + mosHTML::makeOption( '08', T_('August') ), + mosHTML::makeOption( '09', T_('September') ), + mosHTML::makeOption( '10', T_('October') ), + mosHTML::makeOption( '11', T_('November') ), + mosHTML::makeOption( '12', T_('December') ) + ); + + return mosHTML::selectList( $arr, $tag_name, $tag_attribs, 'value', 'text', $selected ); + } + + /** + * Writes a yes/no select list + * @param string The value of the HTML name attribute + * @param string Additional HTML attributes for the tag + * @param mixed The key that is selected + * @param string The name of the object variable for the option value + * @param string The name of the object variable for the option text + * @returns string HTML for the select list + */ + function radioList( &$arr, $tag_name, $tag_attribs, $selected=null, $key='value', $text='text' ) { + reset( $arr ); + $html = ""; + foreach ($arr as $choice) { + $id = @$choice->id; + $extra = $id ? " id=\"" . $choice->id . "\"" : ''; + if (is_array( $selected )) { + foreach ($selected as $obj) { + if ($choice->$key == $obj->$key) { + $extra .= ' selected="selected"'; + break; + } + } + } else { + $extra .= ($choice->$key == $selected ? " checked=\"checked\"" : ''); + } + $html .= "\n\t$key."\"$extra $tag_attribs />" . $choice->$text; + } + $html .= "\n"; + return $html; + } + + /** + * Writes a yes/no radio list + * @param string The value of the HTML name attribute + * @param string Additional HTML attributes for the '; + } + } + + function sortIcon( $base_href, $field, $state='none' ) { + $mosConfig_live_site = mamboCore::get('mosConfig_live_site'); + $alts = array( + 'none' => T_('No Sorting'), + 'asc' => T_('Sort Ascending'), + 'desc' => T_('Sort Descending'), + ); + $next_state = 'asc'; + if ($state == 'asc') { + $next_state = 'desc'; + } else if ($state == 'desc') { + $next_state = 'none'; + } + + $html = "" + . "\"{$alts[$next_state]}\"" + . ""; + return $html; + } + + /** + * Writes Close Button + */ + function CloseButton ( &$params, $hide_js=NULL ) { + // displays close button in Pop-up window + if ( $params->get( 'popup' ) && !$hide_js ) { + ?> + + get( 'back_button' ) && !$params->get( 'popup' ) && !$hide_js) { + ?> +
      + + + +
      + ]*>.*?'si", '', $text ); + $text = preg_replace( '/]*>([^<]+)<\/a>/is', '\2 (\1)', $text ); + $text = preg_replace( '//', '', $text ); + $text = preg_replace( '/{.+?}/', '', $text ); + $text = preg_replace( '/ /', ' ', $text ); + $text = preg_replace( '/&/', ' ', $text ); + $text = preg_replace( '/"/', ' ', $text ); + $text = strip_tags( $text ); + $text = htmlspecialchars( $text ); + return $text; + } + + /** + * Writes Print icon + */ + function PrintIcon( &$row, &$params, $hide_js, $link, $status=NULL ) { + if ( $params->get( 'print' ) && !$hide_js ) { + // use default settings if none declared + if ( !$status ) { + $status = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no'; + } + + // checks template image directory for image, if non found default are loaded + if ( $params->get( 'icons' ) ) { + $mainframe =& mosMainFrame::getInstance(); + $image = $mainframe->ImageCheck( 'printButton.png', '/images/M_images/', NULL, NULL, T_('Print')); + } else { + $image = _ICON_SEP .' '. T_('Print'). ' '. _ICON_SEP; + } + + if ( $params->get( 'popup' ) && !$hide_js ) { + // Print Preview button - used when viewing page + ?> +
      + + + \n"; + $replacement .= " \n"; + $replacement .= " \n"; + $replacement .= " \n"; + + return $replacement; + } + + function encoding_converter( $text ) { + // replace vowels with character encoding + $text = str_replace( 'a', 'a', $text ); + $text = str_replace( 'e', 'e', $text ); + $text = str_replace( 'i', 'i', $text ); + $text = str_replace( 'o', 'o', $text ); + $text = str_replace( 'u', 'u', $text ); + + return $text; + } +} + +class mosCommonHTML { + + function ContentLegend( ) { + ?> +
      ' . $folder . '/'; + echo is_writable( "../$folder" ) ? ''.T_('Writeable').'' : ''.T_('Unwriteable').'' . '
      + + + + + + + +
      + + + + + + + + + + + + + +
      + <?php echo T_('Pending') ?> + + Pending') ?> | + + <?php echo T_('Visible') ?> + + Current') ?> | + + <?php echo T_('Finished') ?> + + Expired') ?> | + + <?php echo T_('Finished') ?> + + +
      + +
      + + + +
      +
      +
      + + + + menutype; ?> + +
      + + + + + name; ?> + + +
      + + + published ) { + case -2: + echo ''.T_('Trashed').''; + break; + case 0: + echo T_('UnPublished') ; + break; + case 1: + default: + echo ''.T_('Published').''; + break; + } + ?> +
      +
      +
      + + + + menutype; ?> + +
      + + + type; ?> +
      + + + + + name; ?> + + +
      + + + published ) { + case -2: + echo ''.T_('Trashed').''; + break; + case 0: + echo T_('UnPublished'); + break; + case 1: + default: + echo ''.T_('Published').''; + break; + } + ?> +
      '; + $checked_out_text .= ''; + $checked_out_text .= ''; + $checked_out_text .= ''; + $checked_out_text .= '
      '. $row->editor .'
      '. $date .'
      '. $time .'
      '; + $hover = 'onMouseOver="return overlib(\''. $checked_out_text .'\', CAPTION, \''.T_('Checked Out') .'\', BELOW, RIGHT);" onMouseOut="return nd();"'; + } + $checked = ''; + + return $checked; + } + + /* + * Loads all necessary files for JS Overlib tooltips + */ + function loadOverlib() { + ?> + + + + + + + + + access ) { + $color_access = 'style="color: green;"'; + $task_access = 'accessregistered'; + } else if ( $row->access == 1 ) { + $color_access = 'style="color: red;"'; + $task_access = 'accessspecial'; + } else { + $color_access = 'style="color: black;"'; + $task_access = 'accesspublic'; + } + + $href = ' + + '. $row->groupname .' + ' + ; + + return $href; + } + + function CheckedOutProcessing( &$row, $i ) { + $my = mamboCore::get('currentUser'); + if ( $row->checked_out ) { + $checked = mosCommonHTML::checkedOut( $row ); + } else { + $checked = mosHTML::idBox( $i, $row->id, ($row->checked_out && $row->checked_out != $my->id ) ); + } + + return $checked; + } + + function PublishedProcessing( &$row, $i ) { + $img = $row->published ? 'publish_g.png' : 'publish_x.png'; + $task = $row->published ? 'unpublish' : 'publish'; + $alt = $row->published ? T_('Published') : T_('Unpublished'); + $action = $row->published ? T_('Unpublish Item') : T_('Publish item'); + + $href = ' + + '. $alt .' + ' + ; + + return $href; + } +} + +/** +* Tab Creation handler +* @package Mambo +* @author Phil Taylor +*/ +class mosTabs { + /** @var int Use cookies */ + var $useCookies = 0; + + /** + * Constructor + * Includes files needed for displaying tabs and sets cookie options + * @param int useCookies, if set to 1 cookie will hold last used tab between page refreshes + */ + function mosTabs($useCookies) { + $mosConfig_live_site = mamboCore::get('mosConfig_live_site'); + echo ""; + echo ""; + $this->useCookies = $useCookies; + } + + /** + * creates a tab pane and creates JS obj + * @param string The Tab Pane Name + */ + function startPane($id){ + echo "
      "; + echo "\n"; + } + + /** + * Ends Tab Pane + */ + function endPane() { + echo "
      "; + } + + /* + * Creates a tab with title text and starts that tabs page + * @param tabText - This is what is displayed on the tab + * @param paneid - This is the parent pane to build this tab on + */ + function startTab( $tabText, $paneid ) { + echo "
      "; + echo "

      ".$tabText."

      "; + echo ""; + } + + /* + * Ends a tab page + */ + function endTab() { + echo "
      "; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/mambofunc.php 4.6-complete/uploadfiles/includes/mambofunc.php --- 4.6rc2/uploadfiles/includes/mambofunc.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/mambofunc.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,446 @@ +mosMail($adminEmail); +} + +/* +* Includes pathway file +* Needed by templates +*/ +function mosPathWay() { + $pathway =& mosPathway::getInstance(); + echo $pathway->makePathway(); +} + +/** +* Displays a not authorised message +* +* If the user is not logged in then an addition message is displayed. +*/ +function mosNotAuth() { + global $my; + + echo T_('You are not authorized to view this resource.'); + if ($my->id < 1) { + echo "
      " . T_('You need to login.'); + } +} + +/** +* Replaces & with & for xhtml compliance +* +* Needed to handle unicode conflicts due to unicode conflicts +* Deprecated - simply code the line below +*/ +function ampReplace( $text ) { + return preg_replace('/(&)([^#]|$)/','&$2', $text); +} + +/** +* Chmods files and directories recursively to given permissions. Available from 4.5.2 up. +* @param path The starting file or directory (no trailing slash) +* @param filemode Integer value to chmod files. NULL = dont chmod files. +* @param dirmode Integer value to chmod directories. NULL = dont chmod directories. +* @return TRUE=all succeeded FALSE=one or more chmods failed +*/ +function mosChmodRecursive($path, $filemode=NULL, $dirmode=NULL) +{ + $fileman =& mosFileManager::getInstance(); + return $fileman->mosChmodRecursive($path, $filemode, $dirmode); +} + +/** +* Chmods files and directories recursively to mos global permissions. Available from 4.5.2 up. +* @param path The starting file or directory (no trailing slash) +* @param filemode Integer value to chmod files. NULL = dont chmod files. +* @param dirmode Integer value to chmod directories. NULL = dont chmod directories. +* @return TRUE=all succeeded FALSE=one or more chmods failed +*/ +function mosChmod($path) +{ + $fileman =& mosFileManager::getInstance(); + return $fileman->mosChmod($path); +} // mosChmod + +/** + * Function to convert array to integer values + * Deprecated - not used within Mambo + */ +function mosArrayToInts( &$array, $default=null ) { + if (is_array( $array )) { + $n = count( $array ); + for ($i = 0; $i < $n; $i++) { + $array[$i] = intval( $array[$i] ); + } + } else { + if (is_null( $default )) { + return array(); + } else { + return array( $default ); + } + } +} + +/** +* Strip slashes from strings or arrays of strings +* @param value the input string or array +*/ +function mosStripslashes(&$value) +{ + $database =& mamboDatabase::getInstance(); + return $database->mosStripslashes($value); +} + +/** +* Copy the named array content into the object as properties +* only existing properties of object are filled. when undefined in hash, properties wont be deleted +* @param array the input array +* @param obj byref the object to fill of any class +* @param string +* @param boolean +*/ +function mosBindArrayToObject( $array, &$obj, $ignore='', $prefix=NULL, $checkSlashes=true ) { + $database =& mamboDatabase::getInstance(); + return $database->mosBindArrayToOBject($array, $obj, $ignore='', $prefix=NULL, $checkSlashes=true); +} + +/** +* Utility function to read the files in a directory +* @param string The file system path +* @param string A filter for the names +* @param boolean Recurse search into sub-directories +* @param boolean True if to prepend the full path to the file name +*/ +function mosReadDirectory( $path, $filter='.', $recurse=false, $fullpath=false ) { + if (@is_dir($path)) { + $dir =& new mosDirectory($path); + $arr =& $dir->listFiles ($filter, $type='both', $recurse, $fullpath); + } + else $arr = array(); + return $arr; +} + +/** +* Utility function redirect the browser location to another url +* +* Can optionally provide a message. +* @param string The file system path +* @param string A filter for the names +*/ +function mosRedirect( $url, $msg='' ) { + mamboCore::redirect($url, $msg); +} + +/** +* Function to strip additional / or \ in a path name +* @param string The path +* @param boolean Add trailing slash +*/ +function mosPathName($p_path,$p_addtrailingslash = true) { + $fileman =& mosFileManager::getInstance(); + return $fileman->mosPathName($p_path,$p_addtrailingslash); +} + +/** +* Checks the user agent string against known browsers +*/ +function mosGetBrowser( $agent ) { + require( "includes/agent_browser.php" ); + + if (preg_match( "/msie[\/\sa-z]*([\d\.]*)/i", $agent, $m ) + && !preg_match( "/webtv/i", $agent ) + && !preg_match( "/omniweb/i", $agent ) + && !preg_match( "/opera/i", $agent )) { + // IE + return "MS Internet Explorer $m[1]"; + } else if (preg_match( "/netscape.?\/([\d\.]*)/i", $agent, $m )) { + // Netscape 6.x, 7.x ... + return "Netscape $m[1]"; + } else if ( preg_match( "/mozilla[\/\sa-z]*([\d\.]*)/i", $agent, $m ) + && !preg_match( "/gecko/i", $agent ) + && !preg_match( "/compatible/i", $agent ) + && !preg_match( "/opera/i", $agent ) + && !preg_match( "/galeon/i", $agent ) + && !preg_match( "/safari/i", $agent )) { + // Netscape 3.x, 4.x ... + return "Netscape $m[2]"; + } else { + // Other + $found = false; + foreach ($browserSearchOrder as $key) { + if (preg_match( "/$key.?\/([\d\.]*)/i", $agent, $m )) { + $name = "$browsersAlias[$key] $m[1]"; + return $name; + break; + } + } + } + + return 'Unknown'; +} + +/** +* Checks the user agent string against known operating systems +*/ +function mosGetOS( $agent ) { + require( "includes/agent_os.php" ); + + foreach ($osSearchOrder as $key) { + if (preg_match( "/$key/i", $agent )) { + return $osAlias[$key]; + break; + } + } + + return 'Unknown'; +} + +/** +* Makes a variable safe to display in forms +* +* Object parameters that are non-string, array, object or start with underscore +* will be converted +* @param object An object to be parsed +* @param int The optional quote style for the htmlspecialchars function +* @param string|array An optional single field name or array of field names not +* to be parsed (eg, for a textarea) +*/ +function mosMakeHtmlSafe( &$mixed, $quote_style=ENT_QUOTES, $exclude_keys='' ) { + if (is_object( $mixed )) { + foreach (get_object_vars( $mixed ) as $k => $v) { + if (is_array( $v ) || is_object( $v ) || $v == NULL || substr( $k, 1, 1 ) == '_' ) { + continue; + } + if (is_string( $exclude_keys ) && $k == $exclude_keys) { + continue; + } else if (is_array( $exclude_keys ) && in_array( $k, $exclude_keys )) { + continue; + } + $mixed->$k = htmlspecialchars( $v, $quote_style ); + } + } +} + +/** +* Checks whether a menu option is within the users access level +* @param int Item id number +* @param string The menu option +* @param int The users group ID number +* @param database A database connector object +* @return boolean True if the visitor's group at least equal to the menu access +*/ +function mosMenuCheck( $Itemid, $menu_option, $task, $gid ) { + $menuhandler =& mosMenuHandler::getInstance(); + return $menuhandler->menuCheck($Itemid, $menu_option, $task, $gid); +} + +/** +* Returns formated date according to current local and adds time offset +* @param string date in datetime format +* @param string format optional format for strftime +* @param offset time offset if different than global one +* @returns formated date +*/ +function mosFormatDate( $date, $format="", $offset="" ){ + $core = mamboCore::getMamboCore(); + if ( $format == '' ) { + // %Y-%m-%d %H:%M:%S + $format = $core->current_language->date_format; + } + + + if ( !$offset ) { + $offset = $core->mosConfig_offset; + } + if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs ) ) { + $date = mktime( $regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1] ); + $date = $date > -1 ? $core->current_language->getDate($format, $date + ($offset*60*60)) : '-'; + } + return $date; +} + +/** +* Returns current date according to current local and time offset +* @param string format optional format for strftime +* @returns current date +*/ +function mosCurrentDate( $format="" ) { + $core =& mamboCore::getMamboCore(); + $offset = mamboCore::get('mosConfig_offset'); + if ($format=="") { + $format = $format = $core->current_language->date_format; + } + $date = $core->current_language->getDate($format, time() + ($offset*60*60)); + return $date; +} + +/** +* Utility function to provide ToolTips +* @param string ToolTip text +* @param string Box title +* @returns HTML code for ToolTip +*/ +function mosToolTip( $tooltip, $title='', $width='', $image='tooltip.png', $text='', $href='#' ) { + global $mosConfig_live_site; + + if ( $width ) { + $width = ', WIDTH, \''.$width .'\''; + } + if ( $title ) { + $title = ', CAPTION, \''.$title .'\''; + } + if ( !$text ) { + $image = $mosConfig_live_site . '/includes/js/ThemeOffice/'. $image; + $text = ''; + } + $style = 'style="text-decoration: none; color: #333;"'; + if ( $href ) { + $style = ''; + } + $tip = "". $text .""; + return $tip; +} + +/** +* Utility function to provide Warning Icons +* @param string Warning text +* @param string Box title +* @returns HTML code for Warning +*/ +function mosWarning($warning, $title=null) { + if (is_null($title)) $title = T_('Mambo Warning'); + $mosConfig_live_site = mamboCore::get('mosConfig_live_site'); + $tip = ""; + return $tip; +} + +function mosCreateGUID(){ + srand((double)microtime()*1000000); + $r = rand ; + $u = uniqid(getmypid() . $r . (double)microtime()*1000000,1); + $m = md5 ($u); + return($m); +} + +function mosCompressID( $ID ){ + return(Base64_encode(pack("H*",$ID))); +} + +function mosExpandID( $ID ) { + return ( implode(unpack("H*",Base64_decode($ID)), '') ); +} + +/** +* Mail function (uses phpMailer) +* @param string From e-mail address +* @param string From name +* @param string/array Recipient e-mail address(es) +* @param string E-mail subject +* @param string Message body +* @param boolean false = plain text, true = HTML +* @param string/array CC e-mail address(es) +* @param string/array BCC e-mail address(es) +* @param string/array Attachment file name(s) +* @param string/array Reply-to e-mail address +* @param string/array Reply-to name +*/ +function mosMail($from, $fromname, $recipient, $subject, $body, $mode=0, $cc=NULL, $bcc=NULL, $attachment=NULL, $replyto=NULL, $replytoname=NULL ) { + require_once(mamboCore::get('mosConfig_absolute_path').'/includes/phpmailer/class.phpmailer.php'); + $mail =& new mosMailer ($from, $fromname, $subject, $body); + $result = $mail->mosMail($recipient, $mode, $cc, $bcc, $attachment, $replyto, $replytoname); + return $result; +} // mosMail + +/** +* Create mail object +* @return mail object +*/ +function &mosCreateMail ($from, $fromname, $subject, $body) { + require_once(mamboCore::get('mosConfig_absolute_path').'/includes/phpmailer/class.phpmailer.php'); + $mail =& new mosMailer ($from, $fromname, $subject, $body); + return $mail; +} + +/** +* Random password generator +* @return password +*/ +function mosMakePassword() { + require_once(mamboCore::get('mosConfig_absolute_path').'/includes/authenticator.php'); + $authenticator =& mamboAuthenticator::getInstance(); + return $authenticator->mosMakePassword(); +} + +if (!function_exists('html_entity_decode')) { + /** + * html_entity_decode function for backward compatability in PHP + * @param string + * @param string + */ + function html_entity_decode ($string, $opt = ENT_COMPAT) { + + $trans_tbl = get_html_translation_table (HTML_ENTITIES); + $trans_tbl = array_flip ($trans_tbl); + + if ($opt & 1) { // Translating single quotes + // Add single quote to translation table; + // doesn't appear to be there by default + $trans_tbl["'"] = "'"; + } + + if (!($opt & 2)) { // Not translating double quotes + // Remove double quote from translation table + unset($trans_tbl["""]); + } + + return strtr ($string, $trans_tbl); + } +} + +/** +* @param string +* @return string +* Deprecated - use the code within this function instead - not used in Mambo +*/ +function mosParseParams( $txt ) { + $pparser = new mosParameters($txt); + return $pparser->getParams(); +} + +class mosEmpty { + function def( $key, $value='' ) { + return 1; + } + function get( $key, $default='' ) { + return 1; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/mambolanguage.class.php 4.6-complete/uploadfiles/includes/mambolanguage.class.php --- 4.6rc2/uploadfiles/includes/mambolanguage.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/mambolanguage.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,364 @@ +'','mon'=>'','tue'=>'','wed'=>'','thu'=>'','fri'=>'','sat'=>''); + var $months = array('jan'=>'','feb'=>'','mar'=>'','apr'=>'','may'=>'','jun'=>'','jul'=>'','aug'=>'','sep'=>'','oct'=>'','nov'=>'','dec'=>''); + var $files = array(); + + function mamboLanguage($lang, $path = null) { + $this->name = $lang; + $this->path = $path; + if (is_null($this->path)) $this->path = mamboCore::get('rootPath').'/language/'; + $this->load(); + } + + function getFileName() { + $file = $this->iso639; + $file .= strlen($this->iso3166_2) == 2 ? '_' . $this->iso3166_2 : ''; + return $file; + } + + function get($var) { + return isset($this->$var) ? $this->$var : null; + } + function set($var, $value) { + if (isset($this->$var)) $this->$var = $value; + } + function save() { + $this->updateFiles(); + + $xml = $this->toXML(); + + if (strtolower($this->charset) != 'utf-8') { + if (function_exists('iconv')) { + $xml = iconv("utf-8", $this->charset, $xml); + } + } + /**/ + $fp = fopen($this->path . $this->getFileName() . '.xml', 'w+'); + fwrite($fp, $xml); + fclose($fp); + } + + function getLanguages() { + $langfiles = glob($this->path . "*.xml"); + foreach($langfiles as $xml) { + $xml = str_replace($this->path, '', $xml); + if (substr($xml, 0, -4) != 'locales') { + $lobj = &new mamboLanguage(substr($xml, 0, -4), $this->path) ; + $langs[$lobj->name] = $lobj; + } + } + return $langs; + } + + function setPlurals($exp) { + preg_match('/nplurals\s*=\s*(\d+)\s*;\s*plural\s*=\s*(.*)\s*;/', $exp, $plurals); + $this->plural_form = array('nplurals' => $plurals[1], 'plural' => $plurals[2], 'expression' => $plurals[0]); + } + + function getDate($format = null, $timestamp = null) { + if (is_null($format)) $format = $this->date_format; + if (is_null($timestamp)) { + $timestamp = time(); + } + $days = array_values($this->days); + $months = array_values($this->months); + $date = preg_replace('/%[aA]/', $days[(int)strftime('%w', $timestamp)], $format); + $date = preg_replace('/%[bB]/', $months[(int)strftime('%m', $timestamp)-1], $date); + return strftime($date, $timestamp); + } + + function load($load_catalogs = false) { + if (is_readable($this->path . $this->name . ".xml")) { + + $source = file_get_contents($this->path . $this->name . ".xml"); + if (preg_match('//m', $source, $m)) { + $encoding = strtoupper($m[1]); + } else { + $encoding = "UTF-8"; + } + + if($encoding == "UTF-8" || $encoding == "US-ASCII" || $encoding == "ISO-8859-1") { + $parser = xml_parser_create($encoding); + } else { + + #if(function_exists('mb_convert_encoding')) { + $encoded_source = iconv($encoding, "UTF-8", $source); + # } + + if($encoded_source != NULL) { + $source = str_replace ( $m[0],'', $encoded_source); + } + + $parser = xml_parser_create("UTF-8"); + } + + xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8"); + xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); + xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); + if (!xml_parse_into_struct($parser, implode("", file($this->path . $this->name . ".xml")), $values)) { + die(sprintf("XML error: %s at ".$this->path . $this->name.".xml in line %d", + xml_error_string(xml_get_error_code($parser)), + xml_get_current_line_number($parser))); + } + xml_parser_free($parser); + + + foreach($values as $key => $value) { + $tag = strtolower($value['tag']); + switch ($tag) { + case 'name': + $this->title = $value['value']; + break; + case 'author': + case 'creationdate': + case 'copyright': + case 'license': + case 'authoremail': + case 'authorurl': + case 'version': + case 'description': + $this->$tag = $value['value']; + break; + case 'locale': + if ($value['type'] == 'open') { + foreach ($value['attributes'] as $k => $v) + $this->$k = $v; + } + break; + case 'date_format': + $this->date_format = $value['value']; + break; + case 'plural_form': + if (!empty($value['attributes']['expression'])) { + $this->plural_form = $value['attributes']; + } + break; + case 'charset': + $this->codesets[] = $value['value']; + break; + case 'days': + $this->days = $value['attributes']; + break; + case 'months': + $this->months = $value['attributes']; + break; + case 'filename': + if ($load_catalogs) { + $file = $value['attributes']; + $file['filename'] = $value['value']; + $this->files[] = $file; + } + break; + } + } + $this->codesets = array_unique($this->codesets); + + return true; + } + return false; + } + + + + + function updateFiles() { + $dir = $this->path . $this->name . '/'; + $langfiles = mosReadDirectory($dir, '.po$'); + set_time_limit(60); + + foreach ($langfiles as $lf) { + $domain = substr($lf, 0, -3); + $catalog = new PHPGettext_Catalog($domain, $this->path); + $catalog->setproperty('lang', $this->name); + $catalog->setproperty('mode', _MODE_PO_); + $catalog->load(); + $file['filename'] = "language/" . $this->name . '/' . $lf; + $file['domain'] = $domain; + $file['strings'] = count($catalog->strings); + $file['percent'] = ''; + $file['translated'] = 0; + $file['fuzzy'] = 0; + $pluralfuzz = false; + foreach ($catalog->strings as $msg) { + if (is_array($msg->msgstr)) { + foreach ($msg->msgstr as $i) { + $unt = empty($i); + } + if (!$unt) { + $file['translated']++; + } + } + if (!is_array($msg->msgstr) && !empty($msg->msgstr) && !$msg->is_fuzzy) { + $file['translated']++; + } + if ($msg->is_fuzzy) { + $file['fuzzy']++; + } + } + + + $nonfuzzy = $file['strings'] - $file['fuzzy']; + if (!$nonfuzzy) $nonfuzzy = 1; + $file['percent'] = round($file['translated'] * 100 / $nonfuzzy, 2); + unset($nonfuzzy); + $this->files[] = $file; + } + } + + function toXML() { + $array[] = array('tag' => 'mosinstall', 'type' => 'open', 'level' => 1, 'attributes' => array('version' => '4.6', 'type' => 'language')); + $array[] = array('tag' => 'name', 'type' => 'complete', 'level' => 2, 'value' => $this->title); + $array[] = array('tag' => 'version', 'type' => 'complete', 'level' => 2, 'value' => $this->version); + $array[] = array('tag' => 'description', 'type' => 'complete', 'level' => 2, 'value' => $this->description); + $array[] = array('tag' => 'creationdate', 'type' => 'complete', 'level' => 2, 'value' => $this->creationdate); + $array[] = array('tag' => 'author', 'type' => 'complete', 'level' => 2, 'value' => $this->author); + $array[] = array('tag' => 'authorurl', 'type' => 'complete', 'level' => 2, 'value' => $this->authorurl); + $array[] = array('tag' => 'authoremail', 'type' => 'complete', 'level' => 2, 'value' => $this->authoremail); + $array[] = array('tag' => 'copyright', 'type' => 'complete', 'level' => 2, 'value' => $this->copyright); + $array[] = array('tag' => 'license', 'type' => 'complete', 'level' => 2, 'value' => $this->license); + $array[] = array('tag' => 'params', 'type' => 'open', 'level' => 2); + $array[] = array('tag' => 'param', 'type' => 'complete', 'level' => 3, 'attributes' => array('name' => 'locale', 'type' => 'text', 'default' => $this->locale, 'label' => 'Locale String', 'description' => 'Locale string for setlocale() (eg. en, english)')); + $array[] = array('tag' => 'param', 'type' => 'complete', 'level' => 3, 'attributes' => array('name' => 'charset', 'type' => 'text', 'default' => $this->charset, 'label' => 'Character Set', 'description' => 'Character set for this language.')); + $array[] = array('tag' => 'param', 'type' => 'complete', 'level' => 3, 'attributes' => array('name' => 'text_direction', 'type' => 'text', 'default' => $this->text_direction, 'label' => 'Text Direction', 'description' => 'left-to-right or light-to-left')); + $array[] = array('tag' => 'param', 'type' => 'complete', 'level' => 3, 'attributes' => array('name' => 'date_format', 'type' => 'text', 'default' => $this->date_format, 'label' => 'Date Format', 'description' => 'Date format for strftime() (eg. %A, %d %B %Y)')); + $array[] = array('tag' => 'param', 'type' => 'complete', 'level' => 3, 'attributes' => array('name' => 'plural_form', 'type' => 'text', 'default' => htmlentities($this->plural_form['expression']), 'label' => 'Plural Forms', 'description' => 'Plural Forms expression')); + $array[] = array('tag' => 'params', 'type' => 'close', 'level' => 2); + $array[] = array('tag' => 'locale', 'type' => 'open', 'level' => 2, 'attributes' => array('name' => $this->name, 'title' => $this->title, 'territory' => $this->territory, 'locale' => $this->locale, 'text_direction' => $this->text_direction, 'iso639' => $this->iso639, 'iso3166_2' => $this->iso3166_2, 'iso3166_3' => $this->iso3166_3, 'charset' => $this->charset)); + $array[] = array('tag' => 'plural_form', 'type' => 'complete', 'level' => 3, 'attributes' => array('nplurals' => $this->plural_form['nplurals'] , 'plural' => htmlentities($this->plural_form['plural']), 'expression' => htmlentities($this->plural_form['expression']))); + $array[] = array('tag' => 'date_format', 'type' => 'complete', 'level' => 3, 'value' => $this->date_format); + $array[] = array('tag' => 'codesets', 'type' => 'open', 'level' => 3); + foreach ($this->codesets as $charset) $array[] = array('tag' => 'charset', 'type' => 'complete', 'level' => 4, 'value' => $charset); + $array[] = array('tag' => 'codesets', 'type' => 'close', 'level' => 3); + foreach ($this->days as $name => $day) $days[$name] = $day; + $array[] = array('tag' => 'days', 'type' => 'complete', 'level' => 3, 'attributes' => $days); + foreach ($this->months as $name => $month) $months[$name] = $month; + $array[] = array('tag' => 'months', 'type' => 'complete', 'level' => 3, 'attributes' => $months); + $array[] = array('tag' => 'locale', 'type' => 'close', 'level' => 2); + $array[] = array('tag' => 'files', 'type' => 'open', 'level' => 2); + foreach ($this->files as $file) { + $array[] = array('tag' => 'filename', 'type' => 'complete', 'level' => 3, 'value' => $file['filename'], 'attributes' => array('domain' => $file['domain'] , 'strings' => $file['strings'] , 'translated' => $file['translated'] , 'fuzzy' => $file['fuzzy'] , 'percent' => $file['percent'])); + } + $array[] = array('tag' => 'files', 'type' => 'close', 'level' => 2); + $array[] = array('tag' => 'mosinstall', 'type' => 'close', 'level' => 1); + + $xml = "charset\"?>\n"; + if ((!empty($array)) AND (is_array($array))) { + foreach ($array as $key => $value) { + switch ($value["type"]) { + case "open": + $xml .= str_repeat("\t", $value["level"] - 1); + $xml .= "<" . strtolower($value["tag"]); + if (isset($value["attributes"])) { + foreach ($value["attributes"] as $k => $v) { + $xml .= sprintf(' %s="%s"', strtolower($k), $v); + } + } + $xml .= ">\n"; + break; + case "complete": + $xml .= str_repeat("\t", $value["level"] - 1); + $xml .= "<" . strtolower($value["tag"]); + if (isset($value["attributes"])) { + foreach ($value["attributes"] as $k => $v) { + $xml .= sprintf(' %s="%s"', strtolower($k), $v); + } + } + $xml .= ">"; + $xml .= isset($value['value']) ? $value['value'] : false; + $xml .= "\n"; + break; + case "close": + $xml .= str_repeat("\t", $value["level"] - 1); + $xml .= "\n"; + break; + default: + break; + } + } + } + return $xml; + } + + function getLocales() { + $xmlfile = "../language/locales.xml"; + $p = xml_parser_create(); + xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0); + xml_parser_set_option($p, XML_OPTION_SKIP_WHITE, 1); + xml_parse_into_struct($p, implode("", file($xmlfile)), $values); + xml_parser_free($p); + $locales = array(); + foreach($values as $key => $value) { + switch ($value['tag']) { + case 'locale': + if ($value['type'] == 'open') { + $iso639 = $value['attributes']['iso639']; + $language[$iso639] = $value['attributes']['title']; + $locale[$iso639] = $value['attributes']; + $directions[$iso639] = $value['attributes']['text_direction']; + } + break; + case 'territory': + $t['iso3166_2'] = $value['attributes']['iso3166_2']; + $t['iso3166_3'] = $value['attributes']['iso3166_3']; + $t['territory'] = $value['value']; + $territories[$iso639][] = $t; + break; + case 'charset': + $locale[$iso639]['codesets'][] = $codesets[$iso639][] = $value['value']; + break; + case 'date_format': + $locale[$iso639]['dateformats'] = $dateformats[$iso639] = $value['value']; + break; + case 'days': + $locale[$iso639]['days'] = $value['attributes']; + break; + case 'months': + $locale[$iso639]['months'] = $value['attributes']; + break; + case 'plural_form': + $exp = ''; + if (!empty($value['attributes']['expression'])) { + $locale[$iso639]['plural_form'] = $value['attributes']; + $plural_forms[$iso639] = $value['attributes']['expression']; + } + break; + } + } + $locales['locales'] = $locale; + $locales['languages'] = $language; + $locales['territories'] = $territories; + $locales['codesets'] = $codesets; + $locales['dateformats'] = $dateformats; + $locales['directions'] = $directions; + $locales['plural_forms'] = $plural_forms; + return $locales; + } +} + +function getlocales() { + return mamboLanguage::getLocales(); +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/metadata.php 4.6-complete/uploadfiles/includes/metadata.php --- 4.6rc2/uploadfiles/includes/metadata.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/metadata.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,17 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/pageNavigation.php 4.6-complete/uploadfiles/includes/pageNavigation.php --- 4.6rc2/uploadfiles/includes/pageNavigation.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/pageNavigation.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,134 @@ +total = intval( $total ); + $this->limitstart = max( intval($limitstart), 0 ); + $this->limit = max( intval($limit), 0 ); + } + /** + * Returns the html limit # input box + * @param string The basic link to include in the href + * @return string + */ + function getLimitBox ( $link ) { + $limits = array(); + for ($i=5; $i <= 30; $i+=5) { + $limits[] = mosHTML::makeOption( "$i" ); + } + $limits[] = mosHTML::makeOption( "50" ); + + // build the html select list + $link = sefRelToAbs($link.'&limit=\' + this.options[selectedIndex].value + \'&limitstart='.$this->limitstart); + return mosHTML::selectList( $limits, 'limit', + 'class="inputbox" size="1" onchange="document.location.href=\''.$link.'\';"', + 'value', 'text', $this->limit ); + } + /** + * Writes the html limit # input box + * @param string The basic link to include in the href + */ + function writeLimitBox ( $link ) { + echo mosPageNav::getLimitBox( $link ); + } + /** + * Writes the html for the pages counter, eg, Results 1-10 of x + */ + function writePagesCounter() { + $txt = ''; + $from_result = $this->limitstart+1; + if ($this->limitstart + $this->limit < $this->total) { + $to_result = $this->limitstart + $this->limit; + } else { + $to_result = $this->total; + } + if ($this->total > 0) { + $txt .= sprintf(T_('Results %d - %d of %d'), $from_result, $to_result, $this->total); + } + return $txt; + } + + /** + * Writes the html for the leafs counter, eg, Page 1 of x + */ + function writeLeafsCounter() { + $txt = ''; + $page = $this->limitstart+1; + if ($this->total > 0) { + $txt .= sprintf(T_('Page %d of %d'), $page, $this->total); + } + return $txt; + } + + /** + * Writes the html links for pages, eg, previous, next, 1 2 3 ... x + * @param string The basic link to include in the href + */ + function writePagesLinks( $link ) { + $txt = ''; + + $displayed_pages = 10; + $total_pages = ceil( $this->total / $this->limit ); + $this_page = ceil( ($this->limitstart+1) / $this->limit ); + $start_loop = (floor(($this_page-1)/$displayed_pages))*$displayed_pages+1; + if ($start_loop + $displayed_pages - 1 < $total_pages) { + $stop_loop = $start_loop + $displayed_pages - 1; + } else { + $stop_loop = $total_pages; + } + + $link .= '&limit='. $this->limit; + + if ($this_page > 1) { + $page = ($this_page - 2) * $this->limit; + $txt .= '<< '. T_('Start') .' '; + $txt .= '< '. T_('Previous') .' '; + } else { + $txt .= '<< '. T_('Start') .' '; + $txt .= '< '. T_('Previous') .' '; + } + + for ($i=$start_loop; $i <= $stop_loop; $i++) { + $page = ($i - 1) * $this->limit; + if ($i == $this_page) { + $txt .= ''. $i .' '; + } else { + $txt .= ''. $i .' '; + } + } + + if ($this_page < $total_pages) { + $page = $this_page * $this->limit; + $end_page = ($total_pages-1) * $this->limit; + $txt .= ''. T_('Next') .' > '; + $txt .= ''. T_('End') .' >>'; + } else { + $txt .= ''. T_('Next') .' > '; + $txt .= ''. T_('End') .' >>'; + } + return $txt; + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/pathway.php 4.6-complete/uploadfiles/includes/pathway.php --- 4.6rc2/uploadfiles/includes/pathway.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/pathway.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,18 @@ +makePathway(); + +?> diff -ruN 4.6rc2/uploadfiles/includes/pdf.php 4.6-complete/uploadfiles/includes/pdf.php --- 4.6rc2/uploadfiles/includes/pdf.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/pdf.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,124 @@ +load( $id ); + //Find Author Name + $users_rows = new mosUser( $database ); + $users_rows->load( $row->created_by ); + $row->author = $users_rows->name; + $row->usertype = $users_rows->usertype; + + // Ugly but needed to get rid of all the stuff the PDF class cant handle + $row->fulltext = str_replace( '

      ', "\n\n" , $row->fulltext ); + $row->fulltext = str_replace( '

      ', "\n\n" , $row->fulltext ); + $row->fulltext = str_replace( '
      ', "\n" , $row->fulltext ); + $row->fulltext = str_replace( '
      ', "\n" , $row->fulltext ); + $row->fulltext = str_replace( '
      ', "\n" , $row->fulltext ); + $row->fulltext = str_replace( '
      ', "\n" , $row->fulltext ); + $row->fulltext = str_replace( '

    • ', "\n - " , $row->fulltext ); + $row->fulltext = str_replace( '
    • ', "\n - " , $row->fulltext ); + $row->fulltext = strip_tags( $row->fulltext ); + $row->fulltext = str_replace( '{mosimage}', '', $row->fulltext ); + $row->fulltext = str_replace( '{mospagebreak}', '', $row->fulltext ); + $row->fulltext = decodeHTML( $row->fulltext ); + + $row->introtext = str_replace( '

      ', "\n\n", $row->introtext ); + $row->introtext = str_replace( '

      ', "\n\n", $row->introtext ); + $row->introtext = str_replace( '

    • ', "\n - " , $row->introtext ); + $row->introtext = str_replace( '
    • ', "\n - " , $row->introtext ); + $row->introtext = strip_tags( $row->introtext ); + $row->introtext = str_replace( '{mosimage}', '', $row->introtext ); + $row->introtext = str_replace( '{mospagebreak}', '', $row->introtext ); + $row->introtext = decodeHTML( $row->introtext ); + + $pdf =& new Cezpdf( 'a4', 'P' ); //A4 Portrait + $pdf -> ezSetCmMargins( 2, 1.5, 1, 1); + $pdf->selectFont( './fonts/Helvetica.afm' ); //choose font + + $all = $pdf->openObject(); + $pdf->saveState(); + $pdf->setStrokeColor( 0, 0, 0, 1 ); + + // footer + $pdf->line( 10, 40, 578, 40 ); + $pdf->line( 10, 822, 578, 822 ); + $pdf->addText( 30, 34, 6, $mosConfig_live_site .' - '. $mosConfig_sitename ); + $pdf->addText( 250, 34, 6, T_('Powered by Mambo') ); + $pdf->addText( 450, 34, 6, T_('Generated:'). date( 'j F, Y, H:i', time() + $mosConfig_offset*60*60 ) ); + + $pdf->restoreState(); + $pdf->closeObject(); + $pdf->addObject( $all, 'all' ); + $pdf->ezSetDy( 30 ); + + $txt1 = $row->title; + $pdf->ezText( $txt1, 14 ); + + $txt2 = NULL; + $mod_date = NULL; + $create_date = NULL; + if ( intval( $row->modified ) <> 0 ) { + $mod_date = mosFormatDate( $row->modified ); + } + if ( intval( $row->created ) <> 0 ) { + $create_date = mosFormatDate( $row->created ); + } + + if ( $mosConfig_hideCreateDate == '0' ) { + $txt2 .= '('. $create_date .') - '; + } + + if ( $mosConfig_hideAuthor == "0" ) { + if ( $row->author != '' && $mosConfig_hideAuthor == '0' ) { + if ($row->usertype == 'administrator' || $row->usertype == 'superadministrator') { + $txt2 .= T_('Written by') .' '. ( $row->created_by_alias ? $row->created_by_alias : $row->author ); + } else { + $txt2 .= T_('Contributed by') .' '. ( $row->created_by_alias ? $row->created_by_alias : $row->author ); + } + } + } + + if ( $mosConfig_hideModifyDate == "0" ) { + $txt2 .= ' - '. T_('Last Updated') .' ('. $mod_date .') '; + } + + $txt2 .= "\n\n"; + $pdf->ezText( $txt2, 8 ); + $txt3 = $row->introtext ."\n". $row->fulltext; + $pdf->ezText( $txt3, 10 ); + $pdf->ezStream(); +} + +function decodeHTML( $string ) { + $string = strtr( $string, array_flip(get_html_translation_table( HTML_ENTITIES ) ) ); + $string = preg_replace( "/&#([0-9]+);/me", "chr('\\1')", $string ); + return $string; +} + +function get_php_setting ($val ) { + $r = ( ini_get( $val ) == '1' ? 1 : 0 ); + return $r ? T_('ON') : T_('OFF'); +} + +dofreePDF ( $database ); +?> diff -ruN 4.6rc2/uploadfiles/includes/phpInputFilter/class.inputfilter.php 4.6-complete/uploadfiles/includes/phpInputFilter/class.inputfilter.php --- 4.6rc2/uploadfiles/includes/phpInputFilter/class.inputfilter.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpInputFilter/class.inputfilter.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,327 @@ +tagsArray = (array) $tagsArray; + $this->attrArray = (array) $attrArray; + $this->tagsMethod = $tagsMethod; + $this->attrMethod = $attrMethod; + $this->xssAuto = $xssAuto; + } + + /** + * Method to be called by another php script. Processes for XSS and specified bad code. + * @access public + * @param Mixed $source - input string/array-of-string to be 'cleaned' + * @return String $source - 'cleaned' version of input parameter + */ + function process($source) { + // clean all elements in this array + if (is_array($source)) { + foreach($source as $key => $value) + // filter element for XSS and other 'bad' code etc. + if (is_string($value)) $source[$key] = $this->remove($this->decode($value)); + return $source; + // clean this string + } else if (is_string($source)) { + // filter source for XSS and other 'bad' code etc. + return $this->remove($this->decode($source)); + // return parameter as given + } else return $source; + } + + /** + * Internal method to iteratively remove all unwanted tags and attributes + * @access protected + * @param String $source - input string to be 'cleaned' + * @return String $source - 'cleaned' version of input parameter + */ + function remove($source) { + $loopCounter=0; + // provides nested-tag protection + while($source != $this->filterTags($source)) { + $source = $this->filterTags($source); + $loopCounter++; + } + return $source; + } + + /** + * Internal method to strip a string of certain tags + * @access protected + * @param String $source - input string to be 'cleaned' + * @return String $source - 'cleaned' version of input parameter + */ + function filterTags($source) { + // filter pass setup + $preTag = NULL; + $postTag = $source; + // find initial tag's position + $tagOpen_start = strpos($source, '<'); + // interate through string until no tags left + while($tagOpen_start !== FALSE) { + // process tag interatively + $preTag .= substr($postTag, 0, $tagOpen_start); + $postTag = substr($postTag, $tagOpen_start); + $fromTagOpen = substr($postTag, 1); + // end of tag + $tagOpen_end = strpos($fromTagOpen, '>'); + if ($tagOpen_end === false) break; + // next start of tag (for nested tag assessment) + $tagOpen_nested = strpos($fromTagOpen, '<'); + if (($tagOpen_nested !== false) && ($tagOpen_nested < $tagOpen_end)) { + $preTag .= substr($postTag, 0, ($tagOpen_nested+1)); + $postTag = substr($postTag, ($tagOpen_nested+1)); + $tagOpen_start = strpos($postTag, '<'); + continue; + } + $tagOpen_nested = (strpos($fromTagOpen, '<') + $tagOpen_start + 1); + $currentTag = substr($fromTagOpen, 0, $tagOpen_end); + $tagLength = strlen($currentTag); + if (!$tagOpen_end) { + $preTag .= $postTag; + $tagOpen_start = strpos($postTag, '<'); + } + // iterate through tag finding attribute pairs - setup + $tagLeft = $currentTag; + $attrSet = array(); + $currentSpace = strpos($tagLeft, ' '); + // is end tag + if (substr($currentTag, 0, 1) == "/") { + $isCloseTag = TRUE; + list($tagName) = explode(' ', $currentTag); + $tagName = substr($tagName, 1); + // is start tag + } else { + $isCloseTag = FALSE; + list($tagName) = explode(' ', $currentTag); + } + // excludes all "non-regular" tagnames OR no tagname OR remove if xssauto is on and tag is blacklisted + if ((!preg_match("/^[a-z][a-z0-9]*$/i",$tagName)) || (!$tagName) || ((in_array(strtolower($tagName), $this->tagBlacklist)) && ($this->xssAuto))) { + $postTag = substr($postTag, ($tagLength + 2)); + $tagOpen_start = strpos($postTag, '<'); + // don't append this tag + continue; + } + // this while is needed to support attribute values with spaces in! + while ($currentSpace !== FALSE) { + $fromSpace = substr($tagLeft, ($currentSpace+1)); + $nextSpace = strpos($fromSpace, ' '); + $openQuotes = strpos($fromSpace, '"'); + $closeQuotes = strpos(substr($fromSpace, ($openQuotes+1)), '"') + $openQuotes + 1; + // another equals exists + if (strpos($fromSpace, '=') !== FALSE) { + // opening and closing quotes exists + if (($openQuotes !== FALSE) && (strpos(substr($fromSpace, ($openQuotes+1)), '"') !== FALSE)) + $attr = substr($fromSpace, 0, ($closeQuotes+1)); + // one or neither exist + else $attr = substr($fromSpace, 0, $nextSpace); + // no more equals exist + } else $attr = substr($fromSpace, 0, $nextSpace); + // last attr pair + if (!$attr) $attr = $fromSpace; + // add to attribute pairs array + $attrSet[] = $attr; + // next inc + $tagLeft = substr($fromSpace, strlen($attr)); + $currentSpace = strpos($tagLeft, ' '); + } + // appears in array specified by user + $tagFound = in_array(strtolower($tagName), $this->tagsArray); + // remove this tag on condition + if ((!$tagFound && $this->tagsMethod) || ($tagFound && !$this->tagsMethod)) { + // reconstruct tag with allowed attributes + if (!$isCloseTag) { + $attrSet = $this->filterAttr($attrSet); + $preTag .= '<' . $tagName; + for ($i = 0; $i < count($attrSet); $i++) + $preTag .= ' ' . $attrSet[$i]; + // reformat single tags to XHTML + if (strpos($fromTagOpen, "'; + else $preTag .= ' />'; + // just the tagname + } else $preTag .= ''; + } + // find next tag's start + $postTag = substr($postTag, ($tagLength + 2)); + $tagOpen_start = strpos($postTag, '<'); + } + // append any code after end of tags + $preTag .= $postTag; + return $preTag; + } + + /** + * Internal method to strip a tag of certain attributes + * @access protected + * @param Array $attrSet + * @return Array $newSet + */ + function filterAttr($attrSet) { + $newSet = array(); + // process attributes + for ($i = 0; $i xssAuto) && ((in_array(strtolower($attrSubSet[0]), $this->attrBlacklist)) || (substr($attrSubSet[0], 0, 2) == 'on')))) + continue; + // xss attr value filtering + if ($attrSubSet[1]) { + // strips unicode, hex, etc + $attrSubSet[1] = str_replace('&#', '', $attrSubSet[1]); + // strip normal newline within attr value + $attrSubSet[1] = preg_replace('/\s+/', '', $attrSubSet[1]); + // strip double quotes + $attrSubSet[1] = str_replace('"', '', $attrSubSet[1]); + // [requested feature] convert single quotes from either side to doubles (Single quotes shouldn't be used to pad attr value) + if ((substr($attrSubSet[1], 0, 1) == "'") && (substr($attrSubSet[1], (strlen($attrSubSet[1]) - 1), 1) == "'")) + $attrSubSet[1] = substr($attrSubSet[1], 1, (strlen($attrSubSet[1]) - 2)); + // strip slashes + $attrSubSet[1] = stripslashes($attrSubSet[1]); + } + // auto strip attr's with "javascript: + if (InputFilter::badAttributeValue( $attrSubSet )) + continue; + + // if matches user defined array + $attrFound = in_array(strtolower($attrSubSet[0]), $this->attrArray); + // keep this attr on condition + if ((!$attrFound && $this->attrMethod) || ($attrFound && !$this->attrMethod)) { + // attr has value + if ($attrSubSet[1]) $newSet[] = $attrSubSet[0] . '="' . $attrSubSet[1] . '"'; + // attr has decimal zero as value + else if ($attrSubSet[1] == "0") $newSet[] = $attrSubSet[0] . '="0"'; + // reformat single attributes to XHTML + else $newSet[] = $attrSubSet[0] . '="' . $attrSubSet[0] . '"'; + } + } + return $newSet; + } + + /** + * Function to determine if contents of an attribute is safe + * @param Array A 2 element array for attribute [name] and [value] + * @return Boolean True if bad code is detected + */ + function badAttributeValue( $attrSubSet ) { + $attrSubSet[0] = strtolower( $attrSubSet[0] ); + $attrSubSet[1] = strtolower( $attrSubSet[1] ); + return ( + ((strpos($attrSubSet[1], 'expression') !== false) && ($attrSubSet[0]) == 'style') || + (strpos($attrSubSet[1], 'javascript:') !== false) || + (strpos($attrSubSet[1], 'behaviour:') !== false) || + (strpos($attrSubSet[1], 'vbscript:') !== false) || + (strpos($attrSubSet[1], 'mocha:') !== false) || + (strpos($attrSubSet[1], 'livescript:') !== false) + ); + } + + /** + * Try to convert to plaintext + * @access protected + * @param String $source + * @return String $source + */ + function decode($source) { + // url decode + $source = html_entity_decode($source, ENT_QUOTES, "ISO-8859-1"); + // convert decimal + $source = preg_replace('/&#(\d+);/me',"chr(\\1)", $source); // decimal notation + // convert hex + $source = preg_replace('/&#x([a-f0-9]+);/mei',"chr(0x\\1)", $source); // hex notation + return $source; + } + + /** + * Method to be called by another php script. Processes for SQL injection + * @access public + * @param Mixed $source - input string/array-of-string to be 'cleaned' + * @param Buffer $connection - An open MySQL connection + * @return String $source - 'cleaned' version of input parameter + */ + function safeSQL($source, &$connection) { + // clean all elements in this array + if (is_array($source)) { + foreach($source as $key => $value) + // filter element for SQL injection + if (is_string($value)) $source[$key] = $this->quoteSmart($this->decode($value), $connection); + return $source; + // clean this string + } else if (is_string($source)) { + // filter source for SQL injection + if (is_string($source)) return $this->quoteSmart($this->decode($source), $connection); + // return parameter as given + } else return $source; + } + + /** + * @author Chris Tobin + * @author Daniel Morris + * @access protected + * @param String $source + * @param Resource $connection - An open MySQL connection + * @return String $source + */ + function quoteSmart($source, &$connection) { + // strip slashes + if (get_magic_quotes_gpc()) $source = stripslashes($source); + // quote both numeric and text + $source = $this->escapeString($source, $connection); + return $source; + } + + /** + * @author Chris Tobin + * @author Daniel Morris + * @access protected + * @param String $source + * @param Resource $connection - An open MySQL connection + * @return String $source + */ + function escapeString($string, &$connection) { + // depreciated function + if (version_compare(phpversion(),"4.3.0", "<")) mysql_escape_string($string); + // current function + else mysql_real_escape_string($string); + return $string; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/includes/phpInputFilter/index.html 4.6-complete/uploadfiles/includes/phpInputFilter/index.html --- 4.6rc2/uploadfiles/includes/phpInputFilter/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpInputFilter/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpgettext/error.php 4.6-complete/uploadfiles/includes/phpgettext/error.php --- 4.6rc2/uploadfiles/includes/phpgettext/error.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpgettext/error.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,18 @@ +dump() in {$trace[0]['file']}:{$trace[0]['line']}
    • "; + //include_once 'Var_Dump.php'; + if (class_exists('Var_Dump')) { + Var_Dump::displayInit(array('display_mode'=>'HTML4_Table')); + Var_Dump::display($var); + } else { + echo "
      ";
      +        var_dump($var);
      +        echo "
      "; + } +} + + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpgettext/index.html 4.6-complete/uploadfiles/includes/phpgettext/index.html --- 4.6rc2/uploadfiles/includes/phpgettext/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpgettext/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.catalog.php 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.catalog.php --- 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.catalog.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.catalog.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,411 @@ + + * @package PHPGettext + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + * @link http://phpgettext.web-sense.net + */ + + +define('_MODE_MO_', 'mo'); +define('_MODE_PO_', 'po'); +define('_MODE_POT_','pot'); + +require_once('phpgettext.message.php'); +class PHPGettext_Catalog +{ + var $mode = _MODE_MO_; + var $name = ''; + var $path = ''; + var $lang = 'en'; + var $charset = 'utf-8'; + var $category = 'LC_MESSAGES'; + var $comments = array(); + var $headers = array(); + var $strings = array(); + function PHPGettext_Catalog($name, $path) + { + $this->name = trim($name); + $this->path = trim($path); + } + + function load() + { + switch ($this->mode) + { + case _MODE_MO_: + return $this->_readMO(); + break; + case _MODE_PO_: + return $this->_readPO(); + break; + case _MODE_POT_: + return $this->_readPO(); + break; + default: + trigger_error('Unrecognized mode in '.__CLASS__.'->'.__FUNCTION__, E_USER_ERROR); + return false; + break; + } + } + + function save() + { + + $langdir = $this->path.DIRECTORY_SEPARATOR.$this->lang; + if (!is_dir($langdir)) { + $this->createdir($langdir.DIRECTORY_SEPARATOR.$this->category); + } + + switch ($this->mode) + { + case _MODE_MO_: + return $this->_writeMO(); + break; + case _MODE_PO_: + $this->setRevisionDate(); + return $this->_writePO(); + case _MODE_POT_: + return $this->_writePO(); + break; + default: + trigger_error('Unrecognized mode in '.__CLASS__.'->'.__FUNCTION__, E_USER_ERROR); + return false; + break; + } + } + + + function filename() + { + $return = $this->path.DIRECTORY_SEPARATOR; + $return .= !empty($this->lang) ? $this->lang.DIRECTORY_SEPARATOR : ''; + $return .= (!empty($this->category) && $this->mode == _MODE_MO_) ? $this->category.DIRECTORY_SEPARATOR : ''; + $return .= $this->name.'.'.$this->mode; + return $return; + } + + function createdir($path) + { + if (!file_exists($path)) + { + // The directory doesn't exist. Recurse, passing in the parent + // directory so that it gets created. + $this->createdir(dirname($path)); + mkdir($path, 0777); + } + } + + function setRevisionDate() + { + $this->headers['PO-Revision-Date'] = date('Y-m-d G:iO'); + } + + function setComments($comments) + { + $comments = trim($comments); + if (is_string($comments)) { + $comments = explode("\n", $comments); + if (is_array($comments)) { + foreach ($comments as $comment) { + if (strpos($comment, '#') == 1) { + $this->comments .= $comment."\n"; + } + } + } + } + } + + function setHeaders($headers) + { + if (!is_array($headers)) { + return false; + } + foreach ($headers as $key => $value) { + $this->headers[$key] = $value; + } + } + + function setproperty($property, $value = null) { + $return = $this->$property; + $this->$property = $value; + return $return; + } + function getproperty($property) { + return $this->$property; + } + function addentry($msgid, $msgid_plural=null, $msgstr=null, $comments=array()) + { + $entry = new PHPGettext_Message($msgid, $msgid_plural); + if (!is_null($msgstr)) $entry->setmsgstr($msgstr); + if (!empty($comments)) $entry->setcomments($comments); + $this->strings[$msgid] = $entry; + } + + function _writePO() + { + $file = $this->filename(); + + // open PO file + if (!is_resource($res = @fopen($file, 'w'))) { + trigger_error("Cannot create '$file'. ", E_USER_WARNING); + } + // lock PO file exclusively + if (!@flock($res, LOCK_EX)) { + @fclose($res); + trigger_error("Cannot lock '$file'. ", E_USER_WARNING); + } + // write comments + if (count($this->comments > 0)) { + foreach ($this->comments as $line) { + fwrite($res, trim($line)."\n"); + } + } + // write meta info + if (count($this->headers > 0)) { + $header = 'msgid ""' . "\nmsgstr " . '""' . "\n"; + foreach ($this->headers as $k => $v) { + $header .= '"' . $k . ': ' . $v . '\n"' . "\n"; + } + fwrite($res, $header . "\n"); + } + + // write strings + if (count($this->strings > 0)) { + foreach ($this->strings as $string) { + fwrite($res, $string->toString()); + } + } + //done + @flock($res, LOCK_UN); + @fclose($res); + return true; + } + + function _readPO() + { + $file = $this->filename(); + if (!is_readable($file)) { + trigger_error('Gettext Catalog '.$this->filename().' not found', E_USER_WARNING); + return false; + } + // load file + if (!$data = @file($file)) { + trigger_error('Gettext Catalog '.$this->filename().' not found', E_USER_WARNING); + return false; + } + $count = 0; + $comments = ''; + $is_fuzzy = false; + $nplural = false; + + // get all strings + foreach ($data as $line) { + // comments + if (strncmp($line, "#", 1) == 0) { + if ($count < 1) { + $this->comments[] = $line; + } else { + if (strncmp($line, "#,", 2) == 0 && preg_match('/fuzzy/', $line)) { + unset($line); + $is_fuzzy = true; + } + if (isset($line)) { + $comments[] = $line; + } + } + }// msgid + elseif (preg_match('/^msgid\s*"(.*)"\s*|^msgid_plural\s*"(.*)"\s*/s', $line, $matches)) { + if (preg_match('/^msgid_plural\s*/s', $line, $arr)) { + $nplural = true; + $strings[$count]['msgid_plural'] = $matches[2]; + } else { + $count++; + $strings[$count]['comments'] = isset($comments) ? $comments : ''; + $strings[$count]['msgid'] = ''; + $strings[$count]['msgid_plural'] = ''; + $strings[$count]['msgstr'] = ''; + $strings[$count]['is_fuzzy'] = $is_fuzzy; + if (!empty($matches[1])) { + $strings[$count]['msgid'] = $matches[1]; + } + unset($msgstr); + unset($comments); + $nplural = false; + $is_fuzzy = false; + + } + } // msgstr + elseif (preg_match('/^msgstr\s*"(.*)"\s*|^msgstr\[[0-9]\]\s*"(.*)"\s*/s', $line, $matches)) { + $msgstr = true; + if ($nplural) { + $strings[$count]['msgstr'][] = isset($matches[2]) ? $matches[2] : ''; + } else { + $strings[$count]['msgstr'] = $matches[1]; + } + } // multiline msgid or msgstr + elseif (preg_match('/^"(.*)"\s*$/s', $line, $matches)) { + // headers + if (isset($msgstr) && $count == 1) { + list($key, $value) = explode(':', $matches[1], 2); + $this->headers[$key] = $value; + } + elseif (isset($msgstr) && $count > 1) { + $strings[$count]['msgstr'] .= $matches[1]; + } + else { // msgid + $strings[$count]['msgid'] .= $matches[1]; + } + } + } + + // load the strings + array_shift($strings); + for ($a=0; $a < count($strings); $a++) { + $this->strings[$a] = new PHPGettext_Message($strings[$a]['msgid'], $strings[$a]['msgid_plural']); + $this->strings[$a]->setmsgstr($strings[$a]['msgstr']); + $this->strings[$a]->setfuzzy($strings[$a]['is_fuzzy']); + $this->strings[$a]->setcomments($strings[$a]['comments']); + } + return true; + } + + function _writeMO() + { + $file = $this->filename(); + + // open MO file + if (!is_resource($res = @fopen($file, 'w'))) { + trigger_error("Cannot create '$file'. ", E_USER_WARNING); + } + // lock MO file exclusively + if (!@flock($res, LOCK_EX)) { + @fclose($res); + trigger_error("Cannot lock '$file'. ", E_USER_WARNING); + } + + // get the headers + $headers = ""; + foreach ($this->headers as $key => $val) { + $headers .= $key . ': ' . $val . "\n"; + } + $strings[] = array('msgid' => "", 'msgstr' => $headers); + + // don't write fuzzy entries + foreach ($this->strings as $message) { + if (!$message->is_fuzzy) { + $strings[] = array('msgid' => $message->msgid,'msgid_plural' => $message->msgid_plural, 'msgstr' => $message->msgstr); + } + + } + + $count = count($strings); + fwrite($res, pack('L', (int) 0x950412de)); // magic number + fwrite($res, pack('L', 0)); // revision 0 + fwrite($res, pack('L', $count)); // N - number of strings + $offset = 28; + fwrite($res, pack('L', $offset)); // O - offset of table with original strings + $offset += ($count * 8); + fwrite($res, pack('L', $offset)); // T - offset of table with translation strings + fwrite($res, pack('L', 0)); // S - size of hashing table (set to 0 to omit the table) + $offset += ($count * 8); + fwrite($res, pack('L', $offset)); // H - offset of hashing table + + // offsets for original strings + for ($a=0; $a<$count; $a++) { + if (isset($strings[$a]['msgid_plural'])) { // plurals + $strings[$a]['msgid'] = $strings[$a]['msgid'] ."\0".$strings[$a]['msgid_plural']; + } + $len = strlen($strings[$a]['msgid']); + fwrite($res, pack('L', $len)); + fwrite($res, pack('L', $offset)); + $offset += $len + 1; + } + + // offsets for translated strings + for ($a=0; $a<$count; $a++) { + if (is_array($strings[$a]['msgstr'])) { // plurals + $strings[$a]['msgstr'] = implode("\0", $strings[$a]['msgstr']); + } + $len = strlen($strings[$a]['msgstr']); + fwrite($res, pack('L', $len)); + fwrite($res, pack('L', $offset)); + $offset += $len + 1; + } + + // write original strings + foreach ($strings as $str) { + fwrite($res, $str['msgid'] . "\0"); + } + // write translated strings + foreach ($strings as $str) { + fwrite($res, $str['msgstr'] . "\0"); + } + // done + @flock($res, LOCK_UN); + @fclose($res); + return true; + } + + + function _readMO() + { + $file = $this->filename(); + if (!file_exists($file)) return false; + + // read in data file completely + $f = fopen($file, "rb"); + $data = fread($f, 1<<20); + fclose($f); + + // extract header fields and check file magic + if ($data) { + $header = substr($data, 0, 20); + $header = unpack("L1magic/L1version/L1count/L1o_msg/L1o_trn", $header); + extract($header); + if ((dechex($magic) == "950412de") && ($version == 0)) { + // fetch all strings + for ($a=0; $a<$count; $a++) { + // msgid + $r = unpack("L1len/L1offs", substr($data, $o_msg + $a * 8, 8)); + $msgid = substr($data, $r["offs"], $r["len"]); + unset($msgid_plural); + if (strpos($msgid, "\0")) { // plurals + list($msgid, $msgid_plural) = explode("\0", $msgid); + } + // msgstr + $r = unpack("L1len/L1offs", substr($data, $o_trn + $a * 8, 8)); + $msgstr = substr($data, $r["offs"], $r["len"]); + if (isset($msgid_plural)) { // plurals + $msgstr = explode("\0", $msgstr); + } + $strings[$a]['msgid'] = $msgid; + $strings[$a]['msgstr'] = $msgstr; + $strings[$a]['msgid_plural'] = isset($msgid_plural) ? $msgid_plural : ''; + } + if (!empty($strings[0]['msgstr'])){ // header + $str = explode("\n", $strings[0]['msgstr']); + foreach ($str as $s){ + if (!empty($s)) { + list($key, $value) = explode(':', $s, 2); + $this->headers[$key] = $value; + } + } + } + // load the strings + array_shift($strings); + for ($a=0; $a < count($strings); $a++) { + $this->strings[$a] = new PHPGettext_Message($strings[$a]['msgid'], $strings[$a]['msgid_plural']); + $this->strings[$a]->setmsgstr($strings[$a]['msgstr']); + } + return true; + } + } + return false; + } + + +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.class.php 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.class.php --- 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,603 @@ + + * @package PHPGettext + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + * @link http://phpgettext.web-sense.net + * + * + */ +class PHPGettext +{ + var $has_gettext; + + /** + * The current locale. eg: en-GB + */ + var $lang; + /** + * The current locale. eg: en-GB + */ + var $locale; + + /** + * The current domain + */ + var $domain; + + /** + * The current character set + */ + var $charset; + + /** + * Container for the loaded domains + */ + var $text_domains = array(); + + /** + * The asssociative array of headers for the current domain + */ + var $headers = array(); + /** + * The asssociative array of messages for the current domain + */ + var $messages = array(); + + /** + * The debugging flag + */ + var $debug; + + function PHPGettext() {} + + /** + * + * Set and lookup the locale from the environment variables. + * Priority order for gettext is: + * 1. LANGUAGE + * 2. LC_ALL + * 3. LC_MESSAGE + * 4. LANG + * + * @return unknown + */ + + function setlocale($lang, $locale=false) { + //supress error messages + ini_set('display_errors', '0'); + #dump(setlocale(LC_ALL, 0)); + putenv("LANGUAGE=$lang"); + putenv("LC_ALL=$lang"); + putenv("LC_MESSAGE=$lang"); + putenv("LANG=$lang"); + $this->lang = $lang; + if ($locale) { + $this->locale = setlocale(LC_ALL, $locale); + setlocale(LC_ALL, $locale); + } + //allow error messages + ini_set('display_errors', '1'); + } + + function getlocale() { + if (empty($this->locale)) { + $langs = array( getenv('LANGUAGE'), + getenv('LC_ALL'), + getenv('LC_MESSAGE'), + getenv('LANG') + ); + foreach ($langs as $lang) + if ($lang){ + $this->locale = $lang; + break; + } + } + return $this->locale; + } + + /** + * debugging function + * + */ + function output($message, $untranslated = false){ + switch ($this->debug) + { + case 2: + $trace = debug_backtrace(); + $html = 'T_(%s)'; + $str = sprintf($html, ($untranslated ? 'red' : 'green'), str_replace('\\', '/', $trace[2]['file']), $trace[2]['line'], $message); + break; + case 1: + $str = sprintf('%sT_(%s)',$untranslated ? '!' : '', $message); + break; + case 0: + default: + $str = $message; + break; + } + return $str; + } + + /** + * Alias for gettext + * will also output the result if $output = true + */ + function _($message, $output = false){ + $return = $this->gettext($message); + if ($output) { + echo $return; + return true; + } + return $return; + } + + /** + * Lookup a message in the current domain + * returns translation if it exists or original message + */ + function gettext($message){ + $translation = $message; + if ($this->has_gettext){ + $translation = gettext($message); + } + elseif (isset($this->messages[$this->domain][$message])) { + $translation = !empty($this->messages[$this->domain][$message]) ? $this->messages[$this->domain][$message] : $message; + } + $untranslated = (strcmp($translation, $message) === 0) ? true : false; + return $this->output($translation, $untranslated); + } + + /** + * Override the current domain + * The dgettext() function allows you to override the current domain for a single message lookup. + */ + function dgettext($domain, $message){ + $translation = $message; + if (array_key_exists($domain, $this->messages)){ + if (isset($this->messages[$domain][$message])) + $translation = !empty($this->messages[$domain][$message]) ? $this->messages[$domain][$message] : $message; + } + $untranslated = (strcmp($translation, $message) === 0) ? true : false; + return $this->output($translation, $untranslated); + } + + /** + * Plural version of gettext + */ + function ngettext($msgid, $msgid_plural, $count){ + if ($this->has_gettext){ + $translation = ngettext($msgid, $msgid_plural, $count); + } + $plural = $this->getplural($count, $this->domain); + $original = array($msgid, $msgid_plural); + if (isset($this->messages[$this->domain][$msgid][$plural])) { + $translation = $this->messages[$this->domain][$msgid][$plural]; + } else { + $original = array($msgid, $msgid_plural); + $translation = $original[$plural]; + } + $untranslated = isset($original[$plural]) && (strcmp($translation, $original[$plural]) === 0) ? true : false; + return $this->output($translation, $untranslated); + } + /** + * Plural version of dgettext + */ + function dngettext($domain, $msgid, $msgid_plural, $count){ + $original = array($msgid, $msgid_plural); + $plural = $this->getplural($count, $domain); + if ($this->has_gettext){ + $translation = dngettext($domain, $msgid, $msgid_plural, $count); + } else { + if (isset($this->messages[$domain][$msgid][$plural])) { + $translation = $this->messages[$domain][$msgid][$plural]; + } else { + $translation = $original[$plural]; + } + } + $untranslated = (strcmp($translation, $original[$plural]) === 0) ? true : false; + return $this->output($translation, $untranslated); + } + + /** + * Specify the character encoding in which the messages + * from the DOMAIN message catalog will be returned + * + */ + function bind_textdomain_codeset($domain, $charset){ + if ($this->has_gettext){ + bind_textdomain_codeset($domain, $charset); + } + return $this->text_domains[$domain]["charset"] = $charset; + } + + /** + * Sets the path for a domain + * if gettext is unavailable, translation files will be loaded here + * + */ + function bindtextdomain($domain, $path){ + if ($this->has_gettext){ + bindtextdomain($domain, $path); + } else { + $this->load($domain, $path); + } + return $this->text_domains[$domain]["path"] = $path; + } + + /** + * Sets the default domain textdomain + */ + function textdomain($domain = null){ + if ($this->has_gettext) { + $domain = textdomain($domain); + } + elseif (!is_null($domain)) { + $this->domain = $domain; + $this->load($domain, $this->text_domains[$this->domain]['path']); + } + return $this->domain; + } + + /** + * Overrides the domain for a single lookup + * This function allows you to override the current domain for a single message lookup. + * It also allows you to specify a category. + * Categories are folders within the languages directory . + * currently, only LC_MESSAGES is implemented + * + * The values for categories are: + * LC_CTYPE 0 + * LC_NUMERIC 1 + * LC_TIME 2 + * LC_COLLATE 3 + * LC_MONETARY 4 + * LC_MESSAGES 5 + * LC_ALL 6 + * + * not yet implemented + */ + function dcgettext($domain, $message, $category){ + return $message; + } + + /** + * dcngettext -- Plural version of dcgettext + * not yet implemented + */ + function dcngettext($domain, $msg1, $msg2, $count, $category){ + return $msg1; + } + + + /** + * Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; + * + * nplurals - total number of plurals + * plural - the plural index + * + * Plural-Forms: nplurals=1; plural=0; + * 1 form only + * + * Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; + * Plural-Forms: nplurals=2; plural=n != 1; + * 2 forms, singular used for one only + * + * Plural-Forms: nplurals=2; plural=n>1; + * 2 forms, singular used for zero and one + * + * Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2; + * 3 forms, special case for zero + * + * Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2; + * 3 forms, special cases for one and two + * + * Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3; + * 4 forms, special case for one and all numbers ending in 02, 03, or 04 + */ + function getplural($count, $domain) { + if (isset($this->headers[$domain]['Plural-Forms'])) { + $plural_forms = $this->headers[$domain]['Plural-Forms']; + preg_match('/nplurals[\s]*[=]{1}[\s]*([\d]+);[\s]*plural[\s]*[=]{1}[\s]*(.*);$/', $plural_forms, $matches); + $nplurals = $matches[1]; + $plural_exp = $matches[2]; + if ($nplurals > 1 && strpos($plural_exp, ':') === false) { + $plural = 'return ('.preg_replace('/n/', $count, $plural_exp).') ? 1 : 0;'; + } else { + $plural = 'return '.preg_replace('/n/', $count, $plural_exp); + } + } else { + $plural = 'return '.preg_replace('/n/', $count, 'n != 1 ? 1 : 0;'); + } + return eval($plural); + } + + function load($domain, $path) { + require_once('phpgettext.catalog.php'); + $catalog = new PHPGettext_catalog($domain, $path); + $catalog->setproperty('mode', _MODE_MO_); + $catalog->setproperty('lang', $this->lang); + $catalog->load(); + $this->headers[$domain] = $catalog->headers; + foreach ($catalog->strings as $string) + $this->messages[$domain][$string->msgid] = $string->msgstr; + } +} + + +class PHPGettextAdmin +{ + var $has_gettext = false; + var $gettext_path = ''; + var $debug = false; + + function PHPGettextAdmin($debug = false) + { + if (ini_get('open_basedir') || ini_get('safe_mode')) { + $this->has_gettext = false; + return false; + } + $cmd = 'which gettext'; + if (substr(strtoupper(PHP_OS), 0, 3) == 'WIN'){ + $cmd = dirname(__FILE__).DIRECTORY_SEPARATOR.$cmd; + } + exec($cmd, $output, $return); + if ($output) { + $path = dirname($output[0]); + if (is_dir($path)) { + $this->has_gettext = true; + $this->gettext_path = $path; + } + } + if ($debug) { + $this->debug = $debug; + } + } + + /** + * Enter description here... + * + * @param unknown_type $domain + * @param unknown_type $langdir + */ + function message_format ($domain, $textdomain, $lang, $enc='utf-8') + { + $path = "$textdomain/$lang"; + if ($this->has_gettext) { + $cmd = "msgfmt -o $path/LC_MESSAGES/$domain.mo $path/$domain.po"; + return $this->execute($cmd); + } + $catalog = new PHPGettext_catalog($domain, $textdomain); + $catalog->setproperty('mode', _MODE_PO_); + $catalog->setproperty('lang', $lang); + $catalog->load(); + $catalog->setproperty('mode', _MODE_MO_); + $catalog->save(); + return true; + } + /** + * Enter description here... + * + * @param unknown_type $domain + * @param unknown_type $langdir + */ + function compile($lang, $textdomain, $enc='utf-8') { + + if ($this->has_gettext) { + $cmd = "msgfmt -o $textdomain/$lang/LC_MESSAGES/$lang.mo $textdomain/$lang/$lang.po"; + return $this->execute($cmd); + } + $catalog = new PHPGettext_catalog($lang, $textdomain); + $catalog->setproperty('mode', _MODE_PO_); + $catalog->setproperty('lang', $lang); + $catalog->load(); + $catalog->setproperty('mode', _MODE_MO_); + $catalog->save(); + return true; + } + + /** + * Enter description here... + * + * @param unknown_type $domain + * @param unknown_type $langdir + */ + function initialize_translation ($domain, $textdomain, $lang, $enc='utf-8') + { + if (!$this->has_gettext) { + return false; + } + set_time_limit(120); + $path = "$textdomain/$lang"; + copy("$textdomain/untranslated/$domain.pot", "$path/ref.po"); + $cmd = "msgmerge --width=80 --compendium $textdomain/glossary/$lang.$enc.po -o $path/$domain.po $path/ref.po $textdomain/untranslated/$domain.pot"; + $this->execute($cmd); + unlink("$textdomain/$lang/ref.po"); + } + /** + * Enter description here... + * + * @param unknown_type $domain + * @param unknown_type $langdir + */ + function update_translation($domain, $textdomain, $lang, $enc='utf-8') + { + $path = "$textdomain/$lang"; + if (!file_exists("$path/$domain.po")) { + copy($textdomain."/untranslated/$domain.pot", "$path/$domain.po"); + } + copy("$path/$domain.po", "$path/$domain.pot"); + $cmd = "msgcat --use-first -o $path/update.po $path/$domain.po $textdomain/glossary/$lang.$enc.po"; + $this->execute($cmd); + $cmd = "msgmerge --width=80 --compendium $textdomain/glossary/$lang.$enc.po -o $textdomain/$lang/$domain.po $textdomain/$lang/update.po $textdomain/untranslated/$domain.pot"; + $this->execute($cmd); + unlink("$textdomain/$lang/update.po"); + unlink("$textdomain/$lang/$domain.pot"); + } + /** + * Enter description here... + * + * @param unknown_type $domain + * @param unknown_type $langdir + */ + function add_to_dict($domain, $textdomain, $lang, $enc='utf-8') { + + if (!$this->has_gettext) return false; + + $textdomain = rtrim($textdomain, '\/'); + $path = "$textdomain/$lang"; + if (!is_dir("$textdomain/glossary/")) { + mkdir("$textdomain/glossary/"); + } + if (!file_exists("$textdomain/glossary/$lang.$enc.po")) { + set_time_limit(360); + $create_dict = true; + $cmd = "msgcat --use-first -o $textdomain/glossary/$lang.$enc.po $path/$domain.po"; + $this->execute($cmd); + } else { + copy("$textdomain/glossary/$lang.$enc.po", "$textdomain/glossary/$lang.$enc.pot"); + $cmd = "msgcat --use-first -o $textdomain/glossary/$lang.$enc.po $textdomain/$lang/$domain.po $textdomain/glossary/$lang.$enc.po"; + $this->execute($cmd); + unlink("$textdomain/glossary/$lang.$enc.pot"); + } + } + /** + * Enter description here... + * + * @param unknown_type $domain + * @param unknown_type $langdir + */ + function convert_charset($domain, $textdomain, $lang, $from_charset, $to_charset) { + + $path = "$textdomain/$lang"; + if ($this->has_gettext) { + $cmd = "msgconv --to-code=$to_charset -o $path/$domain.po $path/$domain.po"; + $ret = $this->execute($cmd); + return $ret; + } + + if (!function_exists('iconv')) { + return false; + } + + $catalog = new PHPGettext_catalog($domain, $textdomain); + $catalog->setproperty('mode', _MODE_PO_); + $catalog->setproperty('lang', $lang); + $catalog->load(); + $catalog->headers['Content-Type'] = "text/plain; charset=$to_charset\n"; + foreach ($catalog->strings as $index => $message) { + if (empty($message->msgid_plural)) { + $catalog->strings[$index]->msgstr = iconv($from_charset, $to_charset, $message->msgstr); + } + } + $catalog->save(); + return true; + } + + + /** + * Invoke the xgettext utility with $args + * the xgettext executable must be in PATH + * + * @param string the commandline arguments to gettext + * @return unknown + */ + function xgettext($domain, $textdomain, $php_sources, $lang='untranslated') { + + $cmd = "xgettext "; + if (file_exists("$textdomain/$lang/$domain.pot")) $cmd .= '-j '; + $cmd .= "-n -c --sort-by-file --keyword=T_ --keyword=Tn_:1,2 --keyword=Td_:2 --keyword=Tdn_:2,3 --output-dir=$textdomain/$lang -o $domain.pot"; + if (count($php_sources) > 10) { + $tmpfile = $textdomain.'/xgettext.txt'; + $fp = fopen($tmpfile, "w"); + fwrite($fp, implode("\r\n", $php_sources)); + fclose($fp); + $cmd = $cmd." --files-from=$tmpfile"; + } else { + $cmd = $cmd." ".implode(" ", $php_sources); + } + $ret = $this->execute($cmd); + @unlink($tmpfile); + return $ret; + } + + + /** + * Enter description here... + * + * @param unknown_type $domain + * @param unknown_type $langdir + */ + function execute($cmd) { + + if (!$this || !$this->has_gettext) return false; + #$cmd = $this->gettext_path.DIRECTORY_SEPARATOR.escapeshellcmd($cmd); + $cmd = escapeshellcmd($cmd); + $return = 0; + if (substr(strtoupper(PHP_OS), 0, 3) == 'WIN'){ + $fp = fopen("execute.bat", 'w+'); + fwrite($fp, "@echo on\r\n $cmd"); + fclose($fp); + exec("execute.bat", $output, $retval); + unlink("execute.bat"); + } else { + $lastline = exec($cmd, $output, $retval); + } + if ($this->debug || $retval > 0) { + $trace = debug_backtrace(); + $msg = "
      "; + $msg .= "

      PHPGettextAdmin->execute('$cmd')
      in ".str_replace($_SERVER['DOCUMENT_ROOT'], '', $trace[1]['file']).":{$trace[1]['line']}

      "; + $msg .= "

      trace:

        "; + for ($a=1; $a < 3; $a++) { + $called = isset($trace[$a]['class']) ? $trace[$a]['class'] : ''; + $called .= $trace[$a]['type'].$trace[$a]['function']."(".@implode(', ',$trace[$a]['args']).")"; + $msg .= "
      • $called in ".str_replace($_SERVER['DOCUMENT_ROOT'], '', $trace[$a]['file'])." : {$trace[$a]['line']}
      • "; + } + $msg .= "
      "; + $msg .= "

      return value: $retval

      "; + $msg .= "

      output:

      {$output[1]}
      "; + $msg .= "
      "; + echo $msg; + } + return $output; + } +} + +/** + * Enter description here... + * + * @return unknown + */ +function &phpgettext(){ + static $gettext; + if (is_null($gettext)) { + require_once('phpgettext.class.php'); + $gettext = new PHPGettext(); + $gettext->has_gettext = true; + if (!function_exists("gettext") || !function_exists("_")) { + $gettext->has_gettext = false; + require_once('phpgettext.compat.php'); + } + } + return $gettext; +} +function T_($message) { + $gettext =& phpgettext(); + $trans = $gettext->gettext($message); + return $trans; +} +function Tn_($msg1, $msg2, $count) { + $gettext =& phpgettext(); + return $gettext->ngettext($msg1, $msg2, $count); +} +function Td_($domain, $message) { + $gettext =& phpgettext(); + return $gettext->dgettext($domain, $message); +} +function Tdn_($domain, $msg1, $msg2, $count) { + $gettext =& phpgettext(); + return $gettext->dngettext($domain, $msg1, $msg2, $count); +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.compat.php 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.compat.php --- 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.compat.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.compat.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,60 @@ + + * @package PHPGettext + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + * @link http://phpgettext.web-sense.net + * + * gettext.compat.php + * + * comptibility file for gettext + * + * @author Carlos Souza + * @package PHPGettext + */ + + +function _($message){ + return gettext($message); +} +function gettext($message){ + $gettext =& phpgettext(); + return $gettext->gettext($message); +} +function bind_textdomain_codeset($domain, $codeset){ + $gettext =& phpgettext(); + return $gettext->bind_textdomain_codeset($domain, $codeset); +} +function bindtextdomain($domain, $directory){ + $gettext =& phpgettext(); + return $gettext->bindtextdomain($domain, $directory); +} +function dgettext($domain, $message){ + $gettext =& phpgettext(); + return $gettext->dgettext($domain, $message); +} +function ngettext($msg1, $msg2, $count){ + $gettext =& phpgettext(); + return $gettext->ngettext($msg1, $msg2, $count); +} +function dngettext($domain, $msg1, $msg2, $count){ + $gettext =& phpgettext(); + return $gettext->dngettext($domain, $msg1, $msg2, $count); +} +function dcgettext($domain, $message, $category){ + $gettext =& phpgettext(); + return $gettext->dcgettext($domain, $message, $category); +} +function dcngettext($domain, $msg1, $msg2, $count, $category){ + $gettext =& phpgettext(); + return $gettext->dcngettext($domain, $msg1, $msg2, $count, $category); +} +function textdomain($domain = null){ + $gettext =& phpgettext(); + return $gettext->textdomain($domain); +} + + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.includes.php 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.includes.php --- 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.includes.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.includes.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,640 @@ +name = $name; + $this->action = requestvar('action', '_default'); + + $views = $this->name.'Views'; + + if (class_exists($views)) { + $this->view = new $views($this); + } else { + trigger_error("View class '$views' does not exist.", E_USER_ERROR); + } + } + + function run() + { + $method = $this->action; + /* + * do acl check here + */ + if ($method && strlen($method) > 2 && method_exists($this, $method)) + return $this->$method(); + + return false; + } + + function redirect($url) + { + if (headers_sent()) { + echo "\n"; + } else { + while (@ob_end_clean()); // clear output buffer + header( "Location: $url" ); + } + exit; + } + function &container($reset = false) + { + $name = '__com_' . $this->_name . '_container'; + if (!isset($_SESSION[$name]) || $reset) { + $_SESSION[$name] = array(); + } + return $_SESSION[$name]; + } + +} + +class phpgettextActions extends ActionHandler +{ + function _default(){ + $this->view->_default(); + } + function view(){ + require_once('phpgettext.catalog.php'); + + $mode = requestvar('mode'); + $lang = requestvar('lang'); + $domain = requestvar('domain'); + $textdomain = requestvar('textdomain'); + + $catalog = new PHPGettext_catalog($domain, $textdomain); + $catalog->setproperty('mode', $mode); + $catalog->setproperty('lang', $lang); + $catalog->load(); + + $renderer =& renderer(); + $renderer->addbyref('catalog', $catalog); + $renderer->addvar('mode', $mode); + $renderer->addvar('comments', $catalog->comments); + $renderer->addvar('headers', $catalog->headers); + $renderer->addvar('strings', $catalog->strings); + + switch ($mode) + { + case 'mo': + return $this->view->view(); + break; + case 'po': + return $this->view->form(); + break; + case 'pot': + return $this->view->view(); + break; + default: + trigger_error(__CLASS__.'->'.__FUNCTION__.' - mode not recognized', E_USER_ERROR); + return false; + break; + } + } + function extract(){ + require_once('phpgettext.catalog.php'); + $gettext =& phpgettext(); + $path = _site_path_; + $args = "--keyword=T_ --default-domain=phpgettext "; + $args .= '-o '.$path.'locale/phpgettext.pot '; + $args .= $path.'includes/*.php '.$path.'templates/*.php'; + $gettext->xgettext($args); + $catalog = new PHPGettext_catalog('phpgettext', $path.'locale/'); + $catalog->setproperty('mode', _MODE_POT_); + $catalog->load(); + + $renderer =& renderer(); + $renderer->addbyref('catalog', $catalog); + $renderer->addvar('mode', 'pot'); + $renderer->addvar('comments', $catalog->comments); + $renderer->addvar('headers', $catalog->headers); + $renderer->addvar('strings', $catalog->strings); + + return $this->view->view(); + } + function cleartests(){ + rmdirr('tests/locale/'); + mkdir('tests/locale'); + $this->redirect($_SERVER['PHP_SELF']); + } + + function delpot(){ + $domain = requestvar('domain'); + $textdomain = requestvar('textdomain'); + @unlink($textdomain.'/'.$domain.'.pot'); + $this->redirect($_SERVER['PHP_SELF']); + } + function newfrompot(){ + require_once('phpgettext.catalog.php'); + $locale = requestvar('locale'); + $domain = requestvar('domain'); + $textdomain = requestvar('textdomain'); + + $catalog =& new PHPGettext_catalog($domain, $textdomain); + $catalog->setproperty('mode', _MODE_POT_); + $catalog->load(); + $catalog->setproperty('lang', $locale); + $catalog->setproperty('mode', _MODE_PO_); + $catalog->save(); + + $renderer =& renderer(); + $renderer->addbyref('catalog', $catalog); + $renderer->addvar('mode', _MODE_PO_); + $renderer->addvar('comments', $catalog->comments); + $renderer->addvar('headers', $catalog->headers); + $renderer->addvar('strings', $catalog->strings); + + return $this->view->form(); + } + function runtests(){ + ob_start(); + require_once('tests/simpletest/unit_tester.php'); + require_once('tests/simpletest/reporter.php'); + require_once('phpgettext.catalog.php'); + /* + $test = &new GroupTest('PHPGettext tests'); + $test->addTestFile('tests/gettext_test_cases.php'); + $test->run(new HtmlReporter()); + */ + $test = &new GroupTest('PHPGettext_Catalog tests'); + $test->addTestFile('tests/catalog_test_cases.php'); + $test->run(new HtmlReporter()); + $contents = ob_get_contents(); + ob_end_clean(); + $renderer =& renderer(); + $renderer->addvar('content', $contents); + $this->view->display(); + } + function save(){ + require_once('phpgettext.catalog.php'); + $domain = trim(requestvar('domain')); + $textdomain = trim(requestvar('textdomain')); + $lang = trim(requestvar('lang')); + $compile = trim(requestvar('compile')); + $comments = trim(requestvar('comments')); + $headers = requestvar('headers'); + $msgstr = requestvar('msgstr'); + $fuzzy = requestvar('is_fuzzy'); + + $catalog =& new PHPGettext_catalog($domain, $textdomain, $lang); + $catalog->setproperty('mode', 'po'); + $catalog->setproperty('lang', $lang); + $catalog->load(); + + if (isset($comments)) { + $comments = explode("\n", $comments); + if (is_array($comments)) { + foreach ($comments as $comment) { + if (strpos($comment, '#') == 1) { + $catalog->comments .= $comment."\n"; + } + } + } + } + + foreach ($headers as $key => $value) { + $catalog->headers[$key] = $value; + } + + + foreach ($msgstr as $index => $string) { + $catalog->strings[$index]->setmsgstr($string); + if (isset($is_fuzzy[$index])) { + $catalog->strings[$index]->setfuzzy(true); + } + } + $catalog->save(); + if ($compile > 0) { + $catalog->setproperty('mode', 'mo'); + $catalog->save(); + } + + $renderer =& renderer(); + $renderer->addbyref('catalog', $catalog); + $renderer->addvar('mode', _MODE_MO_); + $renderer->addvar('comments', $catalog->comments); + $renderer->addvar('headers', $catalog->headers); + $renderer->addvar('strings', $catalog->strings); + + return $this->view->view(); + } +} + +class phpgettextViews +{ + var $action; + + function phpgettextViews(&$action) { + $this->action =& $action; + } + function _default() + { + $renderer =& renderer(); + $renderer->addvar('content', $renderer->fetch('home.tpl.php')); + $this->display(); + } + + function display() { + $renderer =& renderer(); + $renderer->addbyref('view', $this); + $renderer->addbyref('t', phpgettext()); + $renderer->display('main.tpl.php'); + } + + function edit() + { + $renderer =& Renderer::instance('php'); + $renderer->display(); + } + + + function view() + { + $renderer =& renderer(); + $renderer->addvar('content', $renderer->fetch('view.tpl.php')); + $this->display(); + } + + function form() + { + $renderer =& renderer(); + $renderer->addvar('content', $renderer->fetch('form.tpl.php')); + $this->display(); + } + + + function dtree($return = false) { + $textdomains = $this->gettextdomains(rtrim($_SERVER['DOCUMENT_ROOT'], '/')); + $dtree = "\n"; + if ($return) + return $dtree; + + echo $dtree; + } + function gettextdomains($path){ + static $domains; + if ($handle=@opendir($path)) { + while (($file = readdir($handle)) !== false) { + if (is_dir("$path/$file") && $file!= "." && $file!= "..") { + if (preg_match('/^'._gettext_dirname_.'$/', $file)) { + $domains[] = "$path/$file"; + } + $this->gettextdomains("$path/$file"); + } + } + closedir($handle); + } else { + trigger_error(get_class($this)." File ( $path ) not found.", E_USER_ERROR); + } + return isset($domains) ? $domains : array(); + } + + function getlanguages($domain) { + if ($handle = opendir($domain)) { + while (false !== ($file = readdir($handle))) { + if (is_dir("$domain/$file") && $file!= "." && $file!= "..") + $langs[$file] = $this->gettranslations("$domain/$file"); + } + closedir($handle); + } + return (isset($langs) ? $langs : array()); + } + + function gettemplates($textdomain) { + if ($handle=@opendir($textdomain)) { + while (($file = readdir($handle)) !== false) + if (preg_match('/.pot$/', $file)) + $templates[] = $file; + closedir($handle); + } else { + trigger_error(get_class($this)." textdomain ( $path ) not found.", E_USER_ERROR); + } + return isset($templates) ? $templates : array(); + } + + function gettranslations($path) { + $lang = basename($path); + if (is_dir($path) && $handle=@opendir($path)) { + while (($file = readdir($handle)) !== false) { + if ($file== "LC_MESSAGES") { + $po[]['LC_MESSAGES'] = $this->getbinaries($path.'/LC_MESSAGES'); + } elseif (preg_match('/.po$/', $file)) { + $po[]= $file; + } + } + closedir($handle); + } else { + trigger_error(get_class($this)." textdomain ( $path ) not found.", E_USER_ERROR); + } + return isset($po) ? $po : array(); + } + + function getbinaries($path) { + if (is_dir($path) && $handle=@opendir($path)) { + while (($file = readdir($handle)) !== false) { + if (preg_match('/.mo$/', $file)) { + $mo[] = $file; + } + } + closedir($handle); + } else { + trigger_error(get_class($this)." textdomain ( $path ) not found.", E_USER_ERROR); + } + return isset($mo) ? $mo : array(); + } + +} + +class Renderer +{ + + var $dir; + var $vars = array(); + var $engine = 'php'; + var $template = ''; + + function Renderer(){} + + function display($template, $return = false){ + if ($template == NULL){ + $error = 'A template has not been specified'; + trigger_error($error, E_USER_ERROR); + return false; + } + $this->template = $this->dir . $template; + + if (is_readable($this->template)) { + extract($this->getvars()); + if ($return) { + ob_start(); + include_once($this->template); + $ret = ob_get_contents(); + ob_end_clean(); + return $ret; + } else { + include_once($this->template); + } + } else { + $error = 'Template file ' . $template . ' does ' . 'not exist or is not readable'; + trigger_error($error, E_USER_ERROR); + return false; + } + return false; + } + + function fetch($template){ + return $this->display($template, true); + } + function &getengine(){ + return $this->engine; + } + function addvar($key, $value){ + $this->vars[$key] = $value; + } + function addbyref ($key, &$value) { + $this->vars[$key] =& $value; + } + function getvars($name = false){ + return (isset($this->vars[$name])) ? $this->vars[$name] : $this->vars; + } + + function setdir($dir){ + $this->dir = (substr($dir, -1) == DIRECTORY_SEPARATOR) ? $dir : $dir.DIRECTORY_SEPARATOR; + } + function getdir(){ + return $this->dir; + } + function template($template){ + $this->template = $template; + } +} + + + + +// cleans out a directory recursively +function rmdirr($dir) { + if($objs = glob($dir."/*")){ + foreach($objs as $obj) { + is_dir($obj)? rmdirr($obj) : unlink($obj); + } + } + rmdir($dir); +} + + + + +function &renderer($engine = 'php') { + static $renderer; + if (is_null($renderer[$engine])) { + if ($engine == 'php') { + $renderer[$engine] = new Renderer(); + } else { + $classname = $engine . 'Renderer'; + if (class_exists($classname)) + $renderer[$engine] = new $classname(); + } + } + return $renderer[$engine]; +} + + +function dump($var) { + $trace = debug_backtrace(); + echo "
      dump() in {$trace[0]['file']}:{$trace[0]['line']}
      "; + include_once 'Var_Dump.php'; + if (class_exists('Var_Dump')) { + Var_Dump::displayInit(array('display_mode'=>'HTML4_Table')); + Var_Dump::display($var); + } else { + echo "
      ";
      +        var_dump($var);
      +        echo "
      "; + } +} + +function error_handler($errno, $errmsg, $filename, $linenum) { + + $dt = date("Y-m-d H:i:s (T)"); + $errortype = array ( + E_ERROR => "Error", + E_WARNING => "Warning", + E_PARSE => "Parse Error", + E_NOTICE => "Notice", + E_CORE_ERROR => "Core Error", + E_CORE_WARNING => "Core Warning", + E_COMPILE_ERROR => "Compile Error", + E_COMPILE_WARNING => "Compile Warning", + E_USER_ERROR => "User Error", + E_USER_WARNING => "User Warning", + E_USER_NOTICE => "User Notice" + ); + + // set of errors for which a var trace will be saved + //$user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); + + $output = << + + +EOT; + $output .= "
      "; + $output .= "

      $errortype[$errno] : $errmsg

      \n"; + $output .= "

      in file $filename : $linenum

      \n"; + $output .= backtrace(); + $output .= "
      "; + echo $output; + // save to the error log, and e-mail it if there is a critical user error + /* + error_log($err, 3, "/error.log"); + if ($errno == E_USER_ERROR) { + mail("phpdev@example.com", "Critical User Error", $err); + } + */ +} + +function backtrace(){ + $backtrace = debug_backtrace(); + $output = ""; + $output .= ""; + $count = 0; + if (isset($backtrace[0]['line'])) { + foreach ($backtrace as $bt) { + $argstr = ''; + $class = isset($bt['class']) ? $bt['class'] : ''; + $type = isset($bt['type']) ? $bt['type'] : ''; + $function = isset($bt['function']) ? $bt['function'] : ''; + $file = isset($bt['file']) ? $bt['file'] : ''; + $line = isset($bt['line']) ? $bt['line'] : ''; + $args = isset($bt['args']) ? $bt['args'] : array(); + foreach ($args as $a) { + if (!empty($args)) { + $argstr .= ', '; + } + switch (gettype($a)) { + case 'integer': + case 'double': + $argstr .= $a; + break; + case 'string': + $a = htmlspecialchars($a); + $argstr .= "\"$a\""; + break; + case 'array': + $argstr .= 'Array('.count($a).')'; + break; + case 'object': + $argstr .= 'Object('.get_class($a).')'; + break; + case 'resource': + $argstr .= 'Resource('.strstr($a, '#').')'; + break; + case 'boolean': + $argstr .= $a ? 'True' : 'False'; + break; + case 'NULL': + $argstr .= 'Null'; + break; + default: + $argstr .= 'Unknown'; + } + } + if ($count > 1) { + $output .= "\n"; + $output .= "\n"; + $output .= "\n"; + $output .= "\n"; + $output .= "\n"; + } + $count++; + } + } + $output .= "
      #function / locationargs
      ".($count-1)."{$class}{$type}{$function}()
      \n"; + $output .= "{$file}:{$line}
      $argstr
      \n"; + return $output; +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.message.php 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.message.php --- 4.6rc2/uploadfiles/includes/phpgettext/phpgettext.message.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpgettext/phpgettext.message.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,222 @@ + + * @package PHPGettext + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + * @link http://phpgettext.web-sense.net + * + * + */ + + +class PHPGettext_Message +{ + // --- ATTRIBUTES --- + /** + * Short description of attribute comments + * + * @access public + * @var int + */ + var $comments = array(); + + /** + * Short description of attribute is_fuzzy + * + * @access public + * @var int + */ + var $is_fuzzy = false; + + /** + * Short description of attribute msgid + * + * @access public + * @var int + */ + var $msgid = ''; + + /** + * Short description of attribute msgid + * + * @access public + * @var int + */ + var $msgid_plural = ''; + + /** + * Short description of attribute msgstr + * + * @access public + * @var int + */ + var $msgstr = ''; + + // --- OPERATIONS --- + + /** + * Short description of method PHPGettext_Catalog_Entry + * + * @access public + * @author firstname and lastname of author, + * @param void + * @param void + * @return void + */ + function PHPGettext_Message($msgid = "", $msgid_plural = null) + { + $this->msgid = $msgid; + $this->msgid_plural = $msgid_plural; + } + + /** + * Short description of method setmsgstr + * + * @access public + * @author firstname and lastname of author, + * @param void + * @return void + */ + function setmsgstr($msgstr) + { + $this->msgstr = $msgstr; + if (is_array($msgstr) && count($msgstr) == 1) $this->msgstr = $msgstr[0]; + } + + /** + * Short description of method setFuzzy + * + * @access public + * @author firstname and lastname of author, + * @param void + * @return void + */ + function setfuzzy($is_fuzzy = true) + { + $this->is_fuzzy = ($is_fuzzy) ? true : false; + } + + /** + * Short description of method setComments + * + * @access public + * @author firstname and lastname of author, + * @param void + * @return void + */ + function setcomments($comments) + { + if (is_array($comments)) + return $this->comments = $comments; + + return false; + } + + /** + * Short description of method reset + * + * @access public + * @author firstname and lastname of author, + * @param void + * @return void + */ + function reset($property = 'all') + { + switch ($property) + { + case 'comments': + unset($this->comments); + break; + case 'is_fuzzy': + unset($this->fuzzy); + break; + case 'msgid': + unset($this->msgid); + break; + case 'msgstr': + unset($this->msgstr); + break; + case 'all': + default: + unset($this->comments); + unset($this->is_fuzzy); + unset($this->msgid); + unset($this->msgstr); + break; + } + } + + + /** + * Short description of method toString + * + * @access public + * @author firstname and lastname of author, + * @return void + */ + function toString() + { + $string = ''; + // comments + if (count($this->comments > 0)) { + foreach ($this->comments as $comment){ + if (!preg_match('/^#,/', $comment) && !is_null($comment)) { + $string .= trim($comment)."\n"; + } elseif (strncmp($comment, "#:", 2) == 0) { + $string .= trim($comment)."\n"; + } else { + continue; + } + } + } + + // fuzzy entries + if ($this->is_fuzzy) { + $string .= "#, fuzzy\n"; + } + /* + + if (strlen($msgid) > 76) { + $entry .= 'msgid ""'."\n"; + $entry .= '"'.wordwrap($msgid, 76, " \"\n\"")."\"\n"; + } else { + $entry .= 'msgid "'.$msgid.'"'."\n"; + } + */ + // msgid + if (strpos($this->msgid, "\n") > 0) { + $string .= "msgid \"\"\n"; + $msgid = explode("\n", $this->msgid); + foreach ($msgid as $line) + $string .= "\"$line\\n\"\n"; + } else { + $string .= "msgid \"$this->msgid\"\n"; + } + + if (!empty($this->msgid_plural)) { + $string .= "msgid_plural \"$this->msgid_plural\"\n"; + } + // msgstr + if (!is_array($this->msgstr) && strpos($this->msgstr, "\n") > 0) { + $string .= "msgstr \"\"\n"; + $msgstr = explode("\n", $this->msgstr); + foreach ($msgstr as $line) + $string .= "\"$line\\n\"\n"; + $string .= "\n"; + } // plurals + elseif (is_array($this->msgstr)){ + foreach ($this->msgstr as $k => $msgstr) { + $string .= "msgstr[$k] \"$msgstr\"\n"; + } + $string .= "\n"; + } else { + $string .= "msgstr \"$this->msgstr\"\n\n"; + } + return $string; + } + +} /* end of class PHPGettext_Catalog_Entry */ + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpmailer/LICENSE 4.6-complete/uploadfiles/includes/phpmailer/LICENSE --- 4.6rc2/uploadfiles/includes/phpmailer/LICENSE 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpmailer/LICENSE 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff -ruN 4.6rc2/uploadfiles/includes/phpmailer/class.phpmailer.php 4.6-complete/uploadfiles/includes/phpmailer/class.phpmailer.php --- 4.6rc2/uploadfiles/includes/phpmailer/class.phpmailer.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpmailer/class.phpmailer.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1589 @@ +ContentType = "text/html"; + else + $this->ContentType = "text/plain"; + } + + /** + * Sets Mailer to send message using SMTP. + * @return void + */ + function IsSMTP() { + $this->Mailer = "smtp"; + } + + /** + * Sets Mailer to send message using PHP mail() function. + * @return void + */ + function IsMail() { + $this->Mailer = "mail"; + } + + /** + * Sets Mailer to send message using the $Sendmail program. + * @return void + */ + function IsSendmail() { + $this->Mailer = "sendmail"; + } + + /** + * Sets Mailer to send message using the qmail MTA. + * @return void + */ + function IsQmail() { + $this->Sendmail = "/var/qmail/bin/sendmail"; + $this->Mailer = "sendmail"; + } + + + ///////////////////////////////////////////////// + // RECIPIENT METHODS + ///////////////////////////////////////////////// + + /** + * Adds a "To" address. + * @param string $address + * @param string $name + * @return void + */ + function AddAddress($address, $name = "") { + $cur = count($this->to); + $this->to[$cur][0] = trim($address); + $this->to[$cur][1] = $name; + } + + /** + * Adds a "Cc" address. Note: this function works + * with the SMTP mailer on win32, not with the "mail" + * mailer. + * @param string $address + * @param string $name + * @return void + */ + function AddCC($address, $name = "") { + $cur = count($this->cc); + $this->cc[$cur][0] = trim($address); + $this->cc[$cur][1] = $name; + } + + /** + * Adds a "Bcc" address. Note: this function works + * with the SMTP mailer on win32, not with the "mail" + * mailer. + * @param string $address + * @param string $name + * @return void + */ + function AddBCC($address, $name = "") { + $cur = count($this->bcc); + $this->bcc[$cur][0] = trim($address); + $this->bcc[$cur][1] = $name; + } + + /** + * Adds a "Reply-to" address. + * @param string $address + * @param string $name + * @return void + */ + function AddReplyTo($address, $name = "") { + $cur = count($this->ReplyTo); + $this->ReplyTo[$cur][0] = trim($address); + $this->ReplyTo[$cur][1] = $name; + } + + + ///////////////////////////////////////////////// + // MAIL SENDING METHODS + ///////////////////////////////////////////////// + + /** + * Creates message and assigns Mailer. If the message is + * not sent successfully then it returns false. Use the ErrorInfo + * variable to view description of the error. + * @return bool + */ + function Send() { + $header = ""; + $body = ""; + $result = true; + + if((count($this->to) + count($this->cc) + count($this->bcc)) < 1) + { + $this->SetError($this->Lang("provide_address")); + return false; + } + + // Set whether the message is multipart/alternative + if(!empty($this->AltBody)) + $this->ContentType = "multipart/alternative"; + + $this->error_count = 0; // reset errors + $this->SetMessageType(); + $header .= $this->CreateHeader(); + $body = $this->CreateBody(); + + if($body == "") { return false; } + + // Choose the mailer + switch($this->Mailer) + { + case "sendmail": + $result = $this->SendmailSend($header, $body); + break; + case "mail": + $result = $this->MailSend($header, $body); + break; + case "smtp": + $result = $this->SmtpSend($header, $body); + break; + default: + $this->SetError($this->Mailer . $this->Lang("mailer_not_supported")); + $result = false; + break; + } + + return $result; + } + + /** + * Sends mail using the $Sendmail program. + * @access private + * @return bool + */ + function SendmailSend($header, $body) { + if ($this->Sender != "") + $sendmail = sprintf("%s -oi -f %s -t", $this->Sendmail, $this->Sender); + else + $sendmail = sprintf("%s -oi -t", $this->Sendmail); + + if(!@$mail = popen($sendmail, "w")) + { + $this->SetError($this->Lang("execute") . $this->Sendmail); + return false; + } + + fputs($mail, $header); + fputs($mail, $body); + + $result = pclose($mail) >> 8 & 0xFF; + if($result != 0) + { + $this->SetError($this->Lang("execute") . $this->Sendmail); + return false; + } + + return true; + } + + /** + * Sends mail using the PHP mail() function. + * @access private + * @return bool + */ + function MailSend($header, $body) { + $to = ""; + for($i = 0; $i < count($this->to); $i++) + { + if($i != 0) { $to .= ", "; } + $to .= $this->to[$i][0]; + } + + if ($this->Sender != "" && strlen(ini_get("safe_mode"))< 1) + { + $old_from = ini_get("sendmail_from"); + ini_set("sendmail_from", $this->Sender); + $params = sprintf("-oi -f %s", $this->Sender); + $rt = @mail($to, $this->EncodeHeader($this->Subject), $body, + $header, $params); + } + else + $rt = @mail($to, $this->EncodeHeader($this->Subject), $body, $header); + + if (isset($old_from)) + ini_set("sendmail_from", $old_from); + + if(!$rt) + { + $this->SetError($this->Lang("instantiate")); + return false; + } + + return true; + } + + /** + * Sends mail via SMTP using PhpSMTP (Author: + * Chris Ryan). Returns bool. Returns false if there is a + * bad MAIL FROM, RCPT, or DATA input. + * @access private + * @return bool + */ + function SmtpSend($header, $body) { + include_once($this->PluginDir . "class.smtp.php"); + $error = ""; + $bad_rcpt = array(); + + if(!$this->SmtpConnect()) + return false; + + $smtp_from = ($this->Sender == "") ? $this->From : $this->Sender; + if(!$this->smtp->Mail($smtp_from)) + { + $error = $this->Lang("from_failed") . $smtp_from; + $this->SetError($error); + $this->smtp->Reset(); + return false; + } + + // Attempt to send attach all recipients + for($i = 0; $i < count($this->to); $i++) + { + if(!$this->smtp->Recipient($this->to[$i][0])) + $bad_rcpt[] = $this->to[$i][0]; + } + for($i = 0; $i < count($this->cc); $i++) + { + if(!$this->smtp->Recipient($this->cc[$i][0])) + $bad_rcpt[] = $this->cc[$i][0]; + } + for($i = 0; $i < count($this->bcc); $i++) + { + if(!$this->smtp->Recipient($this->bcc[$i][0])) + $bad_rcpt[] = $this->bcc[$i][0]; + } + + if(count($bad_rcpt) > 0) // Create error message + { + for($i = 0; $i < count($bad_rcpt); $i++) + { + if($i != 0) { $error .= ", "; } + $error .= $bad_rcpt[$i]; + } + $error = $this->Lang("recipients_failed") . $error; + $this->SetError($error); + $this->smtp->Reset(); + return false; + } + + if(!$this->smtp->Data($header . $body)) + { + $this->SetError($this->Lang("data_not_accepted")); + $this->smtp->Reset(); + return false; + } + if($this->SMTPKeepAlive == true) + $this->smtp->Reset(); + else + $this->SmtpClose(); + + return true; + } + + /** + * Initiates a connection to an SMTP server. Returns false if the + * operation failed. + * @access private + * @return bool + */ + function SmtpConnect() { + if($this->smtp == NULL) { $this->smtp = new SMTP(); } + + $this->smtp->do_debug = $this->SMTPDebug; + $hosts = explode(";", $this->Host); + $index = 0; + $connection = ($this->smtp->Connected()); + + // Retry while there is no connection + while($index < count($hosts) && $connection == false) + { + if(strstr($hosts[$index], ":")) + list($host, $port) = explode(":", $hosts[$index]); + else + { + $host = $hosts[$index]; + $port = $this->Port; + } + + if($this->smtp->Connect($host, $port, $this->Timeout)) + { + if ($this->Helo != '') + $this->smtp->Hello($this->Helo); + else + $this->smtp->Hello($this->ServerHostname()); + + if($this->SMTPAuth) + { + if(!$this->smtp->Authenticate($this->Username, + $this->Password)) + { + $this->SetError($this->Lang("authenticate")); + $this->smtp->Reset(); + $connection = false; + } + } + $connection = true; + } + $index++; + } + if(!$connection) + $this->SetError($this->Lang("connect_host")); + + return $connection; + } + + /** + * Closes the active SMTP session if one exists. + * @return void + */ + function SmtpClose() { + if($this->smtp != NULL) + { + if($this->smtp->Connected()) + { + $this->smtp->Quit(); + $this->smtp->Close(); + } + } + } + + /** + * Sets the language for all class error messages. Returns false + * if it cannot load the language file. The default language type + * is English. + * @param string $lang_type Type of language (e.g. Portuguese: "br") + * @param string $lang_path Path to the language file directory + * @access public + * @return bool + */ + function SetLanguage($lang_type, $lang_path = "language/") { + if(file_exists($lang_path.'phpmailer.lang-'.$lang_type.'.php')) + include($lang_path.'phpmailer.lang-'.$lang_type.'.php'); + else if(file_exists($lang_path.'phpmailer.lang-en.php')) + include($lang_path.'phpmailer.lang-en.php'); + else + { + $this->SetError("Could not load language file"); + return false; + } + $this->language = $PHPMAILER_LANG; + + return true; + } + + ///////////////////////////////////////////////// + // MESSAGE CREATION METHODS + ///////////////////////////////////////////////// + + /** + * Creates recipient headers. + * @access private + * @return string + */ + function AddrAppend($type, $addr) { + $addr_str = $type . ": "; + $addr_str .= $this->AddrFormat($addr[0]); + if(count($addr) > 1) + { + for($i = 1; $i < count($addr); $i++) + $addr_str .= ", " . $this->AddrFormat($addr[$i]); + } + $addr_str .= $this->LE; + + return $addr_str; + } + + /** + * Formats an address correctly. + * @access private + * @return string + */ + function AddrFormat($addr) { + if(empty($addr[1])) + $formatted = $addr[0]; + else + { + $formatted = $this->EncodeHeader($addr[1], 'phrase') . " <" . + $addr[0] . ">"; + } + + return $formatted; + } + + /** + * Wraps message for use with mailers that do not + * automatically perform wrapping and for quoted-printable. + * Original written by philippe. + * @access private + * @return string + */ + function WrapText($message, $length, $qp_mode = false) { + $soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $this->LE; + + $message = $this->FixEOL($message); + if (substr($message, -1) == $this->LE) + $message = substr($message, 0, -1); + + $line = explode($this->LE, $message); + $message = ""; + for ($i=0 ;$i < count($line); $i++) + { + $line_part = explode(" ", $line[$i]); + $buf = ""; + for ($e = 0; $e $length)) + { + $space_left = $length - strlen($buf) - 1; + if ($e != 0) + { + if ($space_left > 20) + { + $len = $space_left; + if (substr($word, $len - 1, 1) == "=") + $len--; + elseif (substr($word, $len - 2, 1) == "=") + $len -= 2; + $part = substr($word, 0, $len); + $word = substr($word, $len); + $buf .= " " . $part; + $message .= $buf . sprintf("=%s", $this->LE); + } + else + { + $message .= $buf . $soft_break; + } + $buf = ""; + } + while (strlen($word) > 0) + { + $len = $length; + if (substr($word, $len - 1, 1) == "=") + $len--; + elseif (substr($word, $len - 2, 1) == "=") + $len -= 2; + $part = substr($word, 0, $len); + $word = substr($word, $len); + + if (strlen($word) > 0) + $message .= $part . sprintf("=%s", $this->LE); + else + $buf = $part; + } + } + else + { + $buf_o = $buf; + $buf .= ($e == 0) ? $word : (" " . $word); + + if (strlen($buf) > $length and $buf_o != "") + { + $message .= $buf_o . $soft_break; + $buf = $word; + } + } + } + $message .= $buf . $this->LE; + } + + return $message; + } + + /** + * Set the body wrapping. + * @access private + * @return void + */ + function SetWordWrap() { + if($this->WordWrap < 1) + return; + + switch($this->message_type) + { + case "alt": + // fall through + case "alt_attachments": + $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap); + break; + default: + $this->Body = $this->WrapText($this->Body, $this->WordWrap); + break; + } + } + + /** + * Assembles message header. + * @access private + * @return string + */ + function CreateHeader() { + $result = ""; + + // Set the boundaries + $uniq_id = md5(uniqid(time())); + $this->boundary[1] = "b1_" . $uniq_id; + $this->boundary[2] = "b2_" . $uniq_id; + + $result .= $this->HeaderLine("Date", $this->RFCDate()); + if($this->Sender == "") + $result .= $this->HeaderLine("Return-Path", trim($this->From)); + else + $result .= $this->HeaderLine("Return-Path", trim($this->Sender)); + + // To be created automatically by mail() + if($this->Mailer != "mail") + { + if(count($this->to) > 0) + $result .= $this->AddrAppend("To", $this->to); + else if (count($this->cc) == 0) + $result .= $this->HeaderLine("To", "undisclosed-recipients:;"); + if(count($this->cc) > 0) + $result .= $this->AddrAppend("Cc", $this->cc); + } + + $from = array(); + $from[0][0] = trim($this->From); + $from[0][1] = $this->FromName; + $result .= $this->AddrAppend("From", $from); + + // sendmail and mail() extract Bcc from the header before sending + if((($this->Mailer == "sendmail") || ($this->Mailer == "mail")) && (count($this->bcc) > 0)) + $result .= $this->AddrAppend("Bcc", $this->bcc); + + if(count($this->ReplyTo) > 0) + $result .= $this->AddrAppend("Reply-to", $this->ReplyTo); + + // mail() sets the subject itself + if($this->Mailer != "mail") + $result .= $this->HeaderLine("Subject", $this->EncodeHeader(trim($this->Subject))); + + $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE); + $result .= $this->HeaderLine("X-Priority", $this->Priority); + $result .= $this->HeaderLine("X-Mailer", "PHPMailer [version " . $this->Version . "]"); + + if($this->ConfirmReadingTo != "") + { + $result .= $this->HeaderLine("Disposition-Notification-To", + "<" . trim($this->ConfirmReadingTo) . ">"); + } + + // Add custom headers + for($index = 0; $index < count($this->CustomHeader); $index++) + { + $result .= $this->HeaderLine(trim($this->CustomHeader[$index][0]), + $this->EncodeHeader(trim($this->CustomHeader[$index][1]))); + } + $result .= $this->HeaderLine("MIME-Version", "1.0"); + + switch($this->message_type) + { + case "plain": + $result .= $this->HeaderLine("Content-Transfer-Encoding", $this->Encoding); + $result .= sprintf("Content-Type: %s; charset=\"%s\"", + $this->ContentType, $this->CharSet); + break; + case "attachments": + // fall through + case "alt_attachments": + if($this->InlineImageExists()) + { + $result .= sprintf("Content-Type: %s;%s\ttype=\"text/html\";%s\tboundary=\"%s\"%s", + "multipart/related", $this->LE, $this->LE, + $this->boundary[1], $this->LE); + } + else + { + $result .= $this->HeaderLine("Content-Type", "multipart/mixed;"); + $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"'); + } + break; + case "alt": + $result .= $this->HeaderLine("Content-Type", "multipart/alternative;"); + $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1] . '"'); + break; + } + + if($this->Mailer != "mail") + $result .= $this->LE.$this->LE; + + return $result; + } + + /** + * Assembles the message body. Returns an empty string on failure. + * @access private + * @return string + */ + function CreateBody() { + $result = ""; + + $this->SetWordWrap(); + + switch($this->message_type) + { + case "alt": + $result .= $this->GetBoundary($this->boundary[1], "", + "text/plain", ""); + $result .= $this->EncodeString($this->AltBody, $this->Encoding); + $result .= $this->LE.$this->LE; + $result .= $this->GetBoundary($this->boundary[1], "", + "text/html", ""); + + $result .= $this->EncodeString($this->Body, $this->Encoding); + $result .= $this->LE.$this->LE; + + $result .= $this->EndBoundary($this->boundary[1]); + break; + case "plain": + $result .= $this->EncodeString($this->Body, $this->Encoding); + break; + case "attachments": + $result .= $this->GetBoundary($this->boundary[1], "", "", ""); + $result .= $this->EncodeString($this->Body, $this->Encoding); + $result .= $this->LE; + + $result .= $this->AttachAll(); + break; + case "alt_attachments": + $result .= sprintf("--%s%s", $this->boundary[1], $this->LE); + $result .= sprintf("Content-Type: %s;%s" . + "\tboundary=\"%s\"%s", + "multipart/alternative", $this->LE, + $this->boundary[2], $this->LE.$this->LE); + + // Create text body + $result .= $this->GetBoundary($this->boundary[2], "", + "text/plain", "") . $this->LE; + + $result .= $this->EncodeString($this->AltBody, $this->Encoding); + $result .= $this->LE.$this->LE; + + // Create the HTML body + $result .= $this->GetBoundary($this->boundary[2], "", + "text/html", "") . $this->LE; + + $result .= $this->EncodeString($this->Body, $this->Encoding); + $result .= $this->LE.$this->LE; + + $result .= $this->EndBoundary($this->boundary[2]); + + $result .= $this->AttachAll(); + break; + } + if($this->IsError()) + $result = ""; + + return $result; + } + + /** + * Returns the start of a message boundary. + * @access private + */ + function GetBoundary($boundary, $charSet, $contentType, $encoding) { + $result = ""; + if($charSet == "") { $charSet = $this->CharSet; } + if($contentType == "") { $contentType = $this->ContentType; } + if($encoding == "") { $encoding = $this->Encoding; } + + $result .= $this->TextLine("--" . $boundary); + $result .= sprintf("Content-Type: %s; charset = \"%s\"", + $contentType, $charSet); + $result .= $this->LE; + $result .= $this->HeaderLine("Content-Transfer-Encoding", $encoding); + $result .= $this->LE; + + return $result; + } + + /** + * Returns the end of a message boundary. + * @access private + */ + function EndBoundary($boundary) { + return $this->LE . "--" . $boundary . "--" . $this->LE; + } + + /** + * Sets the message type. + * @access private + * @return void + */ + function SetMessageType() { + if(count($this->attachment) < 1 && strlen($this->AltBody) < 1) + $this->message_type = "plain"; + else + { + if(count($this->attachment) > 0) + $this->message_type = "attachments"; + if(strlen($this->AltBody) > 0 && count($this->attachment) < 1) + $this->message_type = "alt"; + if(strlen($this->AltBody) > 0 && count($this->attachment) > 0) + $this->message_type = "alt_attachments"; + } + } + + /** + * Returns a formatted header line. + * @access private + * @return string + */ + function HeaderLine($name, $value) { + return $name . ": " . $value . $this->LE; + } + + /** + * Returns a formatted mail line. + * @access private + * @return string + */ + function TextLine($value) { + return $value . $this->LE; + } + + ///////////////////////////////////////////////// + // ATTACHMENT METHODS + ///////////////////////////////////////////////// + + /** + * Adds an attachment from a path on the filesystem. + * Returns false if the file could not be found + * or accessed. + * @param string $path Path to the attachment. + * @param string $name Overrides the attachment name. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File extension (MIME) type. + * @return bool + */ + function AddAttachment($path, $name = "", $encoding = "base64", + $type = "application/octet-stream") { + if(!@is_file($path)) + { + $this->SetError($this->Lang("file_access") . $path); + return false; + } + + $filename = basename($path); + if($name == "") + $name = $filename; + + $cur = count($this->attachment); + $this->attachment[$cur][0] = $path; + $this->attachment[$cur][1] = $filename; + $this->attachment[$cur][2] = $name; + $this->attachment[$cur][3] = $encoding; + $this->attachment[$cur][4] = $type; + $this->attachment[$cur][5] = false; // isStringAttachment + $this->attachment[$cur][6] = "attachment"; + $this->attachment[$cur][7] = 0; + + return true; + } + + /** + * Attaches all fs, string, and binary attachments to the message. + * Returns an empty string on failure. + * @access private + * @return string + */ + function AttachAll() { + // Return text of body + $mime = array(); + + // Add all attachments + for($i = 0; $i < count($this->attachment); $i++) + { + // Check for string attachment + $bString = $this->attachment[$i][5]; + if ($bString) + $string = $this->attachment[$i][0]; + else + $path = $this->attachment[$i][0]; + + $filename = $this->attachment[$i][1]; + $name = $this->attachment[$i][2]; + $encoding = $this->attachment[$i][3]; + $type = $this->attachment[$i][4]; + $disposition = $this->attachment[$i][6]; + $cid = $this->attachment[$i][7]; + + $mime[] = sprintf("--%s%s", $this->boundary[1], $this->LE); + $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $name, $this->LE); + $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE); + + if($disposition == "inline") + $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE); + + $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", + $disposition, $name, $this->LE.$this->LE); + + // Encode as string attachment + if($bString) + { + $mime[] = $this->EncodeString($string, $encoding); + if($this->IsError()) { return ""; } + $mime[] = $this->LE.$this->LE; + } + else + { + $mime[] = $this->EncodeFile($path, $encoding); + if($this->IsError()) { return ""; } + $mime[] = $this->LE.$this->LE; + } + } + + $mime[] = sprintf("--%s--%s", $this->boundary[1], $this->LE); + + return join("", $mime); + } + + /** + * Encodes attachment in requested format. Returns an + * empty string on failure. + * @access private + * @return string + */ + function EncodeFile ($path, $encoding = "base64") { + if(!@$fd = fopen($path, "rb")) + { + $this->SetError($this->Lang("file_open") . $path); + return ""; + } + $magic_quotes = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $file_buffer = fread($fd, filesize($path)); + $file_buffer = $this->EncodeString($file_buffer, $encoding); + fclose($fd); + set_magic_quotes_runtime($magic_quotes); + + return $file_buffer; + } + + /** + * Encodes string to requested format. Returns an + * empty string on failure. + * @access private + * @return string + */ + function EncodeString ($str, $encoding = "base64") { + $encoded = ""; + switch(strtolower($encoding)) { + case "base64": + // chunk_split is found in PHP >= 3.0.6 + $encoded = chunk_split(base64_encode($str), 76, $this->LE); + break; + case "7bit": + case "8bit": + $encoded = $this->FixEOL($str); + if (substr($encoded, -(strlen($this->LE))) != $this->LE) + $encoded .= $this->LE; + break; + case "binary": + $encoded = $str; + break; + case "quoted-printable": + $encoded = $this->EncodeQP($str); + break; + default: + $this->SetError($this->Lang("encoding") . $encoding); + break; + } + return $encoded; + } + + /** + * Encode a header string to best of Q, B, quoted or none. + * @access private + * @return string + */ + function EncodeHeader ($str, $position = 'text') { + $x = 0; + + switch (strtolower($position)) { + case 'phrase': + if (!preg_match('/[\200-\377]/', $str)) { + // Can't use addslashes as we don't know what value has magic_quotes_sybase. + $encoded = addcslashes($str, "\0..\37\177\\\""); + + if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) + return ($encoded); + else + return ("\"$encoded\""); + } + $x = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches); + break; + case 'comment': + $x = preg_match_all('/[()"]/', $str, $matches); + // Fall-through + case 'text': + default: + $x += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches); + break; + } + + if ($x == 0) + return ($str); + + $maxlen = 75 - 7 - strlen($this->CharSet); + // Try to select the encoding which should produce the shortest output + if (strlen($str)/3 < $x) { + $encoding = 'B'; + $encoded = base64_encode($str); + $maxlen -= $maxlen % 4; + $encoded = trim(chunk_split($encoded, $maxlen, "\n")); + } else { + $encoding = 'Q'; + $encoded = $this->EncodeQ($str, $position); + $encoded = $this->WrapText($encoded, $maxlen, true); + $encoded = str_replace("=".$this->LE, "\n", trim($encoded)); + } + + $encoded = preg_replace('/^(.*)$/m', " =?".$this->CharSet."?$encoding?\\1?=", $encoded); + $encoded = trim(str_replace("\n", $this->LE, $encoded)); + + return $encoded; + } + + /** + * Encode string to quoted-printable. + * @access private + * @return string + */ + function EncodeQP ($str) { + $encoded = $this->FixEOL($str); + if (substr($encoded, -(strlen($this->LE))) != $this->LE) + $encoded .= $this->LE; + + // Replace every high ascii, control and = characters + $encoded = preg_replace('/([\000-\010\013\014\016-\037\075\177-\377])/e', + "'='.sprintf('%02X', ord('\\1'))", $encoded); + // Replace every spaces and tabs when it's the last character on a line + $encoded = preg_replace("/([\011\040])".$this->LE."/e", + "'='.sprintf('%02X', ord('\\1')).'".$this->LE."'", $encoded); + + // Maximum line length of 76 characters before CRLF (74 + space + '=') + $encoded = $this->WrapText($encoded, 74, true); + + return $encoded; + } + + /** + * Encode string to q encoding. + * @access private + * @return string + */ + function EncodeQ ($str, $position = "text") { + // There should not be any EOL in the string + $encoded = preg_replace("[\r\n]", "", $str); + + switch (strtolower($position)) { + case "phrase": + $encoded = preg_replace("/([^A-Za-z0-9!*+\/ -])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); + break; + case "comment": + $encoded = preg_replace("/([\(\)\"])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); + case "text": + default: + // Replace every high ascii, control =, ? and _ characters + $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e', + "'='.sprintf('%02X', ord('\\1'))", $encoded); + break; + } + + // Replace every spaces to _ (more readable than =20) + $encoded = str_replace(" ", "_", $encoded); + + return $encoded; + } + + /** + * Adds a string or binary attachment (non-filesystem) to the list. + * This method can be used to attach ascii or binary data, + * such as a BLOB record from a database. + * @param string $string String attachment data. + * @param string $filename Name of the attachment. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File extension (MIME) type. + * @return void + */ + function AddStringAttachment($string, $filename, $encoding = "base64", + $type = "application/octet-stream") { + // Append to $attachment array + $cur = count($this->attachment); + $this->attachment[$cur][0] = $string; + $this->attachment[$cur][1] = $filename; + $this->attachment[$cur][2] = $filename; + $this->attachment[$cur][3] = $encoding; + $this->attachment[$cur][4] = $type; + $this->attachment[$cur][5] = true; // isString + $this->attachment[$cur][6] = "attachment"; + $this->attachment[$cur][7] = 0; + } + + /** + * Adds an embedded attachment. This can include images, sounds, and + * just about any other document. Make sure to set the $type to an + * image type. For JPEG images use "image/jpeg" and for GIF images + * use "image/gif". + * @param string $path Path to the attachment. + * @param string $cid Content ID of the attachment. Use this to identify + * the Id for accessing the image in an HTML form. + * @param string $name Overrides the attachment name. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File extension (MIME) type. + * @return bool + */ + function AddEmbeddedImage($path, $cid, $name = "", $encoding = "base64", + $type = "application/octet-stream") { + + if(!@is_file($path)) + { + $this->SetError($this->Lang("file_access") . $path); + return false; + } + + $filename = basename($path); + if($name == "") + $name = $filename; + + // Append to $attachment array + $cur = count($this->attachment); + $this->attachment[$cur][0] = $path; + $this->attachment[$cur][1] = $filename; + $this->attachment[$cur][2] = $name; + $this->attachment[$cur][3] = $encoding; + $this->attachment[$cur][4] = $type; + $this->attachment[$cur][5] = false; // isStringAttachment + $this->attachment[$cur][6] = "inline"; + $this->attachment[$cur][7] = $cid; + + return true; + } + + /** + * Returns true if an inline attachment is present. + * @access private + * @return bool + */ + function InlineImageExists() { + $result = false; + for($i = 0; $i < count($this->attachment); $i++) + { + if($this->attachment[$i][6] == "inline") + { + $result = true; + break; + } + } + + return $result; + } + + ///////////////////////////////////////////////// + // MESSAGE RESET METHODS + ///////////////////////////////////////////////// + + /** + * Clears all recipients assigned in the TO array. Returns void. + * @return void + */ + function ClearAddresses() { + $this->to = array(); + } + + /** + * Clears all recipients assigned in the CC array. Returns void. + * @return void + */ + function ClearCCs() { + $this->cc = array(); + } + + /** + * Clears all recipients assigned in the BCC array. Returns void. + * @return void + */ + function ClearBCCs() { + $this->bcc = array(); + } + + /** + * Clears all recipients assigned in the ReplyTo array. Returns void. + * @return void + */ + function ClearReplyTos() { + $this->ReplyTo = array(); + } + + /** + * Clears all recipients assigned in the TO, CC and BCC + * array. Returns void. + * @return void + */ + function ClearAllRecipients() { + $this->to = array(); + $this->cc = array(); + $this->bcc = array(); + } + + /** + * Clears all previously set filesystem, string, and binary + * attachments. Returns void. + * @return void + */ + function ClearAttachments() { + $this->attachment = array(); + } + + /** + * Clears all custom headers. Returns void. + * @return void + */ + function ClearCustomHeaders() { + $this->CustomHeader = array(); + } + + + ///////////////////////////////////////////////// + // MISCELLANEOUS METHODS + ///////////////////////////////////////////////// + + /** + * Adds the error message to the error container. + * Returns void. + * @access private + * @return void + */ + function SetError($msg) { + $this->error_count++; + $this->ErrorInfo = $msg; + } + + /** + * Returns the proper RFC 822 formatted date. + * @access private + * @return string + */ + function RFCDate() { + $tz = date("Z"); + $tzs = ($tz < 0) ? "-" : "+"; + $tz = abs($tz); + $tz = ($tz/3600)*100 + ($tz%3600)/60; + $result = sprintf("%s %s%04d", date("D, j M Y H:i:s"), $tzs, $tz); + + return $result; + } + + /** + * Returns the appropriate server variable. Should work with both + * PHP 4.1.0+ as well as older versions. Returns an empty string + * if nothing is found. + * @access private + * @return mixed + */ + function ServerVar($varName) { + global $HTTP_SERVER_VARS; + global $HTTP_ENV_VARS; + + if(!isset($_SERVER)) + { + $_SERVER = $HTTP_SERVER_VARS; + if(!isset($_SERVER["REMOTE_ADDR"])) + $_SERVER = $HTTP_ENV_VARS; // must be Apache + } + + if(isset($_SERVER[$varName])) + return $_SERVER[$varName]; + else + return ""; + } + + /** + * Returns the server hostname or 'localhost.localdomain' if unknown. + * @access private + * @return string + */ + function ServerHostname() { + if ($this->Hostname != "") + $result = $this->Hostname; + elseif ($this->ServerVar('SERVER_NAME') != "") + $result = $this->ServerVar('SERVER_NAME'); + else + $result = "localhost.localdomain"; + + return $result; + } + + /** + * Returns a message in the appropriate language. + * @access private + * @return string + */ + function Lang($key) { + if(count($this->language) < 1) + $this->SetLanguage("en"); // set the default language + + if(isset($this->language[$key])) + return $this->language[$key]; + else + return "Language string failed to load: " . $key; + } + + /** + * Returns true if an error occurred. + * @return bool + */ + function IsError() { + return ($this->error_count > 0); + } + + /** + * Changes every end of line from CR or LF to CRLF. + * @access private + * @return string + */ + function FixEOL($str) { + $str = str_replace("\r\n", "\n", $str); + $str = str_replace("\r", "\n", $str); + $str = str_replace("\n", $this->LE, $str); + return $str; + } + + /** + * Adds a custom header. + * @return void + */ + function AddCustomHeader($custom_header) { + $this->CustomHeader[] = explode(":", $custom_header, 2); + } +} + +class mosMailer extends mosPHPMailer { + + /** + * Function to create a mail object for futher use (uses phpMailer) + * @param string From e-mail address + * @param string From name + * @param string E-mail subject + * @param string Message body + * @return object Mail object + */ + function mosMailer ( $from='', $fromname='', $subject, $body ) { + $this->PluginDir = mamboCore::get('mosConfig_absolute_path').'/includes/phpmailer/'; + $this->SetLanguage( 'en', mamboCore::get('mosConfig_absolute_path').'/includes/phpmailer/language/' ); + $this->CharSet = substr_replace(_ISO, '', 0, 8); + $this->IsMail(); + $this->From = $from ? $from : mamboCore::get('mosConfig_mailfrom'); + $this->FromName = $fromname ? $fromname : mamboCore::get('mosConfig_fromname'); + $this->Mailer = mamboCore::get('mosConfig_mailer'); + + // Add smtp values if needed + if ( $this->Mailer == 'smtp' ) { + $this->SMTPAuth = mamboCore::get('mosConfig_smtpauth'); + $this->Username = mamboCore::get('mosConfig_smtpuser'); + $this->Password = mamboCore::get('mosConfig_smtppass'); + $this->Host = mamboCore::get('mosConfig_smtphost'); + } + + // Set sendmail path + elseif ( $this->Mailer == 'sendmail' AND mamboCore::is_set('mosConfig_sendmail')) $this->Sendmail = mamboCore::get('mosConfig_sendmail'); + + $this->Subject = $subject; + $this->Body = $body; + + } + + /** + * Mail function (uses phpMailer) + * @param string From e-mail address + * @param string From name + * @param string/array Recipient e-mail address(es) + * @param string E-mail subject + * @param string Message body + * @param boolean false = plain text, true = HTML + * @param string/array CC e-mail address(es) + * @param string/array BCC e-mail address(es) + * @param string/array Attachment file name(s) + * @param string/array Reply-to e-mail address + * @param string/array Reply-to name + */ + function mosMail($recipient, $mode=0, $cc=NULL, $bcc=NULL, $attachment=NULL, $replyto=NULL, $replytoname=NULL ) { + // activate HTML formatted emails + if ($mode) $this->IsHTML(true); + if(is_array($recipient)) foreach ($recipient as $to) $this->AddAddress($to); + else $this->AddAddress($recipient); + if (isset($cc)) { + if (is_array($cc)) foreach ($cc as $to) $this->AddCC($to); + else $this->AddCC($cc); + } + if (isset($bcc)) { + if(is_array($bcc)) foreach ($bcc as $to) $this->AddBCC($to); + else $this->AddBCC($bcc); + } + if ($attachment) { + if (is_array($attachment)) foreach ($attachment as $fname) $this->AddAttachment($fname); + else $this->AddAttachment($attachment); + } // if + if ($replyto) { + if (is_array($replyto)) { + reset($replytoname); + foreach ($replyto as $to) { + $toname = ((list($key, $value) = each($replytoname)) + ? $value : ""); + $this->AddReplyTo($to, $toname); + } + } else $this->AddReplyTo($replyto, $replytoname); + } + $result = $this->Send(); + if( mamboCore::get('mosConfig_debug') ) { + //$mosDebug->message( "Mails send: $thisssend"); + } + if( $this->error_count > 0 ) { + //$mosDebug->message( "The mail message $fromname <$from> about $subject to $recipient failed
      $body
      ", false ); + //$mosDebug->message( "Mailer Error: " . $this->ErrorInfo . "" ); + } + return $result; + } // mosMail + +} + + +?> diff -ruN 4.6rc2/uploadfiles/includes/phpmailer/class.smtp.php 4.6-complete/uploadfiles/includes/phpmailer/class.smtp.php --- 4.6rc2/uploadfiles/includes/phpmailer/class.smtp.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpmailer/class.smtp.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1045 @@ +smtp_conn = 0; + $this->error = null; + $this->helo_rply = null; + + $this->do_debug = 0; + } + + /************************************************************* + * CONNECTION FUNCTIONS * + ***********************************************************/ + + /** + * Connect to the server specified on the port specified. + * If the port is not specified use the default SMTP_PORT. + * If tval is specified then a connection will try and be + * established with the server for that number of seconds. + * If tval is not specified the default is 30 seconds to + * try on the connection. + * + * SMTP CODE SUCCESS: 220 + * SMTP CODE FAILURE: 421 + * @access public + * @return bool + */ + function Connect($host,$port=0,$tval=30) { + # set the error val to null so there is no confusion + $this->error = null; + + # make sure we are __not__ connected + if($this->connected()) { + # ok we are connected! what should we do? + # for now we will just give an error saying we + # are already connected + $this->error = + array("error" => "Already connected to a server"); + return false; + } + + if(empty($port)) { + $port = $this->SMTP_PORT; + } + + #connect to the smtp server + $this->smtp_conn = fsockopen($host, # the host of the server + $port, # the port to use + $errno, # error number if any + $errstr, # error message if any + $tval); # give up after ? secs + # verify we connected properly + if(empty($this->smtp_conn)) { + $this->error = array("error" => "Failed to connect to server", + "errno" => $errno, + "errstr" => $errstr); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": $errstr ($errno)" . $this->CRLF; + } + return false; + } + + # sometimes the SMTP server takes a little longer to respond + # so we will give it a longer timeout for the first read + // Windows still does not have support for this timeout function + if(substr(PHP_OS, 0, 3) != "WIN") + socket_set_timeout($this->smtp_conn, $tval, 0); + + # get any announcement stuff + $announce = $this->get_lines(); + + # set the timeout of any socket functions at 1/10 of a second + //if(function_exists("socket_set_timeout")) + // socket_set_timeout($this->smtp_conn, 0, 100000); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $announce; + } + + return true; + } + + /** + * Performs SMTP authentication. Must be run after running the + * Hello() method. Returns true if successfully authenticated. + * @access public + * @return bool + */ + function Authenticate($username, $password) { + // Start authentication + fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 334) { + $this->error = + array("error" => "AUTH not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + // Send encoded username + fputs($this->smtp_conn, base64_encode($username) . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 334) { + $this->error = + array("error" => "Username not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + // Send encoded password + fputs($this->smtp_conn, base64_encode($password) . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 235) { + $this->error = + array("error" => "Password not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + return true; + } + + /** + * Returns true if connected to a server otherwise false + * @access private + * @return bool + */ + function Connected() { + if(!empty($this->smtp_conn)) { + $sock_status = socket_get_status($this->smtp_conn); + if($sock_status["eof"]) { + # hmm this is an odd situation... the socket is + # valid but we aren't connected anymore + if($this->do_debug >= 1) { + echo "SMTP -> NOTICE:" . $this->CRLF . + "EOF caught while checking if connected"; + } + $this->Close(); + return false; + } + return true; # everything looks good + } + return false; + } + + /** + * Closes the socket and cleans up the state of the class. + * It is not considered good to use this function without + * first trying to use QUIT. + * @access public + * @return void + */ + function Close() { + $this->error = null; # so there is no confusion + $this->helo_rply = null; + if(!empty($this->smtp_conn)) { + # close the connection and cleanup + fclose($this->smtp_conn); + $this->smtp_conn = 0; + } + } + + + /*************************************************************** + * SMTP COMMANDS * + *************************************************************/ + + /** + * Issues a data command and sends the msg_data to the server + * finializing the mail transaction. $msg_data is the message + * that is to be send with the headers. Each header needs to be + * on a single line followed by a with the message headers + * and the message body being seperated by and additional . + * + * Implements rfc 821: DATA + * + * SMTP CODE INTERMEDIATE: 354 + * [data] + * . + * SMTP CODE SUCCESS: 250 + * SMTP CODE FAILURE: 552,554,451,452 + * SMTP CODE FAILURE: 451,554 + * SMTP CODE ERROR : 500,501,503,421 + * @access public + * @return bool + */ + function Data($msg_data) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Data() without being connected"); + return false; + } + + fputs($this->smtp_conn,"DATA" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 354) { + $this->error = + array("error" => "DATA command not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + # the server is ready to accept data! + # according to rfc 821 we should not send more than 1000 + # including the CRLF + # characters on a single line so we will break the data up + # into lines by \r and/or \n then if needed we will break + # each of those into smaller lines to fit within the limit. + # in addition we will be looking for lines that start with + # a period '.' and append and additional period '.' to that + # line. NOTE: this does not count towards are limit. + + # normalize the line breaks so we know the explode works + $msg_data = str_replace("\r\n","\n",$msg_data); + $msg_data = str_replace("\r","\n",$msg_data); + $lines = explode("\n",$msg_data); + + # we need to find a good way to determine is headers are + # in the msg_data or if it is a straight msg body + # currently I'm assuming rfc 822 definitions of msg headers + # and if the first field of the first line (':' sperated) + # does not contain a space then it _should_ be a header + # and we can process all lines before a blank "" line as + # headers. + $field = substr($lines[0],0,strpos($lines[0],":")); + $in_headers = false; + if(!empty($field) && !strstr($field," ")) { + $in_headers = true; + } + + $max_line_length = 998; # used below; set here for ease in change + + while(list(,$line) = @each($lines)) { + $lines_out = null; + if($line == "" && $in_headers) { + $in_headers = false; + } + # ok we need to break this line up into several + # smaller lines + while(strlen($line) > $max_line_length) { + $pos = strrpos(substr($line,0,$max_line_length)," "); + + # Patch to fix DOS attack + if(!$pos) { + $pos = $max_line_length - 1; + } + + $lines_out[] = substr($line,0,$pos); + $line = substr($line,$pos + 1); + # if we are processing headers we need to + # add a LWSP-char to the front of the new line + # rfc 822 on long msg headers + if($in_headers) { + $line = "\t" . $line; + } + } + $lines_out[] = $line; + + # now send the lines to the server + while(list(,$line_out) = @each($lines_out)) { + if(strlen($line_out) > 0) + { + if(substr($line_out, 0, 1) == ".") { + $line_out = "." . $line_out; + } + } + fputs($this->smtp_conn,$line_out . $this->CRLF); + } + } + + # ok all the message data has been sent so lets get this + # over with aleady + fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "DATA not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /** + * Expand takes the name and asks the server to list all the + * people who are members of the _list_. Expand will return + * back and array of the result or false if an error occurs. + * Each value in the array returned has the format of: + * [ ] + * The definition of is defined in rfc 821 + * + * Implements rfc 821: EXPN + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE FAILURE: 550 + * SMTP CODE ERROR : 500,501,502,504,421 + * @access public + * @return string array + */ + function Expand($name) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Expand() without being connected"); + return false; + } + + fputs($this->smtp_conn,"EXPN " . $name . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "EXPN not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + # parse the reply and place in our array to return to user + $entries = explode($this->CRLF,$rply); + while(list(,$l) = @each($entries)) { + $list[] = substr($l,4); + } + + return $list; + } + + /** + * Sends the HELO command to the smtp server. + * This makes sure that we and the server are in + * the same known state. + * + * Implements from rfc 821: HELO + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE ERROR : 500, 501, 504, 421 + * @access public + * @return bool + */ + function Hello($host="") { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Hello() without being connected"); + return false; + } + + # if a hostname for the HELO wasn't specified determine + # a suitable one to send + if(empty($host)) { + # we need to determine some sort of appopiate default + # to send to the server + $host = "localhost"; + } + + // Send extended hello first (RFC 2821) + if(!$this->SendHello("EHLO", $host)) + { + if(!$this->SendHello("HELO", $host)) + return false; + } + + return true; + } + + /** + * Sends a HELO/EHLO command. + * @access private + * @return bool + */ + function SendHello($hello, $host) { + fputs($this->smtp_conn, $hello . " " . $host . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER: " . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => $hello . " not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + $this->helo_rply = $rply; + + return true; + } + + /** + * Gets help information on the keyword specified. If the keyword + * is not specified then returns generic help, ussually contianing + * A list of keywords that help is available on. This function + * returns the results back to the user. It is up to the user to + * handle the returned data. If an error occurs then false is + * returned with $this->error set appropiately. + * + * Implements rfc 821: HELP [ ] + * + * SMTP CODE SUCCESS: 211,214 + * SMTP CODE ERROR : 500,501,502,504,421 + * @access public + * @return string + */ + function Help($keyword="") { + $this->error = null; # to avoid confusion + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Help() without being connected"); + return false; + } + + $extra = ""; + if(!empty($keyword)) { + $extra = " " . $keyword; + } + + fputs($this->smtp_conn,"HELP" . $extra . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 211 && $code != 214) { + $this->error = + array("error" => "HELP not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + return $rply; + } + + /** + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. + * + * Implements rfc 821: MAIL FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,421 + * @access public + * @return bool + */ + function Mail($from) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Mail() without being connected"); + return false; + } + + fputs($this->smtp_conn,"MAIL FROM:<" . $from . ">" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "MAIL not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /** + * Sends the command NOOP to the SMTP server. + * + * Implements from rfc 821: NOOP + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE ERROR : 500, 421 + * @access public + * @return bool + */ + function Noop() { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Noop() without being connected"); + return false; + } + + fputs($this->smtp_conn,"NOOP" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "NOOP not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /** + * Sends the quit command to the server and then closes the socket + * if there is no error or the $close_on_error argument is true. + * + * Implements from rfc 821: QUIT + * + * SMTP CODE SUCCESS: 221 + * SMTP CODE ERROR : 500 + * @access public + * @return bool + */ + function Quit($close_on_error=true) { + $this->error = null; # so there is no confusion + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Quit() without being connected"); + return false; + } + + # send the quit command to the server + fputs($this->smtp_conn,"quit" . $this->CRLF); + + # get any good-bye messages + $byemsg = $this->get_lines(); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $byemsg; + } + + $rval = true; + $e = null; + + $code = substr($byemsg,0,3); + if($code != 221) { + # use e as a tmp var cause Close will overwrite $this->error + $e = array("error" => "SMTP server rejected quit command", + "smtp_code" => $code, + "smtp_rply" => substr($byemsg,4)); + $rval = false; + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $e["error"] . ": " . + $byemsg . $this->CRLF; + } + } + + if(empty($e) || $close_on_error) { + $this->Close(); + } + + return $rval; + } + + /** + * Sends the command RCPT to the SMTP server with the TO: argument of $to. + * Returns true if the recipient was accepted false if it was rejected. + * + * Implements from rfc 821: RCPT TO: + * + * SMTP CODE SUCCESS: 250,251 + * SMTP CODE FAILURE: 550,551,552,553,450,451,452 + * SMTP CODE ERROR : 500,501,503,421 + * @access public + * @return bool + */ + function Recipient($to) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Recipient() without being connected"); + return false; + } + + fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250 && $code != 251) { + $this->error = + array("error" => "RCPT not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /** + * Sends the RSET command to abort and transaction that is + * currently in progress. Returns true if successful false + * otherwise. + * + * Implements rfc 821: RSET + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE ERROR : 500,501,504,421 + * @access public + * @return bool + */ + function Reset() { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Reset() without being connected"); + return false; + } + + fputs($this->smtp_conn,"RSET" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "RSET failed", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + return true; + } + + /** + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. This command + * will send the message to the users terminal if they are logged + * in. + * + * Implements rfc 821: SEND FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,502,421 + * @access public + * @return bool + */ + function Send($from) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Send() without being connected"); + return false; + } + + fputs($this->smtp_conn,"SEND FROM:" . $from . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "SEND not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /** + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. This command + * will send the message to the users terminal if they are logged + * in and send them an email. + * + * Implements rfc 821: SAML FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,502,421 + * @access public + * @return bool + */ + function SendAndMail($from) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called SendAndMail() without being connected"); + return false; + } + + fputs($this->smtp_conn,"SAML FROM:" . $from . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "SAML not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /** + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. This command + * will send the message to the users terminal if they are logged + * in or mail it to them if they are not. + * + * Implements rfc 821: SOML FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,502,421 + * @access public + * @return bool + */ + function SendOrMail($from) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called SendOrMail() without being connected"); + return false; + } + + fputs($this->smtp_conn,"SOML FROM:" . $from . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "SOML not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /** + * This is an optional command for SMTP that this class does not + * support. This method is here to make the RFC821 Definition + * complete for this class and __may__ be implimented in the future + * + * Implements from rfc 821: TURN + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE FAILURE: 502 + * SMTP CODE ERROR : 500, 503 + * @access public + * @return bool + */ + function Turn() { + $this->error = array("error" => "This method, TURN, of the SMTP ". + "is not implemented"); + if($this->do_debug >= 1) { + echo "SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF; + } + return false; + } + + /** + * Verifies that the name is recognized by the server. + * Returns false if the name could not be verified otherwise + * the response from the server is returned. + * + * Implements rfc 821: VRFY + * + * SMTP CODE SUCCESS: 250,251 + * SMTP CODE FAILURE: 550,551,553 + * SMTP CODE ERROR : 500,501,502,421 + * @access public + * @return int + */ + function Verify($name) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Verify() without being connected"); + return false; + } + + fputs($this->smtp_conn,"VRFY " . $name . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250 && $code != 251) { + $this->error = + array("error" => "VRFY failed on name '$name'", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return $rply; + } + + /******************************************************************* + * INTERNAL FUNCTIONS * + ******************************************************************/ + + /** + * Read in as many lines as possible + * either before eof or socket timeout occurs on the operation. + * With SMTP we can tell if we have more lines to read if the + * 4th character is '-' symbol. If it is a space then we don't + * need to read anything else. + * @access private + * @return string + */ + function get_lines() { + $data = ""; + while($str = fgets($this->smtp_conn,515)) { + if($this->do_debug >= 4) { + echo "SMTP -> get_lines(): \$data was \"$data\"" . + $this->CRLF; + echo "SMTP -> get_lines(): \$str is \"$str\"" . + $this->CRLF; + } + $data .= $str; + if($this->do_debug >= 4) { + echo "SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF; + } + # if the 4th character is a space then we are done reading + # so just break the loop + if(substr($str,3,1) == " ") { break; } + } + return $data; + } + +} + + + ?> diff -ruN 4.6rc2/uploadfiles/includes/phpmailer/index.html 4.6-complete/uploadfiles/includes/phpmailer/index.html --- 4.6rc2/uploadfiles/includes/phpmailer/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpmailer/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpmailer/language/index.html 4.6-complete/uploadfiles/includes/phpmailer/language/index.html --- 4.6rc2/uploadfiles/includes/phpmailer/language/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpmailer/language/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/includes/phpmailer/language/phpmailer.lang-en.php 4.6-complete/uploadfiles/includes/phpmailer/language/phpmailer.lang-en.php --- 4.6rc2/uploadfiles/includes/phpmailer/language/phpmailer.lang-en.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/phpmailer/language/phpmailer.lang-en.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,23 @@ + diff -ruN 4.6rc2/uploadfiles/includes/sef.php 4.6-complete/uploadfiles/includes/sef.php --- 4.6rc2/uploadfiles/includes/sef.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/sef.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,379 @@ +SEF_SPACE should be set to the + ** character that is to replace blanks in names that form the URL. + ** You can vary this, although the only sensible choices seem to be + ** underscore or hyphen (_ or -). + ** + ** The arrays $this->custom_code and $this->custom_name must be kept exactly + ** in step with each other. $this->custom_code is a list of the components + ** that are to be handled by ReMOSef. + ** + ** The array $this->custom_name is the alternative name that will be used + ** in the optimised URL to identify the component and can be whatever + ** you please so long as it is unique and legal for a URL. Apart from + ** using the custom name for the component, ReMOSef will do no further + ** translation of the URL than is done by the standard Mambo SEF - UNLESS + ** there is a sef_ext.php file installed for that component. The + ** exception to this is ReMOSitory - the optimisation code for Remository + ** is integrated in ReMOSef. For other components, if a sef_ext.php is + ** present, it will be invoked by ReMOSef. + ** + ** The array $remosef_content_task is capable of translating the tasks + ** understood by the Mambo content component. Please DO NOT CHANGE what + ** is to the left of the equals sign. When putting different values on + ** the right hand side, remember that they must all be different, and must + ** also be different from any of the custom names used for components. + ** Without that, Remosef cannot figure out what a SEF URL means and will + ** give unpredictable results. + ** + ** Note that the names in custom_name must not be allowed to clash with + ** the names used as tasks by the content component, in their + ** translated form - see below. + *******************************************************************************/ + $this->SEF_SPACE = "_"; // divide words with underscores + // can be changed to a hyphen "-" + $this->custom_code = array('com_frontpage','com_contact'); + $this->custom_name = array('Frontpage','Contact_Us'); + /******************************************************************************* + ** The following are the parameters for the optional content specific + ** URL optimisation. They are not used within the standard SEF processing + ** unless you add in a sef_ext.php that is integrated with the Mambo SEF. + ** + ** The following two lines define the translations that SEF will perform on + ** names of sections and categories when translating them for inclusion in a URL. + ** Each item in $this->sef_name_chars is translated into the corresponding + ** element of $this->sef_translate_chars. + ** + ** NOTE it is important that space be the last translate character, since the + ** characters are processed in the order in which they appear. Since earlier + ** translates may create new spaces, it is vital that the space translation is + ** done last. + ** + ** You can extend these arrays as you wish, although it is obviously important + ** to make sure that the items of one match the items of the other exactly. + *******************************************************************************/ + $this->sef_name_chars = array('?', '&', '/', ' '); + $this->sef_translate_chars = array('', 'and', ' or ', $this->SEF_SPACE); + $this->sef_name_string = '\''; + $this->sef_translate_string = '--'; + +/************** DO NOT MAKE CHANGES IN THE FOLLOWING LINES EXCEPT AT YOUR OWN RISK! ********************/ + + if (mamboCore::is_set('mosConfig_sef_prefix')) $this->prefix = mamboCore::get('mosConfig_sef_prefix'); + else $this->prefix = 'mos'; + if ($this->prefix == 'content' OR $this->prefix == 'component') $this->prefix = 'mos'; + foreach ($this->custom_code as $code) { + $codefile = "components/$code/sef_ext.php"; + if (file_exists($codefile)) { + include ($codefile); + $this->custom_PHP[] = true; + } + else $this->custom_PHP[] = false; + $split = explode('_',$code); + $this->custom_short[] = $split[1]; + } + + $this->sef_content_task['findkey'] = 'findkey'; + $this->sef_content_task['view'] = 'view'; + $this->sef_content_task['section'] = 'section'; + $this->sef_content_task['category'] = 'category'; + $this->sef_content_task['blogsection'] = 'blogsection'; + $this->sef_content_task['blogcategorymulti'] = 'blogcategorymulti'; + $this->sef_content_task['blogcategory'] = 'blogcategory'; + $this->sef_content_task['archivesection'] = 'archivesection'; + $this->sef_content_task['archivecategory'] = 'archivecategory'; + $this->sef_content_task['save'] = 'save'; + $this->sef_content_task['cancel'] = 'cancel'; + $this->sef_content_task['emailform'] = 'emailform'; + $this->sef_content_task['emailsend'] = 'emailsend'; + $this->sef_content_task['vote'] = 'vote'; + $this->sef_content_task['showblogsection'] = 'showblogsection'; + + } + + function &getInstance () { + static $instance; + if (!is_object($instance)) $instance = new mosSEF(); + return $instance; + } + + function nameForURL ($string) { + $accented = "".$this->sef_name_string; + $nonaccent = "SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy".$this->sef_translate_string; + $string = strtr($string, $accented, $nonaccent); + foreach ($this->sef_name_chars as $i=>$char) $string = str_replace($char, $this->sef_translate_chars[$i], $string); + $string = urlencode($string); + return $string; + } + + + function sefRetrieval($register_globals){ + + if (preg_match('/(\b)GLOBALS|_REQUEST|_SERVER|_ENV|_COOKIE|_GET|_POST|_FILES|_SESSION(\b)/i', $_SERVER['REQUEST_URI']) > 0) { + die('Invalid Request'); + } + if (mamboCore::get('mosConfig_sef')) { + $subdir = mamboCore::get('subdirectory'); + $uri = substr($_SERVER['REQUEST_URI'], strlen($subdir)); + $url_array = explode('/', $uri); + /** + * Content + * /$option/$task/$sectionid/$id/$Itemid/$limit/$limitstart + */ + if (!isset($url_array[2]) AND strpos($uri, '?')) return 0; + elseif ($url_array[2] == 'syndstyle') { + array_splice($url_array, 2, 1); + $_REQUEST['syndstyle'] = $_GET['syndstyle'] = $syndstyle = 'yes'; + $QUERY_STRING = 'syndstyle=yes&'; + } + else $QUERY_STRING = ''; + $foundit = false; + if ($url_array[1] == 'content') { + $foundit = true; + $_REQUEST['option'] = $_GET['option'] = $option = 'com_content'; + + // language hook for content + $lang = ""; + $parms = array(); + foreach($url_array as $key=>$value) { + if ( strcasecmp(substr($value,0,5),'lang,') == 0 ) { + $parts = explode(",", $value); + if (count($parts) > 1) { + $lang = $_REQUEST['lang'] = $_GET['lang'] = $parts[1]; + } + } + elseif ( $value != '' AND $key > 1 ) $parms[] = $value; + } + + // $option/$task/$sectionid/$id/$Itemid/$limit/$limitstart + $task = array_search($parms[0], $this->sef_content_task); + if ($task === false OR $task === null) return 1; + $_REQUEST['task'] = $_GET['task'] = $task; + $QUERY_STRING .= "option=com_content&task=$task"; + if ($task == 'archivecategory') { + $_REQUEST['year'] = $_GET['year'] = $year = intval(@$parms[1]); + $_REQUEST['month'] = $_GET['month'] = $month = intval(@$parms[2]); + $_REQUEST['module'] = $_GET['module'] = $module = intval(@$parms[3]); + $QUERY_STRING .= "&year=$year&month=$month&module=$module"; + } + else { + $num = count($parms); + for ($i = 1; $i <= $num-1; $i++) { + if (strcmp($parms[$i], (int)$parms[$i]) !== 0) return 1; + } + $i = 1; + if ($num == 6 OR $num == 4) { + $_REQUEST['sectionid'] = $_GET['sectionid'] = $sectionid = $parms[$i]; + $QUERY_STRING .= "§ionid=$sectionid"; + $i++; + } + if ($num > 1) { + $_REQUEST['id'] = $_GET['id'] = $id = $parms[$i]; + $QUERY_STRING .= "&id=$id"; + } + if ($num > 2) { + $_REQUEST['Itemid'] = $_GET['Itemid'] = $Itemid = $parms[$i+1]; + mamboCore::set('Itemid',$Itemid); + $QUERY_STRING .= "&Itemid=$Itemid"; + } + if ($num > 4) { + $_REQUEST['limit'] = $_GET['limit'] = $limit = $parms[$i+2]; + $_REQUEST['limitstart'] = $_GET['limitstart'] = $limitstart = $parms[$i+3]; + $QUERY_STRING .= "&limit=$limit&limitstart=$limitstart"; + } + } + + if ($lang!="") { + $QUERY_STRING .= "&lang=$lang"; + } + } + + /* + Components + http://www.domain.com/component/$name,$value + */ + elseif ($url_array[1] == 'component') { + $QUERY_STRING .= $this->default_revert('component'); + if ($QUERY_STRING) $foundit = true; + } + elseif ($url_array[1] == $this->prefix) { + $menuhandler =& mosMenuHandler::getInstance(); + foreach ($this->custom_name as $i=>$compname) { + if ($url_array[2] == $compname) { + $origname = $this->custom_code[$i]; + $_REQUEST['Itemid'] = $_GET['Itemid'] = $Itemid = $menuhandler->getIDLikeLink("index.php?option=$origname"); + mamboCore::set('Itemid', $Itemid); + if ($this->custom_PHP[$i]) { + $fixup = '$QUERY_STRING .= "option='.$origname.'&Itemid=".$Itemid.sef_'.$this->custom_short[$i].'::revert($url_array,1);'; + eval($fixup); + } + else $QUERY_STRING .= "option=$origname&Itemid=$Itemid".$this->default_revert($compname); + $_REQUEST['option'] = $this->custom_code[$i]; + $foundit = true; + break; + } + } + if (!$foundit) { + $content_sef = mamboCore::get('mosConfig_absolute_path').'/components/com_content/sef_ext.php'; + if (file_exists($content_sef)) { + require_once($content_sef); + $crevert = sef_content::revert($url_array,1); + if ($crevert) { + $foundit = true; + $QUERY_STRING .= $crevert; + } + } + } + } + if ($foundit) { + $_SERVER['QUERY_STRING'] = $QUERY_STRING; + $REQUEST_URI = '/index.php?'.$QUERY_STRING; + $_SERVER['REQUEST_URI'] = $REQUEST_URI; + return 0; + } + else return 1; + } + return 0; + } + + function default_revert ($specialname) { + $request = explode($specialname.'/', $_SERVER['REQUEST_URI']); + if (isset($request[1])) $parmset = explode("/", $request[1]); + else $parmset = array(); + $QUERY_STRING = ''; + $menuhandler =& mosMenuHandler::getInstance(); + foreach($parmset as $values) { + $parts = explode(",", $values); + if (count($parts) > 1) { + $_REQUEST[$parts[0]] = $_GET[$parts[0]] = $parts[1]; + if ($parts[0] == 'option') { + $_REQUEST['Itemid'] = $_GET['Itemid'] = $Itemid = $menuhandler->getIDLikeLink("index.php?option=$parts[1]"); + mamboCore::set('Itemid', $Itemid); + $QUERY_STRING .= "$parts[0]=$parts[1]&Itemid=$Itemid"; + } + $QUERY_STRING .= "&$parts[0]=$parts[1]"; + } + } + return $QUERY_STRING; + } + + function sefRelToAbs( $string ) { + global $iso_client_lang; + + $server = mamboCore::get('mosConfig_live_site'); + if ($string == 'index.php') return $server.'/'; + if (strtolower(substr($string,0,9)) != 'index.php' OR eregi('^(([^:/?#]+):)',$string)) return $string; + if (mosGetParam($_GET, 'syndstyle', '') == 'yes') $string .= '&syndstyle=yes'; + $passed_string = str_replace('&', '&', $string); + if (!mamboCore::get('mosConfig_sef')) return $server.'/'.str_replace( '&', '&', $passed_string ); + $string = substr($passed_string,10); + if(mamboCore::get('mosConfig_mbf_content') AND strpos("lang=", strtolower($string)) === false) { + $string .= "&lang=$iso_client_lang"; + } + $option = $task = ''; + $oktasks = true; + $syndmark = ''; + parse_str($string, $params); + foreach ($params as $key=>$value) { + $lowkey = strtolower($key); + $lowvalue = strtolower($value); + $unset = true; + switch ($lowkey) { + case 'option': + $option = $lowvalue; + break; + case 'task': + $task = $value; + if ($lowvalue == 'new' OR $lowvalue == 'edit') $oktasks = false; + break; + case 'syndstyle': + $syndmark = '/syndstyle'; + break; + default: + $check_params[$lowkey] = $key; + $unset = false; + } + if ($unset) unset($params[$key]); + } + // Process content items + if (($option == 'com_content' OR $option == 'content') AND $oktasks) { + /* + Content + index.php?option=com_content&task=$task§ionid=$sectionid&id=$id&Itemid=$Itemid&limit=$limit&limitstart=$limitstart + */ + $task = $this->sef_content_task[$task]; + $content_sef = mamboCore::get('mosConfig_absolute_path').'/components/com_content/sef_ext.php'; + if (file_exists($content_sef)) { + require_once($content_sef); + return $server.'/'.$this->prefix.$syndmark.sef_content::create($task, $params); + } + $keys = array('sectionid', 'id', 'itemid', 'limit', 'limitstart', 'year', 'month', 'module', 'lang'); + $string = '/content'.$syndmark.'/'.$task.'/'; + foreach ($keys as $key) { + if (isset($check_params[$key])) { + $pkey = $check_params[$key]; + $string .= $params[$pkey].'/'; + } + } + return $server.$string; + } + // Other types of URL than content do not use Itemid in the SEO version + if (isset($check_params['itemid'])) { + $pkey = $check_params['itemid']; + unset($params[$pkey]); + unset($check_params['itemid']); + } + // Process customised components + $i = array_search($option,$this->custom_code); + if ($i !== false AND $i !== null) { + if ($this->custom_PHP[$i]) eval('$string = sef_'.$this->custom_short[$i].'::create($passed_string);'); + else $string = $this->componentDetails($params,$task); + return $server.'/'.$this->prefix.$syndmark.'/'.$this->custom_name[$i].'/'.$string; + } + // Process ordinary components + if (strpos($option,'com_')===0 AND $option != 'com_registration' AND $oktasks) { + return "$server/component$syndmark/option,$option/".$this->componentDetails($params,$task); + } + // Anything else is returned as received, except it is guaranteed that & will be & + return $server.'/'.str_replace( '&', '&', $passed_string ); + } + + function componentDetails (&$params, $task) { + $string = ($task ? "task,$task/" : ''); + foreach ($params as $key=>$param) $string .= "$key,$param/"; + return $string; + } + +} +?> diff -ruN 4.6rc2/uploadfiles/includes/vcard.class.php 4.6-complete/uploadfiles/includes/vcard.class.php --- 4.6rc2/uploadfiles/includes/vcard.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/vcard.class.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,180 @@ + 126) ) { // always encode "\t", which is *not* required + $h2 = floor($dec/16); $h1 = floor($dec%16); + $c = $escape.$hex["$h2"].$hex["$h1"]; + } + if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted + $output .= $newline.$escape.$eol; // soft line break; " =\r\n" is okay + $newline = " "; + } + $newline .= $c; + } // end of for + $output .= $newline; + if ($jproperties[$key] = quoted_printable_encode($number); + } + + // UNTESTED !!! + function setPhoto($type, $photo) { // $type = "GIF" | "JPEG" + $this->properties["PHOTO;TYPE=$type;ENCODING=BASE64"] = base64_encode($photo); + } + + function setFormattedName($name) { + $this->properties["FN"] = quoted_printable_encode($name); + } + + function setName($family="", $first="", $additional="", $prefix="", $suffix="") { + $this->properties["N"] = "$family;$first;$additional;$prefix;$suffix"; + $this->filename = "$first%20$family.vcf"; + if ($this->properties["FN"]=="") $this->setFormattedName(trim("$prefix $first $additional $family $suffix")); + } + + function setBirthday($date) { // $date format is YYYY-MM-DD + $this->properties["BDAY"] = $date; + } + + function setAddress($postoffice="", $extended="", $street="", $city="", $region="", $zip="", $country="", $type="HOME;POSTAL") { + // $type may be DOM | INTL | POSTAL | PARCEL | HOME | WORK or any combination of these: e.g. "WORK;PARCEL;POSTAL" + $key = "ADR"; + if ($type!="") $key.= ";$type"; + $key.= ";ENCODING=QUOTED-PRINTABLE"; + $this->properties[$key] = encode($name).";".encode($extended).";".encode($street).";".encode($city).";".encode($region).";".encode($zip).";".encode($country); + + if ($this->properties["LABEL;$type;ENCODING=QUOTED-PRINTABLE"] == "") { + //$this->setLabel($postoffice, $extended, $street, $city, $region, $zip, $country, $type); + } + } + + function setLabel($postoffice="", $extended="", $street="", $city="", $region="", $zip="", $country="", $type="HOME;POSTAL") { + $label = ""; + if ($postoffice!="") $label.= "$postoffice\r\n"; + if ($extended!="") $label.= "$extended\r\n"; + if ($street!="") $label.= "$street\r\n"; + if ($zip!="") $label.= "$zip "; + if ($city!="") $label.= "$city\r\n"; + if ($region!="") $label.= "$region\r\n"; + if ($country!="") $country.= "$country\r\n"; + + $this->properties["LABEL;$type;ENCODING=QUOTED-PRINTABLE"] = quoted_printable_encode($label); + } + + function setEmail($address) { + $this->properties["EMAIL;INTERNET"] = $address; + } + + function setNote($note) { + $this->properties["NOTE;ENCODING=QUOTED-PRINTABLE"] = quoted_printable_encode($note); + } + + function setURL($url, $type="") { + // $type may be WORK | HOME + $key = "URL"; + if ($type!="") $key.= ";$type"; + $this->properties[$key] = $url; + } + + function getVCard() { + $text = "BEGIN:VCARD\r\n"; + $text.= "VERSION:2.1\r\n"; + foreach($this->properties as $key => $value) { + $text.= "$key:$value\r\n"; + } + $text.= "REV:".date("Y-m-d")."T".date("H:i:s")."Z\r\n"; + $text.= "MAILER:PHP vCard class by Kai Blankenhorn\r\n"; + $text.= "END:VCARD\r\n"; + return $text; + } + + function getFileName() { + return $this->filename; + } +} + + +// USAGE EXAMPLE +/* +$v = new vCard(); + +$v->setPhoneNumber("+49 23 456789", "PREF;HOME;VOICE"); +$v->setName("Mustermann", "Thomas", "", "Herr"); +$v->setBirthday("1960-07-31"); +$v->setAddress("", "", "Musterstrasse 20", "Musterstadt", "", "98765", "Deutschland"); +$v->setEmail("thomas.mustermann@thomas-mustermann.de"); +$v->setNote("You can take some notes here.\r\nMultiple lines are supported via \\r\\n."); +$v->setURL("http://www.thomas-mustermann.de", "WORK"); + +$output = $v->getVCard(); +$filename = $v->getFileName(); + +Header("Content-Disposition: attachment; filename=$filename"); +Header("Content-Length: ".strlen($output)); +Header("Connection: close"); +Header("Content-Type: text/x-vCard; name=$filename"); + +echo $output; +*/ +?> diff -ruN 4.6rc2/uploadfiles/includes/version.php 4.6-complete/uploadfiles/includes/version.php --- 4.6rc2/uploadfiles/includes/version.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/includes/version.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,36 @@ +Mambo is Free Software released under the GNU/GPL License.'; +} + +?> diff -ruN 4.6rc2/uploadfiles/index.php 4.6-complete/uploadfiles/index.php --- 4.6rc2/uploadfiles/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,314 @@ +$element) $result[$key] = mosGetParam ($arr[$name], $key, $def, $mask); + else { + $result = $arr[$name]; + if (!($mask&_MOS_NOTRIM)) $result = trim($result); + if (!is_numeric( $result)) { + if (!($mask&_MOS_ALLOWHTML)) $result = strip_tags($result); + if (!($mask&_MOS_ALLOWRAW)) { + if (is_numeric($def)) $result = intval($result); + } + } + } + return $result; + } else { + return $def; + } +} + +function sefRelToAbs ($string) { + $sef =& mosSEF::getInstance(); + return $sef->sefRelToAbs($string); +} + +if (!isset($adminside)) $adminside = 0; +if (!isset($indextype)) $indextype = 1; + +require_once (dirname(__FILE__).'/includes/database.php'); +require_once(dirname(__FILE__).'/includes/core.classes.php'); +$configuration =& mamboCore::getMamboCore(); +$configuration->handleGlobals(); + + +require($configuration->rootPath().'/includes/version.php'); +$_VERSION =& new version(); + + +$version = $_VERSION->PRODUCT .' '. $_VERSION->RELEASE .'.'. $_VERSION->DEV_LEVEL .' ' +. $_VERSION->DEV_STATUS +.' [ '.$_VERSION->CODENAME .' ] '. $_VERSION->RELDATE .' ' +. $_VERSION->RELTIME .' '. $_VERSION->RELTZ; + +if (phpversion() < '4.2.0') require_once( $configuration->rootPath() . '/includes/compat.php41x.php' ); +if (phpversion() < '4.3.0') require_once( $configuration->rootPath() . '/includes/compat.php42x.php' ); + +$local_backup_path = $configuration->rootPath().'/administrator/backups'; +$media_path = $configuration->rootPath().'/media/'; +$image_path = $configuration->rootPath().'/images/stories'; +$lang_path = $configuration->rootPath().'/language'; +$image_size = 100; + +$database =& mamboDatabase::getInstance(); +$database->debug(mamboCore::get('mosConfig_debug')); + + +if (!$adminside) { + $sefcode = $configuration->rootPath().'/components/com_sef/sef.php'; + if (file_exists($sefcode)) require_once($sefcode); + else require_once($configuration->rootPath().'/includes/sef.php'); + $urlerror = 0; + if (mamboCore::get('mosConfig_sef') AND $indextype == 3) { + $sef =& mosSEF::getInstance(); + $urlerror = $sef->sefRetrieval(mamboCore::get('mosConfig_register_globals')); + $indextype = 1; + } +} + +/** retrieve some possible request string (or form) arguments */ +$type = mosGetParam($_REQUEST, 'type', 1); +$act = mosGetParam( $_REQUEST, 'act', '' ); +$do_pdf = mosGetParam( $_REQUEST, 'do_pdf', 0 ); +$id = mosGetParam( $_REQUEST, 'id', 0 ); +$task = mosGetParam($_REQUEST, 'task', ''); +$act = strtolower(mosGetParam($_REQUEST, 'act', '')); +$section = mosGetParam($_REQUEST, 'section', ''); +$no_html = strtolower(mosGetParam($_REQUEST, 'no_html', '')); +$cid = (array) mosGetParam( $_POST, 'cid', array() ); + +ini_set('session.use_trans_sid', 0); +ini_set('session.use_cookies', 1); +ini_set('session.use_only_cookies', 1); + + +/* initialize i18n */ +$lang = $configuration->current_language->name; +$charset = $configuration->current_language->charset; +$gettext =& phpgettext(); +$gettext->debug = $configuration->mosConfig_locale_debug; +$gettext->has_gettext = $configuration->mosConfig_locale_use_gettext; +$gettext->setlocale($lang); +$gettext->bindtextdomain($lang, $configuration->rootPath().'/language'); +$gettext->textdomain($lang); +#$gettext =& phpgettext(); dump($gettext); + +if ($adminside) { + // Start ACL + require_once($configuration->rootPath().'/includes/gacl.class.php' ); + require_once($configuration->rootPath().'/includes/gacl_api.class.php' ); + $acl = new gacl_api(); + // Handle special admin side options + $option = strtolower(mosGetParam($_REQUEST,'option','com_admin')); + + $domain = substr($option, 4); + session_name(md5(mamboCore::get('mosConfig_live_site'))); + session_start(); + // restore some session variables + $my = new mosUser(); + $my->getSession(); + if (mosSession::validate($my)) { + mosSession::purge(); + } else { + mosSession::purge(); + $my = null; + } + if (!$my AND $option == 'login') { + require_once($configuration->rootPath().'/includes/authenticator.php'); + $authenticator =& mamboAuthenticator::getInstance(); + $my = $authenticator->loginAdmin($acl); + } + // Handle the remaining special options + elseif ($option == 'logout') { + require($configuration->rootPath().'/administrator/logout.php'); + exit(); + } + // We can now create the mainframe object + $mainframe =& new mosMainFrame($database, $option, '..', true); + // Provided $my is set, we have a valid admin side session and can include remaining code + if ($my) { + mamboCore::set('currentUser', $my); + if ($option == 'simple_mode') $admin_mode = 'on'; + elseif ($option == 'advanced_mode') $admin_mode = 'off'; + else $admin_mode = mosGetParam($_SESSION, 'simple_editing', ''); + $_SESSION['simple_editing'] = mosGetParam($_POST, 'simple_editing', $admin_mode); + require_once($configuration->rootPath().'/administrator/includes/admin.php'); + require_once( $configuration->rootPath().'/includes/mambo.php' ); + require_once ($configuration->rootPath().'/includes/mambofunc.php'); + require_once ($configuration->rootPath().'/includes/mamboHTML.php'); + require_once( $configuration->rootPath().'/administrator/includes/mosAdminMenus.php'); + require_once($configuration->rootPath().'/administrator/includes/admin.php'); + require_once( $configuration->rootPath() . '/includes/cmtclasses.php' ); + require_once( $configuration->rootPath() . '/components/com_content/content.class.php' ); + $_MAMBOTS =& mosMambotHandler::getInstance(); + + + // If no_html is set, we avoid starting the template, and go straight to the component + if ($no_html) { + if ($path = $mainframe->getPath( "admin" )) require $path; + exit(); + } + $configuration->initGzip(); + // When adminside = 3 we assume that HTML is being explicitly written and do nothing more + if ($adminside != 3) { + $path = $configuration->rootPath().'/administrator/templates/'.$mainframe->getTemplate().'/index.php'; + require_once($path); + $configuration->doGzip(); + } + else { + if (!isset($popup)) { + $pop = mosGetParam($_REQUEST, 'pop', ''); + if ($pop) require($configuration->rootPath()."/administrator/popups/$pop"); + else require($configuration->rootPath()."/administrator/popups/index3pop.php"); + $configuration->doGzip(); + } + } + } + // If $my was not set, the only possibility is to offer a login screen + else { + $configuration->initGzip(); + $path = $configuration->rootPath().'/administrator/templates/'.$mainframe->getTemplate().'/login.php'; + require_once( $path ); + $configuration->doGzip(); + } +} +// Finished admin side; the rest is user side code: +else { + $option = $configuration->determineOptionAndItemid(); + $configuration->handleGlobals(); + $Itemid = $configuration->get('Itemid'); + + $mainframe =& new mosMainFrame($database, $option, '.'); + if ($option == 'login') $configuration->handleLogin(); + elseif ($option == 'logout') $configuration->handleLogout(); + + $session =& mosSession::getCurrent(); + $my =& new mosUser(); + $my->getSessionData(); + mamboCore::set('currentUser',$my); + $configuration->offlineCheck($my, $database); + $gid = intval( $my->gid ); + // gets template for page + $cur_template = $mainframe->getTemplate(); + + require_once( $configuration->rootPath().'/includes/frontend.php' ); + require_once( $configuration->rootPath().'/includes/mambo.php' ); + require_once ($configuration->rootPath().'/includes/mambofunc.php'); + require_once ($configuration->rootPath().'/includes/mamboHTML.php'); + + if ($indextype == 2 AND $do_pdf == 1 ) { + include_once('includes/pdf.php'); + exit(); + } + + /** detect first visit */ + $mainframe->detect(); + + /** @global mosPlugin $_MAMBOTS */ + $_MAMBOTS =& mosMambotHandler::getInstance(); + require_once( $configuration->rootPath().'/editor/editor.php' ); + require_once( $configuration->rootPath() . '/includes/gacl.class.php' ); + require_once( $configuration->rootPath() . '/includes/gacl_api.class.php' ); + require_once( $configuration->rootPath() . '/components/com_content/content.class.php' ); + $acl = new gacl_api(); + + /** Get the component handler */ + require_once( $configuration->rootPath() . '/includes/cmtclasses.php' ); + $c_handler =& mosComponentHandler::getInstance(); + $c_handler->startBuffer(); + + if (!$urlerror AND $path = $mainframe->getPath( 'front' )) { + $menuhandler =& mosMenuHandler::getInstance(); + $ret = $menuhandler->menuCheck($Itemid, $option, $task, $gid); + $menuhandler->setPathway($Itemid); + if ($ret) { + require ($path); + } + else mosNotAuth(); + } + else { + header ('HTTP/1.1 404 Not Found'); + $mainframe->setPageTitle(T_('404 Error - page not found')); + include ($configuration->rootPath().'/page404.php'); + } + + $c_handler->endBuffer(); + + $configuration->initGzip(); + + $configuration->standardHeaders(); + if (mosGetParam($_GET, 'syndstyle', '') == 'yes') mosMainBody(); + elseif ($indextype == 1) { + // loads template file + if ( !file_exists( 'templates/'. $cur_template .'/index.php' ) ) { + echo ''.T_('Template File Not Found! Looking for template').''.$cur_template; + } else { + require_once( 'templates/'. $cur_template .'/index.php' ); + $mambothandler =& mosMambotHandler::getInstance(); + $mambothandler->loadBotGroup('system'); + $mambothandler->trigger('afterTemplate', array($configuration)); + echo ""; + } + } + elseif ($indextype == 2) { + if ( $no_html == 0 ) { + // needed to seperate the ISO number from the language file constant _ISO + $iso = split( '=', _ISO ); + // xml prolog + echo ''; + ?> + + + + + + + + + + + + doGzip(); +} +// displays queries performed for page +if ($configuration->get('mosConfig_debug') AND $adminside != 3) $database->displayLogged(); + +?> diff -ruN 4.6rc2/uploadfiles/index2.php 4.6-complete/uploadfiles/index2.php --- 4.6rc2/uploadfiles/index2.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/index2.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,15 @@ + diff -ruN 4.6rc2/uploadfiles/index3.php 4.6-complete/uploadfiles/index3.php --- 4.6rc2/uploadfiles/index3.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/index3.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,15 @@ + diff -ruN 4.6rc2/uploadfiles/installation/common.php 4.6-complete/uploadfiles/installation/common.php --- 4.6rc2/uploadfiles/installation/common.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/common.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,91 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/installation/gpl.txt 4.6-complete/uploadfiles/installation/gpl.txt --- 4.6rc2/uploadfiles/installation/gpl.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/gpl.txt 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. Binary files 4.6rc2/uploadfiles/installation/header_blue.jpg and 4.6-complete/uploadfiles/installation/header_blue.jpg differ Binary files 4.6rc2/uploadfiles/installation/header_install.png and 4.6-complete/uploadfiles/installation/header_install.png differ diff -ruN 4.6rc2/uploadfiles/installation/index.php 4.6-complete/uploadfiles/installation/index.php --- 4.6rc2/uploadfiles/installation/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/index.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,291 @@ + 10) { + header( "Location: ../index.php" ); + exit(); +} +require_once( '../includes/version.php' ); + +$_VERSION = new version(); + +$version = $_VERSION->PRODUCT .' '. $_VERSION->RELEASE .'.'. $_VERSION->DEV_LEVEL .' ' +. $_VERSION->DEV_STATUS +.' [ '.$_VERSION->CODENAME .' ] '. $_VERSION->RELDATE .' ' +. $_VERSION->RELTIME .' '. $_VERSION->RELTZ; + +/** Include common.php */ +include_once( "common.php" ); + +function get_php_setting($val) { + $r = (ini_get($val) == '1' ? 1 : 0); + return $r ? T_('ON') : T_('OFF'); +} + +function writableCell( $folder ) { + echo ''; + echo '' . $folder . '/'; + echo ''; + echo is_writable( "../$folder" ) ? ''.T_('Writeable').'' : ''.T_('Unwriteable').'' . ''; + echo ''; +} + +echo ""; +?> + + + +<?php echo T_('Mambo - Web Installer') ?> + + + + + + + +
      + +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + + +
      +
      +
      + + diff -ruN 4.6rc2/uploadfiles/installation/install.css 4.6-complete/uploadfiles/installation/install.css --- 4.6rc2/uploadfiles/installation/install.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/install.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,289 @@ +/** +* @package Mambo Open Source +* @copyright (C) 2005 - 2006 Mambo Foundation Inc. +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure +* that Mambo remained free Open Source software owned and managed by the community. +* Mambo is Free Software +*/ +body { + margin: 0px; + padding: 0px; + color : #333; + background-color : #FFF; + font-size : 11px; + font-family : Arial, Helvetica, sans-serif; +} + +#wrapper { + border: 0px; + margin: 0px; + margin-left: auto; + margin-right: auto; + padding: 0px; +} + +#header { + background-color: #FFF; + background-position: right top; + border-bottom: 4px solid #80B5D7; +} + +#mambo { + position: relative; + width: 100%; + background: url(header_blue.jpg) #30569D no-repeat; + background-position: top right; + margin: 0px; + padding: 0px; +} + +#stepbar { + background-color: #F1F3F5; + width: 170px !important; + width: 170px; + height: 400px; + font-size: 11px; + float: left; + text-align: left; + background: url(osi_certified.png) no-repeat; + background-position: bottom; +} + +#step { + background: url(install_logo.png) no-repeat; + font-size: 30px; + font-weight: bold; + text-align: left; + color: #666666; + padding: 10px 0px 20px 80px; + white-space: nowrap; + position: relative; + float: left; +} + +.step-on { + color: #ff9900; + background: #30559C; + font-weight: bold; + font-size: 13px; + padding: 10px; + border: 1px solid #cccccc; + margin-bottom: 2px; +} + +.step-off { + font-size: 13px; + color: #999999; + font-weight: bold; + padding: 10px; + border: 1px solid #cccccc; + margin-bottom: 2px; +} + +#right { + float: right; + width: 555px !important; + width: 545px; + border-left: 1px solid #cccccc; + padding-left: 10px; + +} + +#break { + height: 20px; +} + +.licensetext { + text-align: left; +} + +.license { + padding: 0px; + width: 530px; + height: 300px; +} + +.license-form { + float: left; +} + +.install { + margin-left: auto; + margin-right: auto; + margin-top: 3em; + margin-bottom: 3em; + padding: 10px; + border: 1px solid #cccccc; + width: 750px; + background: #F1F3F5; +} + +.install h1 { + font-size: 15px; + font-weight: bold; + color: #FF9900; + padding: 10px 10px 4px 0px; + text-align: left; + border-bottom: 1px solid #FF9900; + margin-bottom: 10px; + +} + +.install-form { + position: relative; + text-align: left; + float: right; + width: 69%; +} + +.install-text { + position: relative; + text-align: left; + width: 30%; + float: left; +} + +.form-block { + border: 1px solid #cccccc; + background: #E9ECEF; + padding-top: 5px; + padding-left: 5px; + padding-bottom: 5px; + padding-right: 5px; +} + +.left { + position: relative; + text-align: left; + float: left; + width: 50%; +} + +.right { + position: relative; + text-align: left; + float: right; + width: 50%; +} + +.far-right { + position: relative; + text-align: right; + float: right; +} + +.far-left { + position: relative; + text-align: left; + float: left; +} + +.clr { + clear:both; + } + +.ctr { + text-align: center; +} + +.button { + border : solid 1px #cccccc; + background: #E9ECEF; + color : #666666; + font-weight : bold; + font-size : 11px; + padding: 4px; +} + +table.content { + width: 80%; +} + +table.content td { + color : #333333; + font-size: 11px; + width: 50%; +} + +table.content2 { + width: 90%; +} + +table.content2 td { + color : #333333; + font-size: 11px; +} + +.toggle { + font-weight: bold; +} + + +/* old stuff */ + + +a { + color : #FF9900; + text-decoration : none; +} +a:hover { + color : #999999; + text-decoration : underline; +} +a:active { + color : #FF6600; + text-decoration : underline; +} + +.inputbox { + + color: blue; + font-family: Arial, Helvetica, sans-serif; + z-index: -3; + font-size: 11px; +} + +.small { + color : #333; + font-size : 10px; +} + +.error { + color : #cc0000; + font-size : 12px; + font-weight : bold; + padding-top: 10px; + padding-bottom: 10px; +} + + +select.options, input.options { + font-size: 8pt; + border: 1px solid #999; +} + +form { + margin: 0px 0px 0px 0px; +} + + +.dottedline { + border-bottom: 1px solid #333; +} + +.installheader { + color : #FFF; + font-size : 24px; +} + +textarea { + color : #0000dd; + font-family : Arial; + font-size : 11px; + border: 1px; +} + +.red {color:red} +.green {color:green} diff -ruN 4.6rc2/uploadfiles/installation/install.php 4.6-complete/uploadfiles/installation/install.php --- 4.6rc2/uploadfiles/installation/install.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/install.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,113 @@ + 10) { + header( 'Location: ../index.php' ); + exit(); +} +/** Include common.php */ +include_once( 'common.php' ); +function writableCell( $folder ) { + echo ""; + echo "" . $folder . "/"; + echo ""; + echo is_writable( "../$folder" ) ? ''.T_('Writeable').'' : ''.T_('Unwriteable').'' . ""; + echo ""; +} +?> +"; ?> + + + +<?php echo T_('Mambo - Web Installer') ?> + + + + + + +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      + + diff -ruN 4.6rc2/uploadfiles/installation/install1.php 4.6-complete/uploadfiles/installation/install1.php --- 4.6rc2/uploadfiles/installation/install1.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/install1.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,151 @@ +"; +?> + + + +<?php echo T_('Mambo - Web Installer') ?> + + + + + + +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      + + diff -ruN 4.6rc2/uploadfiles/installation/install2.php 4.6-complete/uploadfiles/installation/install2.php --- 4.6rc2/uploadfiles/installation/install2.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/install2.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,288 @@ + 0 && $test <> 1007) { + db_err( "stepBack", T_("A database error occurred: ") . (mysql_error()) ); + } + + // db is now new or existing, create the db object connector to do the serious work + $database = new database( $DBhostname, $DBuserName, $DBpassword, $DBname, $DBPrefix ); + + // delete existing mos table if requested + if ($DBDel) { + $database->setQuery( "SHOW TABLES FROM `$DBname`" ); + $errors = array(); + if ($tables = $database->loadResultArray()) { + foreach ($tables as $table) { + if (strpos( $table, $DBPrefix ) === 0) { + if ($DBBackup) { + $butable = str_replace( $DBPrefix, $BUPrefix, $table ); + $database->setQuery( "DROP TABLE IF EXISTS `$butable`" ); + $database->query(); + if ($database->getErrorNum()) { + $errors[$database->getQuery()] = $database->getErrorMsg(); + } + $database->setQuery( "RENAME TABLE `$table` TO `$butable`" ); + $database->query(); + if ($database->getErrorNum()) { + $errors[$database->getQuery()] = $database->getErrorMsg(); + } + } + $database->setQuery( "DROP TABLE IF EXISTS `$table`" ); + $database->query(); + if ($database->getErrorNum()) { + $errors[$database->getQuery()] = $database->getErrorMsg(); + } + } + } + } + } + + populate_db($DBname,$DBPrefix,'mambo.sql'); + if ($DBSample) { + populate_db($DBname,$DBPrefix,'sample_data.sql'); + } + $DBcreated = 1; +} + +function db_err($step, $alert) { + global $DBhostname,$DBuserName,$DBpassword,$DBDel,$DBname; + echo "
      + + + + + +
      \n"; + //echo ""; + echo ""; //this wasn't working + exit(); +} + +function populate_db($DBname, $DBPrefix, $sqlfile='mambo.sql') { + global $errors; + + mysql_select_db($DBname); + $mqr = @get_magic_quotes_runtime(); + @set_magic_quotes_runtime(0); + $query = fread(fopen("sql/".$sqlfile, "r"), filesize("sql/".$sqlfile)); + @set_magic_quotes_runtime($mqr); + $pieces = split_sql($query); + + for ($i=0; $i"; +?> + + + +<?php echo T_('Mambo - Web Installer') ?> + + + + + + +
      + +
      + +
      +
      + " /> + " /> + " /> + " /> + " /> + " /> +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
      + + diff -ruN 4.6rc2/uploadfiles/installation/install3.php 4.6-complete/uploadfiles/installation/install3.php --- 4.6rc2/uploadfiles/installation/install3.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/install3.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,319 @@ + + + + + + + + "; + + echo ""; + return; +} + +echo ""; +?> + + + +<?php echo T_('Mambo - Web Installer') ?> + + + + + + +
      + +
      +
      +
      + " /> + " /> + " /> + " /> + " /> + " /> +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      + + diff -ruN 4.6rc2/uploadfiles/installation/install4.php 4.6-complete/uploadfiles/installation/install4.php --- 4.6rc2/uploadfiles/installation/install4.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/install4.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,487 @@ + + + + + + + + + + + + + + "; + echo ""; + return; +} + +if($DBhostname && $DBuserName && $DBname) { + $configArray['DBhostname'] = $DBhostname; + $configArray['DBuserName'] = $DBuserName; + $configArray['DBpassword'] = $DBpassword; + $configArray['DBname'] = $DBname; + $configArray['DBPrefix'] = $DBPrefix; +} else { + echo "
      + + + + + + + + + + + + +
      "; + + echo ""; + return; +} + +if ($sitename) { + if (!get_magic_quotes_gpc()) { + $configArray['sitename'] = addslashes($sitename); + } else { + $configArray['sitename'] = $sitename; + } +} else { + ?> +
      + + + + + + + + + + + + +
      + + + + Please check back again soon.')."';\n"; + $config .= "\$mosConfig_error_message = '".T_('This site is temporarily unavailable.
      Please notify the System Administrator')."';\n"; + $config .= "\$mosConfig_debug = '0';\n"; + $config .= "\$mosConfig_lifetime = '900';\n"; + $config .= "\$mosConfig_MetaDesc = '".T_('Mambo - the dynamic portal engine and content management system')."';\n"; + $config .= "\$mosConfig_MetaKeys = 'mambo, Mambo';\n"; + $config .= "\$mosConfig_MetaTitle = '1';\n"; + $config .= "\$mosConfig_MetaAuthor = '1';\n"; + $config .= "\$mosConfig_locale_debug = 0;\n"; + $config .= "\$mosConfig_locale_use_gettext = 0;\n"; + $config .= "\$mosConfig_locale = 'en_GB';\n"; + $config .= "\$mosConfig_offset = '0';\n"; + $config .= "\$mosConfig_hideAuthor = '0';\n"; + $config .= "\$mosConfig_hideCreateDate = '0';\n"; + $config .= "\$mosConfig_hideModifyDate = '0';\n"; + $config .= "\$mosConfig_hidePdf = '".intval( !is_writable( "{$configArray['absolutePath']}/media/" ) )."';\n"; + $config .= "\$mosConfig_hidePrint = '0';\n"; + $config .= "\$mosConfig_hideEmail = '0';\n"; + $config .= "\$mosConfig_enable_log_items = '0';\n"; + $config .= "\$mosConfig_enable_log_searches = '0';\n"; + $config .= "\$mosConfig_enable_stats = '1';\n"; + $config .= "\$mosConfig_sef = '0';\n"; + $config .= "\$mosConfig_vote = '0';\n"; + $config .= "\$mosConfig_gzip = '0';\n"; + $config .= "\$mosConfig_multipage_toc = '1';\n"; + $config .= "\$mosConfig_allowUserRegistration = '1';\n"; + $config .= "\$mosConfig_link_titles = '0';\n"; + $config .= "\$mosConfig_error_reporting = -1;\n"; + $config .= "\$mosConfig_register_globals = 1;\n"; + $config .= "\$mosConfig_list_limit = '50';\n"; + $config .= "\$mosConfig_caching = '0';\n"; + $config .= "\$mosConfig_cachepath = '{$configArray['absolutePath']}/cache';\n"; + $config .= "\$mosConfig_cachetime = '900';\n"; + $config .= "\$mosConfig_mailer = 'mail';\n"; + $config .= "\$mosConfig_mailfrom = '$adminEmail';\n"; + $config .= "\$mosConfig_fromname = '{$configArray['sitename']}';\n"; + $config .= "\$mosConfig_sendmail = '/usr/sbin/sendmail';\n"; + $config .= "\$mosConfig_smtpauth = '0';\n"; + $config .= "\$mosConfig_smtpuser = '';\n"; + $config .= "\$mosConfig_smtppass = '';\n"; + $config .= "\$mosConfig_smtphost = 'localhost';\n"; + $config .= "\$mosConfig_back_button = '0';\n"; + $config .= "\$mosConfig_item_navigation = '0';\n"; + $config .= "\$mosConfig_secret = '" . mosMakePassword(16) . "';\n"; + $config .= "\$mosConfig_pagetitles = '1';\n"; + $config .= "\$mosConfig_readmore = '1';\n"; + $config .= "\$mosConfig_hits = '1';\n"; + $config .= "\$mosConfig_icons = '1';\n"; + $config .= "\$mosConfig_favicon = 'favicon.ico';\n"; + $config .= "\$mosConfig_fileperms = '".$configArray['filePerms']."';\n"; + $config .= "\$mosConfig_dirperms = '".$configArray['dirPerms']."';\n"; + $config .= "\$mosConfig_helpurl = 'http://docs.mambo-foundation.org';\n"; + $config .= "\$mosConfig_mbf_content = '0';\n"; + $config .= "setlocale (LC_TIME, \$mosConfig_locale);\n"; + $config .= "?>"; + + if ($canWrite && ($fp = fopen("../configuration.php", "w"))) { + fputs( $fp, $config, strlen( $config ) ); + fclose( $fp ); + } else { + $canWrite = false; + } // if + + $cryptpass=md5($adminPassword); + + mysql_connect($DBhostname, $DBuserName, $DBpassword); + mysql_select_db($DBname); + + // create the admin user + $installdate = date("Y-m-d H:i:s"); + $query = "INSERT INTO `{$DBPrefix}users` VALUES (62, 'Administrator', 'admin', '$adminEmail', '$cryptpass', 'Super Administrator', 0, 1, 25, '$installdate', '0000-00-00 00:00:00', '', '')"; + mysql_query( $query ); + // add the ARO (Access Request Object) + $query = "INSERT INTO `{$DBPrefix}core_acl_aro` VALUES (10,'users','62',0,'Administrator',0)"; + mysql_query( $query ); + // add the map between the ARO and the Group + $query = "INSERT INTO `{$DBPrefix}core_acl_groups_aro_map` VALUES (25,'',10)"; + mysql_query( $query ); + + // chmod files and directories if desired + $chmod_report = T_('Directory and file permissions left unchanged.'); + if ($filePerms != '' || $dirPerms != '') { + $mosrootfiles = array( + 'administrator', + 'cache', + 'components', + 'editor', + 'files', + 'help', + 'images', + 'includes', + 'parameters', + 'installation', + 'language', + 'mambots', + 'media', + 'modules', + 'templates', + 'CHANGELOG', + 'configuration.php', + 'htaccess.txt', + 'index.php', + 'index2.php', + 'index3.php', + 'INSTALL', + 'LICENSE', + 'mainbody.php', + 'offline.php', + 'page404.php', + 'pathway.php', + 'README', + 'robots.txt' + ); + $filemode = NULL; + if ($filePerms != '') $filemode = octdec($filePerms); + $dirmode = NULL; + if ($dirPerms != '') $dirmode = octdec($dirPerms); + $chmodOk = TRUE; + foreach ($mosrootfiles as $file) + if (!mosChmodRecursive($absolutePath.'/'.$file, $filemode, $dirmode)) + $chmodOk = FALSE; + if ($chmodOk) + $chmod_report = T_('File and directory permissions successfully changed.'); + else + $chmod_report = T_('File and directory permissions could not be changed.
      '. + 'Please CHMOD mambo files and directories manually.'); + } // if chmod wanted +} else { +?> +
      + + + + + + + + + + + + +
      + +"; +?> + + + +<?php echo T_('Mambo - Web Installer') ?> + + + + +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + +
      +
      + Binary files 4.6rc2/uploadfiles/installation/install_logo.png and 4.6-complete/uploadfiles/installation/install_logo.png differ Binary files 4.6rc2/uploadfiles/installation/osi_certified.png and 4.6-complete/uploadfiles/installation/osi_certified.png differ diff -ruN 4.6rc2/uploadfiles/installation/sql/drop_table.sql 4.6-complete/uploadfiles/installation/sql/drop_table.sql --- 4.6rc2/uploadfiles/installation/sql/drop_table.sql 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/sql/drop_table.sql 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ +# phpMyAdmin MySQL-Dump +# version 2.5.1 +# http://www.phpmyadmin.net/ (download page) +# +# -------------------------------------------------------- + +DROP TABLE IF EXISTS mos_banner; +DROP TABLE IF EXISTS mos_bannerclient; +DROP TABLE IF EXISTS mos_bannerfinish; +DROP TABLE IF EXISTS mos_categories; +DROP TABLE IF EXISTS mos_components; +DROP TABLE IF EXISTS mos_contact_details; +DROP TABLE IF EXISTS mos_content; +DROP TABLE IF EXISTS mos_content_frontpage; +DROP TABLE IF EXISTS mos_content_rating; +DROP TABLE IF EXISTS mos_core_acl_aro; +DROP TABLE IF EXISTS mos_core_acl_aro_groups; +DROP TABLE IF EXISTS mos_core_acl_aro_sections; +DROP TABLE IF EXISTS mos_core_acl_groups_aro_map; +DROP TABLE IF EXISTS mos_core_log_items; +DROP TABLE IF EXISTS mos_core_log_searches; +DROP TABLE IF EXISTS mos_groups; +DROP TABLE IF EXISTS mos_help; +DROP TABLE IF EXISTS mos_mambots; +DROP TABLE IF EXISTS mos_menu; +DROP TABLE IF EXISTS mos_messages; +DROP TABLE IF EXISTS mos_messages_cfg; +DROP TABLE IF EXISTS mos_modules; +DROP TABLE IF EXISTS mos_modules_menu; +DROP TABLE IF EXISTS mos_newsfeeds; +DROP TABLE IF EXISTS mos_newsflash; +DROP TABLE IF EXISTS mos_poll_data; +DROP TABLE IF EXISTS mos_poll_date; +DROP TABLE IF EXISTS mos_poll_menu; +DROP TABLE IF EXISTS mos_polls; +DROP TABLE IF EXISTS mos_sections; +DROP TABLE IF EXISTS mos_session; +DROP TABLE IF EXISTS mos_stats_agents; +DROP TABLE IF EXISTS mos_templates; +DROP TABLE IF EXISTS mos_template_positions; +DROP TABLE IF EXISTS mos_templates_menu; +DROP TABLE IF EXISTS mos_users; +DROP TABLE IF EXISTS mos_usertypes; +DROP TABLE IF EXISTS mos_weblinks; diff -ruN 4.6rc2/uploadfiles/installation/sql/mambo.sql 4.6-complete/uploadfiles/installation/sql/mambo.sql --- 4.6rc2/uploadfiles/installation/sql/mambo.sql 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/sql/mambo.sql 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,854 @@ +# +# Table structure for table `#__banner` +# + +CREATE TABLE `#__banner` ( + `bid` int(11) NOT NULL auto_increment, + `cid` int(11) NOT NULL default '0', + `type` varchar(10) NOT NULL default 'banner', + `name` varchar(50) NOT NULL default '', + `imptotal` int(11) NOT NULL default '0', + `impmade` int(11) NOT NULL default '0', + `clicks` int(11) NOT NULL default '0', + `imageurl` varchar(100) NOT NULL default '', + `clickurl` varchar(200) NOT NULL default '', + `date` datetime default NULL, + `showBanner` tinyint(1) NOT NULL default '0', + `checked_out` tinyint(1) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `editor` varchar(50) default NULL, + `custombannercode` text, + PRIMARY KEY (`bid`), + KEY `viewbanner` (`showBanner`) +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +# +# Table structure for table `#__bannerclient` +# + +CREATE TABLE `#__bannerclient` ( + `cid` int(11) NOT NULL auto_increment, + `name` varchar(60) NOT NULL default '', + `contact` varchar(60) NOT NULL default '', + `email` varchar(60) NOT NULL default '', + `extrainfo` text NOT NULL, + `checked_out` tinyint(1) NOT NULL default '0', + `checked_out_time` time default NULL, + `editor` varchar(50) default NULL, + PRIMARY KEY (`cid`) +) TYPE=MyISAM; + +# +# Table structure for table `#__bannerfinish` +# + +CREATE TABLE `#__bannerfinish` ( + `bid` int(11) NOT NULL auto_increment, + `cid` int(11) NOT NULL default '0', + `type` varchar(10) NOT NULL default '', + `name` varchar(50) NOT NULL default '', + `impressions` int(11) NOT NULL default '0', + `clicks` int(11) NOT NULL default '0', + `imageurl` varchar(50) NOT NULL default '', + `datestart` datetime default NULL, + `dateend` datetime default NULL, + PRIMARY KEY (`bid`) +) TYPE=MyISAM; + +# +# Table structure for table `#__categories` +# + +CREATE TABLE `#__categories` ( + `id` int(11) NOT NULL auto_increment, + `parent_id` int(11) NOT NULL default 0, + `title` varchar(50) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `image` varchar(100) NOT NULL default '', + `section` varchar(50) NOT NULL default '', + `image_position` varchar(10) NOT NULL default '', + `description` text NOT NULL, + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `editor` varchar(50) default NULL, + `ordering` int(11) NOT NULL default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + `count` int(11) NOT NULL default '0', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `cat_idx` (`section`,`published`,`access`), + KEY `idx_section` (`section`), + KEY `idx_access` (`access`), + KEY `idx_checkout` (`checked_out`) +) TYPE=MyISAM; + +# +# Table structure for table `#__comment` +# + +CREATE TABLE `#__comment` ( + `id` int(11) NOT NULL auto_increment, + `articleid` int(11) NOT NULL default '0', + `ip` varchar(15) NOT NULL default '', + `name` varchar(30) NOT NULL default '', + `comments` text NOT NULL default '', + `startdate` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__components` +# + +CREATE TABLE `#__components` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(50) NOT NULL default '', + `link` varchar(255) NOT NULL default '', + `menuid` int(11) unsigned NOT NULL default '0', + `parent` int(11) unsigned NOT NULL default '0', + `admin_menu_link` varchar(255) NOT NULL default '', + `admin_menu_alt` varchar(255) NOT NULL default '', + `option` varchar(50) NOT NULL default '', + `ordering` int(11) NOT NULL default '0', + `admin_menu_img` varchar(255) NOT NULL default '', + `iscore` tinyint(4) NOT NULL default '0', + `params` text, + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__components` +# + +INSERT INTO `#__components` VALUES (1, 'Banners', '', 0, 0, '', 'Banner Management', 'com_banners', 0, 'js/ThemeOffice/component.png', 0, ''); +INSERT INTO `#__components` VALUES (2, 'Manage Banners', '', 0, 1, 'option=com_banners', 'Active Banners', 'com_banners', 1, 'js/ThemeOffice/edit.png', 0, ''); +INSERT INTO `#__components` VALUES (3, 'Manage Clients', '', 0, 1, 'option=com_banners&task=listclients', 'Manage Clients', 'com_banners', 2, 'js/ThemeOffice/categories.png', 0, ''); +INSERT INTO `#__components` VALUES (4, 'Web Links', 'option=com_weblinks', 0, 0, '', 'Manage Web Links', 'com_weblinks', 0, 'js/ThemeOffice/globe2.png', 0, ''); +INSERT INTO `#__components` VALUES (5, 'Web Link Items', '', 0, 4, 'option=com_weblinks', 'View existing web links', 'com_weblinks', 1, 'js/ThemeOffice/edit.png', 0, ''); +INSERT INTO `#__components` VALUES (6, 'Web Link Categories', '', 0, 4, 'option=categories§ion=com_weblinks', 'Manage web link categories', '', 2, 'js/ThemeOffice/categories.png', 0, ''); +INSERT INTO `#__components` VALUES (7, 'Contacts', 'option=com_contact', 0, 0, '', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/user.png', 1, ''); +INSERT INTO `#__components` VALUES (8, 'Manage Contacts', '', 0, 7, 'option=com_contact', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/edit.png', 1, ''); +INSERT INTO `#__components` VALUES (9, 'Contact Categories', '', 0, 7, 'option=categories§ion=com_contact_details', 'Manage contact categories', '', 2, 'js/ThemeOffice/categories.png', 1, ''); +INSERT INTO `#__components` VALUES (10, 'FrontPage', 'option=com_frontpage', 0, 0, '', 'Manage Front Page Items', 'com_frontpage', 0, 'js/ThemeOffice/component.png', 1, ''); +INSERT INTO `#__components` VALUES (11, 'Polls', 'option=com_poll', 0, 0, 'option=com_poll', 'Manage Polls', 'com_poll', 0, 'js/ThemeOffice/component.png', 0, ''); +INSERT INTO `#__components` VALUES (12, 'News Feeds', 'option=com_newsfeeds', 0, 0, '', 'News Feeds Management', 'com_newsfeeds', 0, 'js/ThemeOffice/component.png', 0, ''); +INSERT INTO `#__components` VALUES (13, 'Manage News Feeds', '', 0, 12, 'option=com_newsfeeds', 'Manage News Feeds', 'com_newsfeeds', 1, 'js/ThemeOffice/edit.png', 0, ''); +INSERT INTO `#__components` VALUES (14, 'Manage Categories', '', 0, 12, 'option=com_categories§ion=com_newsfeeds', 'Manage Categories', '', 2, 'js/ThemeOffice/categories.png', 0, ''); +INSERT INTO `#__components` VALUES (15, 'Login', 'option=com_login', 0, 0, '', '', 'com_login', 0, '', 1, ''); +INSERT INTO `#__components` VALUES (16, 'Search', 'option=com_search', 0, 0, '', '', 'com_search', 0, '', 1, ''); +INSERT INTO `#__components` VALUES (17, 'Syndicate','',0,0,'option=com_syndicate&hidemainmenu=1','Manage Syndication Settings','com_syndicate',0,'js/ThemeOffice/component.png',0,''); +INSERT INTO `#__components` VALUES (18, 'Mass Mail', '', 0, 0, 'option=com_massmail&hidemainmenu=1', 'Send Mass Mail', 'com_massmail', 0, 'js/ThemeOffice/mass_email.png', 0, ''); +INSERT INTO `#__components` VALUES (19, 'MOStlyCE Admin', 'option=com_mostlyce', 0, 0, 'option=com_mostlyce', 'MOStlyCE Admin', 'com_mostlyce', 0, 'js/ThemeOffice/component.png', 0, ''); +#INSERT INTO `#__components` VALUES (20, 'Mambo Containers', 'option=com_containers', 0, 0, 'option=com_containers', 'Mambo Containers', 'com_containers', 0, 'js/ThemeOffice/component.png', 0, ''); +INSERT INTO `#__components` VALUES (21, 'MOStlyDBAdmin DB Tools', 'option=com_mostlydbadmin', 0, 0, 'option=com_mostlydbadmin', 'MOStlyDBAdmin DB Tools', 'com_mostlydbadmin', 0, 'js/ThemeOffice/component.png', 0, ''); +INSERT INTO `#__components` VALUES (22, 'Backup Database', '', 0, 21, 'option=com_mostlydbadmin&act=option=com_mostlydbadmin&task=dbBackup', 'Backup Database', 'com_mostlydbadmin', 0, 'js/ThemeOffice/component.png', 0, ''); +INSERT INTO `#__components` VALUES (23, 'Restore Database', '', 0, 21, 'option=com_mostlydbadmin&act=option=com_mostlydbadmin&task=dbRestore', 'Restore Database', 'com_mostlydbadmin', 1, 'js/ThemeOffice/component.png', 0, ''); +INSERT INTO `#__components` VALUES (24, 'Query Database', '', 0, 21, 'option=com_mostlydbadmin&act=option=com_mostlydbadmin&task=xquery', 'Query Database', 'com_mostlydbadmin', 2, 'js/ThemeOffice/component.png', 0, ''); +INSERT INTO `#__components` VALUES (25,'Comment','option=com_comment',0,0,'option=com_comment','Comment','com_comment',0,'js/ThemeOffice/mainmenu.png',0,''); +INSERT INTO `#__components` VALUES (26,'View Comments','',0,25,'option=com_comment&task=comments','View Comments','com_comment',0,'js/ThemeOffice/edit.png',0,''); +INSERT INTO `#__components` VALUES (27,'Edit Settings','',0,25,'option=com_comment&task=settings','Edit Settings','com_comment',1,'js/ThemeOffice/config.png',0,''); + +# -------------------------------------------------------- + +# +# Table structure for table `#__contact_details` +# + +CREATE TABLE `#__contact_details` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `con_position` varchar(50) default NULL, + `address` text, + `suburb` varchar(50) default NULL, + `state` varchar(20) default NULL, + `country` varchar(50) default NULL, + `postcode` varchar(10) default NULL, + `telephone` varchar(25) default NULL, + `fax` varchar(25) default NULL, + `misc` mediumtext, + `image` varchar(100) default NULL, + `imagepos` varchar(20) default NULL, + `email_to` varchar(100) default NULL, + `default_con` tinyint(1) unsigned NOT NULL default '0', + `published` tinyint(1) unsigned NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `params` text NOT NULL, + `user_id` int(11) NOT NULL default '0', + `catid` int(11) NOT NULL default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__containers` +# + +CREATE TABLE `#__containers` ( + `id` int(11) NOT NULL auto_increment, + `parentid` int(11) NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `published` smallint(6) NOT NULL default '0', + `childcount` int(11) NOT NULL default '0', + `name` varchar(100) NOT NULL default '', + `title` varchar(100) NOT NULL default '', + `windowtitle` varchar(50) NOT NULL default '', + `keywords` varchar(255) NOT NULL default '', + `icon` varchar(25) NOT NULL default '', + `description` text NOT NULL, + PRIMARY KEY (`id`) +); + + +# +# Table structure for table `#__content` +# + +CREATE TABLE `#__content` ( + `id` int(11) unsigned NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `title_alias` varchar(100) NOT NULL default '', + `introtext` mediumtext NOT NULL, + `fulltext` mediumtext NOT NULL, + `state` tinyint(3) NOT NULL default '0', + `sectionid` int(11) unsigned NOT NULL default '0', + `mask` int(11) unsigned NOT NULL default '0', + `catid` int(11) unsigned NOT NULL default '0', + `created` datetime NOT NULL default '0000-00-00 00:00:00', + `created_by` int(11) unsigned NOT NULL default '0', + `created_by_alias` varchar(100) NOT NULL default '', + `modified` datetime NOT NULL default '0000-00-00 00:00:00', + `modified_by` int(11) unsigned NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_down` datetime NOT NULL default '0000-00-00 00:00:00', + `images` text NOT NULL, + `urls` text NOT NULL, + `attribs` text NOT NULL, + `version` int(11) unsigned NOT NULL default '1', + `parentid` int(11) unsigned NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `metakey` text NOT NULL, + `metadesc` text NOT NULL, + `access` int(11) unsigned NOT NULL default '0', + `hits` int(11) unsigned NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `idx_section` (`sectionid`), + KEY `idx_access` (`access`), + KEY `idx_checkout` (`checked_out`), + KEY `idx_state` (`state`), + KEY `idx_catid` (`catid`), + KEY `idx_mask` (`mask`) +) TYPE=MyISAM; + +# +# Table structure for table `#__content_frontpage` +# + +CREATE TABLE `#__content_frontpage` ( + `content_id` int(11) NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + PRIMARY KEY (`content_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__content_rating` +# + +CREATE TABLE `#__content_rating` ( + `content_id` int(11) NOT NULL default '0', + `rating_sum` int(11) unsigned NOT NULL default '0', + `rating_count` int(11) unsigned NOT NULL default '0', + `lastip` varchar(50) NOT NULL default '', + PRIMARY KEY (`content_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__core_log_items` +# +# To be implemented in Version 4.6 + +CREATE TABLE `#__core_log_items` ( + `time_stamp` date NOT NULL default '0000-00-00', + `item_table` varchar(50) NOT NULL default '', + `item_id` int(11) unsigned NOT NULL default '0', + `hits` int(11) unsigned NOT NULL default '0' +) TYPE=MyISAM; + +# +# Table structure for table `#__core_log_searches` +# +# To be implemented in Version 4.6 + +CREATE TABLE `#__core_log_searches` ( + `search_term` varchar(128) NOT NULL default '', + `hits` int(11) unsigned NOT NULL default '0' +) TYPE=MyISAM; + +# +# Table structure for table `#__groups` +# + +CREATE TABLE `#__groups` ( + `id` tinyint(3) unsigned NOT NULL default '0', + `name` varchar(50) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__groups` +# + +INSERT INTO `#__groups` VALUES (0, 'Public'); +INSERT INTO `#__groups` VALUES (1, 'Registered'); +INSERT INTO `#__groups` VALUES (2, 'Special'); +# -------------------------------------------------------- + +# +# Table structure for table `#__mambots` +# + +CREATE TABLE `#__mambots` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `element` varchar(100) NOT NULL default '', + `folder` varchar(100) NOT NULL default '', + `access` tinyint(3) unsigned NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `published` tinyint(3) NOT NULL default '0', + `iscore` tinyint(3) NOT NULL default '0', + `client_id` tinyint(3) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `params` text, + PRIMARY KEY (`id`), + KEY `idx_folder` (`published`,`client_id`,`access`,`folder`) +) TYPE=MyISAM; + +INSERT INTO `#__mambots` VALUES (1,'MOS Image','mosimage','content',0,-10000,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (2,'MOS Pagination','mospaging','content',0,10000,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (3,'Legacy Mambot Includer','legacybots','content',0,1,0,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (4,'SEF','mossef','content',0,3,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (5,'MOS Rating','mosvote','content',0,4,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (6,'Search Content','content.searchbot','search',0,1,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (7,'Search Web Links','weblinks.searchbot','search',0,2,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (8,'Code support','moscode','content',0,2,0,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (9,'No WYSIWYG Editor','none','editors',0,0,0,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (11,'MOS Image Editor Button','mosimage.btn','editors-xtd',0,0,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (12,'MOS Pagebreak Editor Button','mospage.btn','editors-xtd',0,0,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (13,'Search Contacts','contacts.searchbot','search',0,3,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (14, 'Search Categories', 'categories.searchbot', 'search', 0, 4, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (15, 'Search Sections', 'sections.searchbot', 'search', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (16, 'Email Cloaking', 'mosemailcloak', 'content', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (17, 'GeSHi', 'geshi', 'content', 0, 5, 0, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (18, 'Search Newsfeeds', 'newsfeeds.searchbot', 'search', 0, 6, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (19, 'Load Module Positions', 'mosloadposition', 'content', 0, 6, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (20, 'MOStlyCE', 'mostlyce', 'editors', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (21, 'User Authenticator', 'mosvaliduserbot', 'authenticator', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (22, 'MOS Comment','moscomment','content',0,0,1,0,0,0,'0000-00-00 00:00:00',''); +# -------------------------------------------------------- + +# +# Table structure for table `#__menu` +# + +CREATE TABLE `#__menu` ( + `id` int(11) NOT NULL auto_increment, + `menutype` varchar(25) default NULL, + `name` varchar(100) default NULL, + `link` text, + `type` varchar(50) NOT NULL default '', + `published` tinyint(1) NOT NULL default '0', + `parent` int(11) unsigned NOT NULL default '0', + `componentid` int(11) unsigned NOT NULL default '0', + `sublevel` int(11) default '0', + `ordering` int(11) default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `pollid` int(11) NOT NULL default '0', + `browserNav` tinyint(4) default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + `utaccess` tinyint(3) unsigned NOT NULL default '0', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `componentid` (`componentid`,`menutype`,`published`,`access`), + KEY `menutype` (`menutype`) +) TYPE=MyISAM; + +INSERT INTO `#__menu` VALUES (1, 'mainmenu', 'Home', 'index.php?option=com_frontpage', 'components', 1, 0, 10, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\npageclass_sfx=\nheader=\npage_title=0\nback_button=\nleading=1\nintro=2\ncolumns=2\nlink=3\norderby_pri=\norderby_sec=front\npagination=2\npagination_results=0\nimage=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nitem_title=1\nlink_titles=\nreadmore=\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=0\nprint=0\nemail=0'); +INSERT INTO `#__menu` VALUES (2, 'mainmenu', 'Advanced Search', 'index.php?option=com_search', 'components', 1, 0, 16, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, ''); +# -------------------------------------------------------- + +# +# Table structure for table `#__messages` +# + +CREATE TABLE `#__messages` ( + `message_id` int(10) unsigned NOT NULL auto_increment, + `user_id_from` int(10) unsigned NOT NULL default '0', + `user_id_to` int(10) unsigned NOT NULL default '0', + `folder_id` int(10) unsigned NOT NULL default '0', + `date_time` datetime NOT NULL default '0000-00-00 00:00:00', + `state` int(11) NOT NULL default '0', + `priority` int(1) unsigned NOT NULL default '0', + `subject` varchar(230) NOT NULL default '', + `message` text NOT NULL, + PRIMARY KEY (`message_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__messages_cfg` +# + +CREATE TABLE `#__messages_cfg` ( + `user_id` int(10) unsigned NOT NULL default '0', + `cfg_name` varchar(100) NOT NULL default '', + `cfg_value` varchar(255) NOT NULL default '', + UNIQUE `idx_user_var_name` (`user_id`,`cfg_name`) +) TYPE=MyISAM; + +# +# Table structure for table `#__modules` +# + +CREATE TABLE `#__modules` ( + `id` int(11) NOT NULL auto_increment, + `title` text NOT NULL, + `content` text NOT NULL, + `ordering` int(11) NOT NULL default '0', + `position` varchar(10) default NULL, + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + `module` varchar(50) default NULL, + `numnews` int(11) NOT NULL default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + `showtitle` tinyint(3) unsigned NOT NULL default '1', + `params` text, + `iscore` tinyint(4) NOT NULL default '0', + `client_id` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `published` (`published`,`access`), + KEY `newsfeeds` (`module`,`published`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__modules` +# + +INSERT INTO `#__modules` VALUES (1, 'Polls', '', 1, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_poll', 0, 0, 1, '', 0, 0); +INSERT INTO `#__modules` VALUES (2, 'User Menu', '', 2, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 1, 1, 'menutype=usermenu', 1, 0); +INSERT INTO `#__modules` VALUES (3, 'Main Menu', '', 1, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 0, 'class_sfx=\nmoduleclass_sfx=\nmenutype=mainmenu\nmenu_style=vert_indent\ncache=0\nmenu_images=0\nmenu_images_align=0\nexpand_menu=0\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=\nspacer=\nend_spacer=', 1, 0); +INSERT INTO `#__modules` VALUES (4, 'Login Form', '', 4, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_login', 0, 0, 1, '', 1, 0); +INSERT INTO `#__modules` VALUES (5, 'Syndicate', '', 5, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_rssfeed', 0, 0, 1, 'text=\ncache=0\nmoduleclass_sfx=\nrss091=1\nrss10=1\nrss20=1\natom=1\nopml=1\nrss091_image=\nrss10_image=\nrss20_image=\natom_image=\nopml_image=', 1, 0); +INSERT INTO `#__modules` VALUES (6, 'Latest News', '', 1, 'user2', 0, '0000-00-00 00:00:00', 1, 'mod_latestnews', 0, 0, 1, 'moduleclass_sfx=\ncache=0\ntype=1\nshow_front=1\ncount=5\ncatid=\nsecid=', 1, 0); +INSERT INTO `#__modules` VALUES (7, 'Statistics', '', 6, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_stats', 0, 0, 1, 'serverinfo=1\nsiteinfo=1\ncounter=1\nincrease=0\nmoduleclass_sfx=', 0, 0); +INSERT INTO `#__modules` VALUES (8, 'Who''s Online', '', 1, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_whosonline', 0, 0, 1, 'online=1\nusers=1\nmoduleclass_sfx=', 0, 0); +INSERT INTO `#__modules` VALUES (9, 'Popular', '', 1, 'user3', 0, '0000-00-00 00:00:00', 1, 'mod_mostread', 0, 0, 1, 'moduleclass_sfx=\ncache=0\ntype=1\nshow_front=1\ncount=5\ncatid=\nsecid=\nhits=1', 0, 0); +INSERT INTO `#__modules` VALUES (10, 'Template Chooser', '', 7, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_templatechooser', 0, 0, 1, 'show_preview=1', 0, 0); +INSERT INTO `#__modules` VALUES (11, 'Archive', '', 8, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_archive', 0, 0, 1, '', 1, 0); +INSERT INTO `#__modules` VALUES (12, 'Sections', '', 9, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_sections', 0, 0, 1, '', 1, 0); +INSERT INTO `#__modules` VALUES (13, 'Newsflash', '', 1, 'newsflash', 0, '0000-00-00 00:00:00', 1, 'mod_newsflash', 0, 0, 0, 'catid=3\nstyle=random\nimage=0\nlink_titles=\nreadmore=0\nitem_title=0\nitems=\ncache=0\nmoduleclass_sfx=', 0, 0); +INSERT INTO `#__modules` VALUES (14, 'Related Items', '', 10, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_related_items', 0, 0, 1, '', 0, 0); +INSERT INTO `#__modules` VALUES (15, 'Search', '', 1, 'header', 0, '0000-00-00 00:00:00', 1, 'mod_search', 0, 0, 0, 'moduleclass_sfx=\ncache=0\nwidth=20\ntext=\nbutton=\nbutton_pos=right\nbutton_text=', 0, 0); +INSERT INTO `#__modules` VALUES (16, 'Random Image', '', 9, 'right', 0, '0000-00-00 00:00:00', 0, 'mod_random_image', 0, 0, 1, '', 0, 0); +INSERT INTO `#__modules` VALUES (17, 'Top Menu', '', 1, 'top', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 0, 'class_sfx=-nav\nmoduleclass_sfx=\nmenutype=topmenu\nmenu_style=list_flat\ncache=0\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=\nspacer=\nend_spacer=', 1, 0); +INSERT INTO `#__modules` VALUES (18, 'Banners', '', 1, 'banner', 0, '0000-00-00 00:00:00', 1, 'mod_banners', 0, 0, 0, 'banner_cids=\nmoduleclass_sfx=\n', 1, 0); +INSERT INTO `#__modules` VALUES (19, 'Components', '', 2, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_components', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (20, 'Popular', '', 3, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_popular', 0, 99, 1, '', 0, 1); +INSERT INTO `#__modules` VALUES (21, 'Latest Items', '', 4, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_latest', 0, 99, 1, '', 0, 1); +INSERT INTO `#__modules` VALUES (22, 'Menu Stats', '', 5, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_stats', 0, 99, 1, '', 0, 1); +INSERT INTO `#__modules` VALUES (23, 'Unread Messages', '', 1, 'header', 0, '0000-00-00 00:00:00', 1, 'mod_unread', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (24, 'Online Users', '', 2, 'header', 0, '0000-00-00 00:00:00', 1, 'mod_online', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (25, 'Full Menu', '', 1, 'top', 0, '0000-00-00 00:00:00', 1, 'mod_fullmenu', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (26, 'Pathway', '', 1, 'pathway', 0, '0000-00-00 00:00:00', 1, 'mod_pathway', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (27, 'Toolbar', '', 1, 'toolbar', 0, '0000-00-00 00:00:00', 1, 'mod_toolbar', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (28, 'System Message', '', 1, 'inset', 0, '0000-00-00 00:00:00', 1, 'mod_mosmsg', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (29, 'Quick Icons', '', 1, 'icon', 0, '0000-00-00 00:00:00', 1, 'mod_quickicon', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (31, 'Other Menu', '', 3, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 1, 'menutype=othermenu\nmenu_style=vert_indent\ncache=0\nmenu_images=0\nmenu_images_align=0\nexpand_menu=0\nclass_sfx=\nmoduleclass_sfx=\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=', 0, 0); +INSERT INTO `#__modules` VALUES (32, 'Wrapper', '', 11, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_wrapper', 0, 0, 1, '', 0, 0); +INSERT INTO `#__modules` VALUES (33, 'Logged', '', 0, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_logged', 0, 99, 1, '', 0, 1); +INSERT INTO `#__modules` VALUES (34, 'Latest Content', '', 12, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_latestcontent', 0, 0, 1, '', 0, 0); + + +# -------------------------------------------------------- + +# +# Table structure for table `#__modules_menu` +# + +CREATE TABLE `#__modules_menu` ( + `moduleid` int(11) NOT NULL default '0', + `menuid` int(11) NOT NULL default '0', + PRIMARY KEY (`moduleid`,`menuid`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__modules_menu` +# + +INSERT INTO `#__modules_menu` VALUES (1, 1); +INSERT INTO `#__modules_menu` VALUES (2, 0); +INSERT INTO `#__modules_menu` VALUES (3, 0); +INSERT INTO `#__modules_menu` VALUES (4, 1); +INSERT INTO `#__modules_menu` VALUES (5, 1); +INSERT INTO `#__modules_menu` VALUES (6, 1); +INSERT INTO `#__modules_menu` VALUES (6, 27); +INSERT INTO `#__modules_menu` VALUES (8, 1); +INSERT INTO `#__modules_menu` VALUES (9, 1); +INSERT INTO `#__modules_menu` VALUES (9, 27); +INSERT INTO `#__modules_menu` VALUES (10, 1); +INSERT INTO `#__modules_menu` VALUES (13, 0); +INSERT INTO `#__modules_menu` VALUES (15, 0); +INSERT INTO `#__modules_menu` VALUES (17, 0); +INSERT INTO `#__modules_menu` VALUES (18, 0); +INSERT INTO `#__modules_menu` VALUES (31, 0); + +# -------------------------------------------------------- + +# +# Table structure for table `#__newsfeeds` +# + +CREATE TABLE `#__newsfeeds` ( + `catid` int(11) NOT NULL default '0', + `id` int(11) NOT NULL auto_increment, + `name` text NOT NULL, + `link` text NOT NULL, + `filename` varchar(200) default NULL, + `published` tinyint(1) NOT NULL default '0', + `numarticles` int(11) unsigned NOT NULL default '1', + `cache_time` int(11) unsigned NOT NULL default '3600', + `checked_out` tinyint(3) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `published` (`published`) +) TYPE=MyISAM; + +# +# Table structure for table `#__poll_data` +# + +CREATE TABLE `#__poll_data` ( + `id` int(11) NOT NULL auto_increment, + `pollid` int(4) NOT NULL default '0', + `text` text NOT NULL default '', + `hits` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `pollid` (`pollid`,`text`(1)) +) TYPE=MyISAM; + +# +# Table structure for table `#__poll_date` +# + +CREATE TABLE `#__poll_date` ( + `id` bigint(20) NOT NULL auto_increment, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `vote_id` int(11) NOT NULL default '0', + `poll_id` int(11) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `poll_id` (`poll_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__polls` +# + +CREATE TABLE `#__polls` ( + `id` int(11) unsigned NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `voters` int(9) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + `access` int(11) NOT NULL default '0', + `lag` int(11) NOT NULL default '0', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__poll_menu` +# + +CREATE TABLE `#__poll_menu` ( + `pollid` int(11) NOT NULL default '0', + `menuid` int(11) NOT NULL default '0', + PRIMARY KEY (`pollid`,`menuid`) +) TYPE=MyISAM; + +# +# Table structure for table `#__sections` +# + +CREATE TABLE `#__sections` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(50) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `image` varchar(100) NOT NULL default '', + `scope` varchar(50) NOT NULL default '', + `image_position` varchar(10) NOT NULL default '', + `description` text NOT NULL, + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + `count` int(11) NOT NULL default '0', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `idx_scope` (`scope`) +) TYPE=MyISAM; + +# +# Table structure for table `#__session` +# + +CREATE TABLE `#__session` ( + `username` varchar(50) default '', + `time` varchar(14) default '', + `session_id` varchar(200) NOT NULL default '0', + `guest` tinyint(4) default '1', + `userid` int(11) default '0', + `usertype` varchar(50) default '', + `gid` tinyint(3) unsigned NOT NULL default '0', + PRIMARY KEY (`session_id`), + KEY `whosonline` (`guest`,`usertype`) +) TYPE=MyISAM; + +# +# Table structure for table `#__stats_agents` +# + +CREATE TABLE `#__stats_agents` ( + `agent` varchar(255) NOT NULL default '', + `type` tinyint(1) unsigned NOT NULL default '0', + `hits` int(11) unsigned NOT NULL default '1' +) TYPE=MyISAM; + +# +# Table structure for table `#__templates_menu` +# + +CREATE TABLE `#__templates_menu` ( + `template` varchar(50) NOT NULL default '', + `menuid` int(11) NOT NULL default '0', + `client_id` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`template`,`menuid`) +) TYPE=MyISAM; + +# Dumping data for table `#__templates_menu` + +INSERT INTO `#__templates_menu` VALUES ('waterandstone', 0, 0); +INSERT INTO `#__templates_menu` VALUES ('mambo_admin_blue', 0, 1); + +# -------------------------------------------------------- + +# +# Table structure for table `#__template_positions` +# + +CREATE TABLE `#__template_positions` ( + `id` int(11) NOT NULL auto_increment, + `position` varchar(10) NOT NULL default '', + `description` varchar(255) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__template_positions` +# + +INSERT INTO `#__template_positions` VALUES (1, 'left', ''); +INSERT INTO `#__template_positions` VALUES (2, 'right', ''); +INSERT INTO `#__template_positions` VALUES (3, 'top', ''); +INSERT INTO `#__template_positions` VALUES (4, 'bottom', ''); +INSERT INTO `#__template_positions` VALUES (5, 'inset', ''); +INSERT INTO `#__template_positions` VALUES (6, 'banner', ''); +INSERT INTO `#__template_positions` VALUES (7, 'header', ''); +INSERT INTO `#__template_positions` VALUES (8, 'footer', ''); +INSERT INTO `#__template_positions` VALUES (9, 'newsflash', ''); +INSERT INTO `#__template_positions` VALUES (10, 'legals', ''); +INSERT INTO `#__template_positions` VALUES (11, 'pathway', ''); +INSERT INTO `#__template_positions` VALUES (12, 'toolbar', ''); +INSERT INTO `#__template_positions` VALUES (13, 'cpanel', ''); +INSERT INTO `#__template_positions` VALUES (14, 'user1', ''); +INSERT INTO `#__template_positions` VALUES (15, 'user2', ''); +INSERT INTO `#__template_positions` VALUES (16, 'user3', ''); +INSERT INTO `#__template_positions` VALUES (17, 'user4', ''); +INSERT INTO `#__template_positions` VALUES (18, 'user5', ''); +INSERT INTO `#__template_positions` VALUES (19, 'user6', ''); +INSERT INTO `#__template_positions` VALUES (20, 'user7', ''); +INSERT INTO `#__template_positions` VALUES (21, 'user8', ''); +INSERT INTO `#__template_positions` VALUES (22, 'user9', ''); +INSERT INTO `#__template_positions` VALUES (23, 'advert1', ''); +INSERT INTO `#__template_positions` VALUES (24, 'advert2', ''); +INSERT INTO `#__template_positions` VALUES (25, 'advert3', ''); +INSERT INTO `#__template_positions` VALUES (26, 'icon', ''); +INSERT INTO `#__template_positions` VALUES (27, 'debug', ''); + +# -------------------------------------------------------- + +# +# Table structure for table `#__users` +# + +CREATE TABLE `#__users` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(50) NOT NULL default '', + `username` varchar(25) NOT NULL default '', + `email` varchar(100) NOT NULL default '', + `password` varchar(100) NOT NULL default '', + `usertype` varchar(25) NOT NULL default '', + `block` tinyint(4) NOT NULL default '0', + `sendEmail` tinyint(4) default '0', + `gid` tinyint(3) unsigned NOT NULL default '1', + `registerDate` datetime NOT NULL default '0000-00-00 00:00:00', + `lastvisitDate` datetime NOT NULL default '0000-00-00 00:00:00', + `activation` varchar(100) NOT NULL default '', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `usertype` (`usertype`), + KEY `idx_name` (`name`) +) TYPE=MyISAM; + +# +# Table structure for table `#__usertypes` +# + +CREATE TABLE `#__usertypes` ( + `id` tinyint(3) unsigned NOT NULL default '0', + `name` varchar(50) NOT NULL default '', + `mask` varchar(11) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__usertypes` +# + +INSERT INTO `#__usertypes` VALUES (0, 'superadministrator', ''); +INSERT INTO `#__usertypes` VALUES (1, 'administrator', ''); +INSERT INTO `#__usertypes` VALUES (2, 'editor', ''); +INSERT INTO `#__usertypes` VALUES (3, 'user', ''); +INSERT INTO `#__usertypes` VALUES (4, 'author', ''); +INSERT INTO `#__usertypes` VALUES (5, 'publisher', ''); +INSERT INTO `#__usertypes` VALUES (6, 'manager', ''); +# -------------------------------------------------------- + +# +# Table structure for table `#__weblinks` +# + +CREATE TABLE `#__weblinks` ( + `id` int(11) unsigned NOT NULL auto_increment, + `catid` int(11) NOT NULL default '0', + `sid` int(11) NOT NULL default '0', + `title` varchar(250) NOT NULL default '', + `url` varchar(250) NOT NULL default '', + `description` varchar(250) NOT NULL default '', + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `hits` int(11) NOT NULL default '0', + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `archived` tinyint(1) NOT NULL default '0', + `approved` tinyint(1) NOT NULL default '1', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `catid` (`catid`,`published`,`archived`) +) TYPE=MyISAM; + +# +# Table structure for table `#__parameters` +# + +CREATE TABLE `#__parameters` ( + `id` int(11) NOT NULL auto_increment, + `param_name` varchar(50) NOT NULL default '', + `param_file` varchar(50) NOT NULL default '', + `param_version` varchar(50) NOT NULL default '', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `names` (`param_name`, `param_version`) +) TYPE=MyISAM; + +# +# Table structure for table `#__core_acl_aro` +# + +CREATE TABLE `#__core_acl_aro` ( +`aro_id` int(11) NOT NULL auto_increment, +`section_value` varchar(240) NOT NULL default '0', +`value` varchar(240) NOT NULL default '', +`order_value` int(11) NOT NULL default '0', +`name` varchar(255) NOT NULL default '', +`hidden` int(11) NOT NULL default '0', +PRIMARY KEY (`aro_id`), +UNIQUE KEY `#__gacl_section_value_value_aro` (`section_value`(100),`value`(100)), +KEY `#__gacl_hidden_aro` (`hidden`) +) TYPE=MyISAM; + +# +# Table structure for table `#__core_acl_aro_groups` +# +CREATE TABLE `#__core_acl_aro_groups` ( + `group_id` int(11) NOT NULL auto_increment, + `parent_id` int(11) NOT NULL default '0', + `name` varchar(255) NOT NULL default '', + `lft` int(11) NOT NULL default '0', + `rgt` int(11) NOT NULL default '0', + PRIMARY KEY (`group_id`), + KEY `parent_id_aro_groups` (`parent_id`), + KEY `#__gacl_parent_id_aro_groups` (`parent_id`), + KEY `#__gacl_lft_rgt_aro_groups` (`lft`,`rgt`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__core_acl_aro_groups` +# +INSERT INTO `#__core_acl_aro_groups` VALUES (17,0,'ROOT',1,22); +INSERT INTO `#__core_acl_aro_groups` VALUES (28,17,'USERS',2,21); +INSERT INTO `#__core_acl_aro_groups` VALUES (29,28,'Public Frontend',3,12); +INSERT INTO `#__core_acl_aro_groups` VALUES (18,29,'Registered',4,11); +INSERT INTO `#__core_acl_aro_groups` VALUES (19,18,'Author',5,10); +INSERT INTO `#__core_acl_aro_groups` VALUES (20,19,'Editor',6,9); +INSERT INTO `#__core_acl_aro_groups` VALUES (21,20,'Publisher',7,8); +INSERT INTO `#__core_acl_aro_groups` VALUES (30,28,'Public Backend',13,20); +INSERT INTO `#__core_acl_aro_groups` VALUES (23,30,'Manager',14,19); +INSERT INTO `#__core_acl_aro_groups` VALUES (24,23,'Administrator',15,18); +INSERT INTO `#__core_acl_aro_groups` VALUES (25,24,'Super Administrator',16,17); + +# +# Table structure for table `#__core_acl_groups_aro_map` +# +CREATE TABLE `#__core_acl_groups_aro_map` ( + `group_id` int(11) NOT NULL default '0', + `section_value` varchar(240) NOT NULL default '', + `aro_id` int(11) NOT NULL default '0', + UNIQUE KEY `group_id_aro_id_groups_aro_map` (`group_id`,`section_value`,`aro_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__core_acl_aro_sections` +# +CREATE TABLE `#__core_acl_aro_sections` ( + `section_id` int(11) NOT NULL auto_increment, + `value` varchar(230) NOT NULL default '', + `order_value` int(11) NOT NULL default '0', + `name` varchar(230) NOT NULL default '', + `hidden` int(11) NOT NULL default '0', + PRIMARY KEY (`section_id`), + UNIQUE KEY `value_aro_sections` (`value`), + UNIQUE KEY `#__gacl_value_aro_sections` (`value`), + KEY `hidden_aro_sections` (`hidden`), + KEY `#__gacl_hidden_aro_sections` (`hidden`) +) TYPE=MyISAM; + +INSERT INTO `#__core_acl_aro_sections` VALUES (10,'users',1,'Users',0); diff -ruN 4.6rc2/uploadfiles/installation/sql/mambo_lite.sql 4.6-complete/uploadfiles/installation/sql/mambo_lite.sql --- 4.6rc2/uploadfiles/installation/sql/mambo_lite.sql 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/sql/mambo_lite.sql 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,654 @@ +# +# Table structure for table `#__categories` +# + +CREATE TABLE `#__categories` ( + `id` int(11) NOT NULL auto_increment, + `parent_id` int(11) NOT NULL default 0, + `title` varchar(50) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `image` varchar(100) NOT NULL default '', + `section` varchar(50) NOT NULL default '', + `image_position` varchar(10) NOT NULL default '', + `description` text NOT NULL, + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `editor` varchar(50) default NULL, + `ordering` int(11) NOT NULL default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + `count` int(11) NOT NULL default '0', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `cat_idx` (`section`,`published`,`access`), + KEY `idx_section` (`section`), + KEY `idx_access` (`access`), + KEY `idx_checkout` (`checked_out`) +) TYPE=MyISAM; + +# +# Table structure for table `#__components` +# + +CREATE TABLE `#__components` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(50) NOT NULL default '', + `link` varchar(255) NOT NULL default '', + `menuid` int(11) unsigned NOT NULL default '0', + `parent` int(11) unsigned NOT NULL default '0', + `admin_menu_link` varchar(255) NOT NULL default '', + `admin_menu_alt` varchar(255) NOT NULL default '', + `option` varchar(50) NOT NULL default '', + `ordering` int(11) NOT NULL default '0', + `admin_menu_img` varchar(255) NOT NULL default '', + `iscore` tinyint(4) NOT NULL default '0', + `params` text, + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__components` +# + +INSERT INTO `#__components` VALUES (7, 'Contacts', 'option=com_contact', 0, 0, '', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/user.png', 1, ''); +INSERT INTO `#__components` VALUES (8, 'Manage Contacts', '', 0, 7, 'option=com_contact', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/edit.png', 1, ''); +INSERT INTO `#__components` VALUES (9, 'Contact Categories', '', 0, 7, 'option=categories§ion=com_contact_details', 'Manage contact categories', '', 2, 'js/ThemeOffice/categories.png', 1, ''); +INSERT INTO `#__components` VALUES (10, 'FrontPage', 'option=com_frontpage', 0, 0, '', 'Manage Front Page Items', 'com_frontpage', 0, 'js/ThemeOffice/component.png', 1, ''); +INSERT INTO `#__components` VALUES (14, 'Manage Categories', '', 0, 12, 'option=com_categories§ion=com_newsfeeds', 'Manage Categories', '', 2, 'js/ThemeOffice/categories.png', 0, ''); +INSERT INTO `#__components` VALUES (15, 'Login', 'option=com_login', 0, 0, '', '', 'com_login', 0, '', 1, ''); +INSERT INTO `#__components` VALUES (16, 'Search', 'option=com_search', 0, 0, '', '', 'com_search', 0, '', 1, ''); +INSERT INTO `#__components` VALUES (17, 'Syndicate','',0,0,'option=com_syndicate&hidemainmenu=1','Manage Syndication Settings','com_syndicate',0,'js/ThemeOffice/component.png',0,''); +INSERT INTO `#__components` VALUES (18, 'Mass Mail', '', 0, 0, 'option=com_massmail&hidemainmenu=1', 'Send Mass Mail', 'com_massmail', 0, 'js/ThemeOffice/mass_email.png', 0, ''); +#INSERT INTO `#__components` VALUES (20, 'Mambo Containers', 'option=com_containers', 0, 0, 'option=com_containers', 'Mambo Containers', 'com_containers', 0, 'js/ThemeOffice/component.png', 0, ''); + +# -------------------------------------------------------- + +# +# Table structure for table `#__contact_details` +# + +CREATE TABLE `#__contact_details` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `con_position` varchar(50) default NULL, + `address` text, + `suburb` varchar(50) default NULL, + `state` varchar(20) default NULL, + `country` varchar(50) default NULL, + `postcode` varchar(10) default NULL, + `telephone` varchar(25) default NULL, + `fax` varchar(25) default NULL, + `misc` mediumtext, + `image` varchar(100) default NULL, + `imagepos` varchar(20) default NULL, + `email_to` varchar(100) default NULL, + `default_con` tinyint(1) unsigned NOT NULL default '0', + `published` tinyint(1) unsigned NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `params` text NOT NULL, + `user_id` int(11) NOT NULL default '0', + `catid` int(11) NOT NULL default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__containers` +# + +CREATE TABLE `#__containers` ( + `id` int(11) NOT NULL auto_increment, + `parentid` int(11) NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `published` smallint(6) NOT NULL default '0', + `childcount` int(11) NOT NULL default '0', + `name` varchar(100) NOT NULL default '', + `title` varchar(100) NOT NULL default '', + `windowtitle` varchar(50) NOT NULL default '', + `keywords` varchar(255) NOT NULL default '', + `icon` varchar(25) NOT NULL default '', + `description` text NOT NULL, + PRIMARY KEY (`id`) +); + + +# +# Table structure for table `#__content` +# + +CREATE TABLE `#__content` ( + `id` int(11) unsigned NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `title_alias` varchar(100) NOT NULL default '', + `introtext` mediumtext NOT NULL, + `fulltext` mediumtext NOT NULL, + `state` tinyint(3) NOT NULL default '0', + `sectionid` int(11) unsigned NOT NULL default '0', + `mask` int(11) unsigned NOT NULL default '0', + `catid` int(11) unsigned NOT NULL default '0', + `created` datetime NOT NULL default '0000-00-00 00:00:00', + `created_by` int(11) unsigned NOT NULL default '0', + `created_by_alias` varchar(100) NOT NULL default '', + `modified` datetime NOT NULL default '0000-00-00 00:00:00', + `modified_by` int(11) unsigned NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_down` datetime NOT NULL default '0000-00-00 00:00:00', + `images` text NOT NULL, + `urls` text NOT NULL, + `attribs` text NOT NULL, + `version` int(11) unsigned NOT NULL default '1', + `parentid` int(11) unsigned NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `metakey` text NOT NULL, + `metadesc` text NOT NULL, + `access` int(11) unsigned NOT NULL default '0', + `hits` int(11) unsigned NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `idx_section` (`sectionid`), + KEY `idx_access` (`access`), + KEY `idx_checkout` (`checked_out`), + KEY `idx_state` (`state`), + KEY `idx_catid` (`catid`), + KEY `idx_mask` (`mask`) +) TYPE=MyISAM; + +# +# Table structure for table `#__content_frontpage` +# + +CREATE TABLE `#__content_frontpage` ( + `content_id` int(11) NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + PRIMARY KEY (`content_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__content_rating` +# + +CREATE TABLE `#__content_rating` ( + `content_id` int(11) NOT NULL default '0', + `rating_sum` int(11) unsigned NOT NULL default '0', + `rating_count` int(11) unsigned NOT NULL default '0', + `lastip` varchar(50) NOT NULL default '', + PRIMARY KEY (`content_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__core_log_items` +# +# To be implemented in Version 4.6 + +CREATE TABLE `#__core_log_items` ( + `time_stamp` date NOT NULL default '0000-00-00', + `item_table` varchar(50) NOT NULL default '', + `item_id` int(11) unsigned NOT NULL default '0', + `hits` int(11) unsigned NOT NULL default '0' +) TYPE=MyISAM; + +# +# Table structure for table `#__core_log_searches` +# +# To be implemented in Version 4.6 + +CREATE TABLE `#__core_log_searches` ( + `search_term` varchar(128) NOT NULL default '', + `hits` int(11) unsigned NOT NULL default '0' +) TYPE=MyISAM; + +# +# Table structure for table `#__groups` +# + +CREATE TABLE `#__groups` ( + `id` tinyint(3) unsigned NOT NULL default '0', + `name` varchar(50) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__groups` +# + +INSERT INTO `#__groups` VALUES (0, 'Public'); +INSERT INTO `#__groups` VALUES (1, 'Registered'); +INSERT INTO `#__groups` VALUES (2, 'Special'); +# -------------------------------------------------------- + +# +# Table structure for table `#__mambots` +# + +CREATE TABLE `#__mambots` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `element` varchar(100) NOT NULL default '', + `folder` varchar(100) NOT NULL default '', + `access` tinyint(3) unsigned NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `published` tinyint(3) NOT NULL default '0', + `iscore` tinyint(3) NOT NULL default '0', + `client_id` tinyint(3) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `params` text, + PRIMARY KEY (`id`), + KEY `idx_folder` (`published`,`client_id`,`access`,`folder`) +) TYPE=MyISAM; + +INSERT INTO `#__mambots` VALUES (1,'MOS Image','mosimage','content',0,-10000,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (2,'MOS Pagination','mospaging','content',0,10000,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (3,'Legacy Mambot Includer','legacybots','content',0,1,0,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (4,'SEF','mossef','content',0,3,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (6,'Search Content','content.searchbot','search',0,1,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (9,'No WYSIWYG Editor','none','editors',0,0,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (11,'MOS Image Editor Button','mosimage.btn','editors-xtd',0,0,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (12,'MOS Pagebreak Editor Button','mospage.btn','editors-xtd',0,0,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (13,'Search Contacts','contacts.searchbot','search',0,3,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO `#__mambots` VALUES (14, 'Search Categories', 'categories.searchbot', 'search', 0, 4, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (15, 'Search Sections', 'sections.searchbot', 'search', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (16, 'Email Cloaking', 'mosemailcloak', 'content', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (19, 'Load Module Positions', 'mosloadposition', 'content', 0, 6, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `#__mambots` VALUES (21, 'User Authenticator', 'mosvaliduserbot', 'authenticator', 0, 0, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); + +# -------------------------------------------------------- + +# +# Table structure for table `#__menu` +# + +CREATE TABLE `#__menu` ( + `id` int(11) NOT NULL auto_increment, + `menutype` varchar(25) default NULL, + `name` varchar(100) default NULL, + `link` text, + `type` varchar(50) NOT NULL default '', + `published` tinyint(1) NOT NULL default '0', + `parent` int(11) unsigned NOT NULL default '0', + `componentid` int(11) unsigned NOT NULL default '0', + `sublevel` int(11) default '0', + `ordering` int(11) default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `pollid` int(11) NOT NULL default '0', + `browserNav` tinyint(4) default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + `utaccess` tinyint(3) unsigned NOT NULL default '0', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `componentid` (`componentid`,`menutype`,`published`,`access`), + KEY `menutype` (`menutype`) +) TYPE=MyISAM; + +INSERT INTO `#__menu` VALUES (1, 'mainmenu', 'Home', 'index.php?option=com_frontpage', 'components', 1, 0, 10, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\npageclass_sfx=\nheader=\npage_title=0\nback_button=\nleading=1\nintro=2\ncolumns=2\nlink=3\norderby_pri=\norderby_sec=front\npagination=2\npagination_results=0\nimage=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nitem_title=1\nlink_titles=\nreadmore=\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=0\nprint=0\nemail=0'); +INSERT INTO `#__menu` VALUES (2, 'mainmenu', 'Advanced Search', 'index.php?option=com_search', 'components', 1, 0, 16, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, ''); +# -------------------------------------------------------- + +# +# Table structure for table `#__messages` +# + +CREATE TABLE `#__messages` ( + `message_id` int(10) unsigned NOT NULL auto_increment, + `user_id_from` int(10) unsigned NOT NULL default '0', + `user_id_to` int(10) unsigned NOT NULL default '0', + `folder_id` int(10) unsigned NOT NULL default '0', + `date_time` datetime NOT NULL default '0000-00-00 00:00:00', + `state` int(11) NOT NULL default '0', + `priority` int(1) unsigned NOT NULL default '0', + `subject` varchar(230) NOT NULL default '', + `message` text NOT NULL, + PRIMARY KEY (`message_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__messages_cfg` +# + +CREATE TABLE `#__messages_cfg` ( + `user_id` int(10) unsigned NOT NULL default '0', + `cfg_name` varchar(100) NOT NULL default '', + `cfg_value` varchar(255) NOT NULL default '', + UNIQUE `idx_user_var_name` (`user_id`,`cfg_name`) +) TYPE=MyISAM; + +# +# Table structure for table `#__modules` +# + +CREATE TABLE `#__modules` ( + `id` int(11) NOT NULL auto_increment, + `title` text NOT NULL, + `content` text NOT NULL, + `ordering` int(11) NOT NULL default '0', + `position` varchar(10) default NULL, + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + `module` varchar(50) default NULL, + `numnews` int(11) NOT NULL default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + `showtitle` tinyint(3) unsigned NOT NULL default '1', + `params` text, + `iscore` tinyint(4) NOT NULL default '0', + `client_id` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`id`), + KEY `published` (`published`,`access`), + KEY `newsfeeds` (`module`,`published`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__modules` +# + +INSERT INTO `#__modules` VALUES (2, 'User Menu', '', 2, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 1, 1, 'menutype=usermenu', 1, 0); +INSERT INTO `#__modules` VALUES (3, 'Main Menu', '', 1, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 0, 'class_sfx=\nmoduleclass_sfx=\nmenutype=mainmenu\nmenu_style=vert_indent\ncache=0\nmenu_images=0\nmenu_images_align=0\nexpand_menu=0\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=\nspacer=\nend_spacer=', 1, 0); +INSERT INTO `#__modules` VALUES (4, 'Login Form', '', 4, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_login', 0, 0, 1, '', 1, 0); +INSERT INTO `#__modules` VALUES (5, 'Syndicate', '', 5, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_rssfeed', 0, 0, 1, 'text=\ncache=0\nmoduleclass_sfx=\nrss091=1\nrss10=1\nrss20=1\natom=1\nopml=1\nrss091_image=\nrss10_image=\nrss20_image=\natom_image=\nopml_image=', 1, 0); +INSERT INTO `#__modules` VALUES (7, 'Statistics', '', 6, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_stats', 0, 0, 1, 'serverinfo=1\nsiteinfo=1\ncounter=1\nincrease=0\nmoduleclass_sfx=', 0, 0); +INSERT INTO `#__modules` VALUES (11, 'Archive', '', 8, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_archive', 0, 0, 1, '', 1, 0); +INSERT INTO `#__modules` VALUES (12, 'Sections', '', 9, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_sections', 0, 0, 1, '', 1, 0); +INSERT INTO `#__modules` VALUES (13, 'Newsflash', '', 1, 'newsflash', 0, '0000-00-00 00:00:00', 1, 'mod_newsflash', 0, 0, 0, 'catid=3\nstyle=random\nimage=0\nlink_titles=\nreadmore=0\nitem_title=0\nitems=\ncache=0\nmoduleclass_sfx=', 0, 0); +INSERT INTO `#__modules` VALUES (15, 'Search', '', 1, 'header', 0, '0000-00-00 00:00:00', 1, 'mod_search', 0, 0, 0, 'moduleclass_sfx=\ncache=0\nwidth=20\ntext=\nbutton=\nbutton_pos=right\nbutton_text=', 0, 0); +INSERT INTO `#__modules` VALUES (17, 'Top Menu', '', 1, 'top', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 0, 'class_sfx=-nav\nmoduleclass_sfx=\nmenutype=topmenu\nmenu_style=list_flat\ncache=0\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=\nspacer=\nend_spacer=', 1, 0); +INSERT INTO `#__modules` VALUES (19, 'Components', '', 2, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_components', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (21, 'Latest Items', '', 4, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_latest', 0, 99, 1, '', 0, 1); +INSERT INTO `#__modules` VALUES (22, 'Menu Stats', '', 5, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_stats', 0, 99, 1, '', 0, 1); +INSERT INTO `#__modules` VALUES (23, 'Unread Messages', '', 1, 'header', 0, '0000-00-00 00:00:00', 1, 'mod_unread', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (24, 'Online Users', '', 2, 'header', 0, '0000-00-00 00:00:00', 1, 'mod_online', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (25, 'Full Menu', '', 1, 'top', 0, '0000-00-00 00:00:00', 1, 'mod_fullmenu', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (26, 'Pathway', '', 1, 'pathway', 0, '0000-00-00 00:00:00', 1, 'mod_pathway', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (27, 'Toolbar', '', 1, 'toolbar', 0, '0000-00-00 00:00:00', 1, 'mod_toolbar', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (28, 'System Message', '', 1, 'inset', 0, '0000-00-00 00:00:00', 1, 'mod_mosmsg', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (29, 'Quick Icons', '', 1, 'icon', 0, '0000-00-00 00:00:00', 1, 'mod_quickicon', 0, 99, 1, '', 1, 1); +INSERT INTO `#__modules` VALUES (31, 'Other Menu', '', 3, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 1, 'menutype=othermenu\nmenu_style=vert_indent\ncache=0\nmenu_images=0\nmenu_images_align=0\nexpand_menu=0\nclass_sfx=\nmoduleclass_sfx=\nindent_image=0\nindent_image1=\nindent_image2=\nindent_image3=\nindent_image4=\nindent_image5=\nindent_image6=', 0, 0); +INSERT INTO `#__modules` VALUES (32, 'Wrapper', '', 11, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_wrapper', 0, 0, 1, '', 0, 0); +INSERT INTO `#__modules` VALUES (33, 'Logged', '', 0, 'cpanel', 0, '0000-00-00 00:00:00', 1, 'mod_logged', 0, 99, 1, '', 0, 1); + + +# -------------------------------------------------------- + +# +# Table structure for table `#__modules_menu` +# + +CREATE TABLE `#__modules_menu` ( + `moduleid` int(11) NOT NULL default '0', + `menuid` int(11) NOT NULL default '0', + PRIMARY KEY (`moduleid`,`menuid`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__modules_menu` +# + +INSERT INTO `#__modules_menu` VALUES (1, 1); +INSERT INTO `#__modules_menu` VALUES (2, 0); +INSERT INTO `#__modules_menu` VALUES (3, 0); +INSERT INTO `#__modules_menu` VALUES (4, 1); +INSERT INTO `#__modules_menu` VALUES (5, 1); +INSERT INTO `#__modules_menu` VALUES (6, 1); +INSERT INTO `#__modules_menu` VALUES (6, 27); +INSERT INTO `#__modules_menu` VALUES (8, 1); +INSERT INTO `#__modules_menu` VALUES (9, 1); +INSERT INTO `#__modules_menu` VALUES (9, 27); +INSERT INTO `#__modules_menu` VALUES (10, 1); +INSERT INTO `#__modules_menu` VALUES (13, 0); +INSERT INTO `#__modules_menu` VALUES (15, 0); +INSERT INTO `#__modules_menu` VALUES (17, 0); +INSERT INTO `#__modules_menu` VALUES (18, 0); +INSERT INTO `#__modules_menu` VALUES (31, 0); + +# -------------------------------------------------------- + +# +# Table structure for table `#__sections` +# + +CREATE TABLE `#__sections` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(50) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `image` varchar(100) NOT NULL default '', + `scope` varchar(50) NOT NULL default '', + `image_position` varchar(10) NOT NULL default '', + `description` text NOT NULL, + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `access` tinyint(3) unsigned NOT NULL default '0', + `count` int(11) NOT NULL default '0', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `idx_scope` (`scope`) +) TYPE=MyISAM; + +# +# Table structure for table `#__session` +# + +CREATE TABLE `#__session` ( + `username` varchar(50) default '', + `time` varchar(14) default '', + `session_id` varchar(200) NOT NULL default '0', + `guest` tinyint(4) default '1', + `userid` int(11) default '0', + `usertype` varchar(50) default '', + `gid` tinyint(3) unsigned NOT NULL default '0', + PRIMARY KEY (`session_id`), + KEY `whosonline` (`guest`,`usertype`) +) TYPE=MyISAM; + +# +# Table structure for table `#__stats_agents` +# + +CREATE TABLE `#__stats_agents` ( + `agent` varchar(255) NOT NULL default '', + `type` tinyint(1) unsigned NOT NULL default '0', + `hits` int(11) unsigned NOT NULL default '1' +) TYPE=MyISAM; + +# +# Table structure for table `#__templates_menu` +# + +CREATE TABLE `#__templates_menu` ( + `template` varchar(50) NOT NULL default '', + `menuid` int(11) NOT NULL default '0', + `client_id` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`template`,`menuid`) +) TYPE=MyISAM; + +# Dumping data for table `#__templates_menu` + +INSERT INTO `#__templates_menu` VALUES ('waterandstone', 0, 0); +INSERT INTO `#__templates_menu` VALUES ('mambo_admin_blue', 0, 1); + +# -------------------------------------------------------- + +# +# Table structure for table `#__template_positions` +# + +CREATE TABLE `#__template_positions` ( + `id` int(11) NOT NULL auto_increment, + `position` varchar(10) NOT NULL default '', + `description` varchar(255) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__template_positions` +# + +INSERT INTO `#__template_positions` VALUES (1, 'left', ''); +INSERT INTO `#__template_positions` VALUES (2, 'right', ''); +INSERT INTO `#__template_positions` VALUES (3, 'top', ''); +INSERT INTO `#__template_positions` VALUES (4, 'bottom', ''); +INSERT INTO `#__template_positions` VALUES (5, 'inset', ''); +INSERT INTO `#__template_positions` VALUES (6, 'banner', ''); +INSERT INTO `#__template_positions` VALUES (7, 'header', ''); +INSERT INTO `#__template_positions` VALUES (8, 'footer', ''); +INSERT INTO `#__template_positions` VALUES (9, 'newsflash', ''); +INSERT INTO `#__template_positions` VALUES (10, 'legals', ''); +INSERT INTO `#__template_positions` VALUES (11, 'pathway', ''); +INSERT INTO `#__template_positions` VALUES (12, 'toolbar', ''); +INSERT INTO `#__template_positions` VALUES (13, 'cpanel', ''); +INSERT INTO `#__template_positions` VALUES (14, 'user1', ''); +INSERT INTO `#__template_positions` VALUES (15, 'user2', ''); +INSERT INTO `#__template_positions` VALUES (16, 'user3', ''); +INSERT INTO `#__template_positions` VALUES (17, 'user4', ''); +INSERT INTO `#__template_positions` VALUES (18, 'user5', ''); +INSERT INTO `#__template_positions` VALUES (19, 'user6', ''); +INSERT INTO `#__template_positions` VALUES (20, 'user7', ''); +INSERT INTO `#__template_positions` VALUES (21, 'user8', ''); +INSERT INTO `#__template_positions` VALUES (22, 'user9', ''); +INSERT INTO `#__template_positions` VALUES (23, 'advert1', ''); +INSERT INTO `#__template_positions` VALUES (24, 'advert2', ''); +INSERT INTO `#__template_positions` VALUES (25, 'advert3', ''); +INSERT INTO `#__template_positions` VALUES (26, 'icon', ''); +INSERT INTO `#__template_positions` VALUES (27, 'debug', ''); + +# -------------------------------------------------------- + +# +# Table structure for table `#__users` +# + +CREATE TABLE `#__users` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(50) NOT NULL default '', + `username` varchar(25) NOT NULL default '', + `email` varchar(100) NOT NULL default '', + `password` varchar(100) NOT NULL default '', + `usertype` varchar(25) NOT NULL default '', + `block` tinyint(4) NOT NULL default '0', + `sendEmail` tinyint(4) default '0', + `gid` tinyint(3) unsigned NOT NULL default '1', + `registerDate` datetime NOT NULL default '0000-00-00 00:00:00', + `lastvisitDate` datetime NOT NULL default '0000-00-00 00:00:00', + `activation` varchar(100) NOT NULL default '', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `usertype` (`usertype`), + KEY `idx_name` (`name`) +) TYPE=MyISAM; + +# +# Table structure for table `#__usertypes` +# + +CREATE TABLE `#__usertypes` ( + `id` tinyint(3) unsigned NOT NULL default '0', + `name` varchar(50) NOT NULL default '', + `mask` varchar(11) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__usertypes` +# + +INSERT INTO `#__usertypes` VALUES (0, 'superadministrator', ''); +INSERT INTO `#__usertypes` VALUES (1, 'administrator', ''); +INSERT INTO `#__usertypes` VALUES (2, 'editor', ''); +INSERT INTO `#__usertypes` VALUES (3, 'user', ''); +INSERT INTO `#__usertypes` VALUES (4, 'author', ''); +INSERT INTO `#__usertypes` VALUES (5, 'publisher', ''); +INSERT INTO `#__usertypes` VALUES (6, 'manager', ''); +# -------------------------------------------------------- + + +# +# Table structure for table `#__parameters` +# + +CREATE TABLE `#__parameters` ( + `id` int(11) NOT NULL auto_increment, + `param_name` varchar(50) NOT NULL default '', + `param_file` varchar(50) NOT NULL default '', + `param_version` varchar(50) NOT NULL default '', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `names` (`param_name`, `param_version`) +) TYPE=MyISAM; + +# +# Table structure for table `#__core_acl_aro` +# + +CREATE TABLE `#__core_acl_aro` ( +`aro_id` int(11) NOT NULL auto_increment, +`section_value` varchar(240) NOT NULL default '0', +`value` varchar(240) NOT NULL default '', +`order_value` int(11) NOT NULL default '0', +`name` varchar(255) NOT NULL default '', +`hidden` int(11) NOT NULL default '0', +PRIMARY KEY (`aro_id`), +UNIQUE KEY `#__gacl_section_value_value_aro` (`section_value`(100),`value`(100)), +KEY `#__gacl_hidden_aro` (`hidden`) +) TYPE=MyISAM; + +# +# Table structure for table `#__core_acl_aro_groups` +# +CREATE TABLE `#__core_acl_aro_groups` ( + `group_id` int(11) NOT NULL auto_increment, + `parent_id` int(11) NOT NULL default '0', + `name` varchar(255) NOT NULL default '', + `lft` int(11) NOT NULL default '0', + `rgt` int(11) NOT NULL default '0', + PRIMARY KEY (`group_id`), + KEY `parent_id_aro_groups` (`parent_id`), + KEY `#__gacl_parent_id_aro_groups` (`parent_id`), + KEY `#__gacl_lft_rgt_aro_groups` (`lft`,`rgt`) +) TYPE=MyISAM; + +# +# Dumping data for table `#__core_acl_aro_groups` +# +INSERT INTO `#__core_acl_aro_groups` VALUES (17,0,'ROOT',1,22); +INSERT INTO `#__core_acl_aro_groups` VALUES (28,17,'USERS',2,21); +INSERT INTO `#__core_acl_aro_groups` VALUES (29,28,'Public Frontend',3,12); +INSERT INTO `#__core_acl_aro_groups` VALUES (18,29,'Registered',4,11); +INSERT INTO `#__core_acl_aro_groups` VALUES (19,18,'Author',5,10); +INSERT INTO `#__core_acl_aro_groups` VALUES (20,19,'Editor',6,9); +INSERT INTO `#__core_acl_aro_groups` VALUES (21,20,'Publisher',7,8); +INSERT INTO `#__core_acl_aro_groups` VALUES (30,28,'Public Backend',13,20); +INSERT INTO `#__core_acl_aro_groups` VALUES (23,30,'Manager',14,19); +INSERT INTO `#__core_acl_aro_groups` VALUES (24,23,'Administrator',15,18); +INSERT INTO `#__core_acl_aro_groups` VALUES (25,24,'Super Administrator',16,17); + +# +# Table structure for table `#__core_acl_groups_aro_map` +# +CREATE TABLE `#__core_acl_groups_aro_map` ( + `group_id` int(11) NOT NULL default '0', + `section_value` varchar(240) NOT NULL default '', + `aro_id` int(11) NOT NULL default '0', + UNIQUE KEY `group_id_aro_id_groups_aro_map` (`group_id`,`section_value`,`aro_id`) +) TYPE=MyISAM; + +# +# Table structure for table `#__core_acl_aro_sections` +# +CREATE TABLE `#__core_acl_aro_sections` ( + `section_id` int(11) NOT NULL auto_increment, + `value` varchar(230) NOT NULL default '', + `order_value` int(11) NOT NULL default '0', + `name` varchar(230) NOT NULL default '', + `hidden` int(11) NOT NULL default '0', + PRIMARY KEY (`section_id`), + UNIQUE KEY `value_aro_sections` (`value`), + UNIQUE KEY `#__gacl_value_aro_sections` (`value`), + KEY `hidden_aro_sections` (`hidden`), + KEY `#__gacl_hidden_aro_sections` (`hidden`) +) TYPE=MyISAM; + +INSERT INTO `#__core_acl_aro_sections` VALUES (10,'users',1,'Users',0); diff -ruN 4.6rc2/uploadfiles/installation/sql/sample_data.sql 4.6-complete/uploadfiles/installation/sql/sample_data.sql --- 4.6rc2/uploadfiles/installation/sql/sample_data.sql 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/sql/sample_data.sql 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,174 @@ +# +# Dumping data for table `#__banner` +# + +INSERT INTO `#__banner` VALUES (3, 2, '', 'Mambo Needs You!', 0, 31, 0, 'RecruitmentBanner.gif', 'http://source.mambo-foundation.org/content/view/9/28/', '2005-11-18 20:55:34', 1, 0, '0000-00-00 00:00:00', NULL, NULL); +INSERT INTO `#__banner` VALUES (4, 2, '', 'Support Mambo Foundation', 0, 40, 0, 'SupportMFBanner.gif', 'http://mambo-foundation.org/content/view/11/27/', '2005-11-18 20:58:11', 1, 0, '0000-00-00 00:00:00', NULL, NULL); +INSERT INTO `#__banner` VALUES (5, 2, '', 'Mambo Foundation (Clean)', 0, 39, 0, 'mamboFoundation_468_60.gif', 'http://mambo-foundation.org/content/view/11/27/', '2005-11-18 20:59:07', 1, 0, '0000-00-00 00:00:00', NULL, NULL); + +# +# Dumping data for table `#__bannerclient` +# + +INSERT INTO `#__bannerclient` VALUES (2, 'Mambo Foundation', 'Mambo Foundation', 'info@mambo-foundation.org', '', 0, '00:00:00', NULL); + +# +# Dumping data for table `#__categories` +# + +INSERT INTO `#__categories` VALUES (2, 0, 'Mambo', 'Mambo', 'clock.jpg', 'com_weblinks', 'left', 'A selection of links that are all related to the Mambo project.', 1, 0, '0000-00-00 00:00:00', NULL, 0, 0, 0, ''); +INSERT INTO `#__categories` VALUES (3, 0, 'Newsflash', 'Newsflash', '', '2', 'left', ':: Explanatory Note -- This Category, and its parent Section, are not linked\r\nto any menu and therefore are directly viewable on the front end of the\r\nwebsite. Rather the Content Items contained inside this Category are only used to feed items into the NewFlash Module. See also, MODULES>SITE MODULES>NEWSFLASH  ::', 1, 0, '0000-00-00 00:00:00', '', 1, 0, 0, ''); +INSERT INTO `#__categories` VALUES (4, 0, 'Mambo', 'Mambo', '', 'com_newsfeeds', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 4, 0, 0, ''); +INSERT INTO `#__categories` VALUES (14, 0, 'Web Development', 'Web Development', '', 'com_newsfeeds', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 2, 0, 0, ''); +INSERT INTO `#__categories` VALUES (10, 0, 'Linux', 'Linux', '', 'com_newsfeeds', 'left', '
      \r\n', 1, 0, '0000-00-00 00:00:00', NULL, 5, 0, 0, ''); +INSERT INTO `#__categories` VALUES (13, 0, 'Open Source', 'Open Source', '', 'com_newsfeeds', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 3, 0, 0, ''); +INSERT INTO `#__categories` VALUES (12, 0, 'Contacts', 'Contacts', '', 'com_contact_details', 'left', 'Contact Details for this website', 1, 0, '0000-00-00 00:00:00', NULL, 0, 0, 0, ''); +INSERT INTO `#__categories` VALUES (15, 0, 'General Interest', 'General Interest', '', 'com_newsfeeds', 'left', '', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, ''); +INSERT INTO `#__categories` VALUES (16, 0, 'Getting Started', 'Getting Started', '', '4', 'left', 'Getting Started\r\n

      :: Explanatory Note -- This set of content items is\r\nbeing used to demonstrate one way to order content logically and\r\ndisplay it on the page. You see here an example of a "flat" hierarchy\r\nof content. There is only one level of content items, so we created a\r\nSection named "Getting Started" and then we created within that Section\r\na Category with the same name ("Getting Started"). We loaded the\r\ncontent items into the category and then created a Main Menu item named\r\n"Getting Started". When we created that Menu Item we chose the "Table -\r\nContent Category" format option, which gives us the table layout\r\ncontaining the content items, below. On the Content Items in this\r\nCategory we have used the Content Items Parameters tab to enable the\r\nItem Rating option. Note the Content Item Getting the Most Out of Your Mambo Site demonstrates how to create multi-page content. ::

      \r\n\r\n

       

      ', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, ''); +INSERT INTO `#__categories` VALUES (17, 0, 'Managing Users', 'Managing Users', 'taking_notes.jpg', '3', 'left', 'Managing Users\r\n

      :: Explanatory Note -- The Main Menu link "Managing Users" is a child of the parent "FAQs". Mambo enables you to\r\ncreate sub-menus automatically when you make a new menu\r\nitem. The format selected for this Menu Item is "Table - Content\r\nCategory" which displays a list of the Content Items in a Category in table format.  Order and Filter options are\r\ncontrolled by the Parameters setting for this Menu Item. Throughout\r\nthe Section we use Parameters settings for each Content Item\r\nto display the Back button and to hide the PDF and Print icons. ::

      \r\n\r\n

       

      ', 1, 0, '0000-00-00 00:00:00', NULL, 3, 0, 0, ''); +INSERT INTO `#__categories` VALUES (19, 0, 'Managing Content', 'Managing Content', 'articles.jpg', '3', 'left', 'Managing Content\r\n

      :: Explanatory Note -- The Main Menu link "Managing Content" is a child of the parent "FAQs". Mambo enables you to\r\ncreate sub-menus automatically when you make a new menu\r\nitem. The format selected for this Menu Item is "Table - Content\r\nCategory" which displays a list of the Content Items in a Category in table format.  Order and Filter options are\r\ncontrolled by the Parameters setting for this Menu Item. Throughout\r\nthe Section we use Parameters settings for each Content Item\r\nto display the Back button and to hide the PDF and Print icons. ::

      \r\n\r\n

      \r\n\r\n

       

      ', 1, 0, '0000-00-00 00:00:00', NULL, 2, 0, 0, ''); +INSERT INTO `#__categories` VALUES (18, 0, 'Mambo and Security', 'Mambo and Security', 'key.jpg', '3', 'left', 'Mambo and Security\r\n

      :: Explanatory Note -- The Main Menu link "Mambo and\r\nSecurity" is a child of the parent "FAQs". Mambo enables you to\r\ncreate sub-menus automatically when you make a new menu\r\nitem. The format selected for this Menu Item is "Table - Content\r\nCategory" which displays a list of the Content Items in a Category in table format.  Order and Filter options are\r\ncontrolled by the Parameters setting for this Menu Item. Throughout\r\nthe Section we use Parameters settings for each Content Item\r\nto display the Back button and to hide the PDF and Print icons. ::

      \r\n\r\n

       

      ', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, ''); + + +# +# Dumping data for table `#__contact_details` +# + +INSERT INTO `#__contact_details` VALUES (1, 'Name', 'Position', 'Street', 'Suburb', 'State', 'Country', 'Zip Code', 'Telephone', 'Fax', 'Miscellanous info', 'asterisk.png', 'top', 'email@email.com', 1, 1, 0, '0000-00-00 00:00:00', 1, '', 0, 12, 0); + +# +# Dumping data for table `#__content` +# + +INSERT INTO `#__content` VALUES (22, 'Can I show different users different content?', 'Can I show different users different content?', 'Within limits. The Mambo User Manager currently only supports a few\r\nlevels ("groups") of users. You can show different content to different\r\ngroups, but you cannot show each individual user a unique set of\r\ncontent. Put another way, every user in the group will see the same\r\ncontent as the other users in the group. If you really need this\r\nfunctionality, there are some third party components which add\r\nadditional flexibility.
      ', '', 1, 3, 0, 17, '2005-11-22 02:16:17', 62, '', '2005-11-22 07:42:06', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=0\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 4, 0, 2, '', '', 0, 1); +INSERT INTO `#__content` VALUES (23, 'Can users edit content from the front end?', 'Can users edit content from the front end?', 'Yes, if they are registered users who are logged into the system, and\r\nif you have given them permission. There are three user levels which\r\nhave this power:
      \r\n
        \r\n
      • Author - This group allows a user to post content, usually via a link in the User Menu.
      • \r\n
      • Editor - This group allows a user to post and edit any content item from the Front-end.
      • \r\n
      • Publisher - This group allows a user to post, edit and publish any content item from the Front-end.
      • \r\n
      ', '', 1, 3, 0, 17, '2005-11-22 02:49:48', 62, '', '2005-11-22 07:41:41', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 4, 0, 1, '', '', 0, 3); +INSERT INTO `#__content` VALUES (2, 'Need Help With Mambo?', '', 'New to Mambo? Looking for help or more information? Visit Mambo''s\r\nofficial online help center or join the\r\ndiscussions at the Mambo Forums', '', 1, 2, 0, 3, '2004-08-09 08:30:34', 62, '', '2005-11-19 21:06:57', 62, 0, '0000-00-00 00:00:00', '2004-08-09 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 6, 0, 1, '', '', 0, 0); +INSERT INTO `#__content` VALUES (3, 'Extending Mambo', '', 'You can extend the functionality of your Mambo site by installing new\r\nmodules, components or mambots. Additional languages can also be\r\nenabled by installing language packs. Download them free of charge from the MamboXchange.
      ', '', 1, 2, 0, 3, '2004-08-09 08:30:34', 62, '', '2005-11-19 21:06:32', 62, 0, '0000-00-00 00:00:00', '2004-08-09 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 5, 0, 2, '', '', 0, 1); +INSERT INTO `#__content` VALUES (4, 'OSI Certified', '', 'Mambo is OSI certified Open Source software. It is free of charge and\r\nis governed by the General Public License (GPL). Learn more about Open\r\nSource and the OSI at the Open Source Initiative (OSI) website.', '', 1, 2, 0, 3, '2004-08-09 08:30:34', 62, '', '2005-11-19 21:08:20', 62, 0, '0000-00-00 00:00:00', '2004-08-09 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 4, 0, 3, '', '', 0, 2); +INSERT INTO `#__content` VALUES (12, 'Get Involved', '', 'Would you like to be involved in the Mambo Open Source project? Join\r\nthe Mambo Foundation or become a member of Team Mambo. Learn more by\r\nvisiting Mambo-Foundation.org.', '', 1, 2, 0, 3, '2005-11-13 16:27:27', 62, '', '2005-11-19 21:09:33', 62, 0, '0000-00-00 00:00:00', '2005-11-13 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 4, 0, 4, '', '', 0, 0); +INSERT INTO `#__content` VALUES (5, 'Mambo License Guidelines', '', '

      :: Explanatory Note -- This page is an example of a\r\nStatic Content Item. The page does not belong to any Section or\r\nCategory. It is found in the Admin system inside the Static Content\r\nManager ::

      \r\n\r\n

       

      \r\n\r\n{mosimage}

       

      \r\n

      Mambo\r\nis free software released under the GNU General Public License. A copy\r\nof this license is included with your copy of Mambo and can also be\r\nfound at http://www.fsf.org/licenses/gpl.html. Unofficial translations can also be found at http://www.fsf.org/licenses/translations.html.

      \r\n \r\n


      \r\n 

      \r\n \r\n

      1. Who owns the copyright to Mambo?
      \r\nThe copyright to the Mambo brand and logo is held by Mambo Foundation,\r\na non profit corporation organized under the laws of Australia and run\r\nby the membership. Copyrights in the code are owned by the authors. You\r\nshould be aware that under the GPL who holds the copyright to the code\r\nbears little relation to the use of the code. The terms of the GPL,\r\nrathe than copyright law, spell out how the code may be used,\r\nmodified,  and distributed.
      \r\n

      \r\n \r\n

      2. Are there any restrictions to your use of Mambo?
      \r\n The GNU GPL grants you the freedom to use the software for whatever purpose you see fit.

      \r\n \r\n

      3. May I charge money to distribute Mambo?
      \r\nThe GPL allows everyone the freedom to do this. The right to charge\r\nmoney to distribute Mambo is part of the definition of "free" software.\r\nWhen people think of "selling software", they usually imagine doing it\r\nthe way most companies do it, making the software ''proprietary'' rather\r\nthan free. So to avoid ambiguity, you may charge to distribute the\r\nsoftware and any other service you provide along the way. You may not\r\ncharge for the software itself. Remember if someone pays your fee, the\r\nGPL also gives him or her the freedom to pass on the software with or\r\nwithout a fee.

      \r\n \r\n

      4. May I remove "powered by Mambo, Copyright Mambo Foundation” from the footer?
      \r\n Yes you can, although, we would hope that you would retain it to help spread the word about Mambo.

      \r\n \r\n

      5. May I remove the "copyright" statements from the source code to Mambo?
      \r\n No, you must keep all copyright notices and credits in the source code.

      \r\n \r\n

      6. Does the GPL mean that my web site content is also GPL?
      \r\nNo. The copyright and license of Mambo does not cover the content that\r\nyou create. Using Mambo does not place any restrictions, legally, on\r\nthe license or copyright you use for the content of your web site.

      \r\n \r\n

      7. I have modified Mambo for my own web site. Do I have to release these modifications?
      \r\nThe GPL permits anyone to make a modified version for their own use\r\nwithout the requirement to distribute it or pass on those changes to\r\nothers.

      \r\n \r\n

      8. I have made a modification (hack) to the Mambo core code. Do I have to release it under the GPL?
      \r\nIf you chose to distribute your modifications to others it must be\r\nreleased under the same terms that you received the original code. So\r\nyour modifications must be released under the GPL. You may of course in\r\nthis case modify the headers for the source code to include your own\r\ncopyright statement after the original copyright statements. If you do\r\nso, you must clearly annotate in the source code your amendments,\r\nchanges or additions.

      \r\n \r\n

      9. I have written a Component, Module, Template for Mambo. Do I have to release it under the GPL?
      \r\nNo. The GPL allows you to write your own extensions for Mambo and to\r\nrelease those extensions under whatever license you choose.

      \r\n \r\n

      10.\r\nI have written a Component, Module, Template for Mambo and released it\r\nunder the GPL and I charge a fee for it, but web site X is giving it\r\naway for free! Is that right?
      \r\n Remember if someone pays your\r\nfee, the GPL also gives him or her the freedom to pass on the software\r\nwith or without a fee because the GNU GPL license must go along with\r\nthe distribution of the software.

      \r\n \r\n

      11. May I purchase a copy of Mambo, which has the copyright statements removed?
      \r\n No. Some GPL products are distributed that way (often called “dual licensing”) but Mambo is not.

      \r\n \r\n

      12. I believe someone is in breach of the GPL, what should I do?
      \r\n We would ask you to report it, but please first check all the facts before you send an e-mail to us at: license-violation@mambo-foundation.org.

      \r\n \r\n

      13. Who has the power to enforce the GNU GPL license of Mambo?
      \r\nOnly the copyright holder, Mambo Foundation, has the power to do this.\r\nIf the Mambo Development Team finds, or is made aware of, a breach of\r\nthe GPL, they will report it to the Foundation for them to take any\r\nnecessary action.

      \r\n \r\n

      14.\r\nWeb site X is using or offering my non-GPL Component, Module, Template\r\nwithout my permission, or in breach of its license, can you help me?
      \r\nWhilst this is not within the remit or responsibility of Mambo, we are\r\nwilling to act as intermediaries in this on your behalf. In most cases\r\nthese situations arise out of simple misunderstandings and can be\r\nsettled amicably. You should e-mail full details to license-violation@mambo-foundation.org.

      \r\n \r\n

      15. What about translations of Mambo? Who owns those?
      \r\n All translation files, as they are derived works of the original Mambo files, are licensed under the GNU/GPL.
      \r\n

      \r\n \r\n

      DISCLAIMER
      \r\nThis document refers to the software program Mambo, Version 4.x and all\r\nsubsequent versions, released under the GNU General Public License and\r\ncopyrighted Mambo Foundation.

      \r\n \r\n

      This document is subject to additions, modifications and other changes at any time without notice.

      \r\n \r\n

      A\r\nlawyer has not prepared this document. You should consult a lawyer\r\nexperienced in copyright, licensing and intellectual property for\r\nclarification.

      \r\n \r\n

      Document Rev. 1.4 - 16 Nov 2005

      ', '', 1, 0, 0, 0, '2004-08-19 20:11:07', 62, '', '2005-11-22 08:19:31', 62, 0, '0000-00-00 00:00:00', '2004-08-19 00:00:00', '0000-00-00 00:00:00', 'opensource-110x95.png|left|OSI Certified|0||bottom||', '', 'menu_image=-1\nitem_title=1\npageclass_sfx=\nback_button=\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=', 1, 0, 11, '', '', 0, 21); +INSERT INTO `#__content` VALUES (13, 'Getting the Most Out of Your Mambo Site', 'Getting the Most Out of Your Mambo Site', 'An introduction to Components, Modules & Mambots
      \r\n

      The default installation of Mambo includes a variety of features\r\nwhich are available for your use at the click of a mouse. Without\r\ninstalling any additional software, you can manage banners, set up\r\nsurveys and polls, syndicate your content, and do many other common\r\ntasks.

      \r\n

      The tools that make these functions possible are called Components, Modules and Mambots.

      ', 'What is the distinction among Components, Modules & Mambots?\r\n\r\n\r\n
        \r\n
      • You can consider a Component as a full application\r\nthat runs inside Mambo. Components extend Mambo and give it extra\r\nfunctionality. The output of a component is displayed inside the main\r\ncontent area.
      • Modules are smaller, generally\r\n“helper” applications. Some run autonomously, others work in\r\ncooperation with Components. They are generally displayed around the\r\nedges of the main content area, in places defined inside the templates\r\n(called “module positions”).
      • Mambots are small\r\npieces of code that enable a new feature across the entire site. There\r\nare two types of Mambots: Those that have a visual effect (like\r\n{mosimage}), and those that affect the way Mambo behaves but without\r\nadding any true visual impact (like the search Mambots).
      • \r\n
      \r\n\r\n\r\n

      Just to make things a bit more confusing, sometimes a function will\r\nrequire a combination of these tools. For example, the Banners and the\r\nPolls functions include both a Component and a Module.

      \r\n\r\n\r\n

      While the technical distinction between these items is useful\r\ninformation, the most important points concern what they can do, and\r\nhow you can use them. To assist with that, we have provided below a\r\nquick summary of the Components and Modules bundled in your Mambo\r\npackage.{mospagebreak}
      \r\n

      \r\n\r\n\r\n

      A Quick Overview of the Bundled Components

      \r\n\r\n\r\n
        \r\n
      1. Banners: Controls the Banner ads on your site. This\r\ncomponent allows you to manage the banners, while the display is\r\nhandled by the Banners Module.
      2. Mass Mail: Allows you to send email to all registered users.
      3. News Feeds: A tool for managing News Feeds (RSS) to display on your site.
      4. Polls: Allows you to create a Poll (Survey) for the visitors to your site. Works in conjunction with the Polls Module.
      5. Syndicate: Use this component to format the RSS syndication of your site’s contents.
      6. \r\n
      7. Web Links: A component for creating and maintaining\r\na “Links” page for your site.
        \r\n
      8. \r\n
      \r\n{mospagebreak}\r\n\r\n\r\n

      A Quick Overview of the Bundled Modules

      \r\n\r\n\r\n

      Mambo provides for two types of Modules: Site Modules and\r\nAdministrator Modules. The difference between the two has to do with\r\nwhere the modules are displayed. Site Modules are displayed on the\r\nfront end of the site, visible to your visitors. Administrator Modules\r\nare visible only when logged into the Administrator system and are\r\nprimarily intended to make the Admin interface friendlier and more\r\nuseful. We discuss here only the Site Modules. If you wish to learn\r\nmore about the Administrator Modules, please visit our Help Site.

      \r\n\r\n\r\n

      Site Modules

      \r\n\r\n\r\n
        \r\n
      1. Banners: The Banners module will display banners from the Banners component.
      2. Main Menu: This is the module that controls the menu on your site named “Main”.
      3. Latest News: This module shows a list of the most recently published Items.
      4. User Menu: This is the module that controls the menu on your site named “User”.
      5. Other Menu: This is the module that controls the menu on your site named “Other”.
      6. Login Form: This module displays a Username and Password login form.
      7. Syndicate: The Syndicate module will display a link whereby people can syndicate your site contents (typically via RSS).
      8. Statistics: The Statistics module shows information about your server installation and statistics on the web site.
      9. Template Chooser:\r\nThe Template Chooser module allows a visitor to change the site\r\ntemplate on the fly from the front-end via a drop down selection list.
      10. Archive: This module shows a list of the calendar months which contain Archived items.
      11. Sections: The Section module shows a list of all Sections configured in your database.
      12. Related Items: This module displays other Content Items that are related to the Item currently displayed.
      13. Wrapper: This module will display an iFrame window in a specified location.
      14. Polls: This module compliments the Polls component. It is used to display the Polls.
      15. Who’s Online: The Who''s Online module displays the number of users that are currently accessing the web site.
      16. Random Image: This module displays a random image from a directory.
      17. Newsflash: The Newsflash module randomly selects one of the published items from a category upon each page refresh.
      18. Popular: This module shows a list of the currently published Items that have been viewed the most.
      19. Top Menu: This is the module that controls the menu on your site named “Top”.
      20. Search: This module will display a search box.{mospagebreak}
        \r\n
      21. \r\n
      \r\n\r\n\r\n

      A Quick Overview of Mambots

      \r\n\r\n\r\n

      As Mambots are a bit more technical, we ask that you refer to the\r\nHelp site to learn more about what these are and how you can extend the\r\nfunctionality of your site through the use of Mambots. You can find\r\nmore information here: http://help.mamboserver.com/index.php?option=com_content&task=view&id=92&Itemid=121

      \r\n\r\nHow Do I Install Additional Components, Modules or Mambots? \r\n

      Mambo users enjoy access to a wide variety of extensions for their\r\nsites. Many are free, others are commercial. All can be installed\r\neasily by anyone, without the need for programming skills. To learn\r\nmore about how to install these tools on your site, please visit our\r\nHelp site and read the following:
      \r\n http://help.mamboserver.com/index.php?option=com_content&task=view&id=149&Itemid=68
      \r\n

      \r\n\r\n\r\n

      Where Can I Find More Information?

      \r\n\r\n\r\n\r\n\r\n


      \r\n

      ', 1, 4, 0, 16, '2005-11-19 07:25:47', 62, '', '2005-12-21 22:07:24', 62, 0, '0000-00-00 00:00:00', '2005-11-19 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=1\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=', 11, 0, 2, '', '', 0, 23); +INSERT INTO `#__content` VALUES (21, 'How do I keep track of security advisories?', 'How do I keep track of security advisories?', 'Visit the Forums regularly and subscribe to the Mambo Security Announcements mailing list.
      ', '', 1, 3, 0, 18, '2005-11-22 02:08:13', 62, '', '2005-11-22 07:34:04', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 5, 0, 1, '', '', 0, 11); +INSERT INTO `#__content` VALUES (16, 'What is Static Content?', 'What is Static Content?', 'Static Content is simply a content item which is not part of a Section\r\nor a Category. Static Content cannot be added to a Blog, a Section or a\r\nCategory. Static Content is, in other words, an independent, stand alone\r\npage. Static Content pages can be created, edited and deleted in the\r\nStatic Content Manager. In the sample content you have installed with\r\nMambo, the Main Menu choice "The Mambo License" shows an example of a\r\nStatic Content page.', '', 1, 3, 0, 19, '2005-11-22 01:45:07', 62, '', '2005-11-22 07:41:22', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 11, 0, 5, '', '', 0, 10); +INSERT INTO `#__content` VALUES (17, 'Do I have to keep this sample content?', 'Do I have to keep this sample content?', 'No. This sample content appears because it was selected as an option\r\nduring the installation process. The information contained in the site\r\nis intended to assist new users in learning the system and to help them\r\nget started using Mambo immediately. We have inserted the content using\r\na variety of formats and options to help users get some idea of the\r\nchoices available to them. You may delete any of this content without\r\ncausing any problems to the site installation.
      ', '', 1, 3, 0, 19, '2005-11-22 01:53:08', 62, '', '2005-11-22 07:36:23', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 4, 0, 4, '', '', 0, 1); +INSERT INTO `#__content` VALUES (18, 'What''s the difference between a Section and a Category?', 'What''s the difference between a Section and a Category?', 'A Category is a subset of a Section. Content Items belong to\r\nCategories; Categories belong to Sections. The only exception to this\r\nhierarchy is Static Content, which exists outside of the Sections >\r\nCategories structure.
      ', '', 1, 3, 0, 19, '2005-11-22 01:55:35', 62, '', '2005-11-22 07:35:41', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 5, 0, 3, '', '', 0, 6); +INSERT INTO `#__content` VALUES (19, 'Why can''t I delete a Section / Category?', 'Why can''t I delete a Section / Category?', 'A Category must be empty of all Content Items before it can be deleted.\r\nA Section must be empty of all Categories before it can be deleted.\r\nRemember, in Mambo, when you delete an item, it moves to the Trash\r\nManager. To delete it permanently, you must go to the Trash Manager and\r\ndelete the items a second time; only then can you delete the related\r\nCategory / Section.
      ', '', 1, 3, 0, 19, '2005-11-22 01:58:30', 62, '', '2005-11-22 07:35:03', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 5, 0, 2, '', '', 0, 6); +INSERT INTO `#__content` VALUES (20, 'How do I secure my Mambo site?', 'How do I secure my Mambo site?', 'A simple question with a complex answer! It is complex because security\r\nissues arise from a variety of sources: your code, your server, the\r\nother things running on your server, the users, etc. While Mambo itself\r\nis relatively secure, you may still experience problems if the server\r\nis compromised or if a user gives up a password. The basic steps you\r\nshould take however include:
      \r\n
        \r\n
      • Do not unnecessarily leave directories open with CHMOD set at 777 (configuration.php in particular should be set to chmod 644)
      • \r\n
      • Delete your old installation directory (don''t just rename it!).
      • \r\n
      • Implement HTTP access controls for your admin login.
      • \r\n
      • Make all your admin passwords at least 8 characters and containing symbols and numbers as well as letters.
      • \r\n
      \r\nThere''s more that you can do, but it is outside the scope of this FAQ.
      ', '', 1, 3, 0, 18, '2005-11-22 02:06:51', 62, '', '2005-11-22 07:34:45', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 8, 0, 2, '', '', 0, 7); +INSERT INTO `#__content` VALUES (24, 'Can I change the format of the Home Page?', 'Can I change the format of the Home Page?', 'Yes, and it is very easy to do. The formatting of the Home Page -- the\r\nnumber of columns, the number of articles, etc. -- is controlled by the\r\nParameters tab found on the Main Menu Item "Home". GoTo:\r\nMENU>MAINMENU and select HOME. In the right column you will see the\r\nParameters...
      ', '', 1, 3, 0, 19, '2005-11-22 07:58:52', 62, '', '2005-11-22 08:00:27', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 2, 0, 1, '', '', 0, 1); +INSERT INTO `#__content` VALUES (14, 'Using Templates Effectively', 'Using Templates Effectively', '

      Your Mambo installation comes bundled with a default template and CSS. The template that displays when you first install the site is optimized for screen displays of 1024 x 768 and higher. In addition, we have included a second version of this template optimized for 800 x 600 displays.

      \r\n

      Mambo supports a number of options which allow you to change the display of the content on your site, enabling you to achieve a personalized look and feel without having to modify the template file.

      ', '

      The default installation with the sample data is designed to demonstrate a variety of different techniques for formatting information and displaying content. It is a virtual sampler of some of the different tools and techniques made possible by the Mambo system. We have included at the top of most pages ::Explanatory Text:: which helps you understand how that particular page, section or category was created.

      \r\n

      Since our goal is to show you ways to use the system, we have not optimized the settings for the most attractive appearance. Moreover, not every site will need the same options we have selected to show you in this sampler.

      \r\n

      As a means of extending the examples we have given, here are some changes you might want to consider to help make your site more attractive:\r\n

      \r\n
        \r\n
      • The "Top Menu" can be hidden (it''s a bit redundant at present,\r\ngiven the choices included and how close they are to the Main Menu)
      • \r\n
      • The "Latest News"and "Popular" modules can be hidden to give the Home Page a cleaner, simpler look.
      • \r\n
      • Experiment with the Parameters controlling the Front Page Component to change the number of articles, columns or links that appear on the Home Page.
      • \r\n
      • Vary the number and types of modules included in the left and right columns and make the selections relevant to the content of the pages on which they appear.
      • \r\n
      • If you use the 800 x 600 version of the template, you may not want to use the "Table - Content Category" or "Table - Content Section" layout options, as the center column becomes very crowded.\r\n
      • \r\n
      \r\n

      If you wish to change the company logo space ("Water & Stone" -\r\nat the top of the template), it is very simple. The present header is an image. The easiest way to replace it is to overwrite the image file via FTP or by using the Media Manager (that is, upload a new file with the same name). If you do not wish to use an image for the company logo, then you will need to edit the template file directly. Changing the image at the top of the template (the wide picture) can be achieved in the same manner.

      \r\n\r\n

      If you wish to change the colors of the template you will have to be able to use an image editing program to create new background images (which are tiled to give many of the effects on this template). Changing fonts and font colors is easier as they are all controlled by the CSS.

      \r\n

      Note that the template files and the CSS include numerous comment tags that are intended to help make modifying the files faster and easier. The best way to learn how to create or edit Mambo templates is to open one up and experiment. Make copies of the original before you start and you won''t have any serious problems.

      \r\n

      Good Luck and Welcome to Mambo!

      ', 1, 4, 0, 16, '2005-11-19 07:34:35', 62, '', '2005-11-29 21:46:55', 62, 0, '0000-00-00 00:00:00', '2005-11-19 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=1\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=', 6, 0, 3, '', '', 0, 0); +INSERT INTO `#__content` VALUES (15, 'Welcome to Mambo!', 'Welcome to Mambo!', '

      {mosimage}Thank you for choosing Mambo. You have completed successfully the\r\ninstallation of the Mambo files and are now viewing part of the sample\r\ncontent that is included in the default Mambo installation. You can\r\ndelete all of this information and replace it with your own contents\r\nvery easily. However, before you do that, we recommend that you review\r\nthese sample files, as they contain some information you might find to\r\nbe helpful.

      \r\n\r\n

      Included in the sample content you will find:

      \r\n
        \r\n
      • An overview of Mambo (this content item)
      • \r\n
      • An introduction to Components & Modules
      • \r\n
      • A summary of the templates that are included in this release, and
      • \r\n
      • Information about Mambo’s Licensing Terms (GPL)
      • \r\n
      ', '

      It is quite literally true to say that Mambo is an Open Source\r\nsuccess story. The original program was developed by the Australian\r\nsoftware company Miro,\r\nwho released the code to the Open Source community under the terms of\r\nthe GNU GPL in March of 2001. Until August of 2005, the development of\r\nMambo was controlled by a loosely organized community of volunteers.\r\nDuring the course of development, Mambo grew in complexity and ability\r\nand won a number of awards together with a wide following of loyal\r\nusers. Version 4.5.2 of Mambo was downloaded 1.8 million times!

      \r\n

      In August 2005, the Mambo Foundation\r\nwas formed, signaling a new era for the system. The Foundation is a\r\nnon-profit corporation whose sole purpose is the growth and development\r\nof Mambo. The Foundation is run by the members of the community.\r\nMembership in the Foundation is open to all and entitles members to\r\nelect their representatives on the Board of Directors and to\r\nparticipate more fully in matters affecting the development of the\r\nproject.

      \r\n

      Non-profit structures like the Mambo Foundation have been used successfully by GNOME, Eclipse, Mozilla\r\nand many other Open Source projects. The non-profit corporate structure\r\nis popular, at least part, because it adds a level of stability and\r\naccountability absent in ad hoc community driven projects. The\r\nexistence of the Mambo Foundation means that users of Mambo can be\r\nassured that the code will remain Open Source, will remain backed by a\r\ntransparent and accountable organization, and will have the ongoing\r\nsupport and promotion that gives developers and business users the\r\nconfidence to choose Mambo over other systems.

      \r\n

      If you would like to become involved in the development of Mambo and\r\nbe a part of the dynamic Mambo community, please contact us at membership@mambo-foundation.org
      \r\n

      ', 1, 4, 0, 16, '2005-11-19 07:52:18', 62, '', '2005-11-22 07:01:22', 62, 0, '0000-00-00 00:00:00', '2005-11-19 00:00:00', '0000-00-00 00:00:00', 'asterisk.png|left|Mambo Logo|0||bottom||', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=1\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 11, 0, 1, '', '', 0, 8); + +# +# Dumping data for table `#__content_frontpage` +# + +INSERT INTO `#__content_frontpage` VALUES (2, 4); +INSERT INTO `#__content_frontpage` VALUES (3, 5); +INSERT INTO `#__content_frontpage` VALUES (4, 6); +INSERT INTO `#__content_frontpage` VALUES (5, 7); +INSERT INTO `#__content_frontpage` VALUES (13, 3); +INSERT INTO `#__content_frontpage` VALUES (14, 2); +INSERT INTO `#__content_frontpage` VALUES (15, 1); + +# +# Dumping data for table `#__menu` +# + +INSERT INTO `#__menu` VALUES (3, 'mainmenu', 'Contact Us', 'index.php?option=com_contact', 'components', 1, 0, 7, 0, 12, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (23, 'mainmenu', 'Links', 'index.php?option=com_weblinks', 'components', 1, 0, 4, 0, 10, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=web_links.jpg\npageclass_sfx=\nback_button=\npage_title=1\nheader=\nheadings=1\nhits=\nitem_description=1\nother_cat=1\ndescription=1\ndescription_text=\nimage=-1\nimage_align=right\nweblink_icons='); +INSERT INTO `#__menu` VALUES (5, 'mainmenu', 'Advanced Search', 'index.php?option=com_search', 'components', 1, 0, 16, 0, 11, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=\npageclass_sfx=\nback_button=\npage_title=1\nheader='); +INSERT INTO `#__menu` VALUES (7, 'mainmenu', 'News Feeds', 'index.php?option=com_newsfeeds', 'components', 1, 0, 12, 0, 8, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\npageclass_sfx=\nback_button=1\npage_title=1\nheader=\nother_cat_section=1\nother_cat=0\ncat_description=1\ncat_items=1\ndescription=1\ndescription_text=:: Explanatory Note -- This is a collection of RSS News Feeds, drawn into this site through use of the Newsfeed Component. ::\nimage=-1\nimage_align=right\nheadings=1\nname=1\narticles=1\nlink=0\nfeed_image=1\nfeed_descr=1\nitem_descr=1\nword_count=0'); +INSERT INTO `#__menu` VALUES (8, 'mainmenu', 'Wrapper', 'index.php?option=com_wrapper', 'wrapper', 1, 0, 0, 0, 9, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\npageclass_sfx=\nback_button=\npage_title=1\nheader=This uses a wrapper to include an HTML page from another domain.\nscrolling=auto\nwidth=100%\nheight=600\nheight_auto=1\nadd=1\nurl=www.dmoz.org'); +INSERT INTO `#__menu` VALUES (9, 'mainmenu', 'Blog', 'index.php?option=com_content&task=blogsection&id=0', 'content_blog_section', 1, 0, 0, 0, 7, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\npageclass_sfx=\nback_button=\nheader=Blog - Content Section Layout\npage_title=1\nleading=0\nintro=5\ncolumns=1\nlink=5\norderby_pri=\norderby_sec=\npagination=2\npagination_results=1\nimage=0\ndescription=0\ndescription_image=0\ncategory=0\ncategory_link=0\nitem_title=1\nlink_titles=\nreadmore=1\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=0\nprint=0\nemail=0\nsectionid='); +INSERT INTO `#__menu` VALUES (36, 'othermenu', 'Mambo Foundation', 'http://mambo-foundation.org', 'url', 1, 0, 0, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (37, 'othermenu', 'Mambo Forums', 'http://forum.mambo-foundation.org', 'url', 1, 0, 0, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (38, 'othermenu', 'Mambo Docs Site', 'http://docs.mambo-foundation.org', 'url', 1, 0, 0, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (10, 'othermenu', 'The Source', 'http://source.mambo-foundation.org', 'url', 1, 0, 0, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (11, 'othermenu', 'Administrator', 'administrator/', 'url', 1, 0, 0, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1'); +INSERT INTO `#__menu` VALUES (12, 'othermenu', 'MamboXchange', 'http://mamboxchange.com', 'url', 1, 0, 0, 0, 6, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (21, 'usermenu', 'Your Details', 'index.php?option=com_user&task=UserDetails', 'url', 1, 0, 0, 0, 1, 0, '2000-00-00 00:00:00', 0, 0, 1, 3, ''); +INSERT INTO `#__menu` VALUES (13, 'usermenu', 'Submit FAQ', 'index.php?option=com_content&task=new§ionid=3', 'url', 1, 0, 0, 0, 2, 0, '2000-00-00 00:00:00', 0, 0, 1, 2, ''); +INSERT INTO `#__menu` VALUES (14, 'usermenu', 'Submit Web Link', 'index.php?option=com_weblinks&task=new', 'url', 1, 0, 0, 0, 4, 0, '2000-00-00 00:00:00', 0, 0, 1, 2, ''); +INSERT INTO `#__menu` VALUES (15, 'usermenu', 'Check-In My Items', 'index.php?option=com_user&task=CheckIn', 'url', 1, 0, 0, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 1, 2, ''); +INSERT INTO `#__menu` VALUES (16, 'usermenu', 'Logout', 'index.php?option=com_login', 'components', 1, 0, 15, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 1, 3, ''); +INSERT INTO `#__menu` VALUES (32, 'mainmenu', 'FAQs', 'index.php?option=com_content&task=section&id=3', 'content_section', 1, 0, 3, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\nother_cat_section=1\ndescription=1\ndescription_image=0\nother_cat=0\nempty_cat=0\ncat_items=1\ncat_description=0\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title'); +INSERT INTO `#__menu` VALUES (26, 'mainmenu', 'The Mambo License', 'index.php?option=com_content&task=view&id=5', 'content_typed', 1, 0, 5, 0, 6, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1'); +INSERT INTO `#__menu` VALUES (27, 'mainmenu', 'Getting Started', 'index.php?option=com_content&task=category§ionid=4&id=16', 'content_category', 1, 0, 16, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title\nother_cat=1\nempty_cat=0\ncat_items=1\ncat_description=1'); +INSERT INTO `#__menu` VALUES (28, 'topmenu', 'Home', 'index.php?option=com_frontpage', 'components', 1, 0, 10, 0, 8, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npageclass_sfx=\nheader=\npage_title=1\nback_button=\nleading=1\nintro=2\ncolumns=2\nlink=3\norderby_pri=\norderby_sec=front\npagination=2\npagination_results=1\nimage=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nitem_title=1\nlink_titles=\nreadmore=\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=0\nprint=0\nemail=0'); +INSERT INTO `#__menu` VALUES (29, 'topmenu', 'Links', 'index.php?option=com_weblinks', 'components', 1, 0, 4, 0, 6, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npageclass_sfx=\nback_button=\npage_title=1\nheader=\nheadings=1\nhits=\nitem_description=1\nother_cat_section=1\nother_cat=1\ndescription=1\ndescription_text=\nimage=-1\nimage_align=right\nweblink_icons='); +INSERT INTO `#__menu` VALUES (30, 'topmenu', 'Contact Us', 'index.php?option=com_contact&task=view&contact_id=1', 'contact_item_link', 1, 0, 1, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npageclass_sfx=\npage_title=1\nheader='); +INSERT INTO `#__menu` VALUES (33, 'mainmenu', 'Mambo and Security', 'index.php?option=com_content&task=category§ionid=3&id=18', 'content_category', 1, 32, 18, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title\nother_cat=0\nempty_cat=0\ncat_items=1\ncat_description=0'); +INSERT INTO `#__menu` VALUES (34, 'mainmenu', 'Managing Content', 'index.php?option=com_content&task=category§ionid=3&id=19', 'content_category', 1, 32, 19, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title\nother_cat=0\nempty_cat=0\ncat_items=1\ncat_description=0'); +INSERT INTO `#__menu` VALUES (35, 'mainmenu', 'Managing Users', 'index.php?option=com_content&task=category§ionid=3&id=17', 'content_category', 1, 32, 17, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title\nother_cat=0\nempty_cat=0\ncat_items=1\ncat_description=0'); + +# +# Dumping data for table `#__newsfeeds` +# + +INSERT INTO `#__newsfeeds` VALUES (14, 15, 'The Daily Report', 'http://www.zeldman.com/feed/zeldman.xml', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 8); +INSERT INTO `#__newsfeeds` VALUES (13, 14, 'Lawrence Lessig''s Blog', 'http://www.lessig.org/blog/index.xml', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 9); +INSERT INTO `#__newsfeeds` VALUES (10, 3, 'Linux Today', 'http://linuxtoday.com/backend/my-netscape.rdf', '', 1, 3, 3600, 0, '0000-00-00 00:00:00', 14); +INSERT INTO `#__newsfeeds` VALUES (14, 17, 'Evolt.org', 'http://evolt.org/rss/articles.rss', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 6); +INSERT INTO `#__newsfeeds` VALUES (14, 16, 'A List Apart', 'http://www.alistapart.com/rss.xml', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 7); +INSERT INTO `#__newsfeeds` VALUES (13, 13, 'OSDir', 'http://osdir.com/rss.php', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 10); +INSERT INTO `#__newsfeeds` VALUES (13, 12, 'Newsforge', 'http://www.newsforge.com/index.rss', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 11); +INSERT INTO `#__newsfeeds` VALUES (10, 10, 'DistroWatch', 'http://distrowatch.com/news/dw.xml', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 13); +INSERT INTO `#__newsfeeds` VALUES (4, 11, 'The Source', 'http://source.mambo-foundation.org/index2.php?option=com_rss&feed=ATOM0.3&no_html=1', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 12); +INSERT INTO `#__newsfeeds` VALUES (15, 18, 'Slashdot', 'http://slashdot.org/index.rss', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 5); +INSERT INTO `#__newsfeeds` VALUES (15, 19, 'The Register', 'http://www.theregister.com/excerpts.rss', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 4); +INSERT INTO `#__newsfeeds` VALUES (15, 20, 'Wired', 'http://www.wired.com/news/feeds/rss2/0,2610,,00.xml', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 3); +INSERT INTO `#__newsfeeds` VALUES (15, 21, 'BoingBoing', 'http://feeds.feedburner.com/boingboing/iBag', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 2); +INSERT INTO `#__newsfeeds` VALUES (4, 22, 'MamboXchange', 'http://mamboxchange.com/export/rss_sfnews.php', NULL, 1, 5, 3600, 0, '0000-00-00 00:00:00', 1); + +# +# Dumping data for table `#__poll_data` +# + +INSERT INTO `#__poll_data` VALUES (20, 15, '', 0); +INSERT INTO `#__poll_data` VALUES (19, 15, '', 0); +INSERT INTO `#__poll_data` VALUES (18, 15, '', 0); +INSERT INTO `#__poll_data` VALUES (17, 15, 'Scott Adams', 1); +INSERT INTO `#__poll_data` VALUES (16, 15, 'Tim Berners-Lee', 0); +INSERT INTO `#__poll_data` VALUES (15, 15, 'Linus Torvalds', 0); +INSERT INTO `#__poll_data` VALUES (14, 15, 'Bill Gates', 0); +INSERT INTO `#__poll_data` VALUES (13, 15, 'Steve Jobs', 0); +INSERT INTO `#__poll_data` VALUES (21, 15, '', 0); +INSERT INTO `#__poll_data` VALUES (22, 15, '', 0); +INSERT INTO `#__poll_data` VALUES (23, 15, '', 0); +INSERT INTO `#__poll_data` VALUES (24, 15, '', 0); + +# +# Dumping data for table `#__polls` +# + +INSERT INTO `#__polls` VALUES (15, 'The most influential person in technology in the last 25 years is...', 1, 0, '0000-00-00 00:00:00', 1, 0, 86400); + +# +# Dumping data for table `#__poll_date` +# + +INSERT INTO `#__poll_date` VALUES (1, '2005-11-19 09:30:51', 17, 15); + +# +# Dumping data for table `#__poll_menu` +# + +INSERT INTO `#__poll_menu` VALUES (15, 1); + +# +# Dumping data for table `#__sections` +# + +INSERT INTO `#__sections` VALUES (2, 'Newsflashes', 'Newsflashes', '', 'content', 'left', ':: Explanatory Note -- This Section and its Category are not linked\r\nto any menu and therefore are directly viewable on the front end of the\r\nwebsite. Rather the Content Items contained inside this Section &\r\nits Category are only used to feed items into the NewFlash Module. See also, MODULES>SITE MODULES>NEWSFLASH  ::
      \r\n', 1, 0, '0000-00-00 00:00:00', 2, 0, 3, ''); +INSERT INTO `#__sections` VALUES (3, 'FAQs', 'Frequently Asked Questions', 'pastarchives.jpg', 'content', 'left', 'Frequently Asked Questions (FAQs)\r\n

      ::Explanatory Notes - The Main Menu link "FAQs" is set to display\r\n"Table - Content Section". The list below is a list of the Categories\r\ninside the Section named "FAQs". Inside each Category are Content Items. ::

      ', 1, 0, '0000-00-00 00:00:00', 3, 0, 52, ''); +INSERT INTO `#__sections` VALUES (4, 'Getting Started', 'Getting Started', '', 'content', 'left', '
      \r\n', 1, 0, '0000-00-00 00:00:00', 1, 0, 12, ''); + +# +# Dumping data for table `#__weblinks` +# + +INSERT INTO `#__weblinks` VALUES (1, 2, 0, 'The Source', 'http://source.mambo-foundation.org/', 'The official home of the Mambo Core and a resource site for members of the Mambo Foundation and users of the Mambo CMS.', '2006-02-27 14:08:45', 2, 1, 0, '0000-00-00 00:00:00', 3, 0, 1, 'target=1'); +INSERT INTO `#__weblinks` VALUES (2, 2, 0, 'MamboXchange', 'http://mamboxchange.com', 'Get your Mambo add-ons here!', '2004-07-07 10:18:31', 0, 1, 0, '0000-00-00 00:00:00', 2, 0, 1, ''); +INSERT INTO `#__weblinks` VALUES (3, 2, 0, 'Mambo Documentation', 'http://docs.mambo-foundation.org', 'The official Mambo documentation site', '2006-09-12 16:19:21', 0, 1, 0, '0000-00-00 00:00:00', 5, 0, 1, ''); +INSERT INTO `#__weblinks` VALUES (4, 2, 0, 'Mambo Foundation Forums', 'http://forum.mambo-foundation.org', 'The official Mambo Foundation Forums', '2006-09-12 16:17:22', 0, 1, 0, '0000-00-00 00:00:00', 4, 0, 1, ''); +INSERT INTO `#__weblinks` VALUES (5, 2, 0, 'Mambo Foundation', 'http://www.mambo-foundation.org', 'Home of the Mambo Foundation.', '2005-11-19 06:33:35', 0, 1, 0, '0000-00-00 00:00:00', 1, 0, 1, 'target=1'); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/installation/sql/sample_data_lite.sql 4.6-complete/uploadfiles/installation/sql/sample_data_lite.sql --- 4.6rc2/uploadfiles/installation/sql/sample_data_lite.sql 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/sql/sample_data_lite.sql 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,87 @@ +# +# Dumping data for table `#__categories` +# + +INSERT INTO `#__categories` VALUES (2, 0, 'Mambo', 'Mambo', 'clock.jpg', 'com_weblinks', 'left', 'A selection of links that are all related to the Mambo project.', 1, 0, '0000-00-00 00:00:00', NULL, 0, 0, 0, ''); +INSERT INTO `#__categories` VALUES (3, 0, 'Newsflash', 'Newsflash', '', '2', 'left', ':: Explanatory Note -- This Category, and its parent Section, are not linked\r\nto any menu and therefore are directly viewable on the front end of the\r\nwebsite. Rather the Content Items contained inside this Category are only used to feed items into the NewFlash Module. See also, MODULES>SITE MODULES>NEWSFLASH  ::', 1, 0, '0000-00-00 00:00:00', '', 1, 0, 0, ''); +INSERT INTO `#__categories` VALUES (12, 0, 'Contacts', 'Contacts', '', 'com_contact_details', 'left', 'Contact Details for this website', 1, 0, '0000-00-00 00:00:00', NULL, 0, 0, 0, ''); +INSERT INTO `#__categories` VALUES (16, 0, 'Getting Started', 'Getting Started', '', '4', 'left', 'Getting Started\r\n

      :: Explanatory Note -- This set of content items is\r\nbeing used to demonstrate one way to order content logically and\r\ndisplay it on the page. You see here an example of a "flat" hierarchy\r\nof content. There is only one level of content items, so we created a\r\nSection named "Getting Started" and then we created within that Section\r\na Category with the same name ("Getting Started"). We loaded the\r\ncontent items into the category and then created a Main Menu item named\r\n"Getting Started". When we created that Menu Item we chose the "Table -\r\nContent Category" format option, which gives us the table layout\r\ncontaining the content items, below. On the Content Items in this\r\nCategory we have used the Content Items Parameters tab to enable the\r\nItem Rating option. Note the Content Item Getting the Most Out of Your Mambo Site demonstrates how to create multi-page content. ::

      \r\n\r\n

       

      ', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, ''); +INSERT INTO `#__categories` VALUES (17, 0, 'Managing Users', 'Managing Users', 'taking_notes.jpg', '3', 'left', 'Managing Users\r\n

      :: Explanatory Note -- The Main Menu link "Managing Users" is a child of the parent "FAQs". Mambo enables you to\r\ncreate sub-menus automatically when you make a new menu\r\nitem. The format selected for this Menu Item is "Table - Content\r\nCategory" which displays a list of the Content Items in a Category in table format.  Order and Filter options are\r\ncontrolled by the Parameters setting for this Menu Item. Throughout\r\nthe Section we use Parameters settings for each Content Item\r\nto display the Back button and to hide the PDF and Print icons. ::

      \r\n\r\n

       

      ', 1, 0, '0000-00-00 00:00:00', NULL, 3, 0, 0, ''); +INSERT INTO `#__categories` VALUES (19, 0, 'Managing Content', 'Managing Content', 'articles.jpg', '3', 'left', 'Managing Content\r\n

      :: Explanatory Note -- The Main Menu link "Managing Content" is a child of the parent "FAQs". Mambo enables you to\r\ncreate sub-menus automatically when you make a new menu\r\nitem. The format selected for this Menu Item is "Table - Content\r\nCategory" which displays a list of the Content Items in a Category in table format.  Order and Filter options are\r\ncontrolled by the Parameters setting for this Menu Item. Throughout\r\nthe Section we use Parameters settings for each Content Item\r\nto display the Back button and to hide the PDF and Print icons. ::

      \r\n\r\n

      \r\n\r\n

       

      ', 1, 0, '0000-00-00 00:00:00', NULL, 2, 0, 0, ''); +INSERT INTO `#__categories` VALUES (18, 0, 'Mambo and Security', 'Mambo and Security', 'key.jpg', '3', 'left', 'Mambo and Security\r\n

      :: Explanatory Note -- The Main Menu link "Mambo and\r\nSecurity" is a child of the parent "FAQs". Mambo enables you to\r\ncreate sub-menus automatically when you make a new menu\r\nitem. The format selected for this Menu Item is "Table - Content\r\nCategory" which displays a list of the Content Items in a Category in table format.  Order and Filter options are\r\ncontrolled by the Parameters setting for this Menu Item. Throughout\r\nthe Section we use Parameters settings for each Content Item\r\nto display the Back button and to hide the PDF and Print icons. ::

      \r\n\r\n

       

      ', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0, ''); + + +# +# Dumping data for table `#__contact_details` +# + +INSERT INTO `#__contact_details` VALUES (1, 'Name', 'Position', 'Street', 'Suburb', 'State', 'Country', 'Zip Code', 'Telephone', 'Fax', 'Miscellanous info', 'asterisk.png', 'top', 'email@email.com', 1, 1, 0, '0000-00-00 00:00:00', 1, '', 0, 12, 0); + +# +# Dumping data for table `#__content` +# + +INSERT INTO `#__content` VALUES (22, 'Can I show different users different content?', 'Can I show different users different content?', 'Within limits. The Mambo User Manager currently only supports a few\r\nlevels ("groups") of users. You can show different content to different\r\ngroups, but you cannot show each individual user a unique set of\r\ncontent. Put another way, every user in the group will see the same\r\ncontent as the other users in the group. If you really need this\r\nfunctionality, there are some third party components which add\r\nadditional flexibility.
      ', '', 1, 3, 0, 17, '2005-11-22 02:16:17', 62, '', '2005-11-22 07:42:06', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=0\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 4, 0, 2, '', '', 0, 1); +INSERT INTO `#__content` VALUES (23, 'Can users edit content from the front end?', 'Can users edit content from the front end?', 'Yes, if they are registered users who are logged into the system, and\r\nif you have given them permission. There are three user levels which\r\nhave this power:
      \r\n
        \r\n
      • Author - This group allows a user to post content, usually via a link in the User Menu.
      • \r\n
      • Editor - This group allows a user to post and edit any content item from the Front-end.
      • \r\n
      • Publisher - This group allows a user to post, edit and publish any content item from the Front-end.
      • \r\n
      ', '', 1, 3, 0, 17, '2005-11-22 02:49:48', 62, '', '2005-11-22 07:41:41', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 4, 0, 1, '', '', 0, 3); +INSERT INTO `#__content` VALUES (2, 'Need Help With Mambo?', '', 'New to Mambo? Looking for help or more information? Visit Mambo''s\r\nofficial online help center or join the\r\ndiscussions at the Mambo Forums', '', 1, 2, 0, 3, '2004-08-09 08:30:34', 62, '', '2005-11-19 21:06:57', 62, 0, '0000-00-00 00:00:00', '2004-08-09 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 6, 0, 1, '', '', 0, 0); +INSERT INTO `#__content` VALUES (3, 'Extending Mambo', '', 'You can extend the functionality of your Mambo site by installing new\r\nmodules, components or mambots. Additional languages can also be\r\nenabled by installing language packs. Download them free of charge from the MamboXchange.
      ', '', 1, 2, 0, 3, '2004-08-09 08:30:34', 62, '', '2005-11-19 21:06:32', 62, 0, '0000-00-00 00:00:00', '2004-08-09 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 5, 0, 2, '', '', 0, 1); +INSERT INTO `#__content` VALUES (4, 'OSI Certified', '', 'Mambo is OSI certified Open Source software. It is free of charge and\r\nis governed by the General Public License (GPL). Learn more about Open\r\nSource and the OSI at the Open Source Initiative (OSI) website.', '', 1, 2, 0, 3, '2004-08-09 08:30:34', 62, '', '2005-11-19 21:08:20', 62, 0, '0000-00-00 00:00:00', '2004-08-09 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 4, 0, 3, '', '', 0, 2); +INSERT INTO `#__content` VALUES (12, 'Get Involved', '', 'Would you like to be involved in the Mambo Open Source project? Join\r\nthe Mambo Foundation or become a member of Team Mambo. Learn more by\r\nvisiting Mambo-Foundation.org.', '', 1, 2, 0, 3, '2005-11-13 16:27:27', 62, '', '2005-11-19 21:09:33', 62, 0, '0000-00-00 00:00:00', '2005-11-13 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 4, 0, 4, '', '', 0, 0); +INSERT INTO `#__content` VALUES (5, 'Mambo License Guidelines', '', '

      :: Explanatory Note -- This page is an example of a\r\nStatic Content Item. The page does not belong to any Section or\r\nCategory. It is found in the Admin system inside the Static Content\r\nManager ::

      \r\n\r\n

       

      \r\n\r\n{mosimage}

       

      \r\n

      Mambo\r\nis free software released under the GNU General Public License. A copy\r\nof this license is included with your copy of Mambo and can also be\r\nfound at http://www.fsf.org/licenses/gpl.html. Unofficial translations can also be found at http://www.fsf.org/licenses/translations.html.

      \r\n \r\n


      \r\n 

      \r\n \r\n

      1. Who owns the copyright to Mambo?
      \r\nThe copyright to the Mambo brand and logo is held by Mambo Foundation,\r\na non profit corporation organized under the laws of Australia and run\r\nby the membership. Copyrights in the code are owned by the authors. You\r\nshould be aware that under the GPL who holds the copyright to the code\r\nbears little relation to the use of the code. The terms of the GPL,\r\nrathe than copyright law, spell out how the code may be used,\r\nmodified,  and distributed.
      \r\n

      \r\n \r\n

      2. Are there any restrictions to your use of Mambo?
      \r\n The GNU GPL grants you the freedom to use the software for whatever purpose you see fit.

      \r\n \r\n

      3. May I charge money to distribute Mambo?
      \r\nThe GPL allows everyone the freedom to do this. The right to charge\r\nmoney to distribute Mambo is part of the definition of "free" software.\r\nWhen people think of "selling software", they usually imagine doing it\r\nthe way most companies do it, making the software ''proprietary'' rather\r\nthan free. So to avoid ambiguity, you may charge to distribute the\r\nsoftware and any other service you provide along the way. You may not\r\ncharge for the software itself. Remember if someone pays your fee, the\r\nGPL also gives him or her the freedom to pass on the software with or\r\nwithout a fee.

      \r\n \r\n

      4. May I remove "powered by Mambo, Copyright Mambo Foundation” from the footer?
      \r\n Yes you can, although, we would hope that you would retain it to help spread the word about Mambo.

      \r\n \r\n

      5. May I remove the "copyright" statements from the source code to Mambo?
      \r\n No, you must keep all copyright notices and credits in the source code.

      \r\n \r\n

      6. Does the GPL mean that my web site content is also GPL?
      \r\nNo. The copyright and license of Mambo does not cover the content that\r\nyou create. Using Mambo does not place any restrictions, legally, on\r\nthe license or copyright you use for the content of your web site.

      \r\n \r\n

      7. I have modified Mambo for my own web site. Do I have to release these modifications?
      \r\nThe GPL permits anyone to make a modified version for their own use\r\nwithout the requirement to distribute it or pass on those changes to\r\nothers.

      \r\n \r\n

      8. I have made a modification (hack) to the Mambo core code. Do I have to release it under the GPL?
      \r\nIf you chose to distribute your modifications to others it must be\r\nreleased under the same terms that you received the original code. So\r\nyour modifications must be released under the GPL. You may of course in\r\nthis case modify the headers for the source code to include your own\r\ncopyright statement after the original copyright statements. If you do\r\nso, you must clearly annotate in the source code your amendments,\r\nchanges or additions.

      \r\n \r\n

      9. I have written a Component, Module, Template for Mambo. Do I have to release it under the GPL?
      \r\nNo. The GPL allows you to write your own extensions for Mambo and to\r\nrelease those extensions under whatever license you choose.

      \r\n \r\n

      10.\r\nI have written a Component, Module, Template for Mambo and released it\r\nunder the GPL and I charge a fee for it, but web site X is giving it\r\naway for free! Is that right?
      \r\n Remember if someone pays your\r\nfee, the GPL also gives him or her the freedom to pass on the software\r\nwith or without a fee because the GNU GPL license must go along with\r\nthe distribution of the software.

      \r\n \r\n

      11. May I purchase a copy of Mambo, which has the copyright statements removed?
      \r\n No. Some GPL products are distributed that way (often called “dual licensing”) but Mambo is not.

      \r\n \r\n

      12. I believe someone is in breach of the GPL, what should I do?
      \r\n We would ask you to report it, but please first check all the facts before you send an e-mail to us at: license-violation@mambo-foundation.org.

      \r\n \r\n

      13. Who has the power to enforce the GNU GPL license of Mambo?
      \r\nOnly the copyright holder, Mambo Foundation, has the power to do this.\r\nIf the Mambo Development Team finds, or is made aware of, a breach of\r\nthe GPL, they will report it to the Foundation for them to take any\r\nnecessary action.

      \r\n \r\n

      14.\r\nWeb site X is using or offering my non-GPL Component, Module, Template\r\nwithout my permission, or in breach of its license, can you help me?
      \r\nWhilst this is not within the remit or responsibility of Mambo, we are\r\nwilling to act as intermediaries in this on your behalf. In most cases\r\nthese situations arise out of simple misunderstandings and can be\r\nsettled amicably. You should e-mail full details to license-violation@mambo-foundation.org.

      \r\n \r\n

      15. What about translations of Mambo? Who owns those?
      \r\n All translation files, as they are derived works of the original Mambo files, are licensed under the GNU/GPL.
      \r\n

      \r\n \r\n

      DISCLAIMER
      \r\nThis document refers to the software program Mambo, Version 4.x and all\r\nsubsequent versions, released under the GNU General Public License and\r\ncopyrighted Mambo Foundation.

      \r\n \r\n

      This document is subject to additions, modifications and other changes at any time without notice.

      \r\n \r\n

      A\r\nlawyer has not prepared this document. You should consult a lawyer\r\nexperienced in copyright, licensing and intellectual property for\r\nclarification.

      \r\n \r\n

      Document Rev. 1.4 - 16 Nov 2005

      ', '', 1, 0, 0, 0, '2004-08-19 20:11:07', 62, '', '2005-11-22 08:19:31', 62, 0, '0000-00-00 00:00:00', '2004-08-19 00:00:00', '0000-00-00 00:00:00', 'opensource-110x95.png|left|OSI Certified|0||bottom||', '', 'menu_image=-1\nitem_title=1\npageclass_sfx=\nback_button=\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=', 1, 0, 11, '', '', 0, 21); +INSERT INTO `#__content` VALUES (13, 'Getting the Most Out of Your Mambo Site', 'Getting the Most Out of Your Mambo Site', 'An introduction to Components, Modules & Mambots
      \r\n

      The default installation of Mambo includes a variety of features\r\nwhich are available for your use at the click of a mouse. Without\r\ninstalling any additional software, you can manage banners, set up\r\nsurveys and polls, syndicate your content, and do many other common\r\ntasks.

      \r\n

      The tools that make these functions possible are called Components, Modules and Mambots.

      ', 'What is the distinction among Components, Modules & Mambots?\r\n\r\n\r\n
        \r\n
      • You can consider a Component as a full application\r\nthat runs inside Mambo. Components extend Mambo and give it extra\r\nfunctionality. The output of a component is displayed inside the main\r\ncontent area.
      • Modules are smaller, generally\r\n“helper” applications. Some run autonomously, others work in\r\ncooperation with Components. They are generally displayed around the\r\nedges of the main content area, in places defined inside the templates\r\n(called “module positions”).
      • Mambots are small\r\npieces of code that enable a new feature across the entire site. There\r\nare two types of Mambots: Those that have a visual effect (like\r\n{mosimage}), and those that affect the way Mambo behaves but without\r\nadding any true visual impact (like the search Mambots).
      • \r\n
      \r\n\r\n\r\n

      Just to make things a bit more confusing, sometimes a function will\r\nrequire a combination of these tools. For example, the Banners and the\r\nPolls functions include both a Component and a Module.

      \r\n\r\n\r\n

      While the technical distinction between these items is useful\r\ninformation, the most important points concern what they can do, and\r\nhow you can use them. To assist with that, we have provided below a\r\nquick summary of the Components and Modules bundled in your Mambo\r\npackage.{mospagebreak}
      \r\n

      \r\n\r\n\r\n

      A Quick Overview of the Bundled Components

      \r\n\r\n\r\n
        \r\n
      1. Banners: Controls the Banner ads on your site. This\r\ncomponent allows you to manage the banners, while the display is\r\nhandled by the Banners Module.
      2. Mass Mail: Allows you to send email to all registered users.
      3. News Feeds: A tool for managing News Feeds (RSS) to display on your site.
      4. Polls: Allows you to create a Poll (Survey) for the visitors to your site. Works in conjunction with the Polls Module.
      5. Syndicate: Use this component to format the RSS syndication of your site’s contents.
      6. \r\n
      7. Web Links: A component for creating and maintaining\r\na “Links” page for your site.
        \r\n
      8. \r\n
      \r\n{mospagebreak}\r\n\r\n\r\n

      A Quick Overview of the Bundled Modules

      \r\n\r\n\r\n

      Mambo provides for two types of Modules: Site Modules and\r\nAdministrator Modules. The difference between the two has to do with\r\nwhere the modules are displayed. Site Modules are displayed on the\r\nfront end of the site, visible to your visitors. Administrator Modules\r\nare visible only when logged into the Administrator system and are\r\nprimarily intended to make the Admin interface friendlier and more\r\nuseful. We discuss here only the Site Modules. If you wish to learn\r\nmore about the Administrator Modules, please visit our Help Site.

      \r\n\r\n\r\n

      Site Modules

      \r\n\r\n\r\n
        \r\n
      1. Banners: The Banners module will display banners from the Banners component.
      2. Main Menu: This is the module that controls the menu on your site named “Main”.
      3. Latest News: This module shows a list of the most recently published Items.
      4. User Menu: This is the module that controls the menu on your site named “User”.
      5. Other Menu: This is the module that controls the menu on your site named “Other”.
      6. Login Form: This module displays a Username and Password login form.
      7. Syndicate: The Syndicate module will display a link whereby people can syndicate your site contents (typically via RSS).
      8. Statistics: The Statistics module shows information about your server installation and statistics on the web site.
      9. Template Chooser:\r\nThe Template Chooser module allows a visitor to change the site\r\ntemplate on the fly from the front-end via a drop down selection list.
      10. Archive: This module shows a list of the calendar months which contain Archived items.
      11. Sections: The Section module shows a list of all Sections configured in your database.
      12. Related Items: This module displays other Content Items that are related to the Item currently displayed.
      13. Wrapper: This module will display an iFrame window in a specified location.
      14. Polls: This module compliments the Polls component. It is used to display the Polls.
      15. Who’s Online: The Who''s Online module displays the number of users that are currently accessing the web site.
      16. Random Image: This module displays a random image from a directory.
      17. Newsflash: The Newsflash module randomly selects one of the published items from a category upon each page refresh.
      18. Popular: This module shows a list of the currently published Items that have been viewed the most.
      19. Top Menu: This is the module that controls the menu on your site named “Top”.
      20. Search: This module will display a search box.{mospagebreak}
        \r\n
      21. \r\n
      \r\n\r\n\r\n

      A Quick Overview of Mambots

      \r\n\r\n\r\n

      As Mambots are a bit more technical, we ask that you refer to the\r\nHelp site to learn more about what these are and how you can extend the\r\nfunctionality of your site through the use of Mambots. You can find\r\nmore information here: http://help.mamboserver.com/index.php?option=com_content&task=view&id=92&Itemid=121

      \r\n\r\nHow Do I Install Additional Components, Modules or Mambots? \r\n

      Mambo users enjoy access to a wide variety of extensions for their\r\nsites. Many are free, others are commercial. All can be installed\r\neasily by anyone, without the need for programming skills. To learn\r\nmore about how to install these tools on your site, please visit our\r\nHelp site and read the following:
      \r\n http://help.mamboserver.com/index.php?option=com_content&task=view&id=149&Itemid=68
      \r\n

      \r\n\r\n\r\n

      Where Can I Find More Information?

      \r\n\r\n\r\n\r\n\r\n


      \r\n

      ', 1, 4, 0, 16, '2005-11-19 07:25:47', 62, '', '2005-12-21 22:07:24', 62, 0, '0000-00-00 00:00:00', '2005-11-19 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=1\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=', 11, 0, 2, '', '', 0, 23); +INSERT INTO `#__content` VALUES (21, 'How do I keep track of security advisories?', 'How do I keep track of security advisories?', 'Visit the Forums regularly and subscribe to the Mambo Security Announcements mailing list.
      ', '', 1, 3, 0, 18, '2005-11-22 02:08:13', 62, '', '2005-11-22 07:34:04', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 5, 0, 1, '', '', 0, 11); +INSERT INTO `#__content` VALUES (16, 'What is Static Content?', 'What is Static Content?', 'Static Content is simply a content item which is not part of a Section\r\nor a Category. Static Content cannot be added to a Blog, a Section or a\r\nCategory. Static Content is, in other words, an independent, stand alone\r\npage. Static Content pages can be created, edited and deleted in the\r\nStatic Content Manager. In the sample content you have installed with\r\nMambo, the Main Menu choice "The Mambo License" shows an example of a\r\nStatic Content page.', '', 1, 3, 0, 19, '2005-11-22 01:45:07', 62, '', '2005-11-22 07:41:22', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 11, 0, 5, '', '', 0, 10); +INSERT INTO `#__content` VALUES (17, 'Do I have to keep this sample content?', 'Do I have to keep this sample content?', 'No. This sample content appears because it was selected as an option\r\nduring the installation process. The information contained in the site\r\nis intended to assist new users in learning the system and to help them\r\nget started using Mambo immediately. We have inserted the content using\r\na variety of formats and options to help users get some idea of the\r\nchoices available to them. You may delete any of this content without\r\ncausing any problems to the site installation.
      ', '', 1, 3, 0, 19, '2005-11-22 01:53:08', 62, '', '2005-11-22 07:36:23', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 4, 0, 4, '', '', 0, 1); +INSERT INTO `#__content` VALUES (18, 'What''s the difference between a Section and a Category?', 'What''s the difference between a Section and a Category?', 'A Category is a subset of a Section. Content Items belong to\r\nCategories; Categories belong to Sections. The only exception to this\r\nhierarchy is Static Content, which exists outside of the Sections >\r\nCategories structure.
      ', '', 1, 3, 0, 19, '2005-11-22 01:55:35', 62, '', '2005-11-22 07:35:41', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 5, 0, 3, '', '', 0, 6); +INSERT INTO `#__content` VALUES (19, 'Why can''t I delete a Section / Category?', 'Why can''t I delete a Section / Category?', 'A Category must be empty of all Content Items before it can be deleted.\r\nA Section must be empty of all Categories before it can be deleted.\r\nRemember, in Mambo, when you delete an item, it moves to the Trash\r\nManager. To delete it permanently, you must go to the Trash Manager and\r\ndelete the items a second time; only then can you delete the related\r\nCategory / Section.
      ', '', 1, 3, 0, 19, '2005-11-22 01:58:30', 62, '', '2005-11-22 07:35:03', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 5, 0, 2, '', '', 0, 6); +INSERT INTO `#__content` VALUES (20, 'How do I secure my Mambo site?', 'How do I secure my Mambo site?', 'A simple question with a complex answer! It is complex because security\r\nissues arise from a variety of sources: your code, your server, the\r\nother things running on your server, the users, etc. While Mambo itself\r\nis relatively secure, you may still experience problems if the server\r\nis compromised or if a user gives up a password. The basic steps you\r\nshould take however include:
      \r\n
        \r\n
      • Do not unnecessarily leave directories open with CHMOD set at 777 (configuration.php in particular should be set to chmod 644)
      • \r\n
      • Delete your old installation directory (don''t just rename it!).
      • \r\n
      • Implement HTTP access controls for your admin login.
      • \r\n
      • Make all your admin passwords at least 8 characters and containing symbols and numbers as well as letters.
      • \r\n
      \r\nThere''s more that you can do, but it is outside the scope of this FAQ.
      ', '', 1, 3, 0, 18, '2005-11-22 02:06:51', 62, '', '2005-11-22 07:34:45', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 8, 0, 2, '', '', 0, 7); +INSERT INTO `#__content` VALUES (24, 'Can I change the format of the Home Page?', 'Can I change the format of the Home Page?', 'Yes, and it is very easy to do. The formatting of the Home Page -- the\r\nnumber of columns, the number of articles, etc. -- is controlled by the\r\nParameters tab found on the Main Menu Item "Home". GoTo:\r\nMENU>MAINMENU and select HOME. In the right column you will see the\r\nParameters...
      ', '', 1, 3, 0, 19, '2005-11-22 07:58:52', 62, '', '2005-11-22 08:00:27', 62, 0, '0000-00-00 00:00:00', '2005-11-22 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=1\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=\nauthor=0\ncreatedate=0\nmodifydate=0\npdf=0\nprint=0\nemail=\nkeyref=\ndocbook_type=', 2, 0, 1, '', '', 0, 1); +INSERT INTO `#__content` VALUES (14, 'Using Templates Effectively', 'Using Templates Effectively', '

      Your Mambo installation comes bundled with a default template and CSS. The template that displays when you first install the site is optimized for screen displays of 1024 x 768 and higher. In addition, we have included a second version of this template optimized for 800 x 600 displays.

      \r\n

      Mambo supports a number of options which allow you to change the display of the content on your site, enabling you to achieve a personalized look and feel without having to modify the template file.

      ', '

      The default installation with the sample data is designed to demonstrate a variety of different techniques for formatting information and displaying content. It is a virtual sampler of some of the different tools and techniques made possible by the Mambo system. We have included at the top of most pages ::Explanatory Text:: which helps you understand how that particular page, section or category was created.

      \r\n

      Since our goal is to show you ways to use the system, we have not optimized the settings for the most attractive appearance. Moreover, not every site will need the same options we have selected to show you in this sampler.

      \r\n

      As a means of extending the examples we have given, here are some changes you might want to consider to help make your site more attractive:\r\n

      \r\n
        \r\n
      • The "Top Menu" can be hidden (it''s a bit redundant at present,\r\ngiven the choices included and how close they are to the Main Menu)
      • \r\n
      • The "Latest News"and "Popular" modules can be hidden to give the Home Page a cleaner, simpler look.
      • \r\n
      • Experiment with the Parameters controlling the Front Page Component to change the number of articles, columns or links that appear on the Home Page.
      • \r\n
      • Vary the number and types of modules included in the left and right columns and make the selections relevant to the content of the pages on which they appear.
      • \r\n
      • If you use the 800 x 600 version of the template, you may not want to use the "Table - Content Category" or "Table - Content Section" layout options, as the center column becomes very crowded.\r\n
      • \r\n
      \r\n

      If you wish to change the company logo space ("Water & Stone" -\r\nat the top of the template), it is very simple. The present header is an image. The easiest way to replace it is to overwrite the image file via FTP or by using the Media Manager (that is, upload a new file with the same name). If you do not wish to use an image for the company logo, then you will need to edit the template file directly. Changing the image at the top of the template (the wide picture) can be achieved in the same manner.

      \r\n\r\n

      If you wish to change the colors of the template you will have to be able to use an image editing program to create new background images (which are tiled to give many of the effects on this template). Changing fonts and font colors is easier as they are all controlled by the CSS.

      \r\n

      Note that the template files and the CSS include numerous comment tags that are intended to help make modifying the files faster and easier. The best way to learn how to create or edit Mambo templates is to open one up and experiment. Make copies of the original before you start and you won''t have any serious problems.

      \r\n

      Good Luck and Welcome to Mambo!

      ', 1, 4, 0, 16, '2005-11-19 07:34:35', 62, '', '2005-11-29 21:46:55', 62, 0, '0000-00-00 00:00:00', '2005-11-19 00:00:00', '0000-00-00 00:00:00', '', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=1\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=', 6, 0, 3, '', '', 0, 0); +INSERT INTO `#__content` VALUES (15, 'Welcome to Mambo!', 'Welcome to Mambo!', '

      {mosimage}Thank you for choosing Mambo. You have completed successfully the\r\ninstallation of the Mambo files and are now viewing part of the sample\r\ncontent that is included in the default Mambo installation. You can\r\ndelete all of this information and replace it with your own contents\r\nvery easily. However, before you do that, we recommend that you review\r\nthese sample files, as they contain some information you might find to\r\nbe helpful.

      \r\n\r\n

      Included in the sample content you will find:

      \r\n
        \r\n
      • An overview of Mambo (this content item)
      • \r\n
      • An introduction to Components & Modules
      • \r\n
      • A summary of the templates that are included in this release, and
      • \r\n
      • Information about Mambo’s Licensing Terms (GPL)
      • \r\n
      ', '

      It is quite literally true to say that Mambo is an Open Source\r\nsuccess story. The original program was developed by the Australian\r\nsoftware company Miro,\r\nwho released the code to the Open Source community under the terms of\r\nthe GNU GPL in March of 2001. Until August of 2005, the development of\r\nMambo was controlled by a loosely organized community of volunteers.\r\nDuring the course of development, Mambo grew in complexity and ability\r\nand won a number of awards together with a wide following of loyal\r\nusers. Version 4.5.2 of Mambo was downloaded 1.8 million times!

      \r\n

      In August 2005, the Mambo Foundation\r\nwas formed, signaling a new era for the system. The Foundation is a\r\nnon-profit corporation whose sole purpose is the growth and development\r\nof Mambo. The Foundation is run by the members of the community.\r\nMembership in the Foundation is open to all and entitles members to\r\nelect their representatives on the Board of Directors and to\r\nparticipate more fully in matters affecting the development of the\r\nproject.

      \r\n

      Non-profit structures like the Mambo Foundation have been used successfully by GNOME, Eclipse, Mozilla\r\nand many other Open Source projects. The non-profit corporate structure\r\nis popular, at least part, because it adds a level of stability and\r\naccountability absent in ad hoc community driven projects. The\r\nexistence of the Mambo Foundation means that users of Mambo can be\r\nassured that the code will remain Open Source, will remain backed by a\r\ntransparent and accountable organization, and will have the ongoing\r\nsupport and promotion that gives developers and business users the\r\nconfidence to choose Mambo over other systems.

      \r\n

      If you would like to become involved in the development of Mambo and\r\nbe a part of the dynamic Mambo community, please contact us at membership@mambo-foundation.org
      \r\n

      ', 1, 4, 0, 16, '2005-11-19 07:52:18', 62, '', '2005-11-22 07:01:22', 62, 0, '0000-00-00 00:00:00', '2005-11-19 00:00:00', '0000-00-00 00:00:00', 'asterisk.png|left|Mambo Logo|0||bottom||', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=1\nauthor=\ncreatedate=\nmodifydate=\npdf=\nprint=\nemail=\nkeyref=\ndocbook_type=', 11, 0, 1, '', '', 0, 8); + +# +# Dumping data for table `#__content_frontpage` +# + +INSERT INTO `#__content_frontpage` VALUES (2, 4); +INSERT INTO `#__content_frontpage` VALUES (3, 5); +INSERT INTO `#__content_frontpage` VALUES (4, 6); +INSERT INTO `#__content_frontpage` VALUES (5, 7); +INSERT INTO `#__content_frontpage` VALUES (13, 3); +INSERT INTO `#__content_frontpage` VALUES (14, 2); +INSERT INTO `#__content_frontpage` VALUES (15, 1); + +# +# Dumping data for table `#__menu` +# + +INSERT INTO `#__menu` VALUES (3, 'mainmenu', 'Contact Us', 'index.php?option=com_contact', 'components', 1, 0, 7, 0, 12, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (5, 'mainmenu', 'Advanced Search', 'index.php?option=com_search', 'components', 1, 0, 16, 0, 11, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=\npageclass_sfx=\nback_button=\npage_title=1\nheader='); +INSERT INTO `#__menu` VALUES (8, 'mainmenu', 'Wrapper', 'index.php?option=com_wrapper', 'wrapper', 1, 0, 0, 0, 9, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\npageclass_sfx=\nback_button=\npage_title=1\nheader=This uses a wrapper to include an HTML page from another domain.\nscrolling=auto\nwidth=100%\nheight=600\nheight_auto=1\nadd=1\nurl=www.dmoz.org'); +INSERT INTO `#__menu` VALUES (9, 'mainmenu', 'Blog', 'index.php?option=com_content&task=blogsection&id=0', 'content_blog_section', 1, 0, 0, 0, 7, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1\npageclass_sfx=\nback_button=\nheader=Blog - Content Section Layout\npage_title=1\nleading=0\nintro=5\ncolumns=1\nlink=5\norderby_pri=\norderby_sec=\npagination=2\npagination_results=1\nimage=0\ndescription=0\ndescription_image=0\ncategory=0\ncategory_link=0\nitem_title=1\nlink_titles=\nreadmore=1\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=0\nprint=0\nemail=0\nsectionid='); +INSERT INTO `#__menu` VALUES (36, 'othermenu', 'Mambo Foundation', 'http://mambo-foundation.org', 'url', 1, 0, 0, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (37, 'othermenu', 'Mambo Forums', 'http://forum.mambo-foundation.org', 'url', 1, 0, 0, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (38, 'othermenu', 'Mambo Docs Site', 'http://docs.mambo-foundation.org', 'url', 1, 0, 0, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (10, 'othermenu', 'The Source', 'http://source.mambo-foundation.org', 'url', 1, 0, 0, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (11, 'othermenu', 'Administrator', 'administrator/', 'url', 1, 0, 0, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, 'menu_image=-1'); +INSERT INTO `#__menu` VALUES (12, 'othermenu', 'MamboXchange', 'http://mamboxchange.com', 'url', 1, 0, 0, 0, 6, 0, '0000-00-00 00:00:00', 0, 0, 0, 3, ''); +INSERT INTO `#__menu` VALUES (21, 'usermenu', 'Your Details', 'index.php?option=com_user&task=UserDetails', 'url', 1, 0, 0, 0, 1, 0, '2000-00-00 00:00:00', 0, 0, 1, 3, ''); +INSERT INTO `#__menu` VALUES (13, 'usermenu', 'Submit FAQ', 'index.php?option=com_content&task=new§ionid=3', 'url', 1, 0, 0, 0, 2, 0, '2000-00-00 00:00:00', 0, 0, 1, 2, ''); +INSERT INTO `#__menu` VALUES (15, 'usermenu', 'Check-In My Items', 'index.php?option=com_user&task=CheckIn', 'url', 1, 0, 0, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 1, 2, ''); +INSERT INTO `#__menu` VALUES (16, 'usermenu', 'Logout', 'index.php?option=com_login', 'components', 1, 0, 15, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 1, 3, ''); +INSERT INTO `#__menu` VALUES (32, 'mainmenu', 'FAQs', 'index.php?option=com_content&task=section&id=3', 'content_section', 1, 0, 3, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\nother_cat_section=1\ndescription=1\ndescription_image=0\nother_cat=0\nempty_cat=0\ncat_items=1\ncat_description=0\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title'); +INSERT INTO `#__menu` VALUES (26, 'mainmenu', 'The Mambo License', 'index.php?option=com_content&task=view&id=5', 'content_typed', 1, 0, 5, 0, 6, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1'); +INSERT INTO `#__menu` VALUES (27, 'mainmenu', 'Getting Started', 'index.php?option=com_content&task=category§ionid=4&id=16', 'content_category', 1, 0, 16, 0, 4, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title\nother_cat=1\nempty_cat=0\ncat_items=1\ncat_description=1'); +INSERT INTO `#__menu` VALUES (28, 'topmenu', 'Home', 'index.php?option=com_frontpage', 'components', 1, 0, 10, 0, 8, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npageclass_sfx=\nheader=\npage_title=1\nback_button=\nleading=1\nintro=2\ncolumns=2\nlink=3\norderby_pri=\norderby_sec=front\npagination=2\npagination_results=1\nimage=1\nsection=0\nsection_link=0\ncategory=0\ncategory_link=0\nitem_title=1\nlink_titles=\nreadmore=\nrating=\nauthor=\ncreatedate=\nmodifydate=\npdf=0\nprint=0\nemail=0'); +INSERT INTO `#__menu` VALUES (30, 'topmenu', 'Contact Us', 'index.php?option=com_contact&task=view&contact_id=1', 'contact_item_link', 1, 0, 1, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npageclass_sfx=\npage_title=1\nheader='); +INSERT INTO `#__menu` VALUES (33, 'mainmenu', 'Mambo and Security', 'index.php?option=com_content&task=category§ionid=3&id=18', 'content_category', 1, 32, 18, 0, 1, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title\nother_cat=0\nempty_cat=0\ncat_items=1\ncat_description=0'); +INSERT INTO `#__menu` VALUES (34, 'mainmenu', 'Managing Content', 'index.php?option=com_content&task=category§ionid=3&id=19', 'content_category', 1, 32, 19, 0, 2, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title\nother_cat=0\nempty_cat=0\ncat_items=1\ncat_description=0'); +INSERT INTO `#__menu` VALUES (35, 'mainmenu', 'Managing Users', 'index.php?option=com_content&task=category§ionid=3&id=17', 'content_category', 1, 32, 17, 0, 3, 0, '0000-00-00 00:00:00', 0, 0, 0, 0, 'menu_image=-1\npage_title=0\npageclass_sfx=\nback_button=\norderby=\ndate_format=\ndate=\nauthor=\nhits=\nheadings=1\nnavigation=0\norder_select=1\ndisplay=1\ndisplay_num=50\nfilter=1\nfilter_type=title\nother_cat=0\nempty_cat=0\ncat_items=1\ncat_description=0'); + +# +# Dumping data for table `#__sections` +# + +INSERT INTO `#__sections` VALUES (2, 'Newsflashes', 'Newsflashes', '', 'content', 'left', ':: Explanatory Note -- This Section and its Category are not linked\r\nto any menu and therefore are directly viewable on the front end of the\r\nwebsite. Rather the Content Items contained inside this Section &\r\nits Category are only used to feed items into the NewFlash Module. See also, MODULES>SITE MODULES>NEWSFLASH  ::
      \r\n', 1, 0, '0000-00-00 00:00:00', 2, 0, 3, ''); +INSERT INTO `#__sections` VALUES (3, 'FAQs', 'Frequently Asked Questions', 'pastarchives.jpg', 'content', 'left', 'Frequently Asked Questions (FAQs)\r\n

      ::Explanatory Notes - The Main Menu link "FAQs" is set to display\r\n"Table - Content Section". The list below is a list of the Categories\r\ninside the Section named "FAQs". Inside each Category are Content Items. ::

      ', 1, 0, '0000-00-00 00:00:00', 3, 0, 52, ''); +INSERT INTO `#__sections` VALUES (4, 'Getting Started', 'Getting Started', '', 'content', 'left', '
      \r\n', 1, 0, '0000-00-00 00:00:00', 1, 0, 12, ''); diff -ruN 4.6rc2/uploadfiles/installation/sql/upgrade4014to45.sql 4.6-complete/uploadfiles/installation/sql/upgrade4014to45.sql --- 4.6rc2/uploadfiles/installation/sql/upgrade4014to45.sql 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/sql/upgrade4014to45.sql 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,1294 @@ +# $Id: upgrade4014to45.sql,v 1.1 2006/08/24 Chanh Ong Exp $ +# Fix to run in mysql 5 and remove duplicate - Chanh Ong +# First rename all existing tables + +ALTER TABLE `mos_categories` RENAME `old_categories`; +#ALTER TABLE `mos_articles` RENAME `old_articles`; +ALTER TABLE `mos_stories` RENAME `old_stories`; +ALTER TABLE `mos_banner` RENAME `old_banner`; +ALTER TABLE `mos_bannerclient` RENAME `old_bannerclient`; +ALTER TABLE `mos_bannerfinish` RENAME `old_bannerfinish`; +ALTER TABLE `mos_component_module` RENAME `old_component_module`; +ALTER TABLE `mos_components` RENAME `old_components`; +ALTER TABLE `mos_contact_details` RENAME `old_contact_details`; +ALTER TABLE `mos_counter` RENAME `old_counter`; +ALTER TABLE `mos_faqcont` RENAME `old_faqcont`; +ALTER TABLE `mos_groups` RENAME `old_groups`; +ALTER TABLE `mos_links` RENAME `old_links`; +ALTER TABLE `mos_mambo_modules` RENAME `old_mambo_modules`; +ALTER TABLE `mos_menu` RENAME `old_menu`; +ALTER TABLE `mos_menucontent` RENAME `old_menucontent`; +ALTER TABLE `mos_newsfeedscategory` RENAME `old_newsfeedcategory`; +ALTER TABLE `mos_newsfeedslinks` RENAME `old_newsfeedlinks`; +ALTER TABLE `mos_newsflash` RENAME `old_newsflash`; +ALTER TABLE `mos_poll_data` RENAME `old_poll_data`; +ALTER TABLE `mos_poll_date` RENAME `old_poll_date`; +ALTER TABLE `mos_poll_desc` RENAME `old_poll_desc`; +ALTER TABLE `mos_poll_menu` RENAME `old_poll_menu`; +ALTER TABLE `mos_queue` RENAME `old_queue`; +ALTER TABLE `mos_session` RENAME `old_session`; +ALTER TABLE `mos_system` RENAME `old_system`; +ALTER TABLE `mos_users` RENAME `old_users`; + +# Then create MOS 4.5 database + +# +# Table structure for table `mos_banner` +# + +CREATE TABLE `mos_banner` ( + `bid` int(11) NOT NULL auto_increment, + `cid` int(11) NOT NULL default 0, + `type` varchar(10) NOT NULL default 'banner', + `name` varchar(50) NOT NULL default '', + `imptotal` int(11) NOT NULL default 0, + `impmade` int(11) NOT NULL default 0, + `clicks` int(11) NOT NULL default 0, + `imageurl` varchar(100) NOT NULL default '', + `clickurl` varchar(200) NOT NULL default '', + `date` datetime default NULL, + `showBanner` tinyint(1) NOT NULL default 0, + `checked_out` tinyint(1) NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `editor` varchar(50) default NULL, + `custombannercode` text, + PRIMARY KEY (`bid`), + KEY `viewbanner` (`showBanner`) +) TYPE=MyISAM AUTO_INCREMENT=1 ; + +# +# Dumping data for table `mos_banner` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_bannerclient` +# + +CREATE TABLE `mos_bannerclient` ( + `cid` int(11) NOT NULL auto_increment, + `name` varchar(60) NOT NULL default '', + `contact` varchar(60) NOT NULL default '', + `email` varchar(60) NOT NULL default '', + `extrainfo` text NOT NULL, + `checked_out` tinyint(1) NOT NULL default 0, + `checked_out_time` time default NULL, + `editor` varchar(50) default NULL, + PRIMARY KEY (`cid`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_bannerclient` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_bannerfinish` +# + +CREATE TABLE `mos_bannerfinish` ( + `bid` int(11) NOT NULL auto_increment, + `cid` int(11) NOT NULL default 0, + `type` varchar(10) NOT NULL default '', + `name` varchar(50) NOT NULL default '', + `impressions` int(11) NOT NULL default 0, + `clicks` int(11) NOT NULL default 0, + `imageurl` varchar(50) NOT NULL default '', + `datestart` datetime default NULL, + `dateend` datetime default NULL, + PRIMARY KEY (`bid`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_bannerfinish` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_categories` +# + +CREATE TABLE `mos_categories` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(50) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `image` varchar(100) NOT NULL default '', + `section` varchar(20) NOT NULL default '', + `image_position` varchar(10) NOT NULL default '', + `description` text NOT NULL, + `published` tinyint(1) NOT NULL default 0, + `checked_out` int(11) unsigned NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `editor` varchar(50) default NULL, + `ordering` int(11) NOT NULL default 0, + `access` tinyint(3) unsigned NOT NULL default 0, + `count` int(11) NOT NULL default 0, + PRIMARY KEY (`id`), + KEY `cat_idx` (`section`,`published`,`access`), + KEY `idx_section` (`section`), + KEY `idx_access` (`access`), + KEY `idx_checkout` (`checked_out`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_categories` +# + +INSERT INTO `mos_categories` VALUES (1, 'Latest', 'Latest News', 'pastarchives.jpg', '1', 'left', 'The latest news from the Mambo Team', 1, 0, '0000-00-00 00:00:00', '', 0, 0, 1); +INSERT INTO `mos_categories` VALUES (2, 'MOS', 'Mambo', 'asterisk.png', 'com_weblinks', 'left', 'A selection of links that are all related to the Mambo project.', 1, 0, '0000-00-00 00:00:00', NULL, 0, 0, 0); +INSERT INTO `mos_categories` VALUES (3, 'Administrator', 'Administrator', '', 'help', 'left', 'MOS Administrator Help', 1, 0, '0000-00-00 00:00:00', NULL, 1, 0, 0); +INSERT INTO `mos_categories` VALUES (4, 'Templates', 'Templates', '', 'help', 'left', 'MOS Templates Help and Tutorials', 1, 0, '0000-00-00 00:00:00', NULL, 3, 0, 0); +INSERT INTO `mos_categories` VALUES (5, 'Developers', 'Developers', '', 'help', 'left', 'MOS Developers\' API', 1, 0, '0000-00-00 00:00:00', NULL, 4, 0, 0); +INSERT INTO `mos_categories` VALUES (6, 'Components', 'Components', '', 'help', 'left', 'Components Help', 1, 0, '0000-00-00 00:00:00', NULL, 2, 0, 0); +# -------------------------------------------------------- + +# +# Table structure for table `mos_components` +# + +CREATE TABLE `mos_components` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(50) NOT NULL default '', + `link` varchar(255) NOT NULL default '', + `menuid` int(11) unsigned NOT NULL default 0, + `parent` int(11) unsigned NOT NULL default 0, + `admin_menu_link` varchar(255) NOT NULL default '', + `admin_menu_alt` varchar(255) NOT NULL default '', + `option` varchar(50) NOT NULL default '', + `ordering` int(11) unsigned NOT NULL default 0, + `admin_menu_img` varchar(255) NOT NULL default '', + `iscore` tinyint(4) NOT NULL default 0, + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_components` +# + +INSERT INTO `mos_components` VALUES (1, 'Banners', '', 0, 0, '', 'Banner Management', 'com_banners', 0, 'js/ThemeOffice/component.png', 1); +INSERT INTO `mos_components` VALUES (2, 'Manage Banners', '', 0, 1, 'option=com_banners', 'Active Banners', 'com_banners', 1, 'js/ThemeOffice/edit.png', 1); +INSERT INTO `mos_components` VALUES (3, 'Manage Clients', '', 0, 1, 'option=com_banners&task=listclients', 'Manage Clients', 'com_banners', 2, 'js/ThemeOffice/categories.png', 1); +INSERT INTO `mos_components` VALUES (4, 'Web Links', 'option=com_weblinks', 0, 0, '', 'Manage Weblinks', 'com_weblinks', 0, 'js/ThemeOffice/component.png', 1); +INSERT INTO `mos_components` VALUES (5, 'Newsflash', '', 0, 0, 'option=com_newsflash', 'Manage newsflashes', 'com_newsflash', 0, 'js/ThemeOffice/component.png', 1); +INSERT INTO `mos_components` VALUES (6, 'Contact', 'option=com_contact', 0, 0, 'option=com_contact', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/component.png', 1); +INSERT INTO `mos_components` VALUES (7, 'Weblink Items', '', 0, 4, 'option=com_weblinks', 'View existing weblinks', 'com_weblinks', 1, 'js/ThemeOffice/edit.png', 1); +INSERT INTO `mos_components` VALUES (8, 'Weblink Categories', '', 0, 4, 'option=com_categories§ion=com_weblinks', 'Manage weblink categories', '', 2, 'js/ThemeOffice/categories.png', 1); +INSERT INTO `mos_components` VALUES (9, 'FrontPage', 'option=com_frontpage', 0, 0, '', 'Manage Front Page Items', 'com_frontpage', 0, 'js/ThemeOffice/component.png', 1); +INSERT INTO `mos_components` VALUES (10, 'Manage Items', '', 0, 9, 'option=com_frontpage', 'Manage FrontPage Items', 'com_frontpage', 1, 'js/ThemeOffice/edit.png', 1); +INSERT INTO `mos_components` VALUES (11, 'Settings', '', 0, 9, 'option=com_frontpage&act=settings', 'FrontPage Settings', 'com_frontpage', 2, 'js/ThemeOffice/config.png', 1); +INSERT INTO `mos_components` VALUES (12, 'Polls', 'option=com_poll', 0, 0, 'option=com_poll', 'Manage Polls', 'com_poll', 0, 'js/ThemeOffice/component.png', 1); +INSERT INTO `mos_components` VALUES (13, 'News Feeds', '', 0, 0, '', 'News Feeds Management', 'com_newsfeeds', 0, 'js/ThemeOffice/component.png', 1); +INSERT INTO `mos_components` VALUES (14, 'Manage News Feeds', '', 0, 13, 'option=com_newsfeeds', 'Manage News Feeds', 'com_newsfeeds', 1, 'js/ThemeOffice/edit.png', 1); +INSERT INTO `mos_components` VALUES (15, 'Manage Categories', '', 0, 13, 'option=com_categories§ion=com_newsfeeds', 'Manage Categories', '', 2, 'js/ThemeOffice/categories.png', 1); +INSERT INTO `mos_components` VALUES (16, 'Newsfeeds (Component)', 'option=com_newsfeeds', '', '', '','', '', '', '', ''); +INSERT INTO `mos_components` VALUES (17, 'Media Manager', '', 0, 0, 'option=com_media', 'Media Manager', 'com_media', 0, 'js/ThemeOffice/media.png', 1); +INSERT INTO `mos_components` VALUES (18, 'Login', 'option=com_login', 0, 0, '', '', 'com_login', 0, '', 1); +# -------------------------------------------------------- + +# +# Table structure for table `mos_contact_details` +# + +CREATE TABLE `mos_contact_details` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `con_position` varchar(50) default NULL, + `address` text, + `suburb` varchar(50) default NULL, + `state` varchar(20) default NULL, + `country` varchar(50) default NULL, + `postcode` varchar(10) default NULL, + `telephone` varchar(25) default NULL, + `fax` varchar(25) default NULL, + `misc` mediumtext, + `image` varchar(100) default NULL, + `imagepos` varchar(20) default NULL, + `email_to` varchar(100) default NULL, + `default_con` tinyint(1) unsigned NOT NULL default 0, + `published` tinyint(1) unsigned NOT NULL default 0, + `checked_out` int(11) unsigned NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default 0, + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_contact_details` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_content` +# + +CREATE TABLE `mos_content` ( + `id` int(11) unsigned NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `title_alias` varchar(100) NOT NULL default '', + `introtext` mediumtext NOT NULL, + `fulltext` mediumtext NOT NULL, + `state` tinyint(3) NOT NULL default 0, + `sectionid` int(11) unsigned NOT NULL default 0, + `mask` int(11) unsigned NOT NULL default 0, + `catid` int(11) unsigned NOT NULL default 0, + `created` datetime NOT NULL default '0000-00-00 00:00:00', + `created_by` int(11) unsigned NOT NULL default 0, + `created_by_alias` varchar(100) NOT NULL default '', + `modified` datetime NOT NULL default '0000-00-00 00:00:00', + `modified_by` int(11) unsigned NOT NULL default 0, + `checked_out` int(11) unsigned NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_down` datetime NOT NULL default '0000-00-00 00:00:00', + `images` text NOT NULL, + `urls` text NOT NULL, + `attribs` text NOT NULL, + `version` int(11) unsigned NOT NULL default '1', + `parentid` int(11) unsigned NOT NULL default 0, + `ordering` float unsigned NOT NULL default 0, + `metakey` text NOT NULL, + `metadesc` text NOT NULL, + `access` int(11) unsigned NOT NULL default 0, + `hits` int(11) unsigned NOT NULL default 0, + PRIMARY KEY (`id`), + KEY `idx_section` (`sectionid`), + KEY `idx_access` (`access`), + KEY `idx_checkout` (`checked_out`), + KEY `idx_state` (`state`), + KEY `idx_catid` (`catid`), + KEY `idx_mask` (`mask`) +) TYPE=MyISAM; + + +# +# Table structure for table `mos_content_frontpage` +# + +CREATE TABLE `mos_content_frontpage` ( + `content_id` int(11) NOT NULL default 0, + `ordering` int(11) unsigned NOT NULL default 0, + PRIMARY KEY (`content_id`) +) TYPE=MyISAM; + + +# +# Table structure for table `mos_content_rating` +# +CREATE TABLE `mos_content_rating` ( + `content_id` int(11) NOT NULL default 0, + `rating_sum` int(11) unsigned NOT NULL default 0, + `rating_count` int(11) unsigned NOT NULL default 0, + `lastip` varchar(50) NOT NULL default '', + PRIMARY KEY (`content_id`) +) TYPE=MyISAM; + +# -------------------------------------------------------- + +# Table structure for table `mos_core_log_items` +# +# To be implemented in Version 4.6 + +CREATE TABLE `mos_core_log_items` ( + `time_stamp` date NOT NULL default '0000-00-00', + `item_table` varchar(50) NOT NULL default '', + `item_id` int(11) unsigned NOT NULL default 0, + `hits` int(11) unsigned NOT NULL default 0 +) TYPE=MyISAM; + +# -------------------------------------------------------- + +# +# Table structure for table `mos_core_log_searches` +# +# To be implemented in Version 4.6 + +CREATE TABLE `mos_core_log_searches` ( + `search_term` varchar(128) NOT NULL default '', + `hits` int(11) unsigned NOT NULL default 0 +) TYPE=MyISAM; + +# -------------------------------------------------------- + +# +# Table structure for table `mos_groups` +# + +CREATE TABLE `mos_groups` ( + `id` tinyint(3) unsigned NOT NULL default 0, + `name` varchar(50) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_groups` +# + +INSERT INTO `mos_groups` VALUES (0, 'Public'); +INSERT INTO `mos_groups` VALUES (1, 'Registered'); +INSERT INTO `mos_groups` VALUES (2, 'Special'); +# -------------------------------------------------------- + +# +# Table structure for table `mos_help` +# + +CREATE TABLE `mos_help` ( + `id` int(11) NOT NULL auto_increment, + `lang` char(3) NOT NULL default 'eng', + `context` varchar(40) NOT NULL default '', + `name` varchar(40) NOT NULL default '', + `title` varchar(100) NOT NULL default '', + `parent` int(11) NOT NULL default 0, + `ordering` int(11) NOT NULL default 0, + `helptext` text NOT NULL, + `catid` int(11) unsigned NOT NULL default 0, + `checked_out` int(11) unsigned NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `id` (`id`), + UNIQUE KEY `IdLangIdx` (`id`,`lang`), + KEY `id_2` (`id`), + FULLTEXT KEY `HeltextIdx` (`helptext`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_help` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_menu` +# + +CREATE TABLE `mos_menu` ( + `id` int(11) NOT NULL auto_increment, + `menutype` varchar(25) default NULL, + `name` varchar(100) default NULL, + `link` text, + `type` varchar(50) NOT NULL default '', + `published` tinyint(1) NOT NULL default 0, + `parent` int(11) unsigned NOT NULL default 0, + `componentid` int(11) unsigned NOT NULL default 0, + `sublevel` int(11) default 0, + `ordering` int(11) default 0, + `checked_out` int(11) unsigned NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `pollid` int(11) NOT NULL default 0, + `browserNav` tinyint(4) default 0, + `access` tinyint(3) unsigned NOT NULL default 0, + `utaccess` tinyint(3) unsigned NOT NULL default 0, + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `componentid` (`componentid`,`menutype`,`published`,`access`), + KEY `menutype` (`menutype`) +) TYPE=MyISAM; + + +# +# Dumping data for table `mos_messages` +# + +CREATE TABLE `mos_messages` ( + `message_id` int(10) unsigned NOT NULL auto_increment, + `user_id_from` int(10) unsigned NOT NULL default 0, + `user_id_to` int(10) unsigned NOT NULL default 0, + `folder_id` int(10) unsigned NOT NULL default 0, + `date_time` datetime NOT NULL default '0000-00-00 00:00:00', + `state` int(11) NOT NULL default 0, + `priority` int(1) unsigned NOT NULL default 0, + `subject` varchar(230) NOT NULL default '', + `message` text NOT NULL, + PRIMARY KEY (`message_id`) +) TYPE=MyISAM; +# -------------------------------------------------------- + +# +# Dumping data for table `mos_messages_cfg` +# + +CREATE TABLE `mos_messages_cfg` ( + `user_id` int(10) unsigned NOT NULL default 0, + `cfg_name` varchar(100) NOT NULL default '', + `cfg_value` varchar(255) NOT NULL default '', + UNIQUE `idx_user_var_name` (`user_id`,`cfg_name`) +) TYPE=MyISAM; +# -------------------------------------------------------- + +# +# Table structure for table `mos_modules` +# + +CREATE TABLE `mos_modules` ( + `id` int(11) NOT NULL auto_increment, + `title` text NOT NULL, + `content` text NOT NULL, + `ordering` tinyint(4) NOT NULL default 0, + `position` varchar(10) default NULL, + `checked_out` int(11) unsigned NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default 0, + `module` varchar(50) default NULL, + `numnews` int(11) NOT NULL default 0, + `access` tinyint(3) unsigned NOT NULL default 0, + `showtitle` tinyint(3) unsigned NOT NULL default '1', + `params` text NOT NULL, + `iscore` tinyint(4) NOT NULL default 0, + PRIMARY KEY (`id`), + KEY `published` (`published`,`access`), + KEY `newsfeeds` (`module`,`published`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_modules` +# + +INSERT INTO `mos_modules` VALUES (1, 'Polls', '', 1, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_poll', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (2, 'User Menu', '', 2, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 1, 1, 'menutype=usermenu', 1); +INSERT INTO `mos_modules` VALUES (3, 'Main Menu', '', 1, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_mainmenu', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (4, 'Login Form', '', 3, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_login', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (5, 'Syndicate', '', 2, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_rssfeed', 0, 0, 0, '', 1); +INSERT INTO `mos_modules` VALUES (6, 'Browser Prefs', '', 3, 'right', 0, '0000-00-00 00:00:00', 0, 'mod_browser_prefs', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (7, 'Hit Counter', '', 1, 'user2', 0, '0000-00-00 00:00:00', 1, 'mod_counter', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (8, 'Latest News', '', 4, 'right', 0, '0000-00-00 00:00:00', 0, 'mod_latestnews', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (9, 'Newsfeeds', '', 5, 'right', 0, '0000-00-00 00:00:00', 0, 'mod_newsfeeds', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (10, 'Online Users', '', 5, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_online', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (11, 'Statistics', '', 4, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_stats', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (12, 'Who\'s Online', '', 1, 'user1', 0, '0000-00-00 00:00:00', 1, 'mod_whosonline', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (13, 'Most Read', '', 6, 'right', 0, '0000-00-00 00:00:00', 0, 'mod_mostread', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (14, 'Template Chooser','',6,'left',0,'0000-00-00 00:00:00',0,'mod_templatechooser', 0, 0, 1, 'show_preview=1', 1); +INSERT INTO `mos_modules` VALUES (15, 'Archive', '', 7, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_archive', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (16, 'Sections', '', 8, 'left', 0, '0000-00-00 00:00:00', 0, 'mod_sections', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (17, 'Newsflash', '', 1, 'top', 0, '0000-00-00 00:00:00', 1, 'mod_newsflash', 0, 0, 1, '', 1); +INSERT INTO `mos_modules` VALUES (18, 'Related Items', '', 9, 'left', 0, '0000-00-00 00:00:00', 1, 'mod_related_items', 0, 0, 1, '', 1); + +# -------------------------------------------------------- + +# +# Table structure for table `mos_modules_menu` +# + +CREATE TABLE `mos_modules_menu` ( + `moduleid` int(11) NOT NULL default 0, + `menuid` int(11) NOT NULL default 0, + PRIMARY KEY (`moduleid`,`menuid`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_modules_menu` +# + +INSERT INTO `mos_modules_menu` VALUES (1, 1); +INSERT INTO `mos_modules_menu` VALUES (2, 0); +INSERT INTO `mos_modules_menu` VALUES (3, 0); +INSERT INTO `mos_modules_menu` VALUES (4, 0); +INSERT INTO `mos_modules_menu` VALUES (5, 1); +INSERT INTO `mos_modules_menu` VALUES (6, 0); +INSERT INTO `mos_modules_menu` VALUES (7, 0); +INSERT INTO `mos_modules_menu` VALUES (8, 0); +INSERT INTO `mos_modules_menu` VALUES (9, 0); +INSERT INTO `mos_modules_menu` VALUES (10, 0); +INSERT INTO `mos_modules_menu` VALUES (11, 0); +INSERT INTO `mos_modules_menu` VALUES (12, 0); +INSERT INTO `mos_modules_menu` VALUES (13, 0); +INSERT INTO `mos_modules_menu` VALUES (14, 0); +INSERT INTO `mos_modules_menu` VALUES (16, 1); +INSERT INTO `mos_modules_menu` VALUES (17, 0); +# -------------------------------------------------------- + +# +# Table structure for table `mos_newsfeeds` +# + +CREATE TABLE `mos_newsfeeds` ( + `catid` int(11) NOT NULL default 0, + `id` int(11) NOT NULL auto_increment, + `name` text NOT NULL, + `link` text NOT NULL, + `filename` varchar(200) default NULL, + `published` tinyint(1) NOT NULL default 0, + `numarticles` int(11) unsigned NOT NULL default '1', + `cache_time` int(11) unsigned NOT NULL default '3600', + `checked_out` tinyint(3) unsigned NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) unsigned NOT NULL default 0, + PRIMARY KEY (`id`), + KEY `published` (`published`) +) TYPE=MyISAM; + +# -------------------------------------------------------- + +# +# Table structure for table `mos_newsfeedscache` +# + +CREATE TABLE `mos_newsfeedscache` ( + `time` varchar(14) default NULL, + `cachefile` varchar(50) NOT NULL default '', + `filedata` text NOT NULL +) TYPE=MyISAM; + +# +# Dumping data for table `mos_newsfeedscache` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_newsflash` +# + +CREATE TABLE `mos_newsflash` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(50) NOT NULL default '', + `content` text NOT NULL, + `published` tinyint(1) NOT NULL default 0, + `checked_out` int(11) NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `catid` int(11) unsigned NOT NULL default 0, + `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_down` datetime NOT NULL default '0000-00-00 00:00:00', + `access` int(11) unsigned NOT NULL default 0, + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_newsflash` +# + +INSERT INTO `mos_newsflash` VALUES (1, 'Newsflash 1', 'Mambo 4.5 is \'Power In Simplicity\'!. It has never been easier to create your own dynamic site. Manage all your content from the best CMS admin interface.', 1, 0, '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0); +INSERT INTO `mos_newsflash` VALUES (2, 'Newsflash 2', 'Yesterday all servers in the U.S. went out on strike in a bid to get more RAM and better CPUs. A spokes person said that the need for better RAM was due to some fool increasing the front-side bus speed. In future, busses will be told to slow down in residential motherboards.', 1, 0, '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0); +INSERT INTO `mos_newsflash` VALUES (3, 'Newsflash 3', 'Aoccdrnig to a rscheearch at an Elingsh uinervtisy, it deosn\'t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht frist and lsat ltteer is at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae we do not raed ervey lteter by itslef but the wrod as a wlohe.', 1, 0, '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0); +# -------------------------------------------------------- + +# +# Table structure for table `mos_poll_data` +# + +CREATE TABLE `mos_poll_data` ( + `id` int(11) NOT NULL auto_increment, + `pollid` int(4) NOT NULL default 0, + `text` text NOT NULL default '', + `hits` int(11) NOT NULL default 0, + PRIMARY KEY (`id`), + KEY `pollid` (`pollid`,`text`(1)) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_poll_data` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_poll_date` +# + +CREATE TABLE `mos_poll_date` ( + `id` bigint(20) NOT NULL auto_increment, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `vote_id` int(11) NOT NULL default 0, + `poll_id` int(11) NOT NULL default 0, + PRIMARY KEY (`id`), + KEY `poll_id` (`poll_id`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_poll_date` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_polls` +# + +CREATE TABLE `mos_polls` ( + `id` int(11) unsigned NOT NULL auto_increment, + `title` varchar(100) NOT NULL default '', + `voters` int(9) NOT NULL default 0, + `checked_out` int(11) NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default 0, + `access` int(11) NOT NULL default 0, + `lag` int(11) NOT NULL default 0, + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Table structure for table `mos_poll_menu` +# + +CREATE TABLE `mos_poll_menu` ( + `pollid` int(11) NOT NULL default 0, + `menuid` int(11) NOT NULL default 0, + PRIMARY KEY (`pollid`,`menuid`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_poll_menu` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_sections` +# + +CREATE TABLE `mos_sections` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(50) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `image` varchar(100) NOT NULL default '', + `scope` varchar(50) NOT NULL default '', + `image_position` varchar(10) NOT NULL default '', + `description` text NOT NULL, + `published` tinyint(1) NOT NULL default 0, + `checked_out` int(11) unsigned NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default 0, + `access` tinyint(3) unsigned NOT NULL default 0, + `count` int(11) NOT NULL default 0, + PRIMARY KEY (`id`), + KEY `idx_scope` (`scope`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_sections` +# + +INSERT INTO `mos_sections` VALUES (1, 'News', 'The News', 'articles.jpg', 'content', 'right', 'Select a news topic from the list below, then select a news article to read.', 1, 0, '0000-00-00 00:00:00', 1, 0, 1); +INSERT INTO `mos_sections` VALUES (2, 'Articles', 'Articles', 'articles.jpg', 'content', 'right', 'Select a news topic from the list below, then select a news article to read.', 1, 0, '0000-00-00 00:00:00', 1, 0, 1); +INSERT INTO `mos_sections` VALUES (3, 'Faq', 'Frequently Asked Questions', 'articles.jpg', 'content', 'right', 'Select a news topic from the list below, then select a news article to read.', 1, 0, '0000-00-00 00:00:00', 1, 0, 1); + +# +# Table structure for table `mos_session` +# + +CREATE TABLE `mos_session` ( + `username` varchar(50) default '', + `time` varchar(14) default '', + `session_id` varchar(200) NOT NULL default 0, + `guest` tinyint(4) default '1', + `userid` int(11) default 0, + `usertype` varchar(50) default '', + `gid` tinyint(3) unsigned NOT NULL default 0, + PRIMARY KEY (`session_id`), + KEY `whosonline` (`guest`,`usertype`) +) TYPE=MyISAM; + +# +# Table structure for table `mos_stats_agents` +# + +CREATE TABLE `mos_stats_agents` ( + `agent` varchar(255) NOT NULL default '', + `type` tinyint(1) unsigned NOT NULL default 0, + `hits` int(11) unsigned NOT NULL default '1' +) TYPE=MyISAM; + +# +# Dumping data for table `mos_stats_agents` +# + +# -------------------------------------------------------- + +# +# Table structure for table `mos_templates` +# + +CREATE TABLE `mos_templates` ( + `id` int(11) NOT NULL default 0, + `cur_template` varchar(50) NOT NULL default '', + `col_main` char(1) NOT NULL default '1', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_templates` +# + +INSERT INTO `mos_templates` VALUES (0, 'peeklime', '3'); +# -------------------------------------------------------- + +# +# Table structure for table `mos_users` +# + +CREATE TABLE `mos_users` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(50) NOT NULL default '', + `username` varchar(25) NOT NULL default '', + `email` varchar(100) NOT NULL default '', + `password` varchar(100) NOT NULL default '', + `usertype` varchar(25) NOT NULL default '', + `block` tinyint(4) NOT NULL default 0, + `sendEmail` tinyint(4) default 0, + `gid` tinyint(3) unsigned NOT NULL default '1', + `registerDate` datetime NOT NULL default '0000-00-00 00:00:00', + `lastvisitDate` datetime NOT NULL default '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `usertype` (`usertype`), + KEY `idx_name` (`name`) +) TYPE=MyISAM; + +# +# Table structure for table `mos_usertypes` +# + +CREATE TABLE `mos_usertypes` ( + `id` tinyint(3) unsigned NOT NULL default 0, + `name` varchar(50) NOT NULL default '', + `mask` varchar(11) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_usertypes` +# + +INSERT INTO `mos_usertypes` VALUES (0, 'superadministrator', ''); +INSERT INTO `mos_usertypes` VALUES (1, 'administrator', ''); +INSERT INTO `mos_usertypes` VALUES (2, 'editor', ''); +INSERT INTO `mos_usertypes` VALUES (3, 'user', ''); +INSERT INTO `mos_usertypes` VALUES (4, 'author', ''); +INSERT INTO `mos_usertypes` VALUES (5, 'publisher', ''); +INSERT INTO `mos_usertypes` VALUES (6, 'manager', ''); +# -------------------------------------------------------- + +# +# Table structure for table `mos_weblinks` +# + +CREATE TABLE `mos_weblinks` ( + `id` int(11) unsigned NOT NULL auto_increment, + `catid` int(11) NOT NULL default 0, + `sid` int(11) NOT NULL default 0, + `title` varchar(250) NOT NULL default '', + `url` varchar(250) NOT NULL default '', + `description` varchar(250) NOT NULL default '', + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `hits` int(11) NOT NULL default 0, + `published` tinyint(1) NOT NULL default 0, + `checked_out` int(11) NOT NULL default 0, + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default 0, + `archived` tinyint(1) NOT NULL default 0, + `approved` tinyint(1) NOT NULL default '1', + PRIMARY KEY (`id`), + KEY `catid` (`catid`,`published`,`archived`) +) TYPE=MyISAM; + +# +# Table structure for table `mos_core_acl_aro` +# + +CREATE TABLE `mos_core_acl_aro` ( + `aro_id` int(11) NOT NULL auto_increment, + `section_value` varchar(240) NOT NULL default 0, + `value` varchar(240) NOT NULL default '', + `order_value` int(11) NOT NULL default 0, + `name` varchar(255) NOT NULL default '', + `hidden` int(11) NOT NULL default 0, + PRIMARY KEY (`aro_id`), + UNIQUE KEY `section_value_value_aro` (`section_value`,`value`), + UNIQUE KEY `mos_gacl_section_value_value_aro` (`section_value`,`value`), + KEY `hidden_aro` (`hidden`), + KEY `mos_gacl_hidden_aro` (`hidden`) +) TYPE=MyISAM; + +# +# Table structure for table `mos_core_acl_aro_groups` +# +CREATE TABLE `mos_core_acl_aro_groups` ( + `group_id` int(11) NOT NULL auto_increment, + `parent_id` int(11) NOT NULL default 0, + `name` varchar(255) NOT NULL default '', + `lft` int(11) NOT NULL default 0, + `rgt` int(11) NOT NULL default 0, + PRIMARY KEY (`group_id`), + KEY `parent_id_aro_groups` (`parent_id`), + KEY `mos_gacl_parent_id_aro_groups` (`parent_id`), + KEY `mos_gacl_lft_rgt_aro_groups` (`lft`,`rgt`) +) TYPE=MyISAM; + +# +# Dumping data for table `mos_core_acl_aro_groups` +# +INSERT INTO `mos_core_acl_aro_groups` VALUES (17,0,'ROOT',1,22); +INSERT INTO `mos_core_acl_aro_groups` VALUES (28,17,'USERS',2,21); +INSERT INTO `mos_core_acl_aro_groups` VALUES (29,28,'Public Frontend',3,12); +INSERT INTO `mos_core_acl_aro_groups` VALUES (18,29,'Registered',4,11); +INSERT INTO `mos_core_acl_aro_groups` VALUES (19,18,'Author',5,10); +INSERT INTO `mos_core_acl_aro_groups` VALUES (20,19,'Editor',6,9); +INSERT INTO `mos_core_acl_aro_groups` VALUES (21,20,'Publisher',7,8); +INSERT INTO `mos_core_acl_aro_groups` VALUES (30,28,'Public Backend',13,20); +INSERT INTO `mos_core_acl_aro_groups` VALUES (23,30,'Manager',14,19); +INSERT INTO `mos_core_acl_aro_groups` VALUES (24,23,'Administrator',15,18); +INSERT INTO `mos_core_acl_aro_groups` VALUES (25,24,'Super Administrator',16,17); + +# +# Table structure for table `mos_core_acl_groups_aro_map` +# +CREATE TABLE `mos_core_acl_groups_aro_map` ( + `group_id` int(11) NOT NULL default 0, + `section_value` varchar(240) NOT NULL default '', + `aro_id` int(11) NOT NULL default 0, + UNIQUE KEY `group_id_aro_id_groups_aro_map` (`group_id`,`section_value`,`aro_id`) +) TYPE=MyISAM; + +# +# Table structure for table `mos_core_acl_aro_sections` +# +CREATE TABLE `mos_core_acl_aro_sections` ( + `section_id` int(11) NOT NULL auto_increment, + `value` varchar(230) NOT NULL default '', + `order_value` int(11) NOT NULL default 0, + `name` varchar(230) NOT NULL default '', + `hidden` int(11) NOT NULL default 0, + PRIMARY KEY (`section_id`), + UNIQUE KEY `value_aro_sections` (`value`), + UNIQUE KEY `mos_gacl_value_aro_sections` (`value`), + KEY `hidden_aro_sections` (`hidden`), + KEY `mos_gacl_hidden_aro_sections` (`hidden`) +) TYPE=MyISAM; + +INSERT INTO mos_core_acl_aro_sections VALUES (10,'users',1,'Users',0); + + + +# -------------------------------------------------------- + +# Finally import old data + +#--------Import users + +INSERT INTO `mos_users` + (`id`, `name`, `username`, `email`, `password`, `usertype`, `block`, `sendEmail`, `gid`) +SELECT o.id, o.name, o.username, o.email, o.password, o.usertype, o.block, o.sendEmail, o.gid +FROM old_users AS o; + +#--------Update ACL tables +INSERT INTO `mos_core_acl_aro` + (aro_id,section_value,value,order_value,name,hidden) +SELECT mos_users.id, 'users', mos_users.id, '0', mos_users.name, '0' + FROM mos_users; + +INSERT INTO `mos_core_acl_groups_aro_map` + (group_id,aro_id) +SELECT arg.group_id, mos_users.id AS aro_id +FROM mos_users +LEFT JOIN `mos_core_acl_aro_groups` AS arg ON arg.name='Super Administrator' +WHERE usertype='superadministrator'; + +INSERT INTO `mos_core_acl_groups_aro_map` + (group_id,aro_id) +SELECT arg.group_id, mos_users.id AS aro_id +FROM mos_users +LEFT JOIN `mos_core_acl_aro_groups` AS arg ON arg.name='Administrator' +WHERE usertype='administrator'; + +INSERT INTO `mos_core_acl_groups_aro_map` + (group_id,aro_id) +SELECT arg.group_id, mos_users.id AS aro_id +FROM mos_users +LEFT JOIN `mos_core_acl_aro_groups` AS arg ON arg.name='Editor' +WHERE usertype='editor'; + +INSERT INTO `mos_core_acl_groups_aro_map` + (group_id,aro_id) +SELECT arg.group_id, mos_users.id AS aro_id +FROM mos_users +LEFT JOIN `mos_core_acl_aro_groups` AS arg ON arg.name='Registered' +WHERE usertype NOT IN ('editor','administrator','superadministrator'); + +UPDATE `mos_users` SET gid='25' WHERE usertype='superadministrator'; +UPDATE `mos_users` SET gid='24' WHERE usertype='administrator'; +UPDATE `mos_users` SET gid='20' WHERE usertype='editor'; +UPDATE `mos_users` SET gid='18' WHERE usertype NOT IN ('editor','administrator','superadministrator'); + +#--------Import Categories for content + +INSERT INTO mos_categories (`title`, `name`, `image`, `section`, `image_position`, + `description`, `published`, `checked_out`, `checked_out_time`, `ordering`, + `access`, `count`) +SELECT categoryname, categoryname, 'articles.jpg' AS new_image, mos_sections.id, + 'left' AS new_image_position, categoryname, '1' AS new_published, + '0' AS new_checked_out, '0000-00-00 00:00:00' AS new_checkedout_time, + '0' AS new_ordering, '0' AS new_access, '1' AS new_count + FROM old_categories +INNER JOIN mos_sections ON old_categories.section=mos_sections.title; + +#--------Import Weblink Categories + +INSERT INTO mos_categories (title, name, image, section, image_position, description, published, checked_out, checked_out_time, ordering, access, count) select categoryname, categoryname, 'articles.jpg' as new_image, 'com_weblinks', 'left' as new_image_position, categoryname, '1' as new_published, '0' as new_checked_out, '0000-00-00 00:00:00' as new_checkedout_time, '0' as new_ordering, '0' as new_access, '1'as new_count from old_categories WHERE section='Weblinks'; + +#--------Import articles + +# Do not need this +#INSERT INTO mos_content (`title`, `introtext`, `state`, `sectionid`, `mask`, `catid`, `created`, +# `created_by`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, +# `publish_down`, `images`, `urls`, `attribs`, `version`, `parentid`, `ordering`, `metakey`, +# `metadesc`, `access`, `hits`) +#SELECT o.title, o.content, o.published, '2' AS new_sectionid, '0' AS new_mask, +# mos_categories.id, o.date AS new_created, mos_users.id AS new_created_by, +# o.date AS new_modified, mos_users.id AS new_modified_by, +# '0' AS new_checked_out, '0000-00-00 00:00:00' AS new_checked_out_time, +# '2003-01-01 00:00:00' AS new_publish_up, '0000-00-00 00:00:00' AS new_publish_down, +# '' AS new_images, '' AS new_urls, '' AS new_attribs, '1' AS new_version, +# '0' AS new_parent, o.ordering AS new_ordering, o.title, o.title, '0' AS new_access, +# o.counter AS new_hits +#FROM old_articles AS o +#INNER JOIN old_categories ON o.catid=old_categories.categoryid +#LEFT JOIN mos_categories on old_categories.categoryname=mos_categories.title +#LEFT JOIN mos_users ON mos_users.name = o.author +#WHERE o.archived = '0'; + +# archived +# +#INSERT INTO mos_content (`title`, `introtext`, `state`, `sectionid`, `mask`, `catid`, `created`, +# `created_by`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, +# `publish_down`, `images`, `urls`, `attribs`, `version`, `parentid`, `ordering`, `metakey`, +# `metadesc`, `access`, `hits`) +#SELECT o.title, o.content, o.published, '2' AS new_sectionid, '0' AS new_mask, +# mos_categories.id, o.date AS new_created, mos_users.id AS new_created_by, +# o.date AS new_modified, mos_users.id AS new_modified_by, +# '0' AS new_checked_out, '0000-00-00 00:00:00' AS new_checked_out_time, +# '2003-01-01 00:00:00' AS new_publish_up, '0000-00-00 00:00:00' AS new_publish_down, +# '' AS new_images, '' AS new_urls, '' AS new_attribs, '1' AS new_version, +# '0' AS new_parent, o.ordering AS new_ordering, o.title, o.title, '0' AS new_access, +# o.counter AS new_hits +#FROM old_articles AS o +#INNER JOIN old_categories ON o.catid=old_categories.categoryid +#LEFT JOIN mos_categories on old_categories.categoryname=mos_categories.title +#LEFT JOIN mos_users ON mos_users.name = o.author +#WHERE o.archived = '1'; +# Do not need this + +#--------Import Stories (News) + +INSERT INTO mos_content (`title`, `introtext`, `fulltext`, `state`, `sectionid`, + `mask`, `catid`, `created`, + `created_by`, `modified`, `modified_by`, + `checked_out`, `checked_out_time`, + `publish_up`, `publish_down`, + `images`, `urls`, + `attribs`, `version`, `parentid`, `ordering`, + `metakey`, `metadesc`, `access`, `hits`) +SELECT o.title, CONCAT_WS('','{mosimage}',o.introtext), o.fultext, o.published as new_state, '1' as new_sectionid, + '0' as new_mask, mos_categories.id, o.time as new_created, + mos_users.id as new_created_by, o.time as new_modified, mos_users.id as new_modified_by, + '0' as new_checked_out, '0000-00-00 00:00:00' as new_checked_out_time, + '2003-01-01 00:00:00' as new_publish_up, '0000-00-00 00:00:00' as new_publish_down, + CONCAT_WS('|',o.newsimage,o.image_position,'Image','0') as new_images, '' as new_urls, + '' as new_attribs, '1' as new_version, '0' as new_parent, o.ordering as new_ordering, + o.title, o.title, o.access as new_access, o.counter as new_hits +FROM old_stories AS o +INNER JOIN old_categories ON o.catid=old_categories.categoryid +LEFT JOIN mos_categories on old_categories.categoryname=mos_categories.title +LEFT JOIN mos_users ON mos_users.name = o.author +WHERE o.archived = '0'; + +INSERT INTO mos_content (`title`, `introtext`, `fulltext`, `state`, `sectionid`, + `mask`, `catid`, `created`, + `created_by`, `modified`, `modified_by`, + `checked_out`, `checked_out_time`, + `publish_up`, `publish_down`, + `images`, `urls`, + `attribs`, `version`, `parentid`, `ordering`, + `metakey`, `metadesc`, `access`, `hits`) +SELECT o.title, CONCAT_WS('','{mosimage}',o.introtext), o.fultext, '-1' as new_state, '1' as new_sectionid, + '0' as new_mask, mos_categories.id, o.time as new_created, + mos_users.id as new_created_by, o.time as new_modified, mos_users.id as new_modified_by, + '0' as new_checked_out, '0000-00-00 00:00:00' as new_checked_out_time, + '2003-01-01 00:00:00' as new_publish_up, '0000-00-00 00:00:00' as new_publish_down, + CONCAT_WS('|',o.newsimage,o.image_position,'Image','0') as new_images, '' as new_urls, + '' as new_attribs, '1' as new_version, '0' as new_parent, o.ordering as new_ordering, + o.title, o.title, o.access as new_access, o.counter as new_hits +FROM old_stories AS o +INNER JOIN old_categories ON o.catid=old_categories.categoryid +LEFT JOIN mos_categories on old_categories.categoryname=mos_categories.title +LEFT JOIN mos_users ON mos_users.name = o.author +WHERE o.archived = '1'; + +#--------Import FAQs + +INSERT INTO mos_content (`title`, `introtext`, `state`, `sectionid`, + `mask`, `catid`, `created`, + `created_by`, `modified`, `modified_by`, + `checked_out`, `checked_out_time`, + `publish_up`, `publish_down`, + `images`, `urls`, + `attribs`, `version`, `parentid`, `ordering`, + `metakey`, `metadesc`, `access`, `hits`) +select o.title, o.content, o.published as new_state, '3' as new_sectionid, + '0' as new_mask, mos_categories.id, NOW() as new_created, + '62' as new_created_by, NOW() as new_modified, '62' as new_modified_by, + '0' as new_checked_out, '0000-00-00 00:00:00' as new_checked_out_time, + '2003-01-01 00:00:00' as new_publish_up, '0000-00-00 00:00:00' as new_publish_down, + '' as new_images, '' as new_urls, + '' as new_attribs, '1' as new_version, '0' as new_parent, o.ordering as new_ordering, + o.title, o.title, '0' as new_access, o.counter as new_hits +FROM old_faqcont AS o +INNER JOIN old_categories ON o.catid=old_categories.categoryid +LEFT JOIN mos_categories on old_categories.categoryname=mos_categories.title +WHERE o.archived = '0'; + +#--------Import Weblinks + +INSERT INTO mos_weblinks (catid, sid, title, url, description, date, hits, published, + checked_out, checked_out_time, ordering, archived, approved) +select mos_categories.id, old_links.sid, old_links.title, old_links.url, + old_links.description, old_links.date, old_links.hits, old_links.published, + old_links.checked_out, old_links.checked_out_time, '0',old_links.archived, old_links.approved +FROM (old_categories +inner join mos_categories on old_categories.categoryname=mos_categories.name) +INNER JOIN old_links on old_categories.categoryid=old_links.catid; + + + +#--------Import contact_details + +INSERT INTO mos_contact_details (name, con_position, address, suburb, state, + country, postcode, telephone, fax, misc, image, imagepos, email_to, default_con, published) +select o.name, '', o.address, o.suburb, o.state, o.country, o.postcode, o.telephone, + o.fax, '', '', '',o.email_to, 1, 1 +FROM old_contact_details AS o; + +#--------Import menu typed content +# temporarily hold the menu id in the catid field + +INSERT INTO mos_content (`title`, `introtext`, `state`, `sectionid`, + `mask`, `catid`, `created`, + `created_by`, `modified`, `modified_by`, + `checked_out`, `checked_out_time`, + `publish_up`, `publish_down`, + `images`, `urls`, + `attribs`, `version`, `parentid`, `ordering`, + `metakey`, `metadesc`, `access`, `hits`) +select o.heading, o.content, '1' as new_state, '0' as new_sectionid, + '0' as new_mask, o.menuid AS new_catid, NOW() as new_created, + '62' as new_created_by, NOW() as new_modified, '62' as new_modified_by, + '0' as new_checked_out, '0000-00-00 00:00:00' as new_checked_out_time, + '2003-01-01 00:00:00' as new_publish_up, '0000-00-00 00:00:00' as new_publish_down, + '' as new_images, '' as new_urls, + '' as new_attribs, '1' as new_version, '0' as new_parent, '1' as new_ordering, + o.heading, o.heading, '0' as new_access, '0' as new_hits +FROM old_menucontent AS o; + +#--------Import menu details + +# the old home page +INSERT INTO mos_menu (`id`, `menutype`, `name`, + `link`, + `type`, `published`, `parent`, + `componentid`, `sublevel`, + `ordering`, `checked_out`, + `checked_out_time`, `pollid`, + `browserNav`, `access`, `utaccess`, `params`) +SELECT o.id, o.menutype AS new_menutype, o.name AS new_name, + 'index.php?option=com_frontpage' AS new_link, + 'components' AS new_contenttype, o.inuse, o.componentid, + mos_components.id AS new_componentid, o.sublevel AS new_sublevel, + o.ordering AS new_ordering, '0' as new_checked_out, + '0000-00-00 0000:00:00' AS new_checked_out_time, '0' AS new_pollid, + o.browserNav as new_browsernav, o.access AS new_access, '0', '' +FROM old_menu AS o +LEFT JOIN mos_content ON mos_content.catid=o.id AND mos_content.sectionid='0' +LEFT JOIN mos_components ON mos_components.option = 'com_frontpage' AND mos_components.id=9 +WHERE o.link='index.php' AND o.contenttype='mambo'; + +# the old news page +INSERT INTO mos_menu (`id`, `menutype`, `name`, + `link`, + `type`, `published`, `parent`, + `componentid`, `sublevel`, + `ordering`, `checked_out`, + `checked_out_time`, `pollid`, + `browserNav`, `access`, `utaccess`, `params`) +SELECT o.id, o.menutype AS new_menutype, o.name AS new_name, + 'index.php?option=com_content&task=section&id=1' AS new_link, + 'content_section' AS new_contenttype, o.inuse, o.componentid, + mos_content.id AS new_componentid, o.sublevel AS new_sublevel, + o.ordering AS new_ordering, '0' as new_checked_out, + '0000-00-00 0000:00:00' AS new_checked_out_time, '0' AS new_pollid, + o.browserNav as new_browsernav, o.access AS new_access, '0', '' +FROM old_menu AS o +LEFT JOIN mos_content ON mos_content.catid=o.id AND mos_content.sectionid='0' +WHERE o.link='index.php?option=news' AND o.contenttype='mambo'; + +# the old articles page +INSERT INTO mos_menu (`id`, `menutype`, `name`, + `link`, + `type`, `published`, `parent`, + `componentid`, `sublevel`, + `ordering`, `checked_out`, + `checked_out_time`, `pollid`, + `browserNav`, `access`, `utaccess`, `params`) +SELECT o.id, o.menutype AS new_menutype, o.name AS new_name, + 'index.php?option=com_content&task=section&id=2' AS new_link, + 'content_section' AS new_contenttype, o.inuse, o.componentid, + mos_content.id AS new_componentid, o.sublevel AS new_sublevel, + o.ordering AS new_ordering, '0' as new_checked_out, + '0000-00-00 0000:00:00' AS new_checked_out_time, '0' AS new_pollid, + o.browserNav as new_browsernav, o.access AS new_access, '0', '' +FROM old_menu AS o +LEFT JOIN mos_content ON mos_content.catid=o.id AND mos_content.sectionid='0' +WHERE o.link='index.php?option=articles' AND o.contenttype='mambo'; + +# the old faq page +INSERT INTO mos_menu (`id`, `menutype`, `name`, + `link`, + `type`, `published`, `parent`, + `componentid`, `sublevel`, + `ordering`, `checked_out`, + `checked_out_time`, `pollid`, + `browserNav`, `access`, `utaccess`, `params`) +SELECT o.id, o.menutype AS new_menutype, o.name AS new_name, + 'index.php?option=com_content&task=section&id=3' AS new_link, + 'content_section' AS new_contenttype, o.inuse, o.componentid, + mos_content.id AS new_componentid, o.sublevel AS new_sublevel, + o.ordering AS new_ordering, '0' as new_checked_out, + '0000-00-00 0000:00:00' AS new_checked_out_time, '0' AS new_pollid, + o.browserNav as new_browsernav, o.access AS new_access, '0', '' +FROM old_menu AS o +LEFT JOIN mos_content ON mos_content.catid=o.id AND mos_content.sectionid='0' +WHERE o.link='index.php?option=faq' AND o.contenttype='mambo'; + +# the old weblinks page +INSERT INTO mos_menu (`id`, `menutype`, `name`, + `link`, + `type`, `published`, `parent`, + `componentid`, `sublevel`, + `ordering`, `checked_out`, + `checked_out_time`, `pollid`, + `browserNav`, `access`, `utaccess`, `params`) +SELECT o.id, o.menutype AS new_menutype, o.name AS new_name, + 'index.php?option=com_weblinks' AS new_link, + 'components' AS new_contenttype, o.inuse, o.componentid, + mos_components.id AS new_componentid, o.sublevel AS new_sublevel, + o.ordering AS new_ordering, '0' as new_checked_out, + '0000-00-00 0000:00:00' AS new_checked_out_time, '0' AS new_pollid, + o.browserNav as new_browsernav, o.access AS new_access, '0', '' +FROM old_menu AS o +LEFT JOIN mos_content ON mos_content.catid=o.id AND mos_content.sectionid='0' +LEFT JOIN mos_components ON mos_components.option = 'com_weblinks' +WHERE o.link='index.php?option=weblinks' AND o.contenttype='mambo' AND mos_components.id=4; + +# the old contacts page +INSERT INTO mos_menu (`id`, `menutype`, `name`, + `link`, + `type`, `published`, `parent`, + `componentid`, `sublevel`, + `ordering`, `checked_out`, + `checked_out_time`, `pollid`, + `browserNav`, `access`, `utaccess`, `params`) +SELECT o.id, o.menutype AS new_menutype, o.name AS new_name, + 'index.php?option=com_contact' AS new_link, + 'components' AS new_contenttype, o.inuse, o.componentid, + mos_components.id AS new_componentid, o.sublevel AS new_sublevel, + o.ordering AS new_ordering, '0' as new_checked_out, + '0000-00-00 0000:00:00' AS new_checked_out_time, '0' AS new_pollid, + o.browserNav as new_browsernav, o.access AS new_access, '0', '' +FROM old_menu AS o +LEFT JOIN mos_content ON mos_content.catid=o.id AND mos_content.sectionid='0' +LEFT JOIN mos_components ON mos_components.option = 'com_contact' +WHERE o.link='index.php?option=contact' AND o.contenttype='mambo'; + +# the old direct links +INSERT INTO mos_menu (`id`, `menutype`, `name`, + `link`, + `type`, `published`, `parent`, + `componentid`, `sublevel`, + `ordering`, `checked_out`, + `checked_out_time`, `pollid`, + `browserNav`, `access`, `utaccess`, `params`) +SELECT o.id, o.menutype AS new_menutype, o.name AS new_name, + o.link AS new_link, + 'url' AS new_contenttype, o.inuse, o.componentid, + mos_content.id AS new_componentid, o.sublevel AS new_sublevel, + o.ordering AS new_ordering, '0' as new_checked_out, + '0000-00-00 0000:00:00' AS new_checked_out_time, '0' AS new_pollid, + o.browserNav as new_browsernav, o.access AS new_access, '0', '' +FROM old_menu AS o +LEFT JOIN mos_content ON mos_content.catid=o.id AND mos_content.sectionid='0' +WHERE o.contenttype='web'; + +# the typed content +INSERT INTO mos_menu (`id`, `menutype`, `name`, + `link`, + `type`, `published`, `parent`, + `componentid`, `sublevel`, + `ordering`, `checked_out`, + `checked_out_time`, `pollid`, + `browserNav`, `access`, `utaccess`, `params`) +SELECT o.id, o.menutype AS new_menutype, o.name AS new_name, + CONCAT_WS('','index.php?option=com_content&task=view&id=',mos_content.id) AS new_link, + 'content_typed' AS new_contenttype, o.inuse, o.componentid, + mos_content.id AS new_componentid, o.sublevel AS new_sublevel, + o.ordering AS new_ordering, '0' as new_checked_out, + '0000-00-00 0000:00:00' AS new_checked_out_time, '0' AS new_pollid, + o.browserNav as new_browsernav, o.access AS new_access, '0', '' +FROM old_menu AS o +LEFT JOIN mos_content ON mos_content.catid=o.id AND mos_content.sectionid='0' +WHERE o.contenttype='typed'; + +# the old frontpage item +INSERT INTO `mos_content_frontpage` +SELECT mos_content.id, old_stories.ordering FROM mos_content +INNER JOIN old_stories ON mos_content.title=old_stories.title WHERE old_stories.frontpage=1; + +# usermenu +INSERT INTO `mos_menu` VALUES ('', 'usermenu', 'Your Details', 'index.php?option=com_user&task=UserDetails', 'url', 1, 0, 0, 0, 1, 0, '2000-00-00 00:00:00', 0, 0, 1, 3, ''); +INSERT INTO `mos_menu` VALUES ('', 'usermenu', 'Submit News', 'index.php?option=com_content&task=new§ionid=1', 'url', 1, 0, 0, 0, 2, 0, '2000-00-00 00:00:00', 0, 0, 1, 2, ''); +INSERT INTO `mos_menu` VALUES ('', 'usermenu', 'Submit WebLink', 'index.php?option=com_weblinks&task=new', 'url', 1, 0, 0, 0, 4, 0, '2000-00-00 00:00:00', 0, 0, 1, 2, ''); +INSERT INTO `mos_menu` VALUES ('', 'usermenu', 'Check-In My Items', 'index.php?option=com_user&task=CheckIn', 'url', 1, 0, 0, 0, 5, 0, '0000-00-00 00:00:00', 0, 0, 1, 2, ''); + + +# null the catid field +UPDATE mos_content SET catid='0' where sectionid='0'; + +# -------------------------------------------------------- +# statistics + +INSERT INTO `mos_stats_agents` + (`agent`,`hits`,`type`) +SELECT `name`,`count`,'0' +FROM old_counter +WHERE `type`='browser'; + +INSERT INTO `mos_stats_agents` + (`agent`,`hits`,`type`) +SELECT `name`,`count`,'1' +FROM old_counter +WHERE `type`='OS'; +# -------------------------------------------------------- + +UPDATE `mos_menu` SET link='index.php?option=com_user&task=UserDetails' WHERE link='index.php?option=user&op=UserDetails'; +UPDATE `mos_menu` SET link='index.php?option=com_user&task=CheckIn' WHERE link='index.php?option=user&op=CheckIn'; + +# registration control moved to configuration +UPDATE `mos_modules` SET params='' WHERE module='mod_login'; + +# special group not supported in the core pending ACL improvements in 4.6 +DELETE FROM `mos_groups` WHERE name='Special'; + +## add activation +ALTER TABLE `mos_users` ADD `activation` varchar(100) NOT NULL default '' AFTER `lastvisitDate`; + +DROP TABLE IF EXISTS mos_templates; +# Table structure for table `mos_templates_menu` + +CREATE TABLE `mos_templates_menu` ( + `template` varchar(50) NOT NULL default '', + `menuid` int(11) NOT NULL default 0, + `client_id` tinyint(4) NOT NULL default 0, + PRIMARY KEY (`template`,`menuid`) +) TYPE=MyISAM; + +INSERT INTO `mos_templates_menu` VALUES ('rhuk_solarflare_ii', '0', '0'); +INSERT INTO `mos_templates_menu` VALUES ('mambo_admin_blue', '0', '1'); diff -ruN 4.6rc2/uploadfiles/installation/sql/upgrade451to452.sql 4.6-complete/uploadfiles/installation/sql/upgrade451to452.sql --- 4.6rc2/uploadfiles/installation/sql/upgrade451to452.sql 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/sql/upgrade451to452.sql 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,20 @@ +# Mambo 4.5.1 to Mambo 4.5.2 + +DROP TABLE IF EXISTS mos_help; + +# New Mambots in 4.5.2 +INSERT INTO `mos_mambots` VALUES (0, 'Search Categories', 'categories.searchbot', 'search', 0, 4, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `mos_mambots` VALUES (0, 'Search Sections', 'sections.searchbot', 'search', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `mos_mambots` VALUES (0, 'Search Newsfeeds', 'newsfeeds.searchbot', 'search', 0, 6, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `mos_mambots` VALUES (0, 'Email Cloaking', 'mosemailcloak', 'content', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `mos_mambots` VALUES (0, 'GeSHi Syntax Highlighter', 'geshi', 'content', 0, 5, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); +INSERT INTO `mos_mambots` VALUES (0, 'Load Module Positions', 'mosloadposition', 'content', 0, 6, 1, 0, 0, 0, '0000-00-00 00:00:00', ''); + + +# New Modules in 4.5.2 +INSERT INTO `mos_modules` VALUES (0,'Wrapper','',10,'left',0,'0000-00-00 00:00:00',1,'mod_wrapper',0,0,1,'',0, 0); +INSERT INTO `mos_modules` VALUES (0,'Logged','',0,'cpanel',0,'0000-00-00 00:00:00',1,'mod_logged',0,99,1,'',0,1); + +# Component Modifications +UPDATE `mos_components` SET `admin_menu_link` = 'option=com_syndicate&hidemainmenu=1' WHERE `admin_menu_link` = 'option=com_syndicate'; +UPDATE `mos_components` SET `admin_menu_link` = 'option=com_massmail&hidemainmenu=1' WHERE `admin_menu_link` = 'option=com_massmail'; diff -ruN 4.6rc2/uploadfiles/installation/sql/upgrade45_109to451.sql 4.6-complete/uploadfiles/installation/sql/upgrade45_109to451.sql --- 4.6rc2/uploadfiles/installation/sql/upgrade45_109to451.sql 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/sql/upgrade45_109to451.sql 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,137 @@ +# $Id: upgrade45_109to451.sql,v 1.1 2006/08/24 Chanh OngExp $ +# Fix to run in mysql 5 and remove duplicate - Chanh Ong +# Mambo 4.5 (1.0.9) to Mambo 4.5.1 + +ALTER TABLE `mos_banner` CHANGE `checked_out_time` `checked_out_time` DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; + +ALTER TABLE `mos_categories` ADD `parent_id` int(11) NOT NULL default 0 AFTER `id`; +ALTER TABLE `mos_categories` CHANGE `section` `section` varchar(50) NOT NULL default ''; +ALTER TABLE `mos_categories` ADD `params` TEXT NOT NULL; + +ALTER TABLE `mos_components` CHANGE `ordering` `ordering` int(11) NOT NULL default '0'; +ALTER TABLE `mos_components` ADD `params` TEXT NOT NULL; + +ALTER TABLE `mos_contact_details` ADD `params` TEXT NOT NULL; +ALTER TABLE `mos_contact_details` ADD `user_id` int(11) NOT NULL default '0'; +ALTER TABLE `mos_contact_details` ADD `catid` int(11) NOT NULL default '0'; +ALTER TABLE `mos_contact_details` ADD `access` tinyint(3) unsigned NOT NULL default '0'; + +ALTER TABLE `mos_content` CHANGE `ordering` `ordering` int(11) NOT NULL default '0'; + +ALTER TABLE `mos_content_frontpage` CHANGE `ordering` `ordering` int(11) NOT NULL default '0'; + +DROP TABLE IF EXISTS mos_help; + +CREATE TABLE `mos_mambots` ( + `id` int(11) NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `element` varchar(100) NOT NULL default '', + `folder` varchar(100) NOT NULL default '', + `access` tinyint(3) unsigned NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `published` tinyint(3) NOT NULL default '0', + `iscore` tinyint(3) NOT NULL default '0', + `client_id` tinyint(3) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `params` text NOT NULL, + PRIMARY KEY (`id`), + KEY `idx_folder` (`published`,`client_id`,`access`,`folder`) +) TYPE=MyISAM; + +ALTER TABLE `mos_modules` CHANGE `ordering` `ordering` int(11) NOT NULL default '0'; +ALTER TABLE `mos_modules` ADD `client_id` tinyint(4) NOT NULL default '0'; + +ALTER TABLE `mos_newsfeeds` CHANGE `ordering` `ordering` int(11) NOT NULL default '0'; + +DROP TABLE IF EXISTS mos_newsfeedscache; + +DROP TABLE IF EXISTS mos_newsflash; + +ALTER TABLE `mos_sections` ADD `params` TEXT NOT NULL; + +DROP TABLE IF EXISTS mos_templates; + +CREATE TABLE `mos_template_positions` ( + `id` int(11) NOT NULL auto_increment, + `position` varchar(10) NOT NULL default '', + `description` varchar(255) NOT NULL default '', + PRIMARY KEY (`id`) +) TYPE=MyISAM; + +ALTER TABLE `mos_users` ADD `params` TEXT NOT NULL; + +ALTER TABLE `mos_weblinks` ADD `params` TEXT NOT NULL; + +INSERT INTO `mos_modules` VALUES ('', 'Search', '', 7, 'right', 0, '0000-00-00 00:00:00', 1, 'mod_search', 0, 0, 1, '', 1, 0); +INSERT INTO `mos_modules` VALUES ('', 'Random Image', '', 2, 'user1', 0, '0000-00-00 00:00:00', 1, 'mod_random_image', 0, 0, 1, '', 1, 0); +INSERT INTO `mos_modules` VALUES ('', 'Random Image', '', 2, 'user1', 0, '0000-00-00 00:00:00', 1, 'mod_random_image', 0, 0, 1, '', 1, 0); +INSERT INTO `mos_modules` VALUES ('', 'Banners', '', 1, 'banner', 0, '0000-00-00 00:00:00', 1, 'mod_banners', 0, 0, 0, 'banner_cids=\nmoduleclass_sfx=\n', 1, 0); + +DELETE FROM `mos_modules` WHERE `module` = 'mod_counter'; +DELETE FROM `mos_modules` WHERE `module` = 'mod_online'; + +DELETE FROM `mos_components` WHERE name='Media Manager'; +DELETE FROM `mos_components` WHERE `option`='com_newsflash'; + +INSERT INTO mos_modules VALUES (0,'Components','',1,'cpanel',0,'0000-00-00 00:00:00',1,'mod_components',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Popular','',2,'cpanel',0,'0000-00-00 00:00:00',1,'mod_popular',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Latest Items','',3,'cpanel',0,'0000-00-00 00:00:00',1,'mod_latest',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Menu Stats','',4,'cpanel',0,'0000-00-00 00:00:00',1,'mod_stats',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Unread Messages','',1,'header',0,'0000-00-00 00:00:00',1,'mod_unread',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Online Users','',2,'header',0,'0000-00-00 00:00:00',1,'mod_online',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Full Menu','',1,'top',0,'0000-00-00 00:00:00',1,'mod_fullmenu',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Pathway','',1,'pathway',0,'0000-00-00 00:00:00',1,'mod_pathway',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Toolbar','',1,'toolbar',0,'0000-00-00 00:00:00',1,'mod_toolbar',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'System Message','',1,'inset',0,'0000-00-00 00:00:00',1,'mod_mosmsg',0,99,1,'',2,1); +INSERT INTO mos_modules VALUES (0,'Quick Icons','',1,'icon',0,'0000-00-00 00:00:00',1,'mod_quickicon',0,99,1,'',1,1); + +INSERT INTO `mos_templates_menu` VALUES ('rhuk_solarflare_ii', '0', '0'); +INSERT INTO `mos_templates_menu` VALUES ('mambo_admin_blue', '0', '1'); + +INSERT INTO `mos_template_positions` VALUES (0, 'left', 'Left Column'); +INSERT INTO `mos_template_positions` VALUES (0, 'right', 'Right Column'); +INSERT INTO `mos_template_positions` VALUES (0, 'top', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'bottom', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'inset', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'banner', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'header', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'footer', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'newsflash', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'legals', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'pathway', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'toolbar', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'cpanel', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user1', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user2', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user3', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user4', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user5', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user6', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user7', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user8', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'user9', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'advert1', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'advert2', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'advert3', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'icon', ''); +INSERT INTO `mos_template_positions` VALUES (0, 'debug', ''); + +UPDATE `mos_components` SET `link` = '', `admin_menu_link` = '' WHERE `id` = '6' LIMIT 1; +INSERT INTO `mos_components` VALUES ('', 'Contact Categories', '', 0, 6, 'option=categories§ion=com_contact_details', 'Manage contact categories', '', 2, 'js/ThemeOffice/categories.png', 1, ''); +INSERT INTO `mos_components` VALUES ('', 'Manage Contacts', 'option=com_contact', 0, 6, 'option=com_contact', 'Edit contact details', 'com_contact', 0, 'js/ThemeOffice/component.png', 1, ''); +INSERT INTO `mos_components` VALUES ('', 'Syndicate', '', 0, 0, 'option=com_syndicate', 'Manage Syndication Settings', 'com_syndicate', 0, 'js/ThemeOffice/component.png', 0, ''); + +INSERT INTO mos_mambots VALUES (1,'MOS Image','mosimage','content',0,-10000,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (2,'MOS Pagination','mospaging','content',0,10000,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (3,'Legacy Mambot Includer','legacybots','content',0,1,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (4,'SEF','mossef','content',0,3,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (5,'MOS Rating','mosvote','content',0,4,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (6,'Search Content','content.searchbot','search',0,1,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (7,'Search Weblinks','weblinks.searchbot','search',0,2,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (8,'Code support','moscode','content',0,2,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (9,'No WYSIWYG Editor','none','editors',0,1,1,1,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (10,'TinyMCE WYSIWYG Editor','tinymce','editors',0,2,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (11,'MOS Image Editor Button','mosimage.btn','editors-xtd',0,0,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (12,'MOS Pagebreak Editor Button','mospage.btn','editors-xtd',0,0,1,0,0,0,'0000-00-00 00:00:00',''); +INSERT INTO mos_mambots VALUES (13,'Search Contacts','contacts.searchbot','search',0,3,1,1,0,0,'0000-00-00 00:00:00',''); diff -ruN 4.6rc2/uploadfiles/installation/survey.php 4.6-complete/uploadfiles/installation/survey.php --- 4.6rc2/uploadfiles/installation/survey.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/installation/survey.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,70 @@ + diff -ruN 4.6rc2/uploadfiles/language/en.xml 4.6-complete/uploadfiles/language/en.xml --- 4.6rc2/uploadfiles/language/en.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/en.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,32 @@ + + + English + 4.6 + English Locale + 06-06-2006 + Mambo Foundation Inc. + http://www.mambo-foundation.org + translation@mambo-foundation.org + (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + + + + + + + + + + %B %d, %Y at %I:%M %p + + utf-8 + iso-8859-1 + iso-8859-15 + + + + + + + diff -ruN 4.6rc2/uploadfiles/language/english.ignore.php 4.6-complete/uploadfiles/language/english.ignore.php --- 4.6rc2/uploadfiles/language/english.ignore.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/english.ignore.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,18 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/language/english.php 4.6-complete/uploadfiles/language/english.php --- 4.6rc2/uploadfiles/language/english.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/english.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,526 @@ +Template File Not Found! Looking for template:
      '); +DEFINE('_NO_PARAMS','There are no Parameters for this item'); +DEFINE('_HANDLER','Handler not defined for type'); + +/** mambots */ +DEFINE('_TOC_JUMPTO','Article Index'); + +/** content */ +DEFINE('_READ_MORE','Read more...'); +DEFINE('_READ_MORE_REGISTER','Register to read more...'); +DEFINE('_MORE','More...'); +DEFINE('_ON_NEW_CONTENT', "A new content item has been submitted by [ %s ] titled [ %s ] from section [ %s ] and category [ %s ]" ); +DEFINE('_SEL_CATEGORY','- All Categories -'); +DEFINE('_SEL_SECTION','- All Sections -'); +DEFINE('_SEL_AUTHOR','- All Authors -'); +DEFINE('_SEL_POSITION','- All Positions -'); +DEFINE('_SEL_TYPE','- All Types -'); +DEFINE('_EMPTY_CATEGORY','This Category is currently empty'); +DEFINE('_EMPTY_BLOG','There are no items to display'); +DEFINE('_NOT_EXIST','The page you are trying to access does not exist.
      Please select a page from the main menu.'); + +/** classes/html/modules.php */ +DEFINE('_BUTTON_VOTE','Vote'); +DEFINE('_BUTTON_RESULTS','Results'); +DEFINE('_USERNAME','Username'); +DEFINE('_LOST_PASSWORD','Password Reminder'); +DEFINE('_PASSWORD','Password'); +DEFINE('_BUTTON_LOGIN','Login'); +DEFINE('_BUTTON_LOGOUT','Logout'); +DEFINE('_NO_ACCOUNT','No account yet?'); +DEFINE('_CREATE_ACCOUNT','Create one'); +DEFINE('_VOTE_POOR','Poor'); +DEFINE('_VOTE_BEST','Best'); +DEFINE('_USER_RATING','User Rating'); +DEFINE('_RATE_BUTTON','Rate'); +DEFINE('_REMEMBER_ME','Remember me'); + +/** contact.php */ +DEFINE('_ENQUIRY','Enquiry'); +DEFINE('_ENQUIRY_TEXT','This is an enquiry e-mail via %s from:'); +DEFINE('_COPY_TEXT','The following is a copy of the message you sent to %s via %s '); +DEFINE('_COPY_SUBJECT','Copy of: '); +DEFINE('_THANK_MESSAGE','Thank you for your e-mail'); +DEFINE('_CLOAKING','This email address is being protected from spam bots, you need Javascript enabled to view it'); +DEFINE('_CONTACT_HEADER_NAME','Name'); +DEFINE('_CONTACT_HEADER_POS','Position'); +DEFINE('_CONTACT_HEADER_EMAIL','Email'); +DEFINE('_CONTACT_HEADER_PHONE','Phone'); +DEFINE('_CONTACT_HEADER_FAX','Fax'); +DEFINE('_CONTACTS_DESC','The Contact list for this Website.'); + +/** classes/html/contact.php */ +DEFINE('_CONTACT_TITLE','Contact'); +DEFINE('_EMAIL_DESCRIPTION','Send an Email to this Contact:'); +DEFINE('_NAME_PROMPT',' Enter your name:'); +DEFINE('_EMAIL_PROMPT',' E-mail address:'); +DEFINE('_MESSAGE_PROMPT',' Enter your message:'); +DEFINE('_SEND_BUTTON','Send'); +DEFINE('_CONTACT_FORM_NC','Please make sure the form is complete and valid.'); +DEFINE('_CONTACT_TELEPHONE','Telephone: '); +DEFINE('_CONTACT_MOBILE','Mobile: '); +DEFINE('_CONTACT_FAX','Fax: '); +DEFINE('_CONTACT_EMAIL','Email: '); +DEFINE('_CONTACT_NAME','Name: '); +DEFINE('_CONTACT_POSITION','Position: '); +DEFINE('_CONTACT_ADDRESS','Address: '); +DEFINE('_CONTACT_MISC','Information: '); +DEFINE('_CONTACT_SEL','Select Contact:'); +DEFINE('_CONTACT_NONE','There are no Contact Details listed.'); +DEFINE('_EMAIL_A_COPY','Email a copy of this message to your own address'); +DEFINE('_CONTACT_DOWNLOAD_AS','Download information as a'); +DEFINE('_VCARD','VCard'); + +/** pageNavigation */ +DEFINE('_PN_PAGE','Page'); +DEFINE('_PN_OF','of'); +DEFINE('_PN_START','Start'); +DEFINE('_PN_PREVIOUS','Previous'); +DEFINE('_PN_NEXT','Next'); +DEFINE('_PN_END','End'); +DEFINE('_PN_DISPLAY_NR','Display #'); +DEFINE('_PN_RESULTS','Results'); + +/** emailfriend */ +DEFINE('_EMAIL_TITLE','E-mail a friend'); +DEFINE('_EMAIL_FRIEND','E-mail this to a friend.'); +DEFINE('_EMAIL_FRIEND_ADDR',"Your friend's E-mail:"); +DEFINE('_EMAIL_YOUR_NAME','Your Name:'); +DEFINE('_EMAIL_YOUR_MAIL','Your E-mail:'); +DEFINE('_SUBJECT_PROMPT',' Message subject:'); +DEFINE('_BUTTON_SUBMIT_MAIL','Send e-mail'); +DEFINE('_BUTTON_CANCEL','Cancel'); +DEFINE('_EMAIL_ERR_NOINFO','You must enter valid e-mail addresses for both yourself and your recipient.'); +DEFINE('_EMAIL_MSG',' The following page from the "%s" website has been sent to you by %s ( %s ). + +You can access it at the following url: +%s'); +DEFINE('_EMAIL_INFO','Item sent by'); +DEFINE('_EMAIL_SENT','This item has been sent to'); +DEFINE('_PROMPT_CLOSE','Close Window'); + +/** classes/html/content.php */ +DEFINE('_AUTHOR_BY', ' Contributed by'); +DEFINE('_WRITTEN_BY', ' Written by'); +DEFINE('_LAST_UPDATED', 'Last Updated'); +DEFINE('_BACK','[ Back ]'); +DEFINE('_LEGEND','Legend'); +DEFINE('_DATE','Date'); +DEFINE('_ORDER_DROPDOWN','Order'); +DEFINE('_HEADER_TITLE','Item Title'); +DEFINE('_HEADER_AUTHOR','Author'); +DEFINE('_HEADER_SUBMITTED','Submitted'); +DEFINE('_HEADER_HITS','Hits'); +DEFINE('_E_EDIT','Edit'); +DEFINE('_E_ADD','Add'); +DEFINE('_E_WARNUSER','Please either Cancel or Save the current change'); +DEFINE('_E_WARNTITLE','Content item must have a title'); +DEFINE('_E_WARNTEXT','Content item must have intro text'); +DEFINE('_E_WARNCAT','Please select a category'); +DEFINE('_E_CONTENT','Content'); +DEFINE('_E_TITLE','Title:'); +DEFINE('_E_CATEGORY','Category:'); +DEFINE('_E_INTRO','Intro Text'); +DEFINE('_E_MAIN','Main Text'); +DEFINE('_E_MOSIMAGE','INSERT {mosimage}'); +DEFINE('_E_IMAGES','Images'); +DEFINE('_E_GALLERY_IMAGES','Gallery Images'); +DEFINE('_E_CONTENT_IMAGES','Content Images'); +DEFINE('_E_EDIT_IMAGE','Edit Image'); +DEFINE('_E_INSERT','Insert'); +DEFINE('_E_UP','Up'); +DEFINE('_E_DOWN','Down'); +DEFINE('_E_REMOVE','Remove'); +DEFINE('_E_SOURCE','Source:'); +DEFINE('_E_ALIGN','Align:'); +DEFINE('_E_ALT','Alt Text:'); +DEFINE('_E_BORDER','Border:'); +DEFINE('_E_CAPTION','Caption'); +DEFINE('_E_APPLY','Apply'); +DEFINE('_E_PUBLISHING','Publishing'); +DEFINE('_E_STATE','State:'); +DEFINE('_E_AUTHOR_ALIAS','Author Alias:'); +DEFINE('_E_ACCESS_LEVEL','Access Level:'); +DEFINE('_E_ORDERING','Ordering:'); +DEFINE('_E_START_PUB','Start Publishing:'); +DEFINE('_E_FINISH_PUB','Finish Publishing:'); +DEFINE('_E_SHOW_FP','Show on Front Page:'); +DEFINE('_E_HIDE_TITLE','Hide Item Title:'); +DEFINE('_E_METADATA','Metadata'); +DEFINE('_E_M_DESC','Description:'); +DEFINE('_E_M_KEY','Keywords:'); +DEFINE('_E_SUBJECT','Subject:'); +DEFINE('_E_EXPIRES','Expiry Date:'); +DEFINE('_E_VERSION','Version:'); +DEFINE('_E_ABOUT','About'); +DEFINE('_E_CREATED','Created:'); +DEFINE('_E_LAST_MOD','Last Modified:'); +DEFINE('_E_HITS','Hits:'); +DEFINE('_E_SAVE','Save'); +DEFINE('_E_CANCEL','Cancel'); +DEFINE('_E_REGISTERED','Registered Users Only'); +DEFINE('_E_ITEM_INFO','Item Information'); +DEFINE('_E_ITEM_SAVED','Item saved successfully.'); +DEFINE('_ITEM_PREVIOUS','< Previous'); +DEFINE('_ITEM_NEXT','Next >'); + + +/** content.php */ +DEFINE('_SECTION_ARCHIVE_EMPTY','There are currently no Archived Entries for this Section'); +DEFINE('_CATEGORY_ARCHIVE_EMPTY','There are currently no Archived Entries for this Category'); +DEFINE('_HEADER_SECTION_ARCHIVE','Section Archives'); +DEFINE('_HEADER_CATEGORY_ARCHIVE','Category Archives'); +DEFINE('_ARCHIVE_SEARCH_FAILURE','There are no Archived entries for %s %s'); // values are month then year +DEFINE('_ARCHIVE_SEARCH_SUCCESS','Here are the Archived entries for %s %s'); // values are month then year +DEFINE('_FILTER','Filter'); +DEFINE('_ORDER_DROPDOWN_DA','Date asc'); +DEFINE('_ORDER_DROPDOWN_DD','Date desc'); +DEFINE('_ORDER_DROPDOWN_TA','Title asc'); +DEFINE('_ORDER_DROPDOWN_TD','Title desc'); +DEFINE('_ORDER_DROPDOWN_HA','Hits asc'); +DEFINE('_ORDER_DROPDOWN_HD','Hits desc'); +DEFINE('_ORDER_DROPDOWN_AUA','Author asc'); +DEFINE('_ORDER_DROPDOWN_AUD','Author desc'); +DEFINE('_ORDER_DROPDOWN_O','Ordering'); + +/** poll.php */ +DEFINE('_ALERT_ENABLED','Cookies must be enabled!'); +DEFINE('_ALREADY_VOTE','You already voted for this poll today!'); +DEFINE('_NO_SELECTION','No selection has been made, please try again'); +DEFINE('_THANKS','Thanks for your vote!'); +DEFINE('_SELECT_POLL','Select Poll from the list'); + +/** classes/html/poll.php */ +DEFINE('_JAN','January'); +DEFINE('_FEB','February'); +DEFINE('_MAR','March'); +DEFINE('_APR','April'); +DEFINE('_MAY','May'); +DEFINE('_JUN','June'); +DEFINE('_JUL','July'); +DEFINE('_AUG','August'); +DEFINE('_SEP','September'); +DEFINE('_OCT','October'); +DEFINE('_NOV','November'); +DEFINE('_DEC','December'); +DEFINE('_POLL_TITLE','Poll - Results'); +DEFINE('_SURVEY_TITLE','Poll Title:'); +DEFINE('_NUM_VOTERS','Number of Voters'); +DEFINE('_FIRST_VOTE','First Vote'); +DEFINE('_LAST_VOTE','Last Vote'); +DEFINE('_SEL_POLL','Select Poll:'); +DEFINE('_NO_RESULTS','There are no results for this poll.'); + +/** registration.php */ +DEFINE('_ERROR_PASS','Sorry, no corresponding user was found'); +DEFINE('_NEWPASS_MSG','The user account $checkusername has this email associated with it.\n' +.'A web user from $mosConfig_live_site has just requested that a new password be sent.\n\n' +.' Your New Password is: $newpass\n\nIf you didn\'t ask for this, don\'t worry.' +.' You are seeing this message, not them. If this was an error just login with your' +.' new password and then change your password to what you would like it to be.'); +DEFINE('_NEWPASS_SUB','$_sitename :: New password for - $checkusername'); +DEFINE('_NEWPASS_SENT','New User Password created and sent!'); +DEFINE('_REGWARN_NAME','Please enter your name.'); +DEFINE('_REGWARN_UNAME','Please enter a user name.'); +DEFINE('_REGWARN_MAIL','Please enter a valid e-mail address.'); +DEFINE('_REGWARN_PASS','Please enter a valid password -- more than 6 characters with no spaces and containing only the characters 0-9, a-z, or A-Z'); +DEFINE('_REGWARN_VPASS1','Please verify the password.'); +DEFINE('_REGWARN_VPASS2','Password and verification do not match, please try again.'); +DEFINE('_REGWARN_INUSE','This username/password is already in use. Please try another.'); +DEFINE('_REGWARN_EMAIL_INUSE', 'This e-mail is already registered. If you forgot the password click on "Password Reminder" and new password will be sent to you.'); +DEFINE('_SEND_SUB','Account details for %s at %s'); +DEFINE('_USEND_MSG_ACTIVATE', 'Hello %s, + +Thank you for registering at %s. Your account has been created but, as a precaution, it must be activated by you before you can use it. +To activate the account click on the following link or copy and paste it in your browser: +%s + +After activation you may login to %s using the following username and password: + +Username - %s +Password - %s'); +DEFINE('_USEND_MSG', "Hello %s, + +Thank you for registering at %s. + +You may now login to %s using the username and password you registered with."); +DEFINE('_USEND_MSG_NOPASS','Hello $name,\n\nYou have been added as a user to $mosConfig_live_site.\n' +.'You may login to $mosConfig_live_site with the username and password you registered with.\n\n' +.'Please do not respond to this message as it is automatically generated and is for information purposes only\n'); +DEFINE('_ASEND_MSG','Hello %s, + +A new user has registered at %s. +This email contains their details: + +Name - %s +e-mail - %s +Username - %s + +Please do not respond to this message as it is automatically generated and is for information purposes only'); +DEFINE('_REG_COMPLETE_NOPASS','
      Registration Complete

        ' +.'You may now login.
        '); +DEFINE('_REG_COMPLETE', '
      Registration Complete

      You may now login.'); +DEFINE('_REG_COMPLETE_ACTIVATE', '
      Registration Complete

      Your account has been created and an activation link has been sent to the e-mail address you entered. Note that you must activate the account by clicking on the activation link before you can login.'); +DEFINE('_REG_ACTIVATE_COMPLETE', '
      Activation Complete!

      Your account has been activated successfully. You can now login using the username and password you chose during registration.'); +DEFINE('_REG_ACTIVATE_NOT_FOUND', '
      Invalid Activation Link!

      There is no such account in our database or the account has already been activated.'); + +/** classes/html/registration.php */ +DEFINE('_PROMPT_PASSWORD','Lost your Password?'); +DEFINE('_NEW_PASS_DESC','Please enter your Username and e-mail address then click on the Send Password button.
      ' +.'You will receive a new password shortly. Use the new password to access the site.'); +DEFINE('_PROMPT_UNAME','Username:'); +DEFINE('_PROMPT_EMAIL','E-mail Address:'); +DEFINE('_BUTTON_SEND_PASS','Send Password'); +DEFINE('_REGISTER_TITLE','Registration'); +DEFINE('_REGISTER_NAME','Name:'); +DEFINE('_REGISTER_UNAME','Username:'); +DEFINE('_REGISTER_EMAIL','E-mail:'); +DEFINE('_REGISTER_PASS','Password:'); +DEFINE('_REGISTER_VPASS','Verify Password:'); +DEFINE('_REGISTER_REQUIRED','Fields marked with an asterisk (*) are required.'); +DEFINE('_BUTTON_SEND_REG','Send Registration'); +DEFINE('_SENDING_PASSWORD','Your password will be sent to the above e-mail address.
      Once you have received your' +.' new password you can login and change it, if you so desire.'); + +/** classes/html/search.php */ +DEFINE('_SEARCH_TITLE','Search'); +DEFINE('_PROMPT_KEYWORD','Search Keyword'); +DEFINE('_SEARCH_MATCHES','returned %d matches'); +DEFINE('_CONCLUSION','Total $totalRows results found. Search for $searchword with'); +DEFINE('_NOKEYWORD','No results were found'); +DEFINE('_IGNOREKEYWORD','One or more common words were ignored in the search'); +DEFINE('_SEARCH_ANYWORDS','Any words'); +DEFINE('_SEARCH_ALLWORDS','All words'); +DEFINE('_SEARCH_PHRASE','Exact phrase'); +DEFINE('_SEARCH_NEWEST','Newest first'); +DEFINE('_SEARCH_OLDEST','Oldest first'); +DEFINE('_SEARCH_POPULAR','Most popular'); +DEFINE('_SEARCH_ALPHABETICAL','Alphabetical'); +DEFINE('_SEARCH_CATEGORY','Section/Category'); + +/** templates/*.php */ +DEFINE('_SEARCH_BOX','search...'); +DEFINE('_NEWSFLASH_BOX','Newsflash!'); +DEFINE('_MAINMENU_BOX','Main Menu'); + +/** classes/html/usermenu.php */ +DEFINE('_UMENU_TITLE','User Menu'); +DEFINE('_HI','Hi, '); + +/** user.php */ +DEFINE('_SAVE_ERR','Please complete all the fields.'); +DEFINE('_THANK_SUB','Thanks for your submission; it will be reviewed before being posted to the site.'); +DEFINE('_UP_SIZE','You cannot upload files greater than 15kb in size.'); +DEFINE('_UP_EXISTS','Image $userfile_name already exists. Please rename the file and try again.'); +DEFINE('_UP_COPY_FAIL','Failed to copy'); +DEFINE('_UP_TYPE_WARN','You may only upload a gif or jpg image.'); +DEFINE('_MAIL_SUB','User Submitted'); +DEFINE('_MAIL_MSG','Hello $adminName,\n\n\nA user submitted $type:\n [ $title ]\n has been just been submitted by user:\n [ $author ]\n' +.' for $mosConfig_live_site.\n\n\n\n' +.'Please go to $mosConfig_live_site/administrator to view and approve this $type.\n\n' +.'Please do not respond to this message as it is automatically generated and is for information purposes only\n'); +DEFINE('_PASS_VERR1','If changing your password please enter the password again to verify.'); +DEFINE('_PASS_VERR2','If changing your password please make sure the password and verification match.'); +DEFINE('_UNAME_INUSE','This username already in use.'); +DEFINE('_UPDATE','Update'); +DEFINE('_USER_DETAILS_SAVE','Your settings have been saved.'); +DEFINE('_USER_LOGIN','User Login'); + +/** components/com_user */ +DEFINE('_EDIT_TITLE','Edit Your Details'); +DEFINE('_YOUR_NAME','Your Name:'); +DEFINE('_EMAIL','e-mail:'); +DEFINE('_UNAME','User Name:'); +DEFINE('_PASS','Password:'); +DEFINE('_VPASS','Verify Password:'); +DEFINE('_SUBMIT_SUCCESS','Submission Success!'); +DEFINE('_SUBMIT_SUCCESS_DESC','Your item has been submitted to the site administrators. It will be reviewed before being published on the site.'); +DEFINE('_WELCOME','Welcome!'); +DEFINE('_WELCOME_DESC','Welcome to the user section of our site'); +DEFINE('_CONF_CHECKED_IN','All items checked out have now been checked in'); +DEFINE('_CHECK_TABLE','Checking table'); +DEFINE('_CHECKED_IN','Checked in '); +DEFINE('_CHECKED_IN_ITEMS',' items'); +DEFINE('_PASS_MATCH','Passwords do not match'); + +/** components/com_banners */ +DEFINE('_BNR_CLIENT_NAME','You must select a name for the client.'); +DEFINE('_BNR_CONTACT','You must select a contact for the client.'); +DEFINE('_BNR_VALID_EMAIL','You must select a valid email for the client.'); +DEFINE('_BNR_CLIENT','You must select a client,'); +DEFINE('_BNR_NAME','You must select a name for the banner.'); +DEFINE('_BNR_IMAGE','You must select a image for the banner.'); +DEFINE('_BNR_URL','You must select a URL/Custom banner code for the banner.'); + +/** components/com_login */ +DEFINE('_ALREADY_LOGIN','You are already logged in!'); +DEFINE('_LOGOUT','Click here to logout'); +DEFINE('_LOGIN_TEXT','Use the login and password fields opposite to gain full access'); +DEFINE('_LOGIN_SUCCESS','You have Logged In succesfully'); +DEFINE('_LOGOUT_SUCCESS','You have Logged Out successfully '); +DEFINE('_LOGIN_DESCRIPTION','To access the Private areas of this site please Login'); +DEFINE('_LOGOUT_DESCRIPTION','You are now Logged in to a private area of this site'); + + +/** components/com_weblinks */ +DEFINE('_WEBLINKS_TITLE','Web Links'); +DEFINE('_WEBLINKS_DESC','From the list below choose one of our web link categories, then select a URL to visit the site.'); +DEFINE('_HEADER_TITLE_WEBLINKS','Web Link'); +DEFINE('_SECTION','Section:'); +DEFINE('_SUBMIT_LINK','Submit A Web Link'); +DEFINE('_URL','URL:'); +DEFINE('_URL_DESC','Description:'); +DEFINE('_NAME','Name:'); +DEFINE('_WEBLINK_EXIST','There is already a web link that name, please try again.'); +DEFINE('_WEBLINK_TITLE','Your web link must be given a title.'); + +/** components/com_newfeeds */ +DEFINE('_FEED_NAME','Feed Name'); +DEFINE('_FEED_ARTICLES','# Articles'); +DEFINE('_FEED_LINK','Feed Link'); + +/** whos_online.php */ +DEFINE('_WE_HAVE', 'We have '); +DEFINE('_AND', ' and '); +DEFINE('_GUEST_COUNT','$guest_array guest'); +DEFINE('_GUESTS_COUNT','$guest_array guests'); +DEFINE('_MEMBER_COUNT','$user_array member'); +DEFINE('_MEMBERS_COUNT','$user_array members'); +DEFINE('_ONLINE',' online'); +DEFINE('_NONE','No Users Online'); + +/** modules/mod_stats.php */ +DEFINE('_TIME_STAT','Time'); +DEFINE('_MEMBERS_STAT','Members'); +DEFINE('_HITS_STAT','Hits'); +DEFINE('_NEWS_STAT','News'); +DEFINE('_LINKS_STAT','Web Links'); +DEFINE('_VISITORS','Visitors'); + +/** /adminstrator/components/com_menus/admin.menus.html.php */ +DEFINE('_MAINMENU_HOME','* The 1st Published item in this menu [mainmenu] is the default `Homepage` for the site *'); +DEFINE('_MAINMENU_DEL','* You cannot `delete` this menu as it is required for the proper operation of Mambo *'); +DEFINE('_MENU_GROUP','* Some `Menu Types` appear in more than one group *'); + + +/** administrators/components/com_users */ +DEFINE('_NEW_USER_MESSAGE_SUBJECT', 'New User Details' ); +DEFINE('_NEW_USER_MESSAGE', 'Hello %s, + + +You have been added as a user to %s by an Administrator. + +This email contains your username and password to log into the %s + +Username - %s +Password - %s + + +Please do not respond to this message as it is automatically generated and is for information purposes only'); + +/** administrators/components/com_massmail */ +DEFINE('_MASSMAIL_MESSAGE', "This is an email from '%s' + +Message: +" ); + +?> diff -ruN 4.6rc2/uploadfiles/language/glossary/it_IT.utf-8.po 4.6-complete/uploadfiles/language/glossary/it_IT.utf-8.po --- 4.6rc2/uploadfiles/language/glossary/it_IT.utf-8.po 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/glossary/it_IT.utf-8.po 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,6956 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Mambo 4.6\n" +"Report-Msgid-Bugs-To: translation@mambo-foundation.org\n" +"POT-Creation-Date: 2006-06-06 01:51+0100\n" +"PO-Revision-Date: 2006-06-06 2:04+0100\n" +"Last-Translator: Translation Team \n" +"Language-Team: Translation Team \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: administrator/components/com_admin/admin.admin.html.php:27 +msgid "Home" +msgstr "Home" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Advanced Mode" +msgstr "Modo avanzato" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Simple Mode" +msgstr "Modo base" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "selected" +msgstr "selezionato" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "unselected" +msgstr "deselezionato" + +#: administrator/components/com_admin/admin.admin.html.php:80 +msgid "Information" +msgstr "Informazione" + +#: administrator/components/com_admin/admin.admin.html.php:86 +#: administrator/components/com_admin/admin.admin.html.php:482 +msgid "System Info" +msgstr "Info Sistema" + +#: administrator/components/com_admin/admin.admin.html.php:91 +msgid "System Information" +msgstr "Informazioni Sistema" + +#: administrator/components/com_admin/admin.admin.html.php:97 +msgid "PHP built On:" +msgstr "PHP installato:" + +#: administrator/components/com_admin/admin.admin.html.php:107 +msgid "Database Version:" +msgstr "Versione Database:" + +#: administrator/components/com_admin/admin.admin.html.php:117 +msgid "PHP Version:" +msgstr "Versione PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:127 +msgid "Web Server:" +msgstr "Web Server:" + +#: administrator/components/com_admin/admin.admin.html.php:137 +msgid "WebServer to PHP interface:" +msgstr "Interfaccia web server a PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:147 +msgid "Mambo Version:" +msgstr "Versione Mambo:" + +#: administrator/components/com_admin/admin.admin.html.php:157 +msgid "User Agent:" +msgstr "Agente Utente:" + +#: administrator/components/com_admin/admin.admin.html.php:167 +msgid "Relevant PHP Settings:" +msgstr "Configurazione PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:174 +msgid "Safe Mode:" +msgstr "Safe Mode:" + +#: administrator/components/com_admin/admin.admin.html.php:182 +msgid "Open basedir:" +msgstr "Directory di base:" + +#: administrator/components/com_admin/admin.admin.html.php:190 +msgid "Display Errors:" +msgstr "Mostra errori" + +#: administrator/components/com_admin/admin.admin.html.php:198 +msgid "Short Open Tags:" +msgstr "Short Open Tags:" + +#: administrator/components/com_admin/admin.admin.html.php:206 +msgid "File Uploads:" +msgstr "Carica files:" + +#: administrator/components/com_admin/admin.admin.html.php:214 +msgid "Magic Quotes" +msgstr "Magic Quotes" + +#: administrator/components/com_admin/admin.admin.html.php:222 +msgid "Register Globals:" +msgstr "Register Globals:" + +#: administrator/components/com_admin/admin.admin.html.php:230 +msgid "Output Buffering:" +msgstr "Output Buffering:" + +#: administrator/components/com_admin/admin.admin.html.php:238 +msgid "Session save path:" +msgstr "Session save path:" + +#: administrator/components/com_admin/admin.admin.html.php:246 +msgid "Session auto start:" +msgstr "Session auto start:" + +#: administrator/components/com_admin/admin.admin.html.php:254 +msgid "XML enabled:" +msgstr "XML abilitato" + +#: administrator/components/com_admin/admin.admin.html.php:262 +msgid "Zlib enabled:" +msgstr "Zlib abilitate:" + +#: administrator/components/com_admin/admin.admin.html.php:270 +msgid "Disabled Functions:" +msgstr "Funzioni disabilitate" + +#: administrator/components/com_admin/admin.admin.html.php:285 +msgid "WYSIWYG Editor:" +msgstr "Editore WYSIWYG :" + +#: administrator/components/com_admin/admin.admin.html.php:297 +msgid "Configuration File:" +msgstr "File di configurazione" + +#: administrator/components/com_admin/admin.admin.html.php:323 +msgid "PHP Info" +msgstr "Info PHP" + +#: administrator/components/com_admin/admin.admin.html.php:328 +msgid "PHP Information" +msgstr "Informazioni sul PHP" + +#: administrator/components/com_admin/admin.admin.html.php:350 +msgid "Permissions" +msgstr "Permessi" + +#: administrator/components/com_admin/admin.admin.html.php:354 +msgid "Directory Permissions" +msgstr "Permessi cartelle" + +#: administrator/components/com_admin/admin.admin.html.php:358 +msgid "" +"For all Mambo functions and features to work ALL of the following " +"directories should be writeable:" +msgstr "" +"Perché tutte le funzioni di Mambo siano attive e funzionanti, TUTTE le " +"seguenti cartelle dovranno essere scrivibili:" + +#: administrator/components/com_admin/admin.admin.html.php:434 +msgid "Help" +msgstr "Aiuto" + +#: administrator/components/com_admin/admin.admin.html.php:442 +msgid "Search:" +msgstr "Cerca" + +#: administrator/components/com_admin/admin.admin.html.php:445 +msgid "Go" +msgstr "Vai" + +#: administrator/components/com_admin/admin.admin.html.php:446 +msgid "Clear Results" +msgstr "Cancella risultati" + +#: administrator/components/com_admin/admin.admin.html.php:453 +#: administrator/components/com_admin/admin.admin.html.php:464 +msgid "Glossary" +msgstr "Glossario" + +#: administrator/components/com_admin/admin.admin.html.php:456 +#: administrator/components/com_admin/admin.admin.html.php:467 +msgid "Credits" +msgstr "Crediti" + +#: administrator/components/com_admin/admin.admin.html.php:459 +#: administrator/components/com_admin/admin.admin.html.php:470 +msgid "Support" +msgstr "Supporto" + +#: administrator/components/com_admin/admin.admin.html.php:476 +msgid "License" +msgstr "Licenza" + +#: administrator/components/com_admin/admin.admin.html.php:491 +msgid "Search Results" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:493 +msgid "Index" +msgstr "Indice" + +#: administrator/components/com_admin/admin.admin.html.php:536 +msgid "Site Preview" +msgstr "Anteprima sito" + +#: administrator/components/com_admin/admin.admin.html.php:540 +msgid "Open in new window" +msgstr "Apri in una nuova finestra" + +#: administrator/components/com_admin/admin.admin.php:22 +msgid "There is no link associated with this item" +msgstr "Non ci sono links associati a questo elemento" + +#: administrator/components/com_checkin/admin.checkin.php:17 +msgid "You are not authorized to view this resource." +msgstr "Non si dispone dell'autorizzazione per vedere questa risorsa" + +#: administrator/components/com_checkin/admin.checkin.php:22 +msgid "Global Check-in" +msgstr "Controllo globale" + +#: administrator/components/com_checkin/admin.checkin.php:27 +msgid "Database Table" +msgstr "Tabelle database" + +#: administrator/components/com_checkin/admin.checkin.php:28 +msgid "# of Items" +msgstr "# di elementi" + +#: administrator/components/com_checkin/admin.checkin.php:29 +msgid "Checked-In" +msgstr "Sbloccati" + +#: administrator/components/com_checkin/admin.checkin.php:76 +#: administrator/components/com_checkin/admin.checkin.php:83 +msgid "Checking table" +msgstr "Controllo tabella" + +#: administrator/components/com_checkin/admin.checkin.php:77 +#: administrator/components/com_checkin/admin.checkin.php:84 +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "Sbloccato %d elemento" +msgstr[1] "Sbloccati %d elementi" + +#: administrator/components/com_checkin/admin.checkin.php:95 +msgid "Checked out items have now been all checked in" +msgstr "Tutti gli elementi bloccati sono stati ripristinati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:42 +msgid "XML ERROR in %s: %s at line %d" +msgstr "ERRORE XML in %s: %s alla linea %d" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:48 +msgid "Unable to open XML file %s" +msgstr "Impossibile aprire il file XML %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:51 +msgid "XML error in %s - unclosed tag(s) (%s) at end of file" +msgstr "Errore XML in %s - tag non chiusi (%s) alla fine del file" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:78 +msgid "XML error in %s: %s is not a valid containing element" +msgstr "Errore XML in %s: %s non è un elemento contenitore valido" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:79 +msgid "XML error in %s: %s not permitted within %s" +msgstr "Errore XML in %s: %s non è permesso con %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:88 +msgid "XML error in %s: expected MOSINSTALL but found %s" +msgstr "Errore XML in %s atteso MOSINSTALL ma trovato %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:94 +msgid "XML error in %s: last open tag was %s, but found end of %s" +msgstr "" +"Errore XML in %s l’ultimo tag aperto era %s, ma è stata trovata la fine di %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:106 +msgid "XML handler error - no method provided to deal with character data" +msgstr "Errore gestore XML - nessun metodo ha fornito i dati carattere" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:111 +msgid "XML error in %s: mosinstall does not have type attribute" +msgstr "Errore XML in %s mosinstall non ha attributi di tipo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:280 +msgid "Handler not defined for type" +msgstr "Gestore non definito per il tipo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:293 +msgid "There are no Parameters for this item" +msgstr "Non ci sono parametri per questo elemento" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:43 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:78 +msgid "Please make a selection from the list to %s" +msgstr "Prego effettuare una selezione dalla lista a %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:108 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:128 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:55 +msgid "New" +msgstr "Nuovo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:166 +msgid "Publish" +msgstr "Pubblica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:171 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:102 +msgid "Please make a selection from the list to publish" +msgstr "Prego effettuare una selezione dalla lista per pubblicazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:185 +msgid "Default" +msgstr "Predefinito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:190 +msgid "Please select an item to make default" +msgstr "Prego selezionare un elemento come predefinito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:204 +msgid "Assign" +msgstr "Assegna" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:209 +msgid "Please select an item to assign" +msgstr "Prego selezionare un elemento da assegnare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:223 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:242 +msgid "Unpublish" +msgstr "Non pubblicare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:247 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:142 +msgid "Please make a selection from the list to unpublish" +msgstr "Prego effettuare una selezione dalla lista per depubblicare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:261 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:150 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:155 +msgid "Archive" +msgstr "Archivio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:266 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:162 +msgid "Please make a selection from the list to archive" +msgstr "Prego effettuare una selezione dalla lista per archiviare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:280 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:175 +msgid "Unarchive" +msgstr "Non archiviare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:285 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:182 +msgid "Please select a news story to unarchive" +msgstr "Prego selezionare una nuova storia da ripubblicare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:299 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:319 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:195 +msgid "Edit" +msgstr "Modifica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:304 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:324 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:343 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:363 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:382 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:402 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:202 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:221 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:240 +msgid "Please select an item from the list to edit" +msgstr "Prego selezionare un articolo dalla lista per modificarlo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:338 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:358 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:215 +msgid "Edit HTML" +msgstr "Modifica HTML" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:377 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:397 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:234 +msgid "Edit CSS" +msgstr "Modifica CSS" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:417 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:438 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:254 +msgid "Delete" +msgstr "Cancella" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:422 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:443 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:261 +msgid "Are you sure you want to delete selected items?" +msgstr "Sei sicuro di voler cancellare l’articolo selezionato?" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:422 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:443 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:261 +msgid "Please make a selection from the list to delete" +msgstr "Prego effettuare una selezione dalla lista, per cancellare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:455 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:79 +msgid "Trash" +msgstr "Cestino" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:474 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:475 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:80 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:277 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:278 +msgid "Preview" +msgstr "Anteprima" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:540 +msgid "Apply" +msgstr "Applica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:560 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:294 +msgid "Save" +msgstr "Salva" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:611 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:344 +msgid "Cancel" +msgstr "Annulla" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:629 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:239 +msgid "Back" +msgstr "Indietro" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:664 +msgid "Upload" +msgstr "Carica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:669 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:670 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:391 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:392 +msgid "Upload Image" +msgstr "Carica immagine" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:86 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:410 +msgid "" +"New items default to the last place. Ordering can be changed after this item " +"is saved." +msgstr "" +"I nuovi elementi vanno automaticamente in ultima posizione. L’ordinamento " +"può essere cambiato dopo che l’elemento è stato salvato." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:181 +msgid "Parent Window With Browser Navigation" +msgstr "Stessa finestra, con navigazione browser" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:182 +msgid "New Window With Browser Navigation" +msgstr "Nuova finestra con navigazione browser" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:183 +msgid "New Window Without Browser Navigation" +msgstr "Nuova finestra senza navigazione browser" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:242 +msgid "All" +msgstr "Tutto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:248 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:451 +msgid "None" +msgstr "Nessuno" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:304 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:503 +msgid "- All Sections -" +msgstr "- Tutte le sezioni -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:390 +msgid "- Select Image -" +msgstr "- Seleziona immagine -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:408 +msgid "" +"New items default to the first place. Ordering can be changed after this " +"item is saved." +msgstr "" +"I nuovi elementi vanno automaticamente in prima posizione. L’ordinamento può " +"essere cambiato dopo che l’elemento è stato salvato." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:435 +msgid "- No User -" +msgstr "- Nessun utente -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:454 +msgid "Center" +msgstr "Centro" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:457 +msgid "Left" +msgstr "Sinistra" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:460 +msgid "Right" +msgstr "Destra" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:482 +msgid "- All Categories -" +msgstr "- Tutte le categorie -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:489 +msgid "You must create a category first." +msgstr "Si deve creare una categoria, prima." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:73 +msgid "Results %d to %d of %d" +msgstr "Risultati %d a %d di %d" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:75 +msgid "No records found." +msgstr "Nessun record trovato." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:102 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:105 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:105 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:108 +msgid "Start" +msgstr "Inizio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:102 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:105 +msgid "first page" +msgstr "prima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:103 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:106 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:106 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:109 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:226 +msgid "Previous" +msgstr "Precedente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:103 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:106 +msgid "previous page" +msgstr "pagina precedente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:121 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:124 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:124 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:127 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:217 +msgid "Next" +msgstr "Prossimo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:121 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:124 +msgid "next page" +msgstr "prossima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:122 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:125 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:125 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:128 +msgid "End" +msgstr "Fine" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:122 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:125 +msgid "end page" +msgstr "fine pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:65 +msgid "Control Panel" +msgstr "Pannello di controllo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:69 +msgid "Site" +msgstr "Sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:69 +msgid "Site Management" +msgstr "Gestione sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:72 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:292 +msgid "Configuration" +msgstr "Configurazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:72 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:115 +msgid "Global Configuration" +msgstr "Configurazione globale" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:76 +msgid "Language Manager" +msgstr "Gestore lingue" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:76 +msgid "Manage languages" +msgstr "Gestione lingue" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:79 +msgid "Manage Media Files" +msgstr "Gestione file Media" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:79 +msgid "Media Manager" +msgstr "Gestore Media" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:81 +msgid "In New Window" +msgstr "In una nuova finestra" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:82 +msgid "Inline" +msgstr "In linea" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:83 +msgid "Inline with Positions" +msgstr "In linea con posizioni" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:85 +msgid "Site Statistics" +msgstr "Statistiche sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:85 +msgid "Statistics" +msgstr "Statistiche" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:88 +msgid "Browser, OS, Domain" +msgstr "Browser, SO, Domini" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:89 +msgid "Page Impressions" +msgstr "Pagine visitate" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:92 +msgid "Search Text" +msgstr "Testi di ricerca" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:96 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:97 +msgid "Change site template" +msgstr "Cambia template del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:96 +msgid "Template Manager" +msgstr "Gestore template" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:97 +msgid "Site Templates" +msgstr "Templates del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:98 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:101 +msgid "Install" +msgstr "Installa" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:98 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Install Site Templates" +msgstr "Installa Template del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:100 +msgid "Administrator Templates" +msgstr "Template amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:100 +msgid "Change admin template" +msgstr "Cambia template amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:101 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Install Administrator Templates" +msgstr "Installa template amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:103 +msgid "Module Positions" +msgstr "Posizione moduli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:103 +msgid "Template positions" +msgstr "Posizione template" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:108 +msgid "Manage Trash" +msgstr "Gestisci cestino" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:108 +msgid "Trash Manager" +msgstr "Gestore cestino" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:112 +msgid "Manage users" +msgstr "Gestisci utenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:112 +msgid "User Manager" +msgstr "Gestore utenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:119 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_stats.php:24 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:438 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:517 +msgid "Menu" +msgstr "Menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:119 +msgid "Menu Management" +msgstr "Gestione menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:122 +msgid "Menu Manager" +msgstr "Gestore menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:134 +msgid "Content" +msgstr "Contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:134 +msgid "Content Management" +msgstr "Gestione contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:137 +msgid "Content Managers" +msgstr "Gestore contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:137 +msgid "Content by Section" +msgstr "Contenuti per sezione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:144 +msgid "Items" +msgstr "Articoli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:147 +msgid "Add/Edit" +msgstr "Aggiungi/Modifica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:58 +msgid "Categories" +msgstr "Categorie" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:161 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:28 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:137 +msgid "All Content Items" +msgstr "Tutti gli articoli di contenuto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:161 +msgid "Manage Content Items" +msgstr "Gestisci articoli di contenuto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:162 +msgid "Manage Typed Content Items" +msgstr "Gestisci articoli di contenuto testuale" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:162 +msgid "Static Content Manager" +msgstr "Gestore contenuti statici" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:164 +msgid "Manage Content Sections" +msgstr "Gestione sezione contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:164 +msgid "Section Manager" +msgstr "Gestore sezioni" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:167 +msgid "Category Manager" +msgstr "Gestore categorie" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:167 +msgid "Manage Content Categories" +msgstr "Gestisci categorie di contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:171 +msgid "Frontpage Manager" +msgstr "Gestore prima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:171 +msgid "Manage Frontpage Items" +msgstr "Gestisci articoli in prima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:172 +msgid "Archive Manager" +msgstr "Gestore archivio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:172 +msgid "Manage Archive Items" +msgstr "Gestisci articoli in archivio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:178 +msgid "Component Management" +msgstr "Gestore componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:178 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:281 +msgid "Components" +msgstr "Componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install/Uninstall" +msgstr "Installa/Disinstalla" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +msgid "Install/Uninstall components" +msgstr "Installa/Disinstalla componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:223 +msgid "More Components" +msgstr "Altri componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:223 +msgid "More Components..." +msgstr "Altri componenti..." + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:231 +msgid "Module Management" +msgstr "Gestione moduli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:231 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Modules" +msgstr "Moduli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +msgid "Install custom modules" +msgstr "Installa moduli personalizzati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:239 +msgid "Manage Site modules" +msgstr "Gestisci moduli del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:239 +msgid "Site Modules" +msgstr "Moduli del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:240 +msgid "Administrator Modules" +msgstr "Moduli amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:240 +msgid "Manage Administrator modules" +msgstr "Gestione moduli amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:250 +msgid "Mambot Management" +msgstr "Gestione mambot" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:250 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Mambots" +msgstr "Mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install custom mambot" +msgstr "Installa mambot personalizzato" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:258 +msgid "Manage Site Mambots" +msgstr "Gestione mambots del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:258 +msgid "Site Mambots" +msgstr "Mambots del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:269 +msgid "Installer List" +msgstr "Elenco installatore" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:269 +msgid "Installers" +msgstr "Installatore" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Templates - Site" +msgstr "Templates - Sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Templates - Admin" +msgstr "Templates - Amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:277 +msgid "Install Languages" +msgstr "Installa lingua" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:277 +msgid "Languages" +msgstr "Lingue" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:281 +msgid "Install/Uninstall Components" +msgstr "Installa/Disinstalla componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Install/Uninstall Modules" +msgstr "Installa/Disinstalla moduli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Install/Uninstall Mambots" +msgstr "Installa/Disinstalla mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:290 +msgid "Messages" +msgstr "Messaggi" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:290 +msgid "Messaging Management" +msgstr "Gestione messaggi" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:291 +msgid "Inbox" +msgstr "Arrivati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:291 +msgid "Private Messages" +msgstr "Messaggi privati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:297 +msgid "System" +msgstr "Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:297 +msgid "System Management" +msgstr "Gestione sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:300 +msgid "Check-in all checked-out items" +msgstr "Sblocca tutti gli elementi bloccati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:300 +msgid "Global Checkin" +msgstr "Controllo generale" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:301 +msgid "View System Information" +msgstr "Vedi informazioni di sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:304 +msgid "Clean Cache" +msgstr "Pulisci la cache" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:304 +msgid "Clean the content items cache" +msgstr "Pulisci la cache dagli elementi di contenuto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_latest.php:27 +msgid "Most Recently Added Content" +msgstr "Ultimi contenuti aggiunti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_latest.php:43 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:64 +msgid "Edit User" +msgstr "Modifica utente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:56 +msgid "Currently Logged in Users" +msgstr "Utenti attualmente connessi" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:84 +msgid "Force Logout User" +msgstr "Forza disconnessione utente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:84 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:62 +msgid "Logout" +msgstr "Disconnetti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_online.php:22 +msgid "Users Online" +msgstr "Utenti online" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:27 +msgid "Most Popular Items" +msgstr "Articoli più popolari" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:30 +msgid "Created" +msgstr "Creato" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:33 +msgid "Hits" +msgstr "Visite" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:35 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:144 +msgid "Static Content" +msgstr "Contenuto statico" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:42 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:152 +msgid "Frontpage" +msgstr "Prima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:51 +msgid "Sections" +msgstr "Sezioni" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:65 +msgid "Media" +msgstr "Media" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:89 +msgid "Menus" +msgstr "Menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:102 +msgid "Users" +msgstr "Utenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_stats.php:27 +msgid "# Items" +msgstr "# Articoli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_unread.php:17 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_unread.php:19 +msgid "Mail" +msgstr "Posta" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:22 +msgid "Content Preview" +msgstr "Anteprima contenuto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:60 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/modulewindow.php:68 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:49 +msgid "Close" +msgstr "Chiudi" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:61 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:276 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:278 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:285 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:294 +msgid "Print" +msgstr "Stampa" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/modulewindow.php:40 +msgid "Module Preview" +msgstr "Anteprima modulo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:25 +msgid "Poll Preview" +msgstr "Anteprima sondaggio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:46 +msgid "Results" +msgstr "Risultati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:46 +msgid "Vote" +msgstr "Vota" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:25 +msgid "Please select an image to upload" +msgstr "Prego selezionare un’immagine da caricare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:31 +msgid "File must only contain alphanumeric characters and no spaces please." +msgstr "Il file deve contenere solo caratteri alfanumerici e nessuno spazio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:36 +msgid "Image %s already exists." +msgstr "L’immagine %s esiste già." + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:41 +msgid "The file must be gif, png, jpg, bmp, swf, doc, xls or ppt" +msgstr "Il file deve essere gif, png, jpg, bmp, swf, doc, xls o ppt" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:48 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:56 +msgid "Upload of $userfile_name failed" +msgstr "Caricamento di $userfile_name fallito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:52 +msgid "Upload of $userfile_name to $media_path successful" +msgstr "Caricamento di $userfile_name in $media_path effettuato" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:60 +msgid "Upload of $userfile_name to $base_Dir successful" +msgstr "Caricamento di $userfile_name in $base_Dir effettuato" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:84 +msgid "File Upload :" +msgstr "Caricamento file:" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:94 +msgid "Max size" +msgstr "Grandezza massima" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/index.php:50 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:34 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:50 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:88 +msgid "Mambo Logo" +msgstr "Logo Mambo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:19 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:22 +msgid "Administration" +msgstr "Amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:40 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:49 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/login.php:40 +msgid "Login" +msgstr "Entra" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:43 +msgid "Username" +msgstr "Nome utente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:45 +msgid "Password" +msgstr "Password" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:55 +msgid "Welcome to Mambo!" +msgstr "benvenuto in Mambo!" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:56 +msgid "" +"Use a valid username and password to gain access to the administration " +"console." +msgstr "" +"Usa un nome utente ed una password validi per accedere al pannello di " +"controllo" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:36 +msgid "Please make a selection from the list to" +msgstr "Prego effettuare una selezione dalla lista a" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:75 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:95 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:473 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:560 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:653 +msgid "Published" +msgstr "Pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:115 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:135 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:653 +msgid "Unpublished" +msgstr "Non pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:312 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:313 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:327 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:328 +msgid "save" +msgstr "salva" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:363 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:364 +msgid "back" +msgstr "indietro" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:35 +msgid "Please complete the username and password fields." +msgstr "Prego completare i campi nome utente e password." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:41 +msgid "Logins are not permitted. There is no authentication check active." +msgstr "Entrata non permessa. Non ci sono controlli di autenticazione attivi." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:72 +msgid "Your login has been blocked. Please contact the administrator." +msgstr "" +"Il tuo accesso è stato bloccato. Per favore contattare l’amministratore" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:103 +msgid "Incorrect username or password. Please try again." +msgstr "Nome utente o password non corretti. Per favore prova ancora." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:147 +msgid "Please enter a password" +msgstr "Prego inserire una password" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:166 +msgid "You cannot login. There are no administrators set up." +msgstr "Non puoi entrare. Non ci sono amministratori configurati." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:172 +msgid "Incorrect Username, Password, or Access Level. Please try again" +msgstr "" +"Nome utente, password o livello di accesso non corretti. Per favore, prova " +"ancora" + +#: D:/releases/svn/mambo/branches/4.6/includes/cmtclasses.php:348 +msgid "Your Module must contain a title." +msgstr "Il modulo deve avere un titolo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:21 +msgid "Unwriteable" +msgstr "Non scrivibile" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:21 +msgid "Writeable" +msgstr "Scrivibile" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:95 +msgid "January" +msgstr "Gennaio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:96 +msgid "February" +msgstr "Febbraio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:97 +msgid "March" +msgstr "Marzo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:98 +msgid "April" +msgstr "Aprile" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:99 +msgid "May" +msgstr "Maggio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:100 +msgid "June" +msgstr "Giugno" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:101 +msgid "July" +msgstr "Luglio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:102 +msgid "August" +msgstr "Agosto" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:103 +msgid "September" +msgstr "Settembre" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:104 +msgid "October" +msgstr "Ottobre" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:105 +msgid "November" +msgstr "Novembre" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:106 +msgid "December" +msgstr "Dicembre" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:121 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:171 +msgid "Yes" +msgstr "Si" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:122 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:170 +msgid "No" +msgstr "No" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:195 +msgid "No Sorting" +msgstr "Nessun ordinamento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:196 +msgid "Sort Ascending" +msgstr "Ordinamento ascendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:197 +msgid "Sort Descending" +msgstr "Ordibamento discendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:222 +msgid "Close Window" +msgstr "Chiudi finestra" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:350 +msgid "" +"This email address is being protected from spam bots, you need Javascript " +"enabled to view it" +msgstr "" +"Questo indirizzo email è protetto contro i robot spam, hai bisogno del " +"Javascript abilitato, per vederlo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:375 +msgid "Pending" +msgstr "In attesa" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:378 +msgid "Published, but is Pending" +msgstr "Pubblicato, ma è in attesa" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:381 +msgid "Visible" +msgstr "Visibile" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:384 +msgid "Published and is Current" +msgstr "Attualmente pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:387 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:393 +msgid "Finished" +msgstr "Finito" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:390 +msgid "Published, but has Expired" +msgstr "Pubblicazione scaduta" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:396 +msgid "Not Published" +msgstr "Non pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:401 +msgid "Click on icon to toggle state." +msgstr "Cliccare sull’icona per cambiare lo stato." + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:441 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:520 +msgid "Go to Menu" +msgstr "Vai la menu" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:448 +msgid "Link Name" +msgstr "Nome collegamento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:452 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:539 +msgid "Go to Menu Item" +msgstr "Vai al menu articoli" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:460 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:547 +msgid "State" +msgstr "Stato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:466 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:553 +msgid "Trashed" +msgstr "Cestinato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:469 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:556 +msgid "UnPublished" +msgstr "Non pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:527 +msgid "Type" +msgstr "Tipo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:535 +msgid "Item Name" +msgstr "Nome elemento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:584 +msgid "Checked Out" +msgstr "Bloccato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:654 +msgid "Publish item" +msgstr "Pubblica elemento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:654 +msgid "Unpublish Item" +msgstr "Non pubblicare elemento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:21 +msgid "User Submitted '%s'" +msgstr "Utente inviato '%s'" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:22 +msgid "" +"Hello %s,\\n\\n\\nA user submitted %s:\\n [ %s ]\\n has been just been " +"submitted by user:\\n [ %s ]\\n" +msgstr "" +"Ciao %s,\\n\\n\\nUn utente ha inviato %s:\\n [ %s ]\\n è stato appena " +"inserito dall’utente:\\n [ %s ]\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:23 +msgid " for %.\\n\\n\\n\\n" +msgstr "per %.\\n\\n\\n\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:24 +msgid "Please go to %s/administrator to view and approve this %s.\\n\\n" +msgstr "" +"Per favore, vai in amministrazione di %s/ per vederlo ed eventualmente " +"approvarlo %s.\\n\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:25 +msgid "" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only\\n" +msgstr "" +"Per favore, non rispondere a questo messaggio, in quanto è stato generato " +"automaticamente a puro scopo informativo\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:50 +msgid "You need to login." +msgstr "Devi identificarti." + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:334 +msgid "Mambo Warning" +msgstr "Avviso Mambo" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:67 +msgid "Results %d - %d of %d" +msgstr "Risultati %d - %d di %d" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:79 +msgid "Page %d of %d" +msgstr "Pagina %d di %d" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:67 +msgid "Powered by Mambo" +msgstr "Powered by Mambo" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:68 +msgid "Generated:" +msgstr "Generato:" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:95 +msgid "Written by" +msgstr "Scritto da" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:97 +msgid "Contributed by" +msgstr "Contributi di" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:103 +msgid "Last Updated" +msgstr "Ultimo aggiornamento" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:121 +msgid "OFF" +msgstr "OFF" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:121 +msgid "ON" +msgstr "ON" + +#: D:/releases/svn/mambo/branches/4.6/includes/phpgettext/phpgettext.includes.php:283 +msgid "Text Domains" +msgstr "Dominio testuale" + +#: D:/releases/svn/mambo/branches/4.6/includes/phpgettext/phpgettext.includes.php:290 +msgid "Main" +msgstr "Principale" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:58 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:183 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:194 +msgid "Page" +msgstr "Pagina" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:142 +msgid "Article Index" +msgstr "Indice articoli" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:215 +msgid "Next >>" +msgstr "Prossimi >>" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:224 +msgid "<<Previous" +msgstr "<\n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"Questo sposterà le categorie elencate\n" +"\t\t\t
      \n" +"\t\t\te tutti gli articoli contenuti in esse (anche loro elencati)\n" +"\t\t\t
      \n" +"\t\t\talla sezione selezionata." + +#: administrator/components/com_categories/admin.categories.html.php:628 +msgid "Copy Category" +msgstr "Copia categoria" + +#: administrator/components/com_categories/admin.categories.html.php:638 +msgid "Copy to Section:" +msgstr "Copia alla sezione:" + +#: administrator/components/com_categories/admin.categories.html.php:644 +msgid "Categories being copied:" +msgstr "Categoria che sarà copiata" + +#: administrator/components/com_categories/admin.categories.html.php:655 +msgid "Content Items being copied:" +msgstr "Articolo di contenuto che sarà copiato:" + +#: administrator/components/com_categories/admin.categories.html.php:666 +msgid "" +"\n" +"\t\t\tThis will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"\n" +"\t\t\tQuesto copierà le categorie elencate\n" +"\t\t\t
      \n" +"\t\t\te tutti gli articoli contenuti in esse (anche loro elencati)\n" +"\t\t\t
      \n" +"\t\t\talla sezione selezionata." + +#: administrator/components/com_categories/admin.categories.php:142 +msgid "Component: " +msgstr "Componente:" + +#: administrator/components/com_categories/admin.categories.php:251 +msgid "The category %s is currently being edited by another administrator" +msgstr "" +"La categoria %s è in corso di modifica da parte di un altro amministratore" + +#: administrator/components/com_categories/admin.categories.php:270 +msgid "Category Table" +msgstr "Tabella categoria" + +#: administrator/components/com_categories/admin.categories.php:278 +msgid "Category Blog Archive" +msgstr "Archivio blog categoria" + +#: administrator/components/com_categories/admin.categories.php:322 +msgid "Select Type" +msgstr "Seleziona tipo" + +#: administrator/components/com_categories/admin.categories.php:324 +#: administrator/components/com_categories/admin.categories.php:797 +msgid "Contact Category Table" +msgstr "Tabella categoria contatti" + +#: administrator/components/com_categories/admin.categories.php:327 +#: administrator/components/com_categories/admin.categories.php:802 +msgid "Newsfeed Category Table" +msgstr "Tabella categoria newsfeed" + +#: administrator/components/com_categories/admin.categories.php:330 +#: administrator/components/com_categories/admin.categories.php:807 +msgid "Weblink Category Table" +msgstr "Tabella categoria weblinks" + +#: administrator/components/com_categories/admin.categories.php:332 +#: administrator/components/com_categories/admin.categories.php:782 +msgid "Content Category Table" +msgstr "Tabella categoria contenuti" + +#: administrator/components/com_categories/admin.categories.php:333 +#: administrator/components/com_categories/admin.categories.php:787 +msgid "Content Category Blog" +msgstr "Blog contenuti categoria" + +#: administrator/components/com_categories/admin.categories.php:334 +msgid "Content Category Archive Blog" +msgstr "Blog archivio contenuti categoria" + +#: administrator/components/com_categories/admin.categories.php:447 +msgid "Select a category to delete" +msgstr "Seleziona una categoria cancellare" + +#: administrator/components/com_categories/admin.categories.php:524 +msgid "Select a category to %s" +msgstr "Seleziona una categoria da %s" + +#: administrator/components/com_categories/admin.categories.php:585 +#: administrator/components/com_categories/admin.categories.php:655 +msgid "Select an item to move" +msgstr "Seleziona un articolo da spostare" + +#: administrator/components/com_categories/admin.categories.php:741 +msgid "%d Category copied to %s" +msgid_plural "%d Categories copied to %s" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_categories/admin.categories.php:792 +msgid "Content Category Blog Archive" +msgstr "Archivio blog contenuto categoria" + +#: administrator/components/com_categories/admin.categories.php:833 +msgid "%s ( %s ) in menu: %s successfully created" +msgstr "%s ( %s ) nel menu: %s creato correttamente" + +#: administrator/components/com_categories/admin.categories.php:872 +msgid "New ordering saved" +msgstr "Nuovo ordinamento salvato" + +#: administrator/components/com_categories/toolbar.categories.html.php:80 +msgid "Move" +msgstr "Sposta" + +#: administrator/components/com_categories/toolbar.categories.html.php:82 +msgid "Copy" +msgstr "Copia" + +#: administrator/components/com_config/admin.config.html.php:106 +msgid "configuration.php is :" +msgstr "configuration.php è:" + +#: administrator/components/com_config/admin.config.html.php:116 +msgid "Make unwriteable after saving" +msgstr "Rendi non scrivibile, dopo il salvataggio" + +#: administrator/components/com_config/admin.config.html.php:123 +msgid "Override write protection while saving" +msgstr "" +"Annulla temporaneamente la protezione per permettere il salvataggio dei dati" + +#: administrator/components/com_config/admin.config.html.php:137 +msgid "Site Offline:" +msgstr "Sito non in linea:" + +#: administrator/components/com_config/admin.config.html.php:141 +msgid "Offline Message:" +msgstr "Messaggio sito non in linea:" + +#: administrator/components/com_config/admin.config.html.php:143 +msgid "A message that displays if your site is offline" +msgstr "Il messaggio che viene mostrato in caso di sito non in linea" + +#: administrator/components/com_config/admin.config.html.php:148 +msgid "System Error Message:" +msgstr "Messaggio errore di sistema:" + +#: administrator/components/com_config/admin.config.html.php:150 +msgid "A message that displays if Mambo could not connect to the database" +msgstr "" +"Il messaggio che viene mostrato se Mambo non può connettersi al database" + +#: administrator/components/com_config/admin.config.html.php:155 +msgid "Site Name:" +msgstr "Nome del sito:" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "Show UnAuthorized Links:" +msgstr "Mostra collegamenti non autorizzati:" + +#: administrator/components/com_config/admin.config.html.php:161 +msgid "" +"If yes, will show links to content to registered content even if you are not " +"logged in. The user will need to login to see the item in full." +msgstr "" +"Se SI, mostrerà i contenuti riservati agli utenti registrati, anche ai " +"visitatori, ma l'utente dovrà essere connesso al sito, per vedere l'articolo " +"per intero." + +#: administrator/components/com_config/admin.config.html.php:166 +msgid "Allow User Registration:" +msgstr "Permetti la registrazione di nuovi utenti:" + +#: administrator/components/com_config/admin.config.html.php:168 +msgid "If yes, allows users to self-register" +msgstr "Se SI, permette agli utenti di auto registrarsi" + +#: administrator/components/com_config/admin.config.html.php:173 +msgid "Use New Account Activation:" +msgstr "Usa l'attivazione del nuovo account:" + +#: administrator/components/com_config/admin.config.html.php:176 +msgid "" +"If yes, the user will be mailed a link to activate their account before they " +"can log in." +msgstr "" +"Se SI, all'utente sarà inviata una mail contenente un collegamento per " +"attivare il proprio account e confermare l'iscrizione, prima di potersi " +"identificare sul sito." + +#: administrator/components/com_config/admin.config.html.php:181 +msgid "Require Unique Email:" +msgstr "Richiedi email univoca:" + +#: administrator/components/com_config/admin.config.html.php:183 +msgid "If yes, users cannot share the same email address" +msgstr "" +"Se si, nel database non potranno esserci indirizzi email condivisi tra gli " +"utenti, ma ognuno dovrà avere un indirizzo univoco" + +#: administrator/components/com_config/admin.config.html.php:188 +msgid "Debug Site:" +msgstr "Debug del sito:" + +#: administrator/components/com_config/admin.config.html.php:190 +msgid "If yes, displays diagnostic information and SQL errors if present" +msgstr "" +"Se SI, mostra informazioni diagnostiche ed eventuali errori SQL se presenti" + +#: administrator/components/com_config/admin.config.html.php:199 +msgid "List Length:" +msgstr "Lunghezza elenchi:" + +#: administrator/components/com_config/admin.config.html.php:201 +msgid "Sets the default length of lists in the administrator for all users" +msgstr "" +"Configura la lunghezza predefinita degli elenchi che sono usati in " +"amministrazione ed è valida per tutti gli utenti " + +#: administrator/components/com_config/admin.config.html.php:206 +msgid "Favourites Site Icon:" +msgstr "Icona Preferita per il sito:" + +#: administrator/components/com_config/admin.config.html.php:210 +msgid "" +"If left blank or the file cannot be found, the default favicon.ico will be " +"used." +msgstr "" +"Se lasciata in bianco o il file non viene trovato, sarà usata l'icona " +"preconfigurata favicon.ico." + +#: administrator/components/com_config/admin.config.html.php:211 +msgid "Favourite Icon" +msgstr "Icona preferita" + +#: administrator/components/com_config/admin.config.html.php:217 +msgid "Locale" +msgstr "Locale" + +#: administrator/components/com_config/admin.config.html.php:221 +msgid "Language:" +msgstr "Lingua:" + +#: administrator/components/com_config/admin.config.html.php:225 +msgid "Time Offset:" +msgstr "Scarto orario:" + +#: administrator/components/com_config/admin.config.html.php:229 +msgid "Current date/time configured to display: %s" +msgstr "Le data ed ora attuali sono: %s" + +#: administrator/components/com_config/admin.config.html.php:234 +msgid "Country Locale:" +msgstr "Nazione locale" + +#: administrator/components/com_config/admin.config.html.php:244 +msgid "These Parameters control Output elements" +msgstr "Questo parametro controlla gli elementi di Output" + +#: administrator/components/com_config/admin.config.html.php:247 +msgid "Linked Titles:" +msgstr "Titoli collegati:" + +#: administrator/components/com_config/admin.config.html.php:250 +msgid "If yes, the title of content items will be hyperlinked to the item" +msgstr "Se SI, il titolo degli articoli sarà collegato all'articolo stesso" + +#: administrator/components/com_config/admin.config.html.php:255 +msgid "Read More Link:" +msgstr "Collegamento Leggi tutto.. :" + +#: administrator/components/com_config/admin.config.html.php:258 +msgid "" +"If set to show, the read-more link will show if main-text has been provided " +"for the item" +msgstr "" +"Se si sceglie di mostrarlo, il collegamento Leggi tutto.. sarà visualizzato " +"nel caso che l'articolo abbia, oltre all'introduzione, anche il testo esteso" + +#: administrator/components/com_config/admin.config.html.php:263 +msgid "Item Rating/Voting:" +msgstr "Valuta/vota articolo:" + +#: administrator/components/com_config/admin.config.html.php:266 +msgid "If set to show, a voting system will be enabled for content items" +msgstr "" +"Se si sceglie di mostrarlo, sarà abilitato un sistema di votazione del " +"contenuto degli articoli" + +#: administrator/components/com_config/admin.config.html.php:271 +msgid "Author Names:" +msgstr "Nome autore:" + +#: administrator/components/com_config/admin.config.html.php:274 +msgid "" +"If set to show, the name of the author will be displayed. This a global " +"setting but can be changed at menu and item levels." +msgstr "" +"Se configurato per essere mostrato, sarà visualizzato il nome dell'autore. " +"Questa è una configurazione globale, ma può essere cambiata singolarmente " +"per ogni articolo e menu." + +#: administrator/components/com_config/admin.config.html.php:279 +msgid "Created Date and Time:" +msgstr "Data e ora di creazione:" + +#: administrator/components/com_config/admin.config.html.php:282 +msgid "" +"If set to show, the date and time an item was created will be displayed. " +"This a global setting but can be changed at menu and item levels." +msgstr "" +"Se configurata per essere mostrate, saranno visualizzate la data e l'ora di " +"creazione dell'articolo. Questa è una configurazione globale, ma può essere " +"cambiata singolarmente per ogni articolo e menu." + +#: administrator/components/com_config/admin.config.html.php:287 +msgid "Modified Date and Time:" +msgstr "Data e ora modificate:" + +#: administrator/components/com_config/admin.config.html.php:290 +msgid "" +"If set to show, the date and time an item was last modified will be " +"displayed. This a global setting but can be changed at menu and item levels." +msgstr "" +"Se configurata per essere mostrate, saranno visualizzate la data e l'ora " +"dell'ultima modifica dell'articolo. Questa è una configurazione globale, ma " +"può essere cambiata singolarmente per ogni articolo e menu." + +#: administrator/components/com_config/admin.config.html.php:295 +msgid "Hits:" +msgstr "Visite:" + +#: administrator/components/com_config/admin.config.html.php:298 +msgid "" +"If set to show, the hits for a particular item will be displayed. This a " +"global setting but can be changed at menu and item levels." +msgstr "" +"Se configurato per essere mostrato, saranno visualizzate le visite ad un " +"determinato articolo. Questa è una configurazione globale, ma può essere " +"cambiata singolarmente per ogni articolo e menu." + +#: administrator/components/com_config/admin.config.html.php:303 +msgid "PDF Icon:" +msgstr "Icona PDF" + +#: administrator/components/com_config/admin.config.html.php:308 +msgid "Option not available as /media directory not writable" +msgstr "Opzione non disponibile, dato che la cartella /media non è scrivibile" + +#: administrator/components/com_config/admin.config.html.php:316 +msgid "Print Icon:" +msgstr "Icona Stampa:" + +#: administrator/components/com_config/admin.config.html.php:321 +msgid "Email Icon:" +msgstr "Icona email:" + +#: administrator/components/com_config/admin.config.html.php:326 +msgid "Icons:" +msgstr "Icone:" + +#: administrator/components/com_config/admin.config.html.php:328 +msgid "Print, PDF and Email will utilise Icons or Text" +msgstr "Stampa, PDF ed Email utilizzeranno icone o testo" + +#: administrator/components/com_config/admin.config.html.php:331 +msgid "Table of Contents on multi-page items:" +msgstr "Tabella dei contenuti, in articoli multi pagina:" + +#: administrator/components/com_config/admin.config.html.php:336 +msgid "Back Button:" +msgstr "Bottone indietro:" + +#: administrator/components/com_config/admin.config.html.php:341 +msgid "Content Item Navigation:" +msgstr "Navigazione articoli di contenuto:" + +#: administrator/components/com_config/admin.config.html.php:360 +msgid "Hostname:" +msgstr "Nome host:" + +#: administrator/components/com_config/admin.config.html.php:364 +msgid "MySQL Username:" +msgstr "MySQL nome utente:" + +#: administrator/components/com_config/admin.config.html.php:368 +msgid "MySQL Password:" +msgstr "MySQL password:" + +#: administrator/components/com_config/admin.config.html.php:372 +msgid "MySQL Database:" +msgstr "MySQL database:" + +#: administrator/components/com_config/admin.config.html.php:376 +msgid "MySQL Database Prefix:" +msgstr "MySQL prefisso database:" + +#: administrator/components/com_config/admin.config.html.php:379 +msgid "" +"!! DO NOT CHANGE UNLESS YOU HAVE A DATABASE BUILT USING TABLES WITH THE " +"PREFIX YOU ARE SETTING !!" +msgstr "" +"!! NON CAMBIARE SE NON HAI UN DATABASE CREATO USANDO IL PREFISSO DI TABELLE " +"CHE STAI CONFIGURANDO !!" + +#: administrator/components/com_config/admin.config.html.php:385 +msgid "Server" +msgstr "Server" + +#: administrator/components/com_config/admin.config.html.php:389 +msgid "Absolute Path:" +msgstr "Percorso assoluto:" + +#: administrator/components/com_config/admin.config.html.php:394 +msgid "Live Site:" +msgstr "Sito attuale:" + +#: administrator/components/com_config/admin.config.html.php:399 +msgid "Secret Word:" +msgstr "Parola segreta:" + +#: administrator/components/com_config/admin.config.html.php:404 +msgid "GZIP Page Compression:" +msgstr "Compressione pagine GZIP:" + +#: administrator/components/com_config/admin.config.html.php:407 +msgid "Compress buffered output if supported" +msgstr "Se supportato, comprime il contenuto del buffer dati" + +#: administrator/components/com_config/admin.config.html.php:412 +msgid "Login Session Lifetime:" +msgstr "Durata della sessione di connessione:" + +#: administrator/components/com_config/admin.config.html.php:416 +msgid "Auto logout after this time of inactivity" +msgstr "" +"Trascorso questo tempo di inattività, l'utente è disconnesso automaticamente" + +#: administrator/components/com_config/admin.config.html.php:421 +msgid "Error Reporting:" +msgstr "Rapporto errori:" + +#: administrator/components/com_config/admin.config.html.php:426 +msgid "Register Globals Emulation:" +msgstr "Emulazione Register Globals:" + +#: administrator/components/com_config/admin.config.html.php:430 +msgid "" +"Register globals emulation. Some components may stop working if this option " +"is set to Off." +msgstr "" +"Emulazione del Register Globals. Qualche componente potrebbe non funzionare " +"correttamente se questa opzione fosse configurata su OFF." + +#: administrator/components/com_config/admin.config.html.php:436 +msgid "Help Server:" +msgstr "Server dell'Aiuto:" + +#: administrator/components/com_config/admin.config.html.php:448 +msgid "File Creation:" +msgstr "Creazione file:" + +#: administrator/components/com_config/admin.config.html.php:450 +msgid "File Permissions" +msgstr "Permessi dei files" + +#: administrator/components/com_config/admin.config.html.php:454 +msgid "Dont CHMOD new files (use server defaults)" +msgstr "" +"Non dare permessi CHMOD ai nuovi files (usa quelli predefiniti del server)" + +#: administrator/components/com_config/admin.config.html.php:459 +msgid "CHMOD new files" +msgstr "Dai permessi CHMOD ai nuovi files" + +#: administrator/components/com_config/admin.config.html.php:461 +msgid "to:" +msgstr "a:" + +#: administrator/components/com_config/admin.config.html.php:464 +msgid "Select this option to define permission flags for new created files" +msgstr "" +"Seleziona questa opzione per definire i permessi per i nuovi files creati" + +#: administrator/components/com_config/admin.config.html.php:473 +#: administrator/components/com_config/admin.config.html.php:552 +msgid "User:" +msgstr "Utente:" + +#: administrator/components/com_config/admin.config.html.php:475 +#: administrator/components/com_config/admin.config.html.php:484 +#: administrator/components/com_config/admin.config.html.php:504 +#: administrator/components/com_config/admin.config.html.php:554 +#: administrator/components/com_config/admin.config.html.php:563 +#: administrator/components/com_config/admin.config.html.php:581 +msgid "read" +msgstr "lettura" + +#: administrator/components/com_config/admin.config.html.php:477 +#: administrator/components/com_config/admin.config.html.php:486 +#: administrator/components/com_config/admin.config.html.php:506 +#: administrator/components/com_config/admin.config.html.php:556 +#: administrator/components/com_config/admin.config.html.php:565 +#: administrator/components/com_config/admin.config.html.php:583 +msgid "write" +msgstr "scrittura" + +#: administrator/components/com_config/admin.config.html.php:479 +#: administrator/components/com_config/admin.config.html.php:488 +#: administrator/components/com_config/admin.config.html.php:508 +msgid "execute" +msgstr "esecuzione" + +#: administrator/components/com_config/admin.config.html.php:482 +#: administrator/components/com_config/admin.config.html.php:561 +msgid "Group:" +msgstr "Gruppo:" + +#: administrator/components/com_config/admin.config.html.php:492 +msgid "Apply to existing files" +msgstr "Applica ai files esistenti" + +#: administrator/components/com_config/admin.config.html.php:495 +msgid "" +"Checking here will apply the permission flags to all existing files " +"of the site.
      " +msgstr "" +"Selezionando questo, saranno applicati questi permessi a tutti i files " +"esistenti nel sito." + +#: administrator/components/com_config/admin.config.html.php:496 +#: administrator/components/com_config/admin.config.html.php:574 +msgid "" +"INAPPROPRIATE USAGE OF THIS OPTION MAY RENDER THE SITE INOPERATIVE!" +msgstr "" +" UN USO IMPROPRIO DI QUESTA FUNZIONE POTREBBE RENDERE IL SITO NON " +"OPERATIVO!" + +#: administrator/components/com_config/admin.config.html.php:502 +#: administrator/components/com_config/admin.config.html.php:579 +msgid "World:" +msgstr "Altri:" + +#: administrator/components/com_config/admin.config.html.php:527 +msgid "Directory Creation:" +msgstr "Creazione cartelle:" + +#: administrator/components/com_config/admin.config.html.php:533 +msgid "Dont CHMOD new directories (use server defaults)" +msgstr "" +"Non dare permessi CHMOD alle nuove cartelle (usa quelli predefiniti del " +"server)" + +#: administrator/components/com_config/admin.config.html.php:538 +msgid "CHMOD new directories" +msgstr "Dai permessi CHMOD alle nuove cartelle" + +#: administrator/components/com_config/admin.config.html.php:543 +msgid "" +"Select this option to define permission flags for new created directories" +msgstr "" +"Seleziona questa opzione per definire i permessi per per le nuove cartelle " +"create" + +#: administrator/components/com_config/admin.config.html.php:558 +#: administrator/components/com_config/admin.config.html.php:567 +#: administrator/components/com_config/admin.config.html.php:585 +msgid "search" +msgstr "cerca" + +#: administrator/components/com_config/admin.config.html.php:571 +msgid "Apply to existing directories" +msgstr "Applica alle cartelle esistenti" + +#: administrator/components/com_config/admin.config.html.php:573 +msgid "" +"Checking here will apply the permission flags to all existing " +"directories of the site.
      " +msgstr "" +"Selezionando questo, saranno applicati questi permessi a tutte le cartelle " +"esistenti nel sito." + +#: administrator/components/com_config/admin.config.html.php:598 +msgid "Metadata" +msgstr "Metadati" + +#: administrator/components/com_config/admin.config.html.php:602 +msgid "Global Site Meta Description:" +msgstr "Meta Descrizione generale del sito:" + +#: administrator/components/com_config/admin.config.html.php:606 +msgid "Global Site Meta Keywords:" +msgstr "Meta parole chiave generali del sito:" + +#: administrator/components/com_config/admin.config.html.php:610 +msgid "Show Title Meta Tag:" +msgstr "Mostra Meta tag Titolo:" + +#: administrator/components/com_config/admin.config.html.php:614 +msgid "Show the title meta tag when viewing content items" +msgstr "" +"Mostra il meta tag Titolo quando viene visualizzato un articolo di contenuto" + +#: administrator/components/com_config/admin.config.html.php:618 +msgid "Show Author Meta Tag:" +msgstr "Mostra meta tag Autore:" + +#: administrator/components/com_config/admin.config.html.php:622 +msgid "Show the author meta tag when viewing content items" +msgstr "" +"Mostra il meta tag Autore quando viene visualizzato un articolo di contenuto" + +#: administrator/components/com_config/admin.config.html.php:632 +msgid "Mailer:" +msgstr "Mittente:" + +#: administrator/components/com_config/admin.config.html.php:636 +msgid "Mail From:" +msgstr "Posta da:" + +#: administrator/components/com_config/admin.config.html.php:640 +msgid "From Name:" +msgstr "Da nome:" + +#: administrator/components/com_config/admin.config.html.php:644 +msgid "Sendmail Path:" +msgstr "Percorso sendmail:" + +#: administrator/components/com_config/admin.config.html.php:648 +msgid "SMTP Auth:" +msgstr "SMTP autenticazione:" + +#: administrator/components/com_config/admin.config.html.php:652 +msgid "SMTP User:" +msgstr "SMTP utente:" + +#: administrator/components/com_config/admin.config.html.php:656 +msgid "SMTP Pass" +msgstr "SMTP pass:" + +#: administrator/components/com_config/admin.config.html.php:660 +msgid "SMTP Host:" +msgstr "SMTP Host:" + +#: administrator/components/com_config/admin.config.html.php:673 +msgid "Caching:" +msgstr "Caching:" + +#: administrator/components/com_config/admin.config.html.php:681 +msgid "Cache Folder:" +msgstr "Cartella cache:" + +#: administrator/components/com_config/admin.config.html.php:686 +msgid "Current cache is directory is Writeable" +msgstr "Attualmente la cartella cache è Scrivibile" + +#: administrator/components/com_config/admin.config.html.php:688 +msgid "" +"The cache directory is UNWRITEABLE - please set this directory to CHMOD755 " +"before turning on the cache" +msgstr "" +"La cartella cache NON è SCRIVIBILE - Prego configiurare questa cartella con " +"i permessi CHMOD 755 prima di abilitare la cache" + +#: administrator/components/com_config/admin.config.html.php:694 +msgid "Cache Time:" +msgstr "Tempo di cache:" + +#: administrator/components/com_config/admin.config.html.php:695 +msgid "seconds" +msgstr "secondi" + +#: administrator/components/com_config/admin.config.html.php:705 +msgid "Statistics:" +msgstr "Statistiche:" + +#: administrator/components/com_config/admin.config.html.php:707 +msgid "Enable/disable collection of site statistics" +msgstr "Abilita/disabilita raccolta statistiche del sito" + +#: administrator/components/com_config/admin.config.html.php:710 +msgid "Log Content Hits by Date:" +msgstr "Accessi ai contenuti per data:" + +#: administrator/components/com_config/admin.config.html.php:712 +msgid "WARNING : Large amounts of data will be collected" +msgstr "" +"ATTENZIONE: saranno archiviati parecchi dati, tenere d'occhio la grandezza " +"del database" + +#: administrator/components/com_config/admin.config.html.php:715 +msgid "Log Search Strings:" +msgstr "Stringhe di ricerca:" + +#: administrator/components/com_config/admin.config.html.php:722 +msgid "SEO" +msgstr "SEO" + +#: administrator/components/com_config/admin.config.html.php:726 +msgid "Search Engine Optimization" +msgstr "Ottimizzazione per Motori di Ricerca" + +#: administrator/components/com_config/admin.config.html.php:731 +msgid "Search Engine Friendly URLs:" +msgstr "URL amichevoli per i motori di ricerca:" + +#: administrator/components/com_config/admin.config.html.php:733 +msgid "Apache only! Rename htaccess.txt to .htaccess before activating" +msgstr "" +"Solo per Apache! Rinominare il file htaccess.txt in .htaccess, prima di " +"attivare questa funzione" + +#: administrator/components/com_config/admin.config.html.php:736 +msgid "Dynamic Page Titles:" +msgstr "Titoli pagina dinamici:" + +#: administrator/components/com_config/admin.config.html.php:738 +msgid "Dynamically changes the page title to reflect current content viewed" +msgstr "" +"Il titolo cambia dinamicamente per riflettere il contenuto correntemente " +"visualizzato" + +#: administrator/components/com_config/admin.config.php:322 +#: administrator/components/com_config/admin.config.php:327 +msgid "Hide" +msgstr "Nascondi" + +#: administrator/components/com_config/admin.config.php:323 +#: administrator/components/com_config/admin.config.php:328 +msgid "Show" +msgstr "Mostra" + +#: administrator/components/com_config/admin.config.php:342 +msgid "System Default" +msgstr "Predefinite di sistema" + +#: administrator/components/com_config/admin.config.php:344 +msgid "Simple" +msgstr "Semplice" + +#: administrator/components/com_config/admin.config.php:345 +msgid "Maximum" +msgstr "Massimo" + +#: administrator/components/com_config/admin.config.php:349 +msgid "On" +msgstr "On" + +#: administrator/components/com_config/admin.config.php:350 +msgid "Off" +msgstr "Off" + +#: administrator/components/com_config/admin.config.php:354 +msgid "PHP mail function" +msgstr "Funzione email del PHP" + +#: administrator/components/com_config/admin.config.php:355 +msgid "Sendmail" +msgstr "Sendmail" + +#: administrator/components/com_config/admin.config.php:356 +msgid "SMTP Server" +msgstr "Server SMTP" + +#: administrator/components/com_config/admin.config.php:400 +msgid "Remember to rename htaccess.txt to .htaccess" +msgstr "Ricorda di rinominare htaccess.txt in .htaccess" + +#: administrator/components/com_config/admin.config.php:428 +msgid "Remember to install the MambelFish component." +msgstr "Ricorda di installare il componente Mambelfish." + +#: administrator/components/com_config/admin.config.php:485 +msgid "The Configuration Details have been updated" +msgstr "I dettagli della Configurazione sono stati aggiornati" + +#: administrator/components/com_config/admin.config.php:539 +msgid "An Error Has Occurred! Unable to open config file to write!" +msgstr "" +"Si è verificato un errore! Non è possibile scrivere nel file configuration." +"php!" + +#: administrator/components/com_contact/admin.contact.html.php:29 +msgid "Contact Manager" +msgstr "Gestore contatti" + +#: administrator/components/com_contact/admin.contact.html.php:32 +msgid "Filter:" +msgstr "Filtro:" + +#: administrator/components/com_contact/admin.contact.html.php:52 +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:94 +msgid "Name" +msgstr "Nome" + +#: administrator/components/com_contact/admin.contact.html.php:61 +msgid "Category" +msgstr "Categoria" + +#: administrator/components/com_contact/admin.contact.html.php:64 +msgid "Linked to User" +msgstr "Collegato all'utente" + +#: administrator/components/com_contact/admin.contact.html.php:96 +msgid "Edit Contact" +msgstr "Modifica contatto" + +#: administrator/components/com_contact/admin.contact.html.php:115 +msgid "Edit Category" +msgstr "Modifica categoria" + +#: administrator/components/com_contact/admin.contact.html.php:162 +msgid "You must provide a name." +msgstr "Si deve inserire un nome" + +#: administrator/components/com_contact/admin.contact.html.php:164 +msgid "Please select a Category." +msgstr "Prego selezionare una categoria." + +#: administrator/components/com_contact/admin.contact.html.php:176 +msgid "Contact:" +msgstr "Contatto:" + +#: administrator/components/com_contact/admin.contact.html.php:190 +msgid "Contact Details" +msgstr "Dettagli contatto" + +#: administrator/components/com_contact/admin.contact.html.php:203 +msgid "Linked to User:" +msgstr "Collegato all'utente:" + +#: administrator/components/com_contact/admin.contact.html.php:211 +msgid "Name:" +msgstr "Nome:" + +#: administrator/components/com_contact/admin.contact.html.php:219 +msgid "Contact's Position:" +msgstr "Posizione del contatto:" + +#: administrator/components/com_contact/admin.contact.html.php:227 +msgid "E-mail:" +msgstr "E-mail:" + +#: administrator/components/com_contact/admin.contact.html.php:235 +msgid "Street Address:" +msgstr "Indirizzo:" + +#: administrator/components/com_contact/admin.contact.html.php:243 +msgid "Town/Suburb:" +msgstr "Città/Località:" + +#: administrator/components/com_contact/admin.contact.html.php:251 +msgid "State/County:" +msgstr "Provincia/Stato:" + +#: administrator/components/com_contact/admin.contact.html.php:259 +msgid "Country:" +msgstr "Nazione:" + +#: administrator/components/com_contact/admin.contact.html.php:267 +msgid "Postal Code/ZIP:" +msgstr "CAP:" + +#: administrator/components/com_contact/admin.contact.html.php:275 +msgid "Telephone:" +msgstr "Telefono:" + +#: administrator/components/com_contact/admin.contact.html.php:283 +msgid "Fax:" +msgstr "Fax:" + +#: administrator/components/com_contact/admin.contact.html.php:291 +msgid "Miscellaneous Info:" +msgstr "Informazioni varie:" + +#: administrator/components/com_contact/admin.contact.html.php:308 +msgid "Publishing Info" +msgstr "Info pubblicazione" + +#: administrator/components/com_contact/admin.contact.html.php:313 +msgid "Site Default:" +msgstr "Sito predefinito:" + +#: administrator/components/com_contact/admin.contact.html.php:337 +msgid "Access:" +msgstr "Accesso:" + +#: administrator/components/com_contact/admin.contact.html.php:351 +msgid "Images" +msgstr "Immagini" + +#: administrator/components/com_contact/admin.contact.html.php:356 +msgid "Image Info" +msgstr "Info immagine" + +#: administrator/components/com_contact/admin.contact.html.php:361 +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Image" +msgstr "Immagine" + +#: administrator/components/com_contact/admin.contact.html.php:384 +#: administrator/components/com_contact/admin.contact.html.php:389 +msgid "Parameters" +msgstr "Parametri" + +#: administrator/components/com_contact/admin.contact.html.php:394 +msgid "" +"These Parameters only control what you see when you click to view a Contact " +"item" +msgstr "" +"Questi parametri controllano cosa si mostra quando si visualizza un contatto" + +#: administrator/components/com_contact/admin.contact.php:255 +msgid "Select a record to %s" +msgstr "Selezionare un record da %s" + +#: administrator/components/com_contact/contact.xml +msgid "# Category Items" +msgstr "# articoli della categoria" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" +"Una piccola immagine da piazzare a sinistra o a destra del menu articoli. " +"L'immagine deve essere posta nella cartella images/stories/" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" +"Un suffisso da applicare alle classi del CSS della pagina, questo permette " +"di personalizzare ogni pagina con lo stile desiderato" + +#: administrator/components/com_contact/contact.xml +msgid "Alignment of the image" +msgstr "Allineamento dell'immagine" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Back Button" +msgstr "Bottone indietro" + +#: administrator/components/com_contact/contact.xml +msgid "Category Description" +msgstr "Descrizione categoria" + +#: administrator/components/com_contact/contact.xml +msgid "Category List - Category" +msgstr "Elenco categoria - Categoria" + +#: administrator/components/com_contact/contact.xml +msgid "Category List - Section" +msgstr "Elenco Categoria - Sezione" + +#: administrator/components/com_contact/contact.xml +msgid "Description" +msgstr "descrizione" + +#: administrator/components/com_contact/contact.xml +msgid "Description Text" +msgstr "Testo descrizione" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Description for page, if left blank it will load _WEBLINKS_DESC from your " +"language file" +msgstr "" +"Descrizione per pagina, se lasciato vuoto sarà caricata la variabile " +"_WEBLINK_DESC dal file di lingua attuale" + +#: administrator/components/com_contact/contact.xml +msgid "Email Column" +msgstr "Colonna email" + +#: administrator/components/com_contact/contact.xml +msgid "Fax Column" +msgstr "Colonna fax" + +#: administrator/components/com_contact/contact.xml +msgid "Image Align" +msgstr "Allineamento immagine" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Image for page, must be located in the /images/stories folder. Default will " +"load web_links.jpg, No image will mean an image is not loaded" +msgstr "" +"L'immagine dev'essere collocata nella cartella /images/stories. Come " +"predefinita verrà caricata web_links.jpg, Nessuna immagine, significa che " +"non ci sono immagini caricate" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Menu Image" +msgstr "Menu immagine" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Page Class Suffix" +msgstr "Suffisso per la classe della pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Page Title" +msgstr "Titolo pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Position Column" +msgstr "Colonna Posizione" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" +"Mostra/nascondi il bottone Indietro, il quale rimanda alla pagina precedente" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Description below" +msgstr "Mostra/nascondi la descrizione sotto" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Description for the list of other catgeories" +msgstr "Mostra/nascondi la descrizione per l'elenco delle altre categorie" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Email column" +msgstr "Mostra/nascondi la colonna Email" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Fax column" +msgstr "Mostra/nascondi la colonna Fax" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "Mostra/nascondi la lista delle categorie nell'elenco vista pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "Mostra/nascondi la lista delle categorie nell'elenco vista pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Position column" +msgstr "Mostra/nascondi la colonna Posizione" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Table Headings" +msgstr "Mostra/nascondi l'intestazione delle tabelle" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Telephone column" +msgstr "Mostra/nascondi la colonna telefono" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the number of items in each category" +msgstr "Mostra/nascondi il numero di articoli in ogni categoria" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the pages Title" +msgstr "Mostra/nascondi il titolo della pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Table Headings" +msgstr "Intestazioni delle tabelle" + +#: administrator/components/com_contact/contact.xml +msgid "Telephone Column" +msgstr "Colonna telefono" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" +"Testo da mostrare in cima alla pagina. Se lasciato bianco, sarà usato il " +"nome del Menu" + +#: administrator/components/com_contact/contact.xml +msgid "This component shows a listing of Contact Information" +msgstr "Questo componente mostra un elenco delle informazioni sui contatti" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Use Global" +msgstr "Usa le Globali" + +#: administrator/components/com_contact/contact_items.xml +msgid "Address Icon" +msgstr "Icona indirizzo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Contact Items" +msgstr "Elemento Contatto" + +#: administrator/components/com_contact/contact_items.xml +msgid "Country" +msgstr "Nazione" + +#: administrator/components/com_contact/contact_items.xml +msgid "Description text" +msgstr "Testo descrizione" + +#: administrator/components/com_contact/contact_items.xml +msgid "Drop Down" +msgstr "Menu a tendina" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:109 +msgid "Email" +msgstr "Email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Copy" +msgstr "Copia email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Form" +msgstr "Modulo email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Icon" +msgstr "Icona email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email description" +msgstr "Descrizione email" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:127 +msgid "Fax" +msgstr "Fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Fax Icon" +msgstr "Icona fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Address info" +msgstr "Icona per informazioni sull'indirizzo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Email info" +msgstr "Icona per informazioni sull'email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Fax info" +msgstr "Icona per informazioni sul fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Misc info" +msgstr "Icona per informazioni su informazioni varie" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Telephone info" +msgstr "Icona per informazioni sul telefono" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons" +msgstr "Icone" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons/text" +msgstr "Icone/testo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Icon" +msgstr "Icona varie" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Info" +msgstr "Info varie" + +#: administrator/components/com_contact/contact_items.xml +msgid "Parameters for individual Contact Items" +msgstr "Parametri per elemento Contatto individuale" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:100 +msgid "Position" +msgstr "Posizione" + +#: administrator/components/com_contact/contact_items.xml +msgid "Post/Zip Code" +msgstr "C.A.P." + +#: administrator/components/com_contact/contact_items.xml +msgid "Print Icon" +msgstr "Icona stampa" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Description Text below" +msgstr "Mostra/nascondi la descrizione sottostante" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Drop Down select list in Contact view" +msgstr "Mostra/nascondi il menu a tendina nella vista contatti" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Vcard" +msgstr "Mostra/nascondi la Vcard" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the checkbox to email a copy to the senders address" +msgstr "" +"Mostra/nascondi la scelta se inviare o meno una copia, via email, " +"all'indirizzo del mittente" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the country info" +msgstr "Mostra/nascondi la Nazione" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"Show/Hide the email info, if you set to show the address will be protected " +"from spambots by javascript cloaking" +msgstr "" +"Mostra/nascondi l'email. Se si sceglie di mostrare l'indirizzo, questo sarà " +"protetto dagli spambots con un javascript di codifica" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the email to form" +msgstr "Mostra/nascondi l'email nel modulo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the fax info" +msgstr "Mostra/nascondi il Fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the image" +msgstr "Mostra/nascondi l'immagine" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "Mostra/nascondi il bottone Stampa - avrà effetto solo in questa pagina" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the misc info" +msgstr "Mostra/nascondi le info varie" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the name info" +msgstr "Mostra/nascondi il Nome" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the position info" +msgstr "Mostra/nascondi la Posizione" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the post code info" +msgstr "Mostra/nascondi il Codice Postale" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the state info" +msgstr "Mostra/nascondi la Provincia" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the street address info" +msgstr "Mostra/nascondi l'Indirizzo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the suburb info" +msgstr "Mostra/nascondi la Città/Località" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the telephone info" +msgstr "Mostra/nascondi il Telefono" + +#: administrator/components/com_contact/contact_items.xml +msgid "Street Address" +msgstr "Indirizzo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone" +msgstr "Telefono" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone Icon" +msgstr "Icona telefono" + +#: administrator/components/com_contact/contact_items.xml +msgid "Text" +msgstr "Testo" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"The Description text for the Email form, if left blank it will use the " +"_EMAIL_DESCRIPTION language definition" +msgstr "" +"Il testo descrittivo per il modulo da inviare, se lasciato vuoto, si " +"utilizzerà la definizione della variabile _EMAIL_DESCRIPTION, nella lingua " +"attualmente in uso" + +#: administrator/components/com_contact/contact_items.xml +msgid "Town/Suburb" +msgstr "Città/Località" + +#: administrator/components/com_contact/contact_items.xml +msgid "Use Icons, text or nothing next to the contact information displayed" +msgstr "" +"Visualizza un'icona, del testo oppure nulla a fianco dei campi, nella pagina " +"contatti" + +#: administrator/components/com_contact/contact_items.xml +msgid "Vcard" +msgstr "Vcard" + +#: components/com_contact/contact.class.php:129 +msgid "Mambo vCard for %s" +msgstr "Mambo vCard per %s" + +#: components/com_contact/contact.html.php:118 +msgid "Phone" +msgstr "Telefono" + +#: components/com_contact/contact.html.php:263 +#: components/com_contact/contact.php:345 +msgid "Please make sure the form is complete and valid." +msgstr "Prego assicurarsi che il modulo sia completo ed esatto." + +#: components/com_contact/contact.html.php:390 +msgid "Select Contact:" +msgstr "Seleziona contatto:" + +#: components/com_contact/contact.html.php:634 +msgid "Download information as a" +msgstr "Scarica informazione come" + +#: components/com_contact/contact.html.php:636 +msgid "VCard" +msgstr "VCard" + +#: components/com_contact/contact.html.php:657 +msgid "Enter your name:" +msgstr "Inserisci il tuo nome:" + +#: components/com_contact/contact.html.php:661 +msgid "E-mail address:" +msgstr "Indirizzo e-mail:" + +#: components/com_contact/contact.html.php:665 +msgid "Message subject:" +msgstr "Soggetto del messaggio:" + +#: components/com_contact/contact.html.php:669 +msgid "Enter your message:" +msgstr "Testo del messaggio:" + +#: components/com_contact/contact.html.php:677 +msgid "Email a copy of this message to your own address" +msgstr "Invia una copia di questo messaggio, al tuo indirizo email" + +#: components/com_contact/contact.html.php:681 +msgid "Send" +msgstr "Invia" + +#: components/com_contact/contact.html.php:698 +msgid "There are no Contact Details listed." +msgstr "Non ci sono contatti elencati." + +#: components/com_contact/contact.php:111 +msgid "The Contact list for this Website." +msgstr "La lista Contatti di questo sito." + +#: components/com_contact/contact.php:233 +msgid "Send an Email to this Contact:" +msgstr "Invia una email a questo Contatto:" + +#: components/com_contact/contact.php:280 +msgid "Address: " +msgstr "Indirizzo:" + +#: components/com_contact/contact.php:281 +msgid "Email: " +msgstr "Email:" + +#: components/com_contact/contact.php:282 +msgid "Telephone: " +msgstr "Telefono:" + +#: components/com_contact/contact.php:283 +msgid "Fax: " +msgstr "Fax:" + +#: components/com_contact/contact.php:284 +msgid "Information: " +msgstr "Informazione:" + +#: components/com_contact/contact.php:337 +msgid "Enquiry" +msgstr "Richiesta" + +#: components/com_contact/contact.php:348 +msgid "This is an enquiry e-mail via %s from:" +msgstr "Questa è una richiesta via email da %s da parte di:" + +#: components/com_contact/contact.php:354 +msgid "The following is a copy of the message you sent to %s via %s " +msgstr "La seguente è la copia del messaggio che hai spedito a %s da %s" + +#: components/com_contact/contact.php:356 +msgid "Copy of: %s" +msgstr "Copia di: %s" + +#: components/com_contact/contact.php:361 +msgid "Thank you for your e-mail" +msgstr "Grazie per la tua e-mail" + +#: administrator/components/com_content/admin.content.html.php:37 +#: administrator/components/com_content/admin.content.html.php:41 +msgid "Content Items Manager" +msgstr "Gestore articoli di contenuto" + +#: administrator/components/com_content/admin.content.html.php:37 +msgid "Section: All" +msgstr "Sezioni: Tutte" + +#: administrator/components/com_content/admin.content.html.php:81 +#: administrator/components/com_content/admin.content.html.php:350 +msgid "Title" +msgstr "Titolo" + +#: administrator/components/com_content/admin.content.html.php:87 +msgid "Front Page" +msgstr "Pagina principale" + +#: administrator/components/com_content/admin.content.html.php:102 +msgid "ID" +msgstr "ID" + +#: administrator/components/com_content/admin.content.html.php:117 +#: administrator/components/com_content/admin.content.html.php:362 +#: components/com_content/content.html.php:220 +msgid "Author" +msgstr "Autore" + +#: administrator/components/com_content/admin.content.html.php:120 +#: administrator/components/com_content/admin.content.html.php:365 +#: components/com_content/content.html.php:206 +msgid "Date" +msgstr "Data" + +#: administrator/components/com_content/admin.content.html.php:142 +msgid "Expired" +msgstr "Scaduto" + +#: administrator/components/com_content/admin.content.html.php:150 +msgid "Always" +msgstr "Sempre" + +#: administrator/components/com_content/admin.content.html.php:150 +msgid "Start:" +msgstr "Inizio:" + +#: administrator/components/com_content/admin.content.html.php:157 +#: administrator/components/com_content/admin.content.html.php:159 +msgid "Finish:" +msgstr "Fine:" + +#: administrator/components/com_content/admin.content.html.php:157 +msgid "No Expiry" +msgstr "Senza scadenza" + +#: administrator/components/com_content/admin.content.html.php:196 +msgid "Edit Content" +msgstr "Modifica contenuto" + +#: administrator/components/com_content/admin.content.html.php:207 +msgid "Publish Information" +msgstr "Pubblica informazione" + +#: administrator/components/com_content/admin.content.html.php:289 +msgid "Please make a selection from the list to send to Trash" +msgstr "Prego selezionare un articolo da cestinare" + +#: administrator/components/com_content/admin.content.html.php:290 +msgid "" +"Are you sure you want to Trash the selected items? \\nThis will not " +"permanently delete the items." +msgstr "" +"Si è sicuri di voler cestinare l'articolo selezionato? \\n Questa " +"operazione non cancellerà permanentemente l'articolo." + +#: administrator/components/com_content/admin.content.html.php:521 +#: components/com_content/content.html.php:908 +msgid "Content item must have a title" +msgstr "L'articolo di contenuto deve avere un titolo" + +#: administrator/components/com_content/admin.content.html.php:523 +msgid "You must select a Section." +msgstr "Si deve selezionare una Sezione" + +#: administrator/components/com_content/admin.content.html.php:525 +#: administrator/components/com_content/admin.content.html.php:527 +msgid "You must select a Category." +msgstr "Si deve selezionare una Categoria" + +#: administrator/components/com_content/admin.content.html.php:579 +msgid "Content Item:" +msgstr "Articolo di contenuto:" + +#: administrator/components/com_content/admin.content.html.php:618 +msgid "Item Details" +msgstr "Dettagli articolo" + +#: administrator/components/com_content/admin.content.html.php:623 +#: components/com_content/content.html.php:986 +msgid "Title:" +msgstr "Titolo:" + +#: administrator/components/com_content/admin.content.html.php:637 +msgid "Title Alias:" +msgstr "Titolo Alias:" + +#: administrator/components/com_content/admin.content.html.php:655 +msgid "Intro Text:" +msgstr "Introduzione:" + +#: administrator/components/com_content/admin.content.html.php:655 +msgid "required" +msgstr "richiesto" + +#: administrator/components/com_content/admin.content.html.php:663 +msgid "Main Text:" +msgstr "testo esteso:" + +#: administrator/components/com_content/admin.content.html.php:663 +msgid "optional" +msgstr "opzionale" + +#: administrator/components/com_content/admin.content.html.php:682 +#: components/com_content/content.html.php:1141 +msgid "Publishing" +msgstr "Pubblicazione" + +#: administrator/components/com_content/admin.content.html.php:692 +msgid "Show on Frontpage:" +msgstr "Mostra nella pagina principale:" + +#: administrator/components/com_content/admin.content.html.php:715 +#: components/com_content/content.html.php:1167 +msgid "Author Alias:" +msgstr "Alias Autore:" + +#: administrator/components/com_content/admin.content.html.php:723 +msgid "Change Creator:" +msgstr "Cambia creatore:" + +#: administrator/components/com_content/admin.content.html.php:735 +msgid "Override Created Date" +msgstr "Cambia data creazione" + +#: administrator/components/com_content/admin.content.html.php:744 +#: components/com_content/content.html.php:1183 +msgid "Start Publishing:" +msgstr "Inizio pubblicazione:" + +#: administrator/components/com_content/admin.content.html.php:753 +#: components/com_content/content.html.php:1192 +msgid "Finish Publishing:" +msgstr "Scadenza pubblicazione:" + +#: administrator/components/com_content/admin.content.html.php:768 +msgid "Content ID:" +msgstr "ID Contenuto:" + +#: administrator/components/com_content/admin.content.html.php:779 +#: components/com_content/content.html.php:1149 +msgid "State:" +msgstr "Stato:" + +#: administrator/components/com_content/admin.content.html.php:782 +msgid "Archived" +msgstr "Archiviato" + +#: administrator/components/com_content/admin.content.html.php:782 +msgid "Draft Unpublished" +msgstr "Bozza non pubblicata" + +#: administrator/components/com_content/admin.content.html.php:794 +msgid "Reset Hit Count" +msgstr "Azzera contatore visite" + +#: administrator/components/com_content/admin.content.html.php:801 +msgid "Revised" +msgstr "Revisionato" + +#: administrator/components/com_content/admin.content.html.php:805 +msgid "times" +msgstr "volte" + +#: administrator/components/com_content/admin.content.html.php:815 +#: administrator/components/com_content/admin.content.html.php:825 +msgid "By" +msgstr "Da" + +#: administrator/components/com_content/admin.content.html.php:821 +msgid "Last Modified" +msgstr "Ultima modifica" + +#: administrator/components/com_content/admin.content.html.php:836 +msgid "MOSImage Control" +msgstr "Controllo MOSImage" + +#: administrator/components/com_content/admin.content.html.php:840 +msgid "Sub-folder:" +msgstr "Sotto-cartella:" + +#: administrator/components/com_content/admin.content.html.php:844 +msgid "Gallery Images:" +msgstr "Gallerua immagini:" + +#: administrator/components/com_content/admin.content.html.php:854 +#: components/com_content/content.html.php:962 +msgid "Add" +msgstr "Aggiungi" + +#: administrator/components/com_content/admin.content.html.php:859 +msgid "Content Images:" +msgstr "Immagini contenuto:" + +#: administrator/components/com_content/admin.content.html.php:869 +msgid "up" +msgstr "su" + +#: administrator/components/com_content/admin.content.html.php:870 +msgid "down" +msgstr "giù" + +#: administrator/components/com_content/admin.content.html.php:871 +msgid "remove" +msgstr "rimuovi" + +#: administrator/components/com_content/admin.content.html.php:876 +msgid "Edit the image selected:" +msgstr "Modifica l'immagine selezionata:" + +#: administrator/components/com_content/admin.content.html.php:880 +#: components/com_content/content.html.php:1091 +msgid "Source:" +msgstr "Sorgente:" + +#: administrator/components/com_content/admin.content.html.php:888 +msgid "Image Align:" +msgstr "Allinea immagine:" + +#: administrator/components/com_content/admin.content.html.php:896 +#: components/com_content/content.html.php:1107 +msgid "Alt Text:" +msgstr "Testo Alt:" + +#: administrator/components/com_content/admin.content.html.php:904 +#: components/com_content/content.html.php:1115 +msgid "Border:" +msgstr "Bordo:" + +#: administrator/components/com_content/admin.content.html.php:912 +msgid "Caption:" +msgstr "Didascalìa:" + +#: administrator/components/com_content/admin.content.html.php:920 +msgid "Caption Position:" +msgstr "Posizione didascalìa:" + +#: administrator/components/com_content/admin.content.html.php:928 +msgid "Caption Align:" +msgstr "Allinea disascalìa:" + +#: administrator/components/com_content/admin.content.html.php:936 +msgid "Width:" +msgstr "Larghezza:" + +#: administrator/components/com_content/admin.content.html.php:958 +msgid "Parameter Control" +msgstr "Controllo parametri" + +#: administrator/components/com_content/admin.content.html.php:963 +msgid "" +"These Parameters only control what you see when you click to view an item " +"fully" +msgstr "" +"Questi parametri controllano solamente cosa si vede quando si clicca per " +"vedere l'articolo completo." + +#: administrator/components/com_content/admin.content.html.php:975 +msgid "Meta Info" +msgstr "Meta Info" + +#: administrator/components/com_content/admin.content.html.php:980 +msgid "Meta Data" +msgstr "Meta data" + +#: administrator/components/com_content/admin.content.html.php:992 +#: components/com_content/content.html.php:1223 +msgid "Keywords:" +msgstr "Parola chiave:" + +#: administrator/components/com_content/admin.content.html.php:999 +msgid "Add Sect/Cat/Title" +msgstr "Aggiungi Sez/Cat/Titolo" + +#: administrator/components/com_content/admin.content.html.php:1015 +msgid "This will create a 'Link - Content Item' in the menu you select" +msgstr "" +"Questo creerà un \"Collegamento ad articolo di contenuto\" nel menu " +"selezionato" + +#: administrator/components/com_content/admin.content.html.php:1118 +msgid "Please select something" +msgstr "Prego selezionare qualcosa" + +#: administrator/components/com_content/admin.content.html.php:1130 +msgid "Move Items" +msgstr "Sposata articolo" + +#: administrator/components/com_content/admin.content.html.php:1139 +msgid "Move to Section/Category:" +msgstr "Sposta alla Sezione/Categoria:" + +#: administrator/components/com_content/admin.content.html.php:1145 +msgid "Items being Moved:" +msgstr "Articoli che stanno per essere spostati:" + +#: administrator/components/com_content/admin.content.html.php:1188 +msgid "Please select a Section/Category to copy the items to" +msgstr "Prego selezionare una Sezione/Categoria dove copiare gli articoli" + +#: administrator/components/com_content/admin.content.html.php:1199 +msgid "Copy Content Items" +msgstr "Copia articolo di contenuto" + +#: administrator/components/com_content/admin.content.html.php:1208 +msgid "Copy to Section/Category:" +msgstr "Copia nella Sezione/Categoria:" + +#: administrator/components/com_content/admin.content.html.php:1214 +msgid "Items being copied:" +msgstr "Articoli che stanno per essere copiati:" + +#: administrator/components/com_content/admin.content.php:242 +#: administrator/components/com_content/admin.content.php:351 +msgid "- All Authors -" +msgstr "- Tutti gli Autori -" + +#: administrator/components/com_content/admin.content.php:382 +msgid "You cannot edit an archived item" +msgstr "Non si può modificare un articolo archiviato" + +#: administrator/components/com_content/admin.content.php:407 +msgid "The module %s is currently being edited by another administrator" +msgstr "" +"Il Modulo %s è attualmente in corso di modifica da parte di un altro " +"amministratore" + +#: administrator/components/com_content/admin.content.php:423 +#: administrator/components/com_content/admin.content.php:455 +#: administrator/components/com_content/admin.content.php:594 +msgid "Never" +msgstr "Mai" + +#: administrator/components/com_content/admin.content.php:470 +msgid "Select Section" +msgstr "Seleziona Sezione" + +#: administrator/components/com_content/admin.content.php:483 +#: administrator/components/com_content/admin.content.php:499 +#: administrator/components/com_content/admin.content.php:507 +msgid "Select Category" +msgstr "Seleziona categoria" + +#: administrator/components/com_content/admin.content.php:549 +msgid "Bottom" +msgstr "In basso" + +#: administrator/components/com_content/admin.content.php:550 +msgid "Top" +msgstr "In alto" + +#: administrator/components/com_content/admin.content.php:677 +msgid "Successfully Saved changes to Item: " +msgstr "Le modifiche all'articolo sono state salvate" + +#: administrator/components/com_content/admin.content.php:682 +msgid "Successfully Saved Item: " +msgstr "Articolo salvato correttamente" + +#: administrator/components/com_content/admin.content.php:701 +msgid "archive" +msgstr "archivio" + +#: administrator/components/com_content/admin.content.php:723 +msgid "%d Item successfully Archived" +msgstr "%d articolo è stato archiviato" + +#: administrator/components/com_content/admin.content.php:725 +msgid "%d Item successfully Published" +msgstr "%d articolo è stato pubblicato" + +#: administrator/components/com_content/admin.content.php:727 +msgid "%d Item successfully Unpublished" +msgstr "%d articolo non più pubblicato" + +#: administrator/components/com_content/admin.content.php:753 +msgid "Select an item to toggle" +msgstr "Selezionare un articolo al quale cambiare lo stato" + +#: administrator/components/com_content/admin.content.php:788 +msgid "Select an item to delete" +msgstr "Selezionare un articolo da cancellare" + +#: administrator/components/com_content/admin.content.php:805 +msgid "%d Item sent to the Trash" +msgstr "%d articolo cestinato" + +#: administrator/components/com_content/admin.content.php:886 +#: administrator/components/com_content/admin.content.php:990 +msgid "An error has occurred" +msgstr "Si è verificato un errore" + +#: administrator/components/com_content/admin.content.php:935 +msgid "%d Item successfully moved to Section: %s, Category: %s" +msgstr "%d l'articolo è stato spostato alla Sezione: %s, Categoria: %s" + +#: administrator/components/com_content/admin.content.php:1062 +msgid "%d Item successfully copied to Section: %s, Category: %s" +msgstr "%d l'articolo è stato copiato nella Sezione: %s, Categoria: %s" + +#: administrator/components/com_content/admin.content.php:1079 +msgid "Successfully Reset Hit count" +msgstr "Il contatore delle visite è stato azzerato" + +#: administrator/components/com_content/admin.content.php:1145 +msgid "%s (Link - Static Content) in menu: %s successfully created" +msgstr "%s (collegamento - contenuto statico) nel menu: %s è stato creato" + +#: administrator/components/com_content/content.xml +msgid "A text key that an item may be referenced by (like a help reference)" +msgstr "" +"Un testo chiave con il quale un articolo può essere referenziato (come un " +"aiuto di riferimento)" + +#: administrator/components/com_content/content.xml +msgid "Author Names" +msgstr "Nomi Autori" + +#: administrator/components/com_content/content.xml +msgid "Category Name Linkable" +msgstr "Nome categoria collegabile" + +#: administrator/components/com_content/content.xml +msgid "Content Page" +msgstr "Pagina di contenuto" + +#: administrator/components/com_content/content.xml +msgid "Created Date and Time" +msgstr "Data ed Ora create" + +#: administrator/components/com_content/content.xml +#: components/com_content/content.html.php:1015 +msgid "Intro Text" +msgstr "Introduzione" + +#: administrator/components/com_content/content.xml +msgid "Item Rating" +msgstr "Valutazione articolo" + +#: administrator/components/com_content/content.xml +msgid "Key Reference" +msgstr "Riferimento chiave" + +#: administrator/components/com_content/content.xml +msgid "Linked Titles" +msgstr "Titoli collegati" + +#: administrator/components/com_content/content.xml +msgid "Make the Category text a link to the actual Category page" +msgstr "" +"Trasforma il testo Categoria, un collegamento all'attuale pagina di categoria" + +#: administrator/components/com_content/content.xml +msgid "Make the Section text a link to the actual section page" +msgstr "" +"Trasforma il testo Sezione, un collegamento all'attuale pagina di sezione" + +#: administrator/components/com_content/content.xml +msgid "Make your Item titles linkable" +msgstr "Rendi collegabile il titolo dell'articolo" + +#: administrator/components/com_content/content.xml +msgid "Modified Date and Time" +msgstr "Data ed Ora modificate" + +#: administrator/components/com_content/content.xml +msgid "PDF Icon" +msgstr "Icona PDF" + +#: administrator/components/com_content/content.xml +msgid "Section Name" +msgstr "Nome Sezione" + +#: administrator/components/com_content/content.xml +msgid "Section Name Linkable" +msgstr "Nome Sezione collegabile" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the Category the item belongs to" +msgstr "Mostra/Nascondi la categoria alla quale l'articolo appartiene" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the Section the item belongs to" +msgstr "Mostra/Nascondi la sezione alla quale l'articolo appartiene" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the intro text" +msgstr "Mostra/Nascondi l'Introduzione" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item author - only affects this page" +msgstr "" +"Mostra/Nascondi l'Autore dell'articolo - ha effetto solo in questa pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item creation date - only affects this page" +msgstr "" +"Mostra/Nascondi la data di creazione dell'articolo - ha effetto solo in " +"questa pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item email button - only affects this page" +msgstr "" +"Mostra/Nascondi il bottone Email dell'articolo - ha effetto solo in questa " +"pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item modification date - only affects this page" +msgstr "" +"Mostra/Nascondi la data di modifica dell'articolo - ha effetto solo in " +"questa pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item pdf button - only affects this page" +msgstr "" +"Mostra/Nascondi il bottone PDF dell'articolo - ha effetto solo in questa " +"pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item rating - only affects this page" +msgstr "" +"Mostra/Nascondi la valutazione dell'articolo - ha effetto solo in questa " +"pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the items title" +msgstr "Mostra/Nascondi il titolo dell'articolo" + +#: administrator/components/com_content/content.xml +msgid "This shows a single content page" +msgstr "Questo mostra una singola pagina di contenuto" + +#: components/com_content/content.html.php:70 +msgid "This Category is currently empty" +msgstr "Questa categoria è vuota" + +#: components/com_content/content.html.php:118 +msgid "%d item" +msgstr "%d articolo" + +#: components/com_content/content.html.php:134 +msgid "Registered Users Only" +msgstr "Solo Utenti registrati" + +#: components/com_content/content.html.php:164 +msgid "Filter" +msgstr "Filtro" + +#: components/com_content/content.html.php:186 +msgid "Display #" +msgstr "Mostra #" + +#: components/com_content/content.html.php:213 +msgid "Item Title" +msgstr "Titolo articolo" + +#: components/com_content/content.html.php:270 +#: components/com_content/content.html.php:420 +msgid "Register to read more..." +msgstr "Registrati per leggere il resto..." + +#: components/com_content/content.html.php:350 +msgid "More..." +msgstr "Continua..." + +#: components/com_content/content.html.php:415 +msgid "Read more..." +msgstr "Leggi tutto..." + +#: components/com_content/content.html.php:610 +#: components/com_content/content.html.php:612 +#: components/com_content/content.html.php:616 +msgid "PDF" +msgstr "PDF" + +#: components/com_content/content.html.php:635 +#: components/com_content/content.html.php:637 +#: components/com_content/content.html.php:641 +msgid "E-mail" +msgstr "E-mail" + +#: components/com_content/content.html.php:912 +msgid "Please select a category" +msgstr "Prego selezionare una categoria" + +#: components/com_content/content.html.php:914 +#: components/com_content/content.html.php:923 +msgid "Content item must have intro text" +msgstr "Il contenuto deve avere almeno l'Introduzione" + +#: components/com_content/content.html.php:939 +msgid "Please either Cancel or Save the current change" +msgstr "Prego Salvare o Cancellare le modifiche effettuate" + +#: components/com_content/content.html.php:948 +msgid "Expiry Date:" +msgstr "Data scadenza:" + +#: components/com_content/content.html.php:950 +msgid "Version:" +msgstr "Versione:" + +#: components/com_content/content.html.php:952 +msgid "Created:" +msgstr "Creato:" + +#: components/com_content/content.html.php:954 +msgid "Last Modified:" +msgstr "Ultima modifica:" + +#: components/com_content/content.html.php:964 +msgid "Item Information" +msgstr "Informazione articolo" + +#: components/com_content/content.html.php:965 +msgid "Info" +msgstr "Info" + +#: components/com_content/content.html.php:1015 +#: components/com_content/content.html.php:1021 +msgid "Required" +msgstr "Richiesto" + +#: components/com_content/content.html.php:1021 +#: components/com_content/content.html.php:1039 +msgid "Main Text" +msgstr "Testo principale" + +#: components/com_content/content.html.php:1039 +msgid "Optional" +msgstr "Opzionale" + +#: components/com_content/content.html.php:1061 +msgid "Sub-folder" +msgstr "Sotto-cartella" + +#: components/com_content/content.html.php:1066 +msgid "Gallery Images" +msgstr "Galleria immagini" + +#: components/com_content/content.html.php:1069 +msgid "Content Images" +msgstr "Immagini di contenuto" + +#: components/com_content/content.html.php:1072 +msgid "Edit Image" +msgstr "Modifica immagine" + +#: components/com_content/content.html.php:1078 +msgid "Insert" +msgstr "Inserisci" + +#: components/com_content/content.html.php:1083 +msgid "Up" +msgstr "Su" + +#: components/com_content/content.html.php:1084 +msgid "Down" +msgstr "Giù" + +#: components/com_content/content.html.php:1085 +msgid "Remove" +msgstr "Rimuovi" + +#: components/com_content/content.html.php:1099 +msgid "Align:" +msgstr "Allinea:" + +#: components/com_content/content.html.php:1132 +#: components/com_content/content.html.php:1135 +msgid "No Image" +msgstr "Nessuna immagine" + +#: components/com_content/content.html.php:1201 +msgid "Show on Front Page:" +msgstr "Mostra nella Pagina Principale:" + +#: components/com_content/content.html.php:1260 +#: components/com_content/content.php:1444 +msgid "" +"You must enter valid e-mail addresses for both yourself and your recipient." +msgstr "" +"Si deve inserire un indirizzo e-mail valido sia per il mittente che per il " +"destinatario." + +#: components/com_content/content.html.php:1274 +msgid "E-mail this to a friend." +msgstr "Invia per e-mail ad un amico." + +#: components/com_content/content.html.php:1282 +msgid "Your friend's E-mail:" +msgstr "L'email del tuo amico:" + +#: components/com_content/content.html.php:1290 +msgid "Your Name:" +msgstr "Il tuo nome:" + +#: components/com_content/content.html.php:1298 +msgid "Your E-mail:" +msgstr "La tua email:" + +#: components/com_content/content.html.php:1317 +msgid "Send e-mail" +msgstr "Invia e-mail" + +#: components/com_content/content.html.php:1338 +msgid "This item has been sent to %s" +msgstr "Questo articolo è stato spedito a %s" + +#: components/com_content/content.php:432 +msgid "Date Asc" +msgstr "Data asc" + +#: components/com_content/content.php:433 +msgid "Date Desc" +msgstr "Data disc" + +#: components/com_content/content.php:437 +msgid "Title Asc" +msgstr "Titolo asc" + +#: components/com_content/content.php:438 +msgid "Title Desc" +msgstr "Titolo disc" + +#: components/com_content/content.php:442 +msgid "Hits Asc" +msgstr "Visite asc" + +#: components/com_content/content.php:443 +msgid "Hits Desc" +msgstr "Visite disc" + +#: components/com_content/content.php:447 +msgid "Author Asc" +msgstr "Autore asc" + +#: components/com_content/content.php:448 +msgid "Author Desc" +msgstr "Autore disc" + +#: components/com_content/content.php:451 +msgid "Ordering" +msgstr "Ordinamento" + +#: components/com_content/content.php:642 +#: components/com_content/content.php:722 +msgid "There are currently no Archived Entries for this Category" +msgstr "Attualmente non ci sono articoli archiviati per questa categoria" + +#: components/com_content/content.php:820 +msgid "Here are the Archived entries for %s %s" +msgstr "Ci sono articoli archiviati per %s %s" + +#: components/com_content/content.php:954 +msgid "There are no Archived entries for %s %s" +msgstr "Non ci sono articoli archiviati per %s %s" + +#: components/com_content/content.php:958 +msgid "There are no items to display" +msgstr "Non ci sono articoli da mostrare" + +#: components/com_content/content.php:1161 +msgid "The module [ %s ] is currently being edited by another person." +msgstr "" +"Il modulo [%s] è attualmente in corso di modifca da parte di un altro " +"amministratore." + +#: components/com_content/content.php:1368 +msgid "" +"A new content item has been submitted by [ %s ] titled [ %s ] from section " +"[ %s ] and category [ %s ]" +msgstr "" +"Un nuovo articolo di contenuto è stato inserito da [ %s ] intitolato [ %s ] " +"nella sezione [ %s ] e categoria [ %s ]" + +#: components/com_content/content.php:1368 +msgid "New Item" +msgstr "Nuovo articolo" + +#: components/com_content/content.php:1373 +msgid "Item saved successfully." +msgstr "Articolo salvato correttamente." + +#: components/com_content/content.php:1373 +msgid "" +"Thanks for your submission; it will be reviewed before being posted to the " +"site." +msgstr "" +"Grazie per il tuo contributo, sarà visionato prima di essere inserito sul " +"sito." + +#: components/com_content/content.php:1435 +msgid "Item sent by %s" +msgstr "Articolo inviato da %s" + +#: components/com_content/content.php:1455 +msgid "" +" The following page from the \"%s\" website has been sent to you by %s ( %" +"s ).\n" +"\n" +"You can access it at the following url:\n" +"%s" +msgstr "" +"Ti sono state spedite le seguenti pagine dal sito \"%s\" da %s ( %s ).\n" +"\n" + +#: components/com_content/content.php:1506 +msgid "You already voted for this poll today!" +msgstr "Hai già votato per questo sondaggio, oggi!" + +#: components/com_content/content.php:1509 +msgid "Thanks for your vote!" +msgstr "Grazie per il tuo voto" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_banners.php:73 +msgid "Advertisement" +msgstr "Pubblicità" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:40 +msgid "Hi, %s" +msgstr "Ciao, %s" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:65 +msgid "username" +msgstr "nome utente" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:69 +msgid "password" +msgstr "password" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:71 +msgid "Remember Me" +msgstr "Memorizza" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:72 +msgid "Remember me" +msgstr "Memorizza" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:81 +msgid "Password Reminder" +msgstr "Password dimenticata?" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:90 +msgid "No account yet?" +msgstr "Non sei utente?" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:92 +msgid "Create one" +msgstr "Registrati ora" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_search.php:15 +msgid "Search" +msgstr "Cerca" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_search.php:17 +msgid "search..." +msgstr "cerca..." + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:25 +msgid "Time" +msgstr "Tempo" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:26 +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:28 +msgid "Disabled" +msgstr "Disabilitato" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:26 +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:28 +msgid "Enabled" +msgstr "Abilitato" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:35 +msgid "Members" +msgstr "Membri" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:39 +msgid "News" +msgstr "Novità" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:43 +msgid "WebLinks" +msgstr "WebLinks" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:57 +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:59 +msgid "Visitors" +msgstr "Visitatori" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_templatechooser.php:75 +msgid "Select" +msgstr "Seleziona" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:28 +msgid "We have %d guest online" +msgid_plural "We have %d guests online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:32 +msgid "We have %d member online" +msgid_plural "We have %d members online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:36 +msgid "We have %d guest online and " +msgid_plural "We have %d guests online and " +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:37 +msgid " %d member online" +msgid_plural " %d members online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:54 +msgid "No Users Online" +msgstr "Nessun utente online" + +#: administrator/components/com_frontpage/admin.frontpage.php:189 +msgid "Select an item to %a" +msgstr "seleziona un articolo da %a" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Intro" +msgstr "# Intro" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Leading" +msgstr "# Intestazione" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Links" +msgstr "# Collegamenti" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Author Alphabetical" +msgstr "Autore in ordine alfabetico" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Author Reverse-Alphabetical" +msgstr "Autore in ordine alfabetico inverso" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Auto" +msgstr "Auto" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Category Order" +msgstr "Ordine categoria" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Columns" +msgstr "Colonne" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Display {mosimages}." +msgstr "Mostra {mosimage}." + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Frontpage Ordering" +msgstr "Ordinamento pagina principale" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Item Titles" +msgstr "Titoli articoli" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Least Hits" +msgstr "Visite minime" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "MOSImages" +msgstr "MOSImages" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Most Hits" +msgstr "Più visitati" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Most recent first" +msgstr "I più recenti prima" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "No, order by Primary Order only" +msgstr "No, ordinati solo per ordine primario" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Number of Items to display as Links." +msgstr "Numero di articoli da mostrare come collegamenti" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"Number of Items to display as a leading (full width) item. 0 will mean that " +"no items will be displayed as leading." +msgstr "" +"Numero di articoli da mostrare come principali (a piena larghezza). 0 " +"significa che nessun articolo sarà mostrato come prioritario." + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Number of Items to display with the introduction text shown." +msgstr "Numero di articoli da mostrare con l'intestazione." + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Oldest first" +msgstr "I più vecchi, prima" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Order items by catgeory" +msgstr "Ordina articoli per categoria" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Order that the items will be displayed in." +msgstr "Ordine con il quale saranno visualizzati gli articoli." + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Pagination" +msgstr "Paginazione" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Pagination Results" +msgstr "Risultati paginazione" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Primary Order" +msgstr "Ordine primario" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Read More" +msgstr "Leggi tutto" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide Pagination Results info ( e.g 1-4 of 4 )" +msgstr "Mostra/nascondi risultati paginazione (ad es. 1-4 di 4)" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide Pagination support" +msgstr "Mostra/nascondi supporto paginazione" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the Page title" +msgstr "Mostra/nascondi il titolo della pagina" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the Read More link" +msgstr "Mostra/nascondi il collegamento Leggi tutto" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Text to display at the top of the page" +msgstr "Testo da mostrare in cima alla pagina" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"This component shows all the published content items from your site marked " +"Show on Frontpage." +msgstr "" +"Questo componente mostra tutti i contenuti pubblicati nel sito, marcati con " +"Mostra nella Pagina Principale" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Title Alphabetical" +msgstr "Titolo, ordine alfabetico" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Title Reverse-Alphabetical" +msgstr "Titolo, ordine alfabetico inverso" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "When displaying the intro text, how many columns to use per row" +msgstr "" +"Quando si mostrano i testi introduttivi, quante colonne bisogna usare per " +"riga?" + +#: administrator/components/com_installer/admin.installer.html.php:35 +#: administrator/components/com_installer/admin.installer.php:149 +msgid "Please select a directory" +msgstr "Prego selezionare una cartella" + +#: administrator/components/com_installer/admin.installer.html.php:56 +msgid "Upload Package File" +msgstr "Caricare il file compresso" + +#: administrator/components/com_installer/admin.installer.html.php:61 +msgid "Package File:" +msgstr "File compresso:" + +#: administrator/components/com_installer/admin.installer.html.php:63 +msgid "Upload File & Install" +msgstr "Carica file ed installa" + +#: administrator/components/com_installer/admin.installer.html.php:79 +msgid "Install from directory" +msgstr "Installa dalla cartella" + +#: administrator/components/com_installer/admin.installer.html.php:84 +msgid "Install directory:" +msgstr "Cartella installazione" + +#: administrator/components/com_installer/admin.installer.html.php:148 +msgid "Continue ..." +msgstr "Continua..." + +#: administrator/components/com_installer/admin.installer.php:160 +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Error" +msgstr "Errore" + +#: administrator/components/com_installer/admin.installer.php:160 +msgid "Install new " +msgstr "Installa nuovo" + +#: administrator/components/com_installer/admin.installer.php:160 +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Success" +msgstr "Successo" + +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Uninstall " +msgstr "Disinstalla" + +#: administrator/components/com_installer/admin.installer.php:198 +msgid "Failed to change the permissions of the uploaded file." +msgstr "Il tentativo di cambiare i permessi del file caricato è fallito." + +#: administrator/components/com_installer/admin.installer.php:201 +msgid "Failed to move uploaded file to /media directory." +msgstr "" +"Il tentativo di spostare il file caricato in /media è fallito." + +#: administrator/components/com_installer/admin.installer.php:204 +msgid "Upload failed as /media directory is not writable." +msgstr "" +"Caricamento fallito in quanto la cartella /media non è " +"scrivibile." + +#: administrator/components/com_installer/admin.installer.php:207 +msgid "Upload failed as /media directory does not exist." +msgstr "" +"Caricamento fallito in quanto la cartella /media non esiste." + +#: administrator/components/com_installer/admin.installer.php:223 +#: administrator/components/com_installer/admin.installer.php:298 +#: administrator/components/com_installer/admin.installer.php:303 +#: administrator/components/com_installer/admin.installer.php:308 +#: administrator/components/com_installer/admin.installer.php:365 +msgid "Uninstall - error" +msgstr "Errore nella disinstallazione" + +#: administrator/components/com_installer/admin.installer.php:228 +msgid "Is core component - may not be deleted" +msgstr "" +"E' un componente del codice principale e in quanto tale non può essere " +"disinstallato" + +#: administrator/components/com_installer/admin.installer.php:229 +msgid "" +"Component %s is a core component, and can not be uninstalled.
      You need " +"to unpublish it if you don't want to use it" +msgstr "" +"Il componente %s è un componente del codice principale e in quanto tale non " +"può essere disinstallato.
      Se non lo si vuole usare, si deve toglierne " +"la pubblicazione" + +#: administrator/components/com_installer/admin.installer.php:268 +msgid "" +"%s is a core module, and can not be uninstalled.
      You need to unpublish " +"it if you don't want to use it" +msgstr "" +"%s è un modulo del codice principale e in quanto tale non può essere " +"disinstallato.
      Se non lo si vuole usare, si deve toglierne la " +"pubblicazione" + +#: administrator/components/com_installer/admin.installer.php:303 +msgid "Invalid object id" +msgstr "ID dell'oggetto non valido" + +#: administrator/components/com_installer/admin.installer.php:308 +msgid "Folder field empty, cannot remove files" +msgstr "Campo cartella vuoto, non è possibile rimuovere i files" + +#: administrator/components/com_installer/admin.installer.php:365 +msgid "Language id empty, cannot remove files" +msgstr "ID del linguaggio vuoto, non è possibile rimuovere i files" + +#: administrator/components/com_installer/component/component.html.php:30 +msgid "Installed Components" +msgstr "Componenti installati" + +#: administrator/components/com_installer/component/component.html.php:38 +msgid "Currently Installed" +msgstr "Attualmente installati" + +#: administrator/components/com_installer/component/component.html.php:41 +msgid "Component Menu Link" +msgstr "Collegamento al menu del componente" + +#: administrator/components/com_installer/component/component.html.php:47 +#: administrator/components/com_installer/mambot/mambot.html.php:60 +#: administrator/components/com_installer/module/module.html.php:56 +msgid "Version" +msgstr "Versione" + +#: administrator/components/com_installer/component/component.html.php:53 +#: administrator/components/com_installer/mambot/mambot.html.php:66 +#: administrator/components/com_installer/module/module.html.php:62 +msgid "Author Email" +msgstr "Email Autore" + +#: administrator/components/com_installer/component/component.html.php:56 +#: administrator/components/com_installer/mambot/mambot.html.php:69 +#: administrator/components/com_installer/module/module.html.php:65 +msgid "Author URL" +msgstr "URL Autore" + +#: administrator/components/com_installer/component/component.html.php:96 +msgid "There are no custom components installed" +msgstr "Non ci sono componenti personalizzati installati" + +#: administrator/components/com_installer/component/component.php:21 +msgid "Install new Component" +msgstr "Instala nuovo componente" + +#: administrator/components/com_installer/installer.class.php:57 +msgid "XML error in %s: no handler %s" +msgstr "Errore XML in %s: non c'è il gestore %s" + +#: administrator/components/com_installer/installer.class.php:59 +msgid "XML error in %s: mosinstall has no type" +msgstr "Errore XML in %s: mosinstall non ha il tipo" + +#: administrator/components/com_installer/installer.class.php:64 +msgid "XML Error in %s: install has no name" +msgstr "Errore XML in %s: install non ha il nome" + +#: administrator/components/com_installer/installer.class.php:89 +msgid "XML error in %s: MENU found, but this is not component XML" +msgstr "Errore XML in %s: MENU è stato trovato, ma non è un componente XML" + +#: administrator/components/com_installer/installer.class.php:117 +msgid "XML Error in %s: Mambot does not have a group specified" +msgstr "Errore XML in %s: Mambot non ha un gruppo specificato" + +#: administrator/components/com_installer/installer.class.php:142 +msgid "XML error in %s: no installer %s" +msgstr "Errore XML in %s: nessun installatore %s" + +#: administrator/components/com_installer/installer.class.php:188 +msgid "Installer error with %s: unable to create admin directory for %s %s" +msgstr "" +"Errore installatore con %s: impossibile creare cartella amministratore per %" +"s %s" + +#: administrator/components/com_installer/installer.class.php:195 +msgid "Installer error with %s: unable to create user directory for %s %s" +msgstr "" +"Errore installatore con %s: impossibile creare cartella utente per %s %s" + +#: administrator/components/com_installer/installer.class.php:221 +msgid "Installer error with %s: writing component menu SQL error %s" +msgstr "Errore installatore con %s: scrittura componente menu SQL errore %s" + +#: administrator/components/com_installer/installer.class.php:233 +#: administrator/components/com_installer/installer.class.php:279 +#: administrator/components/com_installer/installer.class.php:316 +#: administrator/components/com_installer/installer.class.php:344 +msgid "Installer error with %s: %s %s already installed" +msgstr "Errore installatore con %s: %s %s già installato" + +#: administrator/components/com_installer/installer.class.php:249 +#: administrator/components/com_installer/installer.class.php:301 +#: administrator/components/com_installer/installer.class.php:335 +msgid "Installer error with %s: %s %s SQL error %s" +msgstr "Errore installatore con %s: %s %s SQL errore %s" + +#: administrator/components/com_installer/installer.class.php:270 +#: administrator/components/com_installer/installer.class.php:308 +msgid "Installer error with %s: no file identified as the %s" +msgstr "Errore installatore con %s: nessun file identificato come %s" + +#: administrator/components/com_installer/installer.class.php:430 +msgid "Uninstaller error with %s: no uninstaller %s" +msgstr "Errore disinstallatore con %s: nessun disinstallatore %s" + +#: administrator/components/com_installer/installer.class.php:493 +msgid "Uninstaller error with %s: %s %s SQL error %s" +msgstr "Errore disinstallatore con %s: %s %s SQL errore %s" + +#: administrator/components/com_installer/installer.class.php:503 +#: administrator/components/com_installer/installer.class.php:525 +#: administrator/components/com_installer/installer.class.php:544 +msgid "Uninstaller error with %s: %s %s not fully deleted from database" +msgstr "" +"Errore disinstallatore con %s: %s %s non interamente cancellato dal database" + +#: administrator/components/com_installer/installer.class.php:516 +msgid "Uninstaller error with %s: no file identified as the %s" +msgstr "Errore disinstallatore con %s: nessun file identificato come %s" + +#: administrator/components/com_installer/installer.class.php:621 +msgid "Installer unrecoverable ZIP error %s in %s" +msgstr "Installatore: errore ZIP non recuperabile %s in %s" + +#: administrator/components/com_installer/installer.class.php:630 +msgid "Installer unrecoverable TAR error in %s" +msgstr "Installatore: errore TAR non recuperabile in %s" + +#: administrator/components/com_installer/language/language.php:19 +msgid "Back to Language Manager" +msgstr "Torna al gestore linguaggio" + +#: administrator/components/com_installer/language/language.php:20 +msgid "Install new Language - Site" +msgstr "Installa nuovo linguaggio - Sito" + +#: administrator/components/com_installer/mambot/mambot.html.php:29 +msgid "Installed Mambots" +msgstr "Mambots installati" + +#: administrator/components/com_installer/mambot/mambot.html.php:34 +msgid "" +"Only those Mambots that can be uninstalled are displayed - some Core Mambots " +"cannot be removed." +msgstr "" +"Sono elencati solo i Mambots che possono essere disinstallati - qualche " +"Mambot necessario al codice principale non può essere rimosso." + +#: administrator/components/com_installer/mambot/mambot.html.php:45 +msgid "Mambot" +msgstr "Mambot" + +#: administrator/components/com_installer/mambot/mambot.html.php:124 +msgid "There are no non-core, custom mambots installed." +msgstr "Non ci sono Mambots personalizzati installati." + +#: administrator/components/com_installer/mambot/mambot.php:21 +msgid "Install new Mambots" +msgstr "Installa nuovo mambot" + +#: administrator/components/com_installer/module/module.html.php:27 +msgid "Installed Modules" +msgstr "Moduli installati" + +#: administrator/components/com_installer/module/module.html.php:38 +msgid "" +"Only those Modules that can be uninstalled are displayed - some Core Modules " +"cannot be removed." +msgstr "" +"Sono elencati solo i Moduli che possono essere disinstallati - qualche " +"Modulo necessario al codice principale non può essere rimosso." + +#: administrator/components/com_installer/module/module.html.php:47 +msgid "Module File" +msgstr "Modulo file" + +#: administrator/components/com_installer/module/module.html.php:50 +msgid "Client" +msgstr "Clente" + +#: administrator/components/com_installer/module/module.html.php:77 +#: administrator/components/com_installer/template/template.php:24 +msgid "Administrator" +msgstr "Amministratore" + +#: administrator/components/com_installer/module/module.html.php:101 +msgid "No custom modules installed" +msgstr "Nessun modulo personalizzato installato" + +#: administrator/components/com_installer/module/module.php:21 +msgid "Install new Modules" +msgstr "Installa nuovo modulo" + +#: administrator/components/com_installer/module/module.php:42 +msgid "Admin Modules" +msgstr "Moduli amministrazione" + +#: administrator/components/com_installer/template/template.php:24 +msgid "Install new Template" +msgstr "Installa nuovo template" + +#: administrator/components/com_installer/template/template.php:26 +msgid "Back to Templates" +msgstr "Torna ai templates" + +#: administrator/components/com_installer/toolbar.installer.html.php:25 +msgid "Uninstall" +msgstr "Disinstalla" + +#: administrator/components/com_languages/actions/publish.action.php:25 +msgid "Configuration succesfully updated!" +msgstr "Configurazione aggiornata!" + +#: administrator/components/com_languages/actions/publish.action.php:27 +msgid "Error! Make sure that configuration.php is writeable." +msgstr "Errore! Ci si assicuri che configuration.php sia scrivibile." + +#: administrator/components/com_languages/toolbar.languages.php:44 +msgid "Extract" +msgstr "Estrai" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:9 +msgid "Compile Catalog?" +msgstr "Compilare catalogo?" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:10 +msgid "yes" +msgstr "si" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:11 +msgid "no" +msgstr "no" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:22 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:35 +msgid "MsgId" +msgstr "MsgId" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:24 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:37 +msgid "MsgId Plural" +msgstr "MsgId plurale" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:25 +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:54 +msgid "MsgStr" +msgstr "MsgStr" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:27 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:41 +msgid "Plural form" +msgstr "Forma plurale" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:43 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:58 +msgid "Fuzzy Entry" +msgstr "Inserimento dubbio" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Catalog dump" +msgstr "Dump catalogo" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Comments" +msgstr "Commenti" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Headers" +msgstr "Intestazioni" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Strings" +msgstr "Stringhe" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:11 +msgid "PHPGettext Example" +msgstr "PHPGettext esempio" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:21 +msgid "PHPGettext" +msgstr "PHPGettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:22 +msgid "Gettext for PHP" +msgstr "Gettext per PHP" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:25 +msgid "Current language is:" +msgstr "Il linguaggio corrente è:" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:34 +msgid "Change language" +msgstr "Cambia lingua" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:41 +msgid "Gettext is enabled!" +msgstr "Gettext è abilitato!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:43 +msgid "Gettext is disabled!" +msgstr "Gettext è disabilitato!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:55 +msgid "Disable Gettext" +msgstr "Disabilita Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:56 +msgid "Enable Gettext" +msgstr "Abilita Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:57 +msgid "Extract Strings" +msgstr "Estrai stringhe" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:58 +msgid "Run Unit Tests" +msgstr "Esegui unità di tests" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:59 +msgid "Clear Tests" +msgstr "Cancella tests" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:10 +msgid "Create Translation for:" +msgstr "Crea traduzione per:" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:20 +msgid "Delete This Template" +msgstr "Cancella questo template" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Login Image" +msgstr "Allineamento per immagine di login" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Logout Image" +msgstr "Allineamento per immagine di Logout" + +#: administrator/components/com_login/login.xml +msgid "Image for the Login Page" +msgstr "Immagine della pagina di Login" + +#: administrator/components/com_login/login.xml +msgid "Image for the Logout Page" +msgstr "Immagine della pagina di Logout" + +#: administrator/components/com_login/login.xml +msgid "Login Description" +msgstr "Descrizione del Login" + +#: administrator/components/com_login/login.xml +msgid "Login Description Text" +msgstr "Testo del Login" + +#: administrator/components/com_login/login.xml +msgid "Login Image" +msgstr "Immagine di Login" + +#: administrator/components/com_login/login.xml +msgid "Login Image Align" +msgstr "Allineamento dell'Immagine di Login" + +#: administrator/components/com_login/login.xml +msgid "Login JS Message" +msgstr "Messaggio JavaScript per il Login" + +#: administrator/components/com_login/login.xml +msgid "Login Page Title" +msgstr "Titolo della Pagina di Login" + +#: administrator/components/com_login/login.xml +msgid "Login Redirection URL" +msgstr "URL della redirezione dopo il Login" + +#: administrator/components/com_login/login.xml +msgid "Logout Description" +msgstr "Descrizione del Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Description Text" +msgstr "Testo del Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Image" +msgstr "Immagine di Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Image Align" +msgstr "Allineamento dell'Immagine di Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout JS Message" +msgstr "Messaggio JavaScript dopo il Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Page Title" +msgstr "Titolo della Pagina di Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Redirection URL" +msgstr "URL della redirezione dopo il Logout" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Login Description below" +msgstr "Visualizza o nasconde la descrizione inferiore del Login" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Logout Description below" +msgstr "Visualizza o nasconde la descrizione inferiore del Logout" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Login Success" +msgstr "Attiva o Disattiva la finestrella pop-up che conferma l'avvenuto Login" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Logout Success" +msgstr "" +"Attiva o Disattiva la finestrella pop-up che conferma l'avvenuto Logout" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the login Page, if left blank _LOGIN_DESCRIPTION will be " +"used" +msgstr "" +"Testo che verrà visualizzato nella pagina di Login. Se viene lasciato vuoto, " +"apparirà _LOGIN_DESCRIPTION" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the logout Page, if left blank _LOGOUT_DESCRIPTION will " +"be used" +msgstr "" +"Testo che verrà visualizzato nella pagina di Logout. Se viene lasciato " +"vuoto, apparirà _LOGOUT_DESCRIPTION" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will be redirected to after logout, if let blank will load front " +"page" +msgstr "" +"Pagina alla quale si verrà rediretti dopo il Logout. Se lasciata vuota, si " +"verrà inviati alla home page." + +#: administrator/components/com_login/login.xml +msgid "" +"What page will the login redirect to after login, if let blank will load " +"front page" +msgstr "" +"Pagina alla quale si verrà rediretti dopo il Login. Se lasciata vuota, si " +"verrà inviati alla home page." + +#: components/com_login/login.html.php:109 +msgid "!Warning! Javascript must be enabled for proper operation." +msgstr "" +"Attenzione! Per eseguire correttamente questa operazione devi avere " +"JavaScript abilitato sul tuo browser." + +#: components/com_login/login.php:38 +msgid "To access the Private areas of this site please Login" +msgstr "Devi eseguire il Login per accedere alle aree riservate di questo sito" + +#: components/com_login/login.php:39 +msgid "You are now Logged in to a private area of this site" +msgstr "Sei entrato nell'area riservata del sito" + +#: administrator/components/com_mambots/admin.mambots.html.php:34 +msgid "Mambot Manager" +msgstr "Gestione Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:55 +msgid "Mambot Name" +msgstr "Nome del Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:76 +msgid "File" +msgstr "File" + +#: administrator/components/com_mambots/admin.mambots.html.php:179 +msgid "Mambot must have a name" +msgstr "Il mambot deve avere un nome" + +#: administrator/components/com_mambots/admin.mambots.html.php:181 +msgid "Mambot must have a filename" +msgstr "Il file relativo al mambot deve avere un nome" + +#: administrator/components/com_mambots/admin.mambots.html.php:190 +msgid "Site Mambot:" +msgstr "Mambot del Sito:" + +#: administrator/components/com_mambots/admin.mambots.html.php:206 +msgid "Mambot Details" +msgstr "Dettagli del Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:219 +msgid "Folder:" +msgstr "Cartella:" + +#: administrator/components/com_mambots/admin.mambots.html.php:227 +msgid "Mambot file:" +msgstr "File del Mambot:" + +#: administrator/components/com_mambots/admin.mambots.html.php:235 +msgid "Mambot Order:" +msgstr "Ordinamento Mambot:" + +#: administrator/components/com_mambots/admin.mambots.html.php:285 +msgid "No Parameters" +msgstr "Nessun Parametro" + +#: administrator/components/com_mambots/admin.mambots.php:137 +msgid "- All Types -" +msgstr "- Tutti i Tipi -" + +#: administrator/components/com_mambots/admin.mambots.php:184 +msgid "Successfully Saved changes to Mambot: %s" +msgstr "I cambiamenti al mambot %s sono stati eseguiti correttamente" + +#: administrator/components/com_mambots/admin.mambots.php:189 +msgid "Successfully Saved Mambot: %s" +msgstr "Il mambot %s è stato memorizzato correttamente" + +#: administrator/components/com_mambots/admin.mambots.php:247 +msgid "This mambot cannot be reordered" +msgstr "Questo mambot non può essere soggetto a riordinamento" + +#: administrator/components/com_mambots/admin.mambots.php:290 +msgid "Select a module to delete" +msgstr "Seleziona un modulo da cancellare" + +#: administrator/components/com_mambots/admin.mambots.php:307 +msgid "Select a mambot to %s" +msgstr "Seleziona un mambot per %s" + +#: administrator/components/com_massmail/admin.massmail.html.php:30 +msgid "Please fill in the subject" +msgstr "Per favore, assicurati di scrivere il soggetto" + +#: administrator/components/com_massmail/admin.massmail.html.php:32 +msgid "Please select a group" +msgstr "Seleziona un gruppo" + +#: administrator/components/com_massmail/admin.massmail.html.php:34 +msgid "Please fill in the message" +msgstr "Per favore, assicurati di scrivere il Messaggio" + +#: administrator/components/com_massmail/admin.massmail.html.php:45 +#: administrator/components/com_massmail/massmail.xml +msgid "Mass Mail" +msgstr "Invio Mail agli Utenti" + +#: administrator/components/com_massmail/admin.massmail.html.php:66 +msgid "Mail to Child Groups:" +msgstr "Invia anche ai sottoGruppi:" + +#: administrator/components/com_massmail/admin.massmail.html.php:74 +msgid "Send in HTML mode:" +msgstr "Invia in modalità HTML:" + +#: administrator/components/com_massmail/admin.massmail.html.php:82 +msgid "Subject" +msgstr "Soggetto:" + +#: administrator/components/com_massmail/admin.massmail.html.php:90 +msgid "Message:" +msgstr "Messaggio:" + +#: administrator/components/com_massmail/admin.massmail.php:39 +msgid "- All User Groups -" +msgstr "- Tutti i Gruppi di Utenti -" + +#: administrator/components/com_massmail/admin.massmail.php:69 +msgid "Please fill in the form correctly" +msgstr "" +"Per favore, assicurati di completare correttamente tutte le parti del modulo" + +#: administrator/components/com_massmail/admin.massmail.php:92 +msgid "" +"This is an email from '%s'\n" +"\n" +"Message:\n" +msgstr "" +"Hai ricevuto un messaggio da '%s'\n" +"\n" +"Messaggio:\n" + +#: administrator/components/com_massmail/admin.massmail.php:105 +msgid "E-mail sent to %d user." +msgid_plural "E-mail sent to %d users." +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_massmail/massmail.xml +msgid "This component allows you to send a mass email to certain user groups" +msgstr "" +"Questo componente consente di spedire una mail contemporaneamente ad uno o " +"più gruppi di utenti" + +#: administrator/components/com_massmail/toolbar.massmail.html.php:24 +msgid "Send Mail" +msgstr "Invia la Mail" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:53 +msgid "Menu Name" +msgstr "Nome del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:56 +msgid "Menu Items" +msgstr "Elementi del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:59 +msgid "# Published" +msgstr "n. di Pubblicati" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:62 +msgid "# Unpublished" +msgstr "n. di Non pubblicati" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:65 +msgid "# Trash" +msgstr "n. di Cestinati" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:68 +msgid "# Modules" +msgstr "n. di Moduli" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:94 +msgid "Edit Menu Name" +msgstr "Modifica il Nome del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:99 +msgid "Edit Menu Items" +msgstr "Modifica gli Elementi del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:156 +msgid "Please enter a menu name" +msgstr "Devi assegnare un nome al menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:164 +msgid "Please enter a module name for your menu" +msgstr "Assegna un nome al modulo da associare al menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:182 +msgid "Menu Details" +msgstr "Dettagli Menu:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:190 +msgid "Menu Name:" +msgstr "Nome del Menu:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:195 +msgid "" +"This is the identification name used by mambo to identify this menu within " +"the code - it must be unique. It is recommended that you do not have any " +"spaces in your Menu Name" +msgstr "" +"Questo è il nome di identificazione usato da Mambo per identificare questo " +"menu nel codice - deve essere univoco. Si raccomanda di non inserire spazi " +"nel nome del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:210 +msgid "Title of the mod_mainmenu module required to show this Menu" +msgstr "" +"Per visualizzare questo menu, il modulo mod_mainmenu deve avere un titolo" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:216 +msgid "" +"A new mod_mainmenu module, with the Title you have entered above will " +"automatically be created when you save this menu." +msgstr "" +"Un nuovo modulo mod_mainmenu, con il Titolo che si è inserito sopra, sarà " +"creato automaticamente non appena salvato il menu." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:218 +msgid "" +"Parameters for the module created are to be edited through the \"Modules " +"Manager [site]\": Modules -> Site Modules" +msgstr "" +"I parametri per il modulo creato, saranno modificabili attraverso la " +"\"Gestione moduli [site]\": Moduli -> Moduli del sito" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:266 +msgid "Delete Menu: %s" +msgstr "Cancella menu: %s" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:279 +msgid "Module(s) being Deleted:" +msgstr "Moduli che stanno per essere cancellati:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:301 +msgid "Menu Items being Deleted:" +msgstr "Elementi di menu che stanno per essere cancellati:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:319 +msgid "" +"This will Delete this " +"Menu,
      ALL its Menu Items and the Module(s) associated with it" +msgstr "" +"Questa operazione cancellerà questo menu,
      TUTTI i suoi elementi ed i moduli associati" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:322 +msgid "" +"Are you sure you want to Delete this menu? \\nThis will Delete the Menu, its " +"Items and the Module(s)." +msgstr "" +"Si è sicuri di voler cancellare questo menu? \\n Questa operazione " +"cancellerà il menu, i suoi elementi ed i moduli associati." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:354 +msgid "Please enter a name for the copy of the Menu" +msgstr "Prego inserire un nome per la copia del menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:357 +msgid "Please enter a name for the new Module" +msgstr "Prego inserire un nome per il uovo Modulo" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:371 +msgid "Copy Menu" +msgstr "Copia menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:381 +msgid "New Menu Name:" +msgstr "Nuovo nome del modulo:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:385 +msgid "New Module Name:" +msgstr "Nuovo nome del modulo:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:392 +msgid "Menu being copied:" +msgstr "Menu che sta per essere copiato:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:402 +msgid "Menu Items being copied:" +msgstr "Elemento del menu che sta per essere copiato:" + +#: administrator/components/com_menumanager/admin.menumanager.php:207 +msgid "" +"You cannot rename the \"mainmenu\" Menu as this will disrupt the proper " +"operation of Mambo" +msgstr "" +"Non puoi rinominare il menu \"mainmenu\", perché distruggerebbe alcune " +"operazioni peculiari di Mambo" + +#: administrator/components/com_menumanager/admin.menumanager.php:223 +msgid "" +"A menu already exists with that name - you must enter a unique Menu Name" +msgstr "" +"Un menu con questo nome esiste già - si deve inserire un nome menu univoco" + +#: administrator/components/com_menumanager/admin.menumanager.php:258 +msgid "New Menu created [ %s ]" +msgstr "Creat il nuovo menu [ %s ]" + +#: administrator/components/com_menumanager/admin.menumanager.php:312 +msgid "Menu Items & Modules updated" +msgstr "Il menu Articoli & Moduli è stato aggiornato" + +#: administrator/components/com_menumanager/admin.menumanager.php:326 +#: administrator/components/com_menumanager/admin.menumanager.php:376 +msgid "You cannot delete the \"mainmenu\" menu as it is a core menu" +msgstr "" +"Non puoi cancellare il menu \"mainmenu\", perché è un elemento del codice " +"principale" + +#: administrator/components/com_menumanager/admin.menumanager.php:467 +msgid "" +"A menu with that name already exists - you must enter a unique Menu Name" +msgstr "" +"Un menu con questo nome esiste già - si deve inserire un nome menu univoco" + +#: administrator/components/com_menumanager/admin.menumanager.php:527 +msgid "Copy of Menu `%s` created, consisting of %d item" +msgid_plural "Copy of Menu `%s` created, consisting of %d items" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_menumanager/menumanager.xml +msgid "This component manages your Menus." +msgstr "Questo componente gestisce i menu." + +#: administrator/components/com_messages/admin.messages.html.php:24 +msgid "Private Messaging" +msgstr "Messaggi Privati" + +#: administrator/components/com_messages/admin.messages.html.php:36 +msgid "From" +msgstr "Da" + +#: administrator/components/com_messages/admin.messages.html.php:39 +#: administrator/components/com_messages/admin.messages.html.php:55 +msgid "Read" +msgstr "Letti" + +#: administrator/components/com_messages/admin.messages.html.php:57 +msgid "Unread" +msgstr "Non letti" + +#: administrator/components/com_messages/admin.messages.html.php:77 +msgid "Private Messaging Configuration" +msgstr "Configurazione dei Messaggi Privati" + +#: administrator/components/com_messages/admin.messages.html.php:82 +msgid "General" +msgstr "Generale" + +#: administrator/components/com_messages/admin.messages.html.php:89 +msgid "Are you sure?" +msgstr "Sei sicuro?" + +#: administrator/components/com_messages/admin.messages.html.php:101 +msgid "Lock Inbox:" +msgstr "Blocca i Messaggi in Entrata" + +#: administrator/components/com_messages/admin.messages.html.php:105 +msgid "Mail me on new Message:" +msgstr "Inviami i nuovi messaggi per e-mail" + +#: administrator/components/com_messages/admin.messages.html.php:123 +msgid "View Private Message" +msgstr "Visualizza i Messaggi Privati" + +#: administrator/components/com_messages/admin.messages.html.php:130 +msgid "From:" +msgstr "Da:" + +#: administrator/components/com_messages/admin.messages.html.php:134 +msgid "Posted:" +msgstr "Inviato il:" + +#: administrator/components/com_messages/admin.messages.html.php:138 +#: administrator/components/com_messages/admin.messages.html.php:193 +msgid "Subject:" +msgstr "Soggetto:" + +#: administrator/components/com_messages/admin.messages.html.php:169 +msgid "You must provide a subject." +msgstr "Devi scrivere un soggetto." + +#: administrator/components/com_messages/admin.messages.html.php:171 +msgid "You must provide a message." +msgstr "Devi scrivere un messaggio." + +#: administrator/components/com_messages/admin.messages.html.php:173 +msgid "You must select a recipient." +msgstr "Devi selezionare un destinatario." + +#: administrator/components/com_messages/admin.messages.html.php:182 +msgid "New Private Message" +msgstr "Nuovo Messaggio Privato." + +#: administrator/components/com_messages/admin.messages.html.php:189 +msgid "To:" +msgstr "A:" + +#: administrator/components/com_messages/toolbar.messages.html.php:21 +msgid "Reply" +msgstr "Rispondi" + +#: components/com_messages/messages.class.php:76 +#: components/com_messages/messages.class.php:77 +msgid "A new private message has arrived" +msgstr "Hai ricevuto un nuovo messaggio" + +#: components/com_messages/messages.class.php:84 +msgid "The user has locked their mailbox. Message failed." +msgstr "" +"L'utente ha bloccato i messaggi in arrivo. Il tuo messaggio non è stato " +"consegnato." + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "" +"

      Admin component for the MOStlyCE Editor mambot.

      Please refer to the " +"changelog and other information in the 'Admin Info' tab in the Admin " +"component. 

      " +msgstr "" +"

      Componente di Amministrazione per il mambot Editor MOStlyCE.

      Prego " +"di fare riferimento al changelog e alle altre informazioni nel tab 'Admin " +"Info? nel componente Admin.

      " + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "mostlyce" +msgstr "mostlyce" + +#: administrator/components/com_modules/admin.modules.html.php:34 +msgid "Module Manager" +msgstr "Modulo Manager" + +#: administrator/components/com_modules/admin.modules.html.php:60 +msgid "Module Name" +msgstr "Nome Modulo" + +#: administrator/components/com_modules/admin.modules.html.php:87 +msgid "Pages" +msgstr "Pagine" + +#: administrator/components/com_modules/admin.modules.html.php:156 +msgid "Varies" +msgstr "Varie" + +#: administrator/components/com_modules/admin.modules.html.php:166 +msgid "User" +msgstr "Utente" + +#: administrator/components/com_modules/admin.modules.html.php:213 +msgid "Module must have a title" +msgstr "Il Modulo deve avere un titolo" + +#: administrator/components/com_modules/admin.modules.html.php:239 +msgid "Module:" +msgstr "Modulo:" + +#: administrator/components/com_modules/admin.modules.html.php:270 +msgid "Show title:" +msgstr "Mostra il titolo:" + +#: administrator/components/com_modules/admin.modules.html.php:278 +msgid "Position:" +msgstr "Posizione:" + +#: administrator/components/com_modules/admin.modules.html.php:286 +msgid "Module Order:" +msgstr "Ordinamento Moduli:" + +#: administrator/components/com_modules/admin.modules.html.php:318 +msgid "ID:" +msgstr "ID:" + +#: administrator/components/com_modules/admin.modules.html.php:351 +msgid "Pages / Items" +msgstr "Pagine / Oggetti" + +#: administrator/components/com_modules/admin.modules.html.php:356 +msgid "Menu Item Link(s):" +msgstr "Link(s) all'oggetto Menu" + +#: administrator/components/com_modules/admin.modules.html.php:372 +msgid "Custom Output" +msgstr "Output personalizzata" + +#: administrator/components/com_modules/admin.modules.html.php:377 +msgid "Content:" +msgstr "Contenuto:" + +#: administrator/components/com_modules/admin.modules.php:149 +msgid "- All Positions -" +msgstr "- Tutte le Posizioni -" + +#: administrator/components/com_modules/admin.modules.php:211 +msgid "Module Copied [%s]" +msgstr "Modulo copiato [%s]" + +#: administrator/components/com_modules/admin.modules.php:268 +msgid "Successfully Saved changes to Module: %s" +msgstr "I cambiamenti al modulo: %s sono stati salvati" + +#: administrator/components/com_modules/admin.modules.php:274 +msgid "Successfully Saved Module: %s" +msgstr "Il modulo: %s è stato salvato" + +#: administrator/components/com_modules/admin.modules.php:377 +#: administrator/components/com_modules/admin.modules.php:378 +#: administrator/components/com_modules/admin.modules.php:381 +#: administrator/components/com_modules/admin.modules.php:382 +msgid "N/A" +msgstr "N/A" + +#: administrator/components/com_modules/admin.modules.php:440 +msgid "" +"You cannot delete mod_mainmenu module that displays the \"mainmenu\" as it " +"is a core Menu" +msgstr "" +"Non è possibile cancellare il mod_mainmenu che mostra il \"mainmenu\" perché " +"è un menu del codice principale" + +#: administrator/components/com_modules/admin.modules.php:466 +msgid "" +"Module(s): \"%s\" cannot be deleted they can only be un-installed as they " +"are Mambo modules." +msgstr "" +"I moduli: \"%s\" non possono essere cancellati ma solo disinstallati perché " +"fanno parte del codice principale di Mambo." + +#: administrator/components/com_modules/admin.modules.php:482 +msgid "Select a module to %s" +msgstr "Selezionare un modulo da %s" + +#: administrator/components/com_modules/toolbar.modules.html.php:41 +msgid "You can only preview typed modules." +msgstr "" +"Si possono vedere in anteprima solo i moduli di contenuto testo digitato." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:29 +msgid "Newsfeed Manager" +msgstr "Amministrazione delle Newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:46 +msgid "News Feed" +msgstr "News Feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:58 +#: components/com_newsfeeds/newsfeeds.html.php:107 +msgid "# Articles" +msgstr "n. Articoli" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:61 +msgid "Cache time" +msgstr "Tempo di Cache" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:95 +msgid "Edit Newsfeed" +msgstr "Modifica newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:154 +msgid "Please fill in the newsfeed name." +msgstr "Prego, inserisci il nome delle newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:158 +msgid "Please fill in the newsfeed link." +msgstr "Prego, inserisci il collegamento delle newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:160 +msgid "Please select a category." +msgstr "Prego seleziona una categoria." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:162 +msgid "Please fill in the number of articles to display." +msgstr "Prego, inserisci il numero di articoli da visualizzare." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:164 +msgid "Please fill in the cache refresh time." +msgstr "Prego, inserisci il tempo di refresh della cache." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:175 +msgid "Newsfeed:" +msgstr "Newsfeed:" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:204 +msgid "Link" +msgstr "Collegamento" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:212 +msgid "Number of Articles" +msgstr "Numero di Articoli" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:220 +msgid "Cache time (in seconds)" +msgstr "Tempo di Cache (in secondi)" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Articles Column" +msgstr "n. Articoli per colonna" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Allows you to limit the amount of visible item description text. 0 will show " +"all the text" +msgstr "" +"Permette di limitare la quantità di descrizione visualizzata. 0 mostrerà il " +"testo intero" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description for page" +msgstr "Descrizione della Pagina" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Description" +msgstr "Descrizione del Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Image" +msgstr "Immagine del Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Item Description" +msgstr "Descrizione dell'elemento" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Link Column" +msgstr "Colonna dei Link" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Name Column" +msgstr "Colonna dei Nomi" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Newsfeeds" +msgstr "Newsfeeds" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the # of articles in the feed" +msgstr "Visualizza o Nascondi il numero di articoli nel Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Link column" +msgstr "Visualizza o nascondi la Colonna dei Link nel Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Name column" +msgstr "Visualizza o Nascondi la Colonna dei Nomi nel feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description or intro text of an item" +msgstr "Mostra/Nascondi il testo di introduzione dell'articolo" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description text of the feed" +msgstr "Mostra/Nascondi il testo di descrizione del feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the image of the feed" +msgstr "Mostra/Nascondi le immagini del feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "This component manages RSS/RDF newsfeeds" +msgstr "Questo componente serve a gestire i feed RSS/RDF" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Word Count" +msgstr "Conteggio delle Parole" + +#: components/com_newsfeeds/newsfeeds.html.php:98 +msgid "Feed Name" +msgstr "Nome del Feed" + +#: components/com_newsfeeds/newsfeeds.html.php:116 +msgid "Feed Link" +msgstr "Link del Feed" + +#: administrator/components/com_poll/admin.poll.html.php:28 +msgid "Poll Manager" +msgstr "Amministrazione Sondaggi" + +#: administrator/components/com_poll/admin.poll.html.php:41 +msgid "Poll Title" +msgstr "Titolo sondaggio" + +#: administrator/components/com_poll/admin.poll.html.php:47 +msgid "Options" +msgstr "Opzioni" + +#: administrator/components/com_poll/admin.poll.html.php:50 +msgid "Lag" +msgstr "ritardo" + +#: administrator/components/com_poll/admin.poll.html.php:74 +msgid "Edit Poll" +msgstr "Edita il sondaggio" + +#: administrator/components/com_poll/admin.poll.html.php:118 +msgid "Poll must have a title" +msgstr "Il sondaggio deve avere un titolo" + +#: administrator/components/com_poll/admin.poll.html.php:120 +msgid "Poll must have a non-zero lag time" +msgstr "Il sondaggio deve avere un non-zero tempo di ritardo" + +#: administrator/components/com_poll/admin.poll.html.php:134 +msgid "Poll:" +msgstr "Sondaggio:" + +#: administrator/components/com_poll/admin.poll.html.php:159 +msgid "Show on menu items:" +msgstr "Mostra il menu dell'oggetto" + +#: administrator/components/com_poll/admin.poll.html.php:166 +msgid "Lag:" +msgstr "Ritardo:" + +#: administrator/components/com_poll/admin.poll.html.php:175 +msgid "Options:" +msgstr "Opzioni:" + +#: administrator/components/com_poll/admin.poll.php:106 +msgid "The poll %s is currently being edited by another administrator." +msgstr "Il sondaggio %s è al momento aperto da un'altro amministratore." + +#: administrator/components/com_poll/poll.class.php:44 +msgid "Your Poll must contain a title." +msgstr "Il tuo sondaggio deve avere un titolo." + +#: administrator/components/com_poll/poll.class.php:50 +msgid "Your Poll must have a non-zero lag time." +msgstr "Il tuo sondaggio deve avere un non-zero tempo di ritardo." + +#: administrator/components/com_poll/poll.class.php:59 +msgid "There is a module already with that name, please try again." +msgstr "Esiste già un modulo con lo stesso nome, prego di riprovare." + +#: administrator/components/com_poll/poll.xml +msgid "Poll" +msgstr "Sondaggio" + +#: administrator/components/com_poll/poll.xml +msgid "This component shows Polls/Surveys" +msgstr "Questo componente mostra i Sondaggi" + +#: components/com_poll/poll.html.php:51 +msgid "Select Poll:" +msgstr "Seleziona sondaggio" + +#: components/com_poll/poll.html.php:83 +msgid "There are no results for this poll." +msgstr "Non ci sono risultati per questo sondaggio." + +#: components/com_poll/poll.html.php:193 +msgid "Number of Voters" +msgstr "Numero di votanti" + +#: components/com_poll/poll.html.php:202 +msgid "First Vote" +msgstr "Primo voto" + +#: components/com_poll/poll.html.php:211 +msgid "Last Vote" +msgstr "Ultimo voto" + +#: components/com_poll/poll.php:48 +msgid "Cookies must be enabled!" +msgstr "I coockies devono essere abilitati!" + +#: components/com_poll/poll.php:49 components/com_poll/poll.php:56 +#: components/com_poll/poll.php:65 components/com_poll/poll.php:72 +msgid "Continue" +msgstr "Continua" + +#: components/com_poll/poll.php:71 +msgid "No selection has been made, please try again" +msgstr "Nessuna selezione fatta, per favore prova ancora" + +#: components/com_poll/poll.php:112 components/com_poll/poll.php:154 +msgid "Select Poll from the list" +msgstr "Seleziona un sondaggio dall'elenco" + +#: components/com_registration/registration.html.php:23 +#: components/com_registration/registration.php:40 +msgid "Lost your Password?" +msgstr "Hai perso la Password?" + +#: components/com_registration/registration.html.php:28 +msgid "" +"Please enter your Username and e-mail address then click on the Send " +"Password button.%s You will receive a new password shortly. Use the new " +"password to access the site." +msgstr "" +"Prego, inserisci il tuo Nome Utente e indirizzo e-mail poi clicca sul " +"Pulsante Spedisci. %s Riceverai una nuova password rapidamente. Usa la nuova " +"password per accedere al sito." + +#: components/com_registration/registration.html.php:31 +#: components/com_registration/registration.html.php:94 +msgid "Username:" +msgstr "Nome utente:" + +#: components/com_registration/registration.html.php:35 +msgid "E-mail Address:" +msgstr "Indirizzo E-Mail:" + +#: components/com_registration/registration.html.php:40 +msgid "Send Password" +msgstr "Invia Password" + +#: components/com_registration/registration.html.php:58 +msgid "Please enter your name." +msgstr "Prego inserisci il tuo Nome." + +#: components/com_registration/registration.html.php:60 +#: components/com_registration/registration.html.php:62 +msgid "Please enter a user name." +msgstr "Prego inserisci il tuo nome utente." + +#: components/com_registration/registration.html.php:62 +#: components/com_registration/registration.html.php:72 +msgid "" +"Please enter a valid %s. No spaces, more than %d characters and containing " +"only the characters 0-9,a-z, or A-Z" +msgstr "" +"Prego, inserisci un valido %s. Nessun spazio, più di %d caratteri e solo " +"caratteri 0-9, a-z, o A-Z" + +#: components/com_registration/registration.html.php:64 +msgid "Please enter a valid e-mail address." +msgstr "Prego, inserisci un indirizzo e-mail valido." + +#: components/com_registration/registration.html.php:66 +msgid "" +"Please enter a valid password -- more than 6 characters with no spaces and " +"containing only the characters 0-9, a-z, or A-Z" +msgstr "" +"Prego, inserisci una password valida -- più lunga di 6 caratteri senza spazi " +"e contenente solo caratteri 0-9, a-z, o A-Z" + +#: components/com_registration/registration.html.php:68 +msgid "Please verify the password." +msgstr "Prego, verifica la password." + +#: components/com_registration/registration.html.php:70 +msgid "Password and verification do not match, please try again." +msgstr "La password e la verifica non coincidono, prego di riprovare." + +#: components/com_registration/registration.html.php:72 +#: components/com_registration/registration.html.php:103 +msgid "Password:" +msgstr "Password:" + +#: components/com_registration/registration.html.php:80 +#: components/com_registration/registration.php:109 +msgid "Registration" +msgstr "Registrazione" + +#: components/com_registration/registration.html.php:85 +msgid "Fields marked with an asterisk (*) are required." +msgstr "I campi contrassegnati con l'asterisco (*) sono richiesti." + +#: components/com_registration/registration.html.php:108 +msgid "Verify Password:" +msgstr "Verifica Password:" + +#: components/com_registration/registration.html.php:126 +msgid "Send Registration" +msgstr "Invia Registrazione" + +#: components/com_registration/registration.php:62 +msgid "Sorry, no corresponding user was found" +msgstr "Scusate, ma non è stata trovata alcuna corrispondenza" + +#: components/com_registration/registration.php:74 +msgid "" +"The user account %s has this email associated with it.\n" +"\n" +"A web user from %s has just requested that a new password be sent.\n" +"\n" +"\n" +"Your New Password is: %s\n" +"\n" +"\n" +"If you didn't ask for this, don't worry. You are seeing this message, not " +"them. \n" +"If this was an error just login with your new password and then change your " +"password to what you would like it to be." +msgstr "" +"L'account dell'utente %s ha questo indirizzo email associato.\n" +"\n" +"Un utente web da %s ha appena richiesto che gli fosse spedita una nuova " +"password.\n" +"\n" +"\n" +"La tua nuova password è: %s\n" +"\n" +"\n" +"se non hai effettuato tu la richiesta, non ti preoccupare: solo tu stai " +"vedendo questo messaggio e nessun altro. \n" +"Se questo è un errore, è sufficiente che ti connetta al sito con la nuova " +"password e la cambi con un'altra di tua scelta." + +#: components/com_registration/registration.php:81 +msgid "%s :: New password for - %s" +msgstr "%s :: Nuova Password per - %s" + +#: components/com_registration/registration.php:97 +msgid "New User Password created and sent!" +msgstr "La nuova Password è stata creata e inviata!" + +#: components/com_registration/registration.php:160 +#: components/com_registration/registration.php:208 +msgid "Account details for %s at %s" +msgstr "Dettagli Account di %s a %s" + +#: components/com_registration/registration.php:165 +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s. Your account has been created but, as a " +"precaution, it must be activated by you before you can use it.\n" +"To activate the account click on the following link or copy and paste it in " +"your browser:\n" +"%s\n" +"\n" +"After activation you may login to %s using the following username and " +"password:\n" +"\n" +"Username - %s\n" +"Password - %s" +msgstr "" +"Ciao %s, \n" +"\n" +"Grazie per esserti registrato a %s. Il tuo Account è stato creato ma, per " +"precauzione, lo devi attivare prima di usarlo. \n" +"Per attivare l'account clicca sul seguente link o copia e incolla sul tuo " +"browser:\n" +"\n" +"NomeUtente - %s\n" +"Password - %s" + +#: components/com_registration/registration.php:180 +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s.\n" +"\n" +"You may now login to %s using the username and password you registered with." +msgstr "" +"Ciao %s,\n" +"\n" +"Grazie per esserti registrato a %s.\n" +"\n" +"Ora puoi connetterti al sito %s inserendo i nome Utente e password che hai " +"usato per registrarti." + +#: components/com_registration/registration.php:209 +msgid "" +"Hello %s,\n" +"\n" +"A new user has registered at %s.\n" +"This email contains their details:\n" +"\n" +"Name - %s\n" +"e-mail - %s\n" +"Username - %s\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"Ciao %s,\n" +"\n" +"Un nuovo utente si è registrato a %s.\n" +"\n" +"Nome - %s\n" +"e-mail - %s\n" +"NomeUtente - %s\n" +"\n" +"Prego di non rispondere a questo messaggio in quanto generato " +"automaticamente e a solo scopo informativo" + +#: components/com_registration/registration.php:239 +#: components/com_registration/registration.php:242 +msgid "Registration Complete" +msgstr "Registrazione Completata" + +#: components/com_registration/registration.php:240 +msgid "" +"Your account has been created and an activation link has been sent to the e-" +"mail address you entered. Note that you must activate the account by " +"clicking on the activation link before you can login." +msgstr "" +"Il tuo account è stato creato e un link di attivazione è stato inviato " +"all'indirizzo email che hai inserito. Nota che devi attivare l'account " +"cliccando sul link di attivazione, prima di poterti connettere al sito." + +#: components/com_registration/registration.php:243 +msgid "You may now login." +msgstr "Ora puoi connetteri al sito." + +#: components/com_registration/registration.php:261 +#: components/com_registration/registration.php:282 +msgid "Invalid Activation Link!" +msgstr "Link di attivazione non valido!" + +#: components/com_registration/registration.php:262 +#: components/com_registration/registration.php:283 +msgid "" +"There is no such account in our database or the account has already been " +"activated." +msgstr "" +"Non c'è un utente simile nel nostro archivio oppure il suo account è già " +"stato attivato." + +#: components/com_registration/registration.php:275 +msgid "Activation Complete!" +msgstr "Attivazione completata!" + +#: components/com_registration/registration.php:276 +msgid "" +"Your account has been activated successfully. You can now login using the " +"username and password you chose during registration." +msgstr "" +"Il tuo account è stato attivato correttamente. Ora puoi connetterti al sito " +"usando il nome utente e la password che hai scelto durante la registrazione." + +#: administrator/components/com_search/search.xml +msgid "This component manages the Search functionality." +msgstr "Questo componente amministra le funzionalità di ricerca." + +#: components/com_search/search.html.php:37 +#: components/com_search/search.html.php:67 +msgid "Search Keyword" +msgstr "Cerca Keyword" + +#: components/com_search/search.html.php:98 +msgid "returned %d match" +msgid_plural "returned %d matches" +msgstr[0] "" +msgstr[1] "" + +#: components/com_search/search.php:55 +msgid "Newest first" +msgstr "Prima i più recenti" + +#: components/com_search/search.php:57 +msgid "Most popular" +msgstr "I più popolari" + +#: components/com_search/search.php:58 +msgid "Alphabetical" +msgstr "Alfabetico" + +#: components/com_search/search.php:59 +msgid "Section/Category" +msgstr "Sezione/Categoria" + +#: components/com_search/search.php:69 +msgid "Any words" +msgstr "Qualunque parola" + +#: components/com_search/search.php:74 +msgid "All words" +msgstr "Tutte le parole" + +#: components/com_search/search.php:79 +msgid "Exact phrase" +msgstr "Frase esatta" + +#: components/com_search/search.php:91 +msgid "No results were found" +msgstr "Nessun risultato trovato" + +#: components/com_search/search.php:96 +msgid "One or more common words were ignored in the search" +msgstr "Una o più parole comuni sono state ignorate nella ricerca" + +#: administrator/components/com_sections/admin.sections.html.php:65 +msgid "Section ID" +msgstr "ID Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:68 +msgid "# Categories" +msgstr "# Categorie" + +#: administrator/components/com_sections/admin.sections.html.php:71 +msgid "# Active" +msgstr "# Attive" + +#: administrator/components/com_sections/admin.sections.html.php:175 +msgid "New Section" +msgstr "Nuova Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:203 +msgid "Section must have a name" +msgstr "La Sezione deve avere un nome" + +#: administrator/components/com_sections/admin.sections.html.php:205 +msgid "Section must have a title" +msgstr "La Sezione deve avere un titolo" + +#: administrator/components/com_sections/admin.sections.html.php:281 +msgid "Section Details" +msgstr "Dettagli della Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:286 +msgid "Scope:" +msgstr "Scope:" + +#: administrator/components/com_sections/admin.sections.html.php:401 +msgid "Select Menu Type" +msgstr "Seleziona un Tipo di Menu" + +#: administrator/components/com_sections/admin.sections.html.php:489 +msgid "Copy Section" +msgstr "Copia Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:501 +msgid "The new Section name" +msgstr "Nuovo nome di Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:529 +msgid "" +"This will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the new Section created." +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:189 +msgid "The section %s is currently being edited by another administrator" +msgstr "" +"La sezione %d è attualmente aperta per modifiche da un altro amministratore" + +#: administrator/components/com_sections/admin.sections.php:207 +#: administrator/components/com_sections/admin.sections.php:624 +msgid "Section Table" +msgstr "Tabella di una Sezione" + +#: administrator/components/com_sections/admin.sections.php:215 +#: administrator/components/com_sections/admin.sections.php:634 +msgid "Section Blog Archive" +msgstr "Archivio del Blog di una Sezione" + +#: administrator/components/com_sections/admin.sections.php:232 +msgid "Section Archive Blog" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:306 +msgid "Changes to Section saved" +msgstr "Le modifiche alla Sezione sono state effettuate" + +#: administrator/components/com_sections/admin.sections.php:312 +msgid "Section saved" +msgstr "Sezione salvata" + +#: administrator/components/com_sections/admin.sections.php:327 +msgid "Select a section to delete" +msgstr "Seleziona una Sezione da cancellare" + +#: administrator/components/com_sections/admin.sections.php:365 +msgid "Sections(s): %s cannot be removed as they contain categories" +msgstr "" +"La Sezione (o le sezioni): %s non possono essere cancellate in quanto " +"contengono categorie" + +#: administrator/components/com_sections/admin.sections.php:370 +msgid "Section(s): %s successfully deleted" +msgstr "la Sezione (o le sezioni): %s sono state correttamente cancellate" + +#: administrator/components/com_sections/admin.sections.php:388 +msgid "Select a section to " +msgstr "Seleziona una Sezione da" + +#: administrator/components/com_sections/admin.sections.php:396 +msgid "Cannot Publish an Empty Section" +msgstr "Non si può pubblicare una Sezione vuota" + +#: administrator/components/com_sections/admin.sections.php:585 +msgid "Section %s and all its Categories and Items have been copied as %s" +msgstr "La sezione %s e tutte le sue categorie sono state copiate in %s" + +#: administrator/components/com_statistics/admin.statistics.html.php:35 +msgid "Browser, OS, Domain Statistics" +msgstr "Browser, So, Statistiche Dominio" + +#: administrator/components/com_statistics/admin.statistics.html.php:41 +msgid "Browsers" +msgstr "Browsers" + +#: administrator/components/com_statistics/admin.statistics.html.php:45 +msgid "Browser" +msgstr "Browser" + +#: administrator/components/com_statistics/admin.statistics.html.php:84 +msgid "OS Stats" +msgstr "Statistiche SO" + +#: administrator/components/com_statistics/admin.statistics.html.php:88 +msgid "Operating System" +msgstr "Sistema Operativo" + +#: administrator/components/com_statistics/admin.statistics.html.php:127 +msgid "Domain Stats" +msgstr "Statistiche Dominio" + +#: administrator/components/com_statistics/admin.statistics.html.php:131 +msgid "Domain" +msgstr "Dominio" + +#: administrator/components/com_statistics/admin.statistics.html.php:182 +msgid "Page Impression Statistics" +msgstr "Statistiche Impression per pagina" + +#: administrator/components/com_statistics/admin.statistics.html.php:228 +msgid "Search Engine Text :" +msgstr "Motore di ricerca testo :" + +#: administrator/components/com_statistics/admin.statistics.html.php:229 +msgid "logging is :" +msgstr "connesso :" + +#: administrator/components/com_statistics/admin.statistics.html.php:240 +msgid "Times Requested" +msgstr "Tempo richiesto" + +#: administrator/components/com_statistics/admin.statistics.html.php:241 +msgid "Results Returned" +msgstr "Risultati ritornati" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:28 +msgid "Syndication Settings" +msgstr "Impostazioni syndication" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:51 +msgid "Manage Syndication Settings" +msgstr "Amministra le impostazioni di Syndication" + +#: administrator/components/com_syndicate/admin.syndicate.php:95 +msgid "Settings successfully Saved" +msgstr "Impostazioni salvate" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "ATOM 0.3" +msgstr "ATOM 0.3" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Activate support for Firefox Live Bookmarks functionality" +msgstr "Attiva il supporto per la funzionalità di Live Bookmarks di Firefox" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Alt text for image" +msgstr "Alt text per l'immagine" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Bookmark file" +msgstr "Bookmark file" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache" +msgstr "Cache" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache Time" +msgstr "Tempo di Cache" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache file will refresh every x seconds" +msgstr "Refresh del file della Cache ogni x secondi" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache the feed files" +msgstr "Metti in cache i file del feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image Alt" +msgstr "Alt testo dell'immagine" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image to be included in feed" +msgstr "Immagine da inserire nel feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit Text" +msgstr "Limite del testo" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit the article text to the value indicated below" +msgstr "Il limite del testo dell'articolo è indicato di seguito" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Live Bookmarks" +msgstr "Live Bookmarks" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Number of Items to syndicate" +msgstr "Numero di oggetti da condividere (syndicate)" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Order that the items will be displayed" +msgstr "L'ordine con cui vengono visualizzati" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 0.91" +msgstr "RSS 0.91" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 1.0" +msgstr "RSS 1.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 2.0" +msgstr "RSS 2.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Special file name, if empty the default will be used." +msgstr "" +"Nome di file speciale, se lasciato vuoto sarà usato il nome di default " + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndicate" +msgstr "Syndicate" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Description" +msgstr "Descrizione della condivisione (Syndication)" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Title" +msgstr "Titolo della condivisione (Sindication)" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Text Length" +msgstr "Lunghezza del testo" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "The word length of the article text - 0 will show no text" +msgstr "La lunghezza del testo dell'articolo a 0 significa nessun testo" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "This component controls the Syndication settings" +msgstr "Questo componente amministra le impostazioni della condivisione" + +#: administrator/components/com_trash/admin.trash.html.php:61 +#: administrator/components/com_trash/admin.trash.html.php:65 +msgid "Content Items" +msgstr "Oggetti contenuti" + +#: administrator/components/com_trash/admin.trash.html.php:230 +msgid "Delete Items" +msgstr "Cancella oggetti" + +#: administrator/components/com_trash/admin.trash.html.php:239 +#: administrator/components/com_trash/admin.trash.html.php:304 +msgid "Number of Items:" +msgstr "Numero di oggetti" + +#: administrator/components/com_trash/admin.trash.html.php:245 +msgid "Items being Deleted:" +msgstr "Gli oggetti stanno per essere cancellati:" + +#: administrator/components/com_trash/admin.trash.html.php:256 +msgid "" +"This will Permanently Delete " +"
      these Items from the Database" +msgstr "" +"Gli oggetti stanno per essere cancellati " +"definitivamente
      dal database" + +#: administrator/components/com_trash/admin.trash.html.php:259 +msgid "" +"Are you sure you want to Deleted the listed items? \\nThis will Permanently " +"Delete them from the database." +msgstr "" +"Sei sicuro di voler cancellare gli oggetti nella seguente lista? \\n Questi " +"oggetti saranno cancellati definitivamente dal database." + +#: administrator/components/com_trash/admin.trash.html.php:295 +msgid "Restore Items" +msgstr "Ripristina gli oggetti" + +#: administrator/components/com_trash/admin.trash.html.php:310 +msgid "Items being Restored:" +msgstr "Gli oggetti stanno per essere ripristinati:" + +#: administrator/components/com_trash/admin.trash.html.php:321 +msgid "" +"This will Restore these " +"Items,
      they will be returned to their orignial places as Unpublished " +"items" +msgstr "" +"Gli oggetti stanno per essere ripristinati ,
      nella loro posizione originale" + +#: administrator/components/com_trash/admin.trash.html.php:324 +msgid "Are you sure you want to Restore the listed items?." +msgstr "Sei sicuro di voler Ripristinare gli oggetti della lista?" + +#: administrator/components/com_trash/admin.trash.html.php:325 +#: administrator/components/com_trash/admin.trash.html.php:326 +#: administrator/components/com_trash/toolbar.trash.html.php:21 +msgid "Restore" +msgstr "Ripristina" + +#: administrator/components/com_trash/admin.trash.php:182 +msgid "%s Item successfully Deleted" +msgid_plural "%s Items successfully Deleted" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/admin.trash.php:256 +msgid "%s Item successfully Restored" +msgid_plural "%s Items successfully Restored" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/trash.xml +msgid "This component manages the Trash functionality." +msgstr "Questo componente amministra le funzionalità del cestino." + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:81 +msgid "Links" +msgstr "Links" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:177 +msgid "Edit Static Content" +msgstr "Edita il Contenuto Statico" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:271 +msgid "" +"Are you sure you want to reset the Hits to Zero? \\nAny unsaved changes to " +"this content will be lost." +msgstr "" +"Sei sicuro di voler riportare a Zero gli Hits? \\nOgni cambiamento non " +"salvato sarà perso" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:302 +msgid "Content item must have a name" +msgstr "L'oggetto deve avere un nome" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:353 +msgid "Static Content Item:" +msgstr "Ogetto Contenuto Statico" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:402 +msgid "Text: (required)" +msgstr "Testo: (richiesto)" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:547 +msgid "New document" +msgstr "Nuovo documento" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:555 +msgid "Not modified" +msgstr "Non modificato" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:560 +msgid "Expires" +msgstr "Scade" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:614 +msgid "Source" +msgstr "Sorgente" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:622 +msgid "Align" +msgstr "Alinea" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:630 +msgid "Alt Text" +msgstr "Alt Text" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:638 +msgid "Border" +msgstr "Bordo" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:736 +msgid "This will create a \"Link - Static Content\" in the menu you select" +msgstr "Questo genera un \"Link - Al Contenuto Statico\" nel menu selezionato" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:155 +msgid "Ordering asc" +msgstr "Ordinamento asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:156 +msgid "Ordering desc" +msgstr "Ordinamento decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:157 +msgid "ID asc" +msgstr "ID asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:158 +msgid "ID desc" +msgstr "ID decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:159 +msgid "Title asc" +msgstr "Titolo asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:160 +msgid "Title desc" +msgstr "Titolo decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:161 +msgid "Date asc" +msgstr "Data asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:162 +msgid "Date desc" +msgstr "Data decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:163 +msgid "Author asc" +msgstr "Autore asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:164 +msgid "Author desc" +msgstr "Autore decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:165 +msgid "Published asc" +msgstr "Pubblicazione asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:166 +msgid "Published desc" +msgstr "Pubblicazione decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:167 +msgid "Access asc" +msgstr "Accesso asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:168 +msgid "Access desc" +msgstr "Accesso decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:202 +msgid "The module % is currently being edited by another administrator" +msgstr "Il modulo % è attualmente editato da un'altro amministratore" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:356 +msgid "Typed Content Item saved" +msgstr "Modifiche salvate" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:362 +msgid "Changes to Typed Content Item saved" +msgstr "Modifiche dell'oggetto salvate " + +#: administrator/components/com_typedcontent/admin.typedcontent.php:473 +msgid "Successfully Reset Hit" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Typed Content Page" +msgstr "Contenuto della pagina" + +#: components/com_user/user.html.php:22 +msgid "Welcome!" +msgstr "Benvenuto!" + +#: components/com_user/user.html.php:27 +msgid "Welcome to the user section of our site" +msgstr "Benvenuto alla sezione utente del nostro sito" + +#: components/com_user/user.html.php:61 +msgid "Edit Your Details" +msgstr "Inserisci i tuoi dettagli" + +#: components/com_user/user.html.php:69 +msgid "e-mail:" +msgstr "e-mail:" + +#: components/com_user/user.html.php:72 +msgid "User Name:" +msgstr "Neme Utente:" + +#: components/com_user/user.html.php:99 +msgid "Submission Success!" +msgstr "Invio riuscito!" + +#: components/com_user/user.html.php:103 +msgid "" +"Your item has been submitted to the site administrators. It will be reviewed " +"before being published on the site." +msgstr "" +"Il tuo contenuto è stato inviato all'amministratore del sito. Sarà " +"visionato prima di essere pubblicato." + +#: components/com_user/user.php:29 +msgid "Update" +msgstr "Update" + +#: components/com_user/user.php:56 +msgid "You cannot upload files greater than 15kb in size." +msgstr "Non puoi inviare files di dimensioni superiori ai 15 kb." + +#: components/com_user/user.php:59 +msgid "Image %s already exists. Please rename the file and try again." +msgstr "" +"L'immagine %s è già presente. Prego rinominare il file e provare nuovamente." + +#: components/com_user/user.php:65 +msgid "Failed to copy %s" +msgstr "La copia non è riuscita %s" + +#: components/com_user/user.php:87 +msgid "You may only upload a gif or jpg image." +msgstr "Puoi solamente inviare immagini nel formato gif o jpg." + +#: components/com_user/user.php:129 +msgid "Passwords do not match" +msgstr "La password non corrisponde" + +#: components/com_user/user.php:152 +msgid "Your settings have been saved." +msgstr "I tuoi dati sono stati salvati." + +#: components/com_user/user.php:211 +msgid "Checked in %d item" +msgstr "Controllato in %d elementi" + +#: components/com_user/user.php:222 +msgid "All items checked out have now been checked in" +msgstr "Tutti gli elementi bloccati sono stati ripristinati" + +#: administrator/components/com_users/admin.users.html.php:57 +#: administrator/components/com_users/admin.users.php:157 +msgid "Logged In" +msgstr "Loggato" + +#: administrator/components/com_users/admin.users.html.php:63 +msgid "UserID" +msgstr "Utente ID" + +#: administrator/components/com_users/admin.users.html.php:66 +msgid "Group" +msgstr "Gruppo" + +#: administrator/components/com_users/admin.users.html.php:69 +msgid "E-Mail" +msgstr "E-Mail" + +#: administrator/components/com_users/admin.users.html.php:72 +msgid "Last Visit" +msgstr "Ultima visita" + +#: administrator/components/com_users/admin.users.html.php:156 +msgid "You must provide a user login name." +msgstr "Devi fornire il nome utente di login" + +#: administrator/components/com_users/admin.users.html.php:158 +msgid "Your login name contains invalid characters or is too short." +msgstr "Il tuo nome di login contien caratteri non validi o è troppo breve." + +#: administrator/components/com_users/admin.users.html.php:160 +msgid "You must provide an email address." +msgstr "Devi inserire un indirizzo email" + +#: administrator/components/com_users/admin.users.html.php:162 +msgid "You must assign user to a group." +msgstr "Devi assegnare l’utente al gruppo" + +#: administrator/components/com_users/admin.users.html.php:164 +msgid "Passwords do not match." +msgstr "La password non corrisponde" + +#: administrator/components/com_users/admin.users.html.php:166 +msgid "" +"Please Select another group as `Public Frontend` is not a selectable option" +msgstr "" +"Prego seleziona un altro gruppo come ’Public Frontend’ non ’ una opzione " +"selezionabile" + +#: administrator/components/com_users/admin.users.html.php:168 +msgid "" +"Please Select another group as `Public Backend` is not a selectable option" +msgstr "" +"rego seleziona un altro gruppo come ’Public Backend’ non ’ una opzione " +"selezionabile" + +#: administrator/components/com_users/admin.users.html.php:196 +msgid "User Details" +msgstr "Dettagli utente" + +#: administrator/components/com_users/admin.users.html.php:216 +msgid "Email:" +msgstr "Email:" + +#: administrator/components/com_users/admin.users.html.php:224 +msgid "New Password:" +msgstr "Nuova Password:" + +#: administrator/components/com_users/admin.users.html.php:251 +msgid "Block User" +msgstr "Blocca utente" + +#: administrator/components/com_users/admin.users.html.php:263 +msgid "Receive Submission Emails" +msgstr "Ricevi email di iscrizione" + +#: administrator/components/com_users/admin.users.html.php:275 +msgid "Register Date" +msgstr "Data di registrazione" + +#: administrator/components/com_users/admin.users.html.php:283 +msgid "Last Visit Date" +msgstr "Data ultima visita" + +#: administrator/components/com_users/admin.users.html.php:306 +#: administrator/components/com_users/admin.users.html.php:325 +msgid "Contact Information" +msgstr "Informazioni contatti" + +#: administrator/components/com_users/admin.users.html.php:312 +msgid "No Contact details linked to this User:" +msgstr "Nessun dettaglio del contatto è collegato a questo utente" + +#: administrator/components/com_users/admin.users.html.php:314 +msgid "See \"Components -> Contact -> Manage Contacts\" for details." +msgstr "Vedi \"Components -> Contact -> Manage Contacts\" per i dettagli." + +#: administrator/components/com_users/admin.users.html.php:391 +msgid "Change Contact Details" +msgstr "Cambia dettagli del contatto" + +#: administrator/components/com_users/admin.users.html.php:394 +msgid "Components -> Contact -> Manage Contacts" +msgstr "Components -> Contact -> Manage Contacts" + +#: administrator/components/com_users/admin.users.php:150 +msgid "- Select Group -" +msgstr "- Seleziona un gruppo -" + +#: administrator/components/com_users/admin.users.php:156 +msgid "- Select Log Status - " +msgstr "- Seleziona lo stato corrente - " + +#: administrator/components/com_users/admin.users.php:158 +msgid "Not Logged In" +msgstr "Non hai fatto il login" + +#: administrator/components/com_users/admin.users.php:186 +msgid "Super Administrator" +msgstr "Super Administrator" + +#: administrator/components/com_users/admin.users.php:296 +msgid "New User Details" +msgstr "Dettagli nuovo utente" + +#: administrator/components/com_users/admin.users.php:297 +msgid "" +"Hello %s,\n" +"\n" +"\n" +"You have been added as a user to %s by an Administrator.\n" +"\n" +"This email contains your username and password to log into the %s\n" +"\n" +"Username - %s\n" +"Password - %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"Hello %s,\n" +"\n" +"\n" +"Se stato aggiunto come utente %s by an Administrator.\n" +"\n" +"Questa email contine il tuo nome utente e password per il login a %s\n" +"\n" +"Nome utente - %s\n" +"Password - %s\n" +"\n" +"\n" +"Siete pregati di non rispondere a questa email che è stata generata " +"automaticamente solamente per informarvi" + +#: administrator/components/com_users/admin.users.php:326 +msgid "Successfully Saved changes to User: %s" +msgstr "Modifiche salvate per l’utente: %s" + +#: administrator/components/com_users/admin.users.php:331 +msgid "Successfully Saved User: %s" +msgstr "utente correttamente registrato: %s" + +#: administrator/components/com_users/admin.users.php:361 +msgid "You cannot delete a Super Administrator" +msgstr "Non puoi cancellare un Super Administrator" + +#: administrator/components/com_users/admin.users.php:363 +msgid "You cannot delete Yourself!" +msgstr "Non puoi cancellarti" + +#: administrator/components/com_users/admin.users.php:365 +msgid "" +"You cannot delete another `Administrator` only `Super Administrators` have " +"this power" +msgstr "" +"Non puoi cancellare un’Administrator solo un Super Administrator ha questa " +"facoltà" + +#: administrator/components/com_users/admin.users.php:386 +msgid "block" +msgstr "blocca" + +#: administrator/components/com_users/admin.users.php:386 +msgid "unblock" +msgstr "sblocca" + +#: administrator/components/com_users/admin.users.php:413 +msgid "Please select a user" +msgstr "Prego seleziona un utente" + +#: administrator/components/com_users/toolbar.users.html.php:49 +msgid "Force Logout" +msgstr "Forza il logout" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:29 +msgid "Weblink Manager" +msgstr "Weblink Manager" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:58 +msgid "Approved" +msgstr "Approvato" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:98 +msgid "Edit Weblinks" +msgstr "Scrivi Weblinks" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:176 +#: components/com_weblinks/weblinks.html.php:249 +msgid "Weblink item must have a title" +msgstr "Il Weblink deve avere un titolo" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:178 +#: components/com_weblinks/weblinks.html.php:251 +msgid "You must select a category." +msgstr "Devi selezionare una categoria" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:180 +#: components/com_weblinks/weblinks.html.php:253 +msgid "You must have a url." +msgstr "Devi avere la url" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:190 +msgid "Weblink:" +msgstr "Weblink:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:225 +#: components/com_weblinks/weblinks.html.php:297 +msgid "URL:" +msgstr "URL:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:250 +msgid "Approved:" +msgstr "Approvato:" + +#: administrator/components/com_weblinks/admin.weblinks.php:143 +#: components/com_weblinks/weblinks.php:183 +msgid "The module %s is currently being edited by another administrator." +msgstr "Al momento un amministratore ha aperto il modulo %s" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon" +msgstr "Icona" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon to be used to the left of the url links in Table view" +msgstr "Icona usata sulla sinistra del link sulla vista Table" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Link Descriptions" +msgstr "Descrizione Link" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Description text of the Links" +msgstr "Mostra/Nascondi il testo di Descrizione del Link" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Hits column" +msgstr "Mostra/Nascondi la colonna degli Hits" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "This component shows a listing of Weblinks" +msgstr "Questo componente mostra una lista di Weblinks" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Weblinks" +msgstr "Weblinks" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target" +msgstr "Target" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target window when the link is clicked" +msgstr "Finestra Target quando si clicca sul link" + +#: components/com_weblinks/weblinks.class.php:70 +msgid "Please provide a valid URL" +msgstr "Prego inserire una URL valida" + +#: components/com_weblinks/weblinks.class.php:76 +msgid "Your web link must be given a title." +msgstr "Il tuo weblink deve avere un titolo" + +#: components/com_weblinks/weblinks.class.php:91 +msgid "There is already a web link that name, please try again." +msgstr "Esiste già un link con lo stesso nome, prova nuovamente" + +#: components/com_weblinks/weblinks.html.php:109 +msgid "Web Link" +msgstr "Web Link" + +#: components/com_weblinks/weblinks.html.php:264 +msgid "Submit A Web Link" +msgstr "Invia un Web Link" + +#: components/com_weblinks/weblinks.php:98 +msgid "" +"From the list below choose one of our web link categories, then select a URL " +"to visit the site." +msgstr "" +"Dalla seguente lista seleziona una delle nostre categorie di link, poi " +"seleziona la URL per visitare il sito." + +#: components/com_weblinks/weblinks.php:290 +msgid "User Submitted '%'" +msgstr "User Submitted '%'" + +#: components/com_weblinks/weblinks.php:292 +msgid " for %s.\\n\\n\\n\\n" +msgstr " for %s.\\n\\n\\n\\n" + +#: components/com_wrapper/wrapper.html.php:55 +msgid "" +"This option will not work correctly. Unfortunately, your browser does not " +"support Inline Frames" +msgstr "" +"Questa opzione non lavora correttamente. Sfortunatamente, il tuo browser non " +"gestisce i Frame Inline (iFrames)" diff -ruN 4.6rc2/uploadfiles/language/glossary/it_IT_utf-8.po 4.6-complete/uploadfiles/language/glossary/it_IT_utf-8.po --- 4.6rc2/uploadfiles/language/glossary/it_IT_utf-8.po 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/glossary/it_IT_utf-8.po 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,6956 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Mambo 4.6\n" +"Report-Msgid-Bugs-To: translation@mambo-foundation.org\n" +"POT-Creation-Date: 2006-06-06 01:51+0100\n" +"PO-Revision-Date: 2006-06-06 2:04+0100\n" +"Last-Translator: Translation Team \n" +"Language-Team: Translation Team \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: administrator/components/com_admin/admin.admin.html.php:27 +msgid "Home" +msgstr "Home" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Advanced Mode" +msgstr "Modo avanzato" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Simple Mode" +msgstr "Modo base" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "selected" +msgstr "selezionato" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "unselected" +msgstr "deselezionato" + +#: administrator/components/com_admin/admin.admin.html.php:80 +msgid "Information" +msgstr "Informazione" + +#: administrator/components/com_admin/admin.admin.html.php:86 +#: administrator/components/com_admin/admin.admin.html.php:482 +msgid "System Info" +msgstr "Info Sistema" + +#: administrator/components/com_admin/admin.admin.html.php:91 +msgid "System Information" +msgstr "Informazioni Sistema" + +#: administrator/components/com_admin/admin.admin.html.php:97 +msgid "PHP built On:" +msgstr "PHP installato:" + +#: administrator/components/com_admin/admin.admin.html.php:107 +msgid "Database Version:" +msgstr "Versione Database:" + +#: administrator/components/com_admin/admin.admin.html.php:117 +msgid "PHP Version:" +msgstr "Versione PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:127 +msgid "Web Server:" +msgstr "Web Server:" + +#: administrator/components/com_admin/admin.admin.html.php:137 +msgid "WebServer to PHP interface:" +msgstr "Interfaccia web server a PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:147 +msgid "Mambo Version:" +msgstr "Versione Mambo:" + +#: administrator/components/com_admin/admin.admin.html.php:157 +msgid "User Agent:" +msgstr "Agente Utente:" + +#: administrator/components/com_admin/admin.admin.html.php:167 +msgid "Relevant PHP Settings:" +msgstr "Configurazione PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:174 +msgid "Safe Mode:" +msgstr "Safe Mode:" + +#: administrator/components/com_admin/admin.admin.html.php:182 +msgid "Open basedir:" +msgstr "Directory di base:" + +#: administrator/components/com_admin/admin.admin.html.php:190 +msgid "Display Errors:" +msgstr "Mostra errori" + +#: administrator/components/com_admin/admin.admin.html.php:198 +msgid "Short Open Tags:" +msgstr "Short Open Tags:" + +#: administrator/components/com_admin/admin.admin.html.php:206 +msgid "File Uploads:" +msgstr "Carica files:" + +#: administrator/components/com_admin/admin.admin.html.php:214 +msgid "Magic Quotes" +msgstr "Magic Quotes" + +#: administrator/components/com_admin/admin.admin.html.php:222 +msgid "Register Globals:" +msgstr "Register Globals:" + +#: administrator/components/com_admin/admin.admin.html.php:230 +msgid "Output Buffering:" +msgstr "Output Buffering:" + +#: administrator/components/com_admin/admin.admin.html.php:238 +msgid "Session save path:" +msgstr "Session save path:" + +#: administrator/components/com_admin/admin.admin.html.php:246 +msgid "Session auto start:" +msgstr "Session auto start:" + +#: administrator/components/com_admin/admin.admin.html.php:254 +msgid "XML enabled:" +msgstr "XML abilitato" + +#: administrator/components/com_admin/admin.admin.html.php:262 +msgid "Zlib enabled:" +msgstr "Zlib abilitate:" + +#: administrator/components/com_admin/admin.admin.html.php:270 +msgid "Disabled Functions:" +msgstr "Funzioni disabilitate" + +#: administrator/components/com_admin/admin.admin.html.php:285 +msgid "WYSIWYG Editor:" +msgstr "Editore WYSIWYG :" + +#: administrator/components/com_admin/admin.admin.html.php:297 +msgid "Configuration File:" +msgstr "File di configurazione" + +#: administrator/components/com_admin/admin.admin.html.php:323 +msgid "PHP Info" +msgstr "Info PHP" + +#: administrator/components/com_admin/admin.admin.html.php:328 +msgid "PHP Information" +msgstr "Informazioni sul PHP" + +#: administrator/components/com_admin/admin.admin.html.php:350 +msgid "Permissions" +msgstr "Permessi" + +#: administrator/components/com_admin/admin.admin.html.php:354 +msgid "Directory Permissions" +msgstr "Permessi cartelle" + +#: administrator/components/com_admin/admin.admin.html.php:358 +msgid "" +"For all Mambo functions and features to work ALL of the following " +"directories should be writeable:" +msgstr "" +"Perché tutte le funzioni di Mambo siano attive e funzionanti, TUTTE le " +"seguenti cartelle dovranno essere scrivibili:" + +#: administrator/components/com_admin/admin.admin.html.php:434 +msgid "Help" +msgstr "Aiuto" + +#: administrator/components/com_admin/admin.admin.html.php:442 +msgid "Search:" +msgstr "Cerca" + +#: administrator/components/com_admin/admin.admin.html.php:445 +msgid "Go" +msgstr "Vai" + +#: administrator/components/com_admin/admin.admin.html.php:446 +msgid "Clear Results" +msgstr "Cancella risultati" + +#: administrator/components/com_admin/admin.admin.html.php:453 +#: administrator/components/com_admin/admin.admin.html.php:464 +msgid "Glossary" +msgstr "Glossario" + +#: administrator/components/com_admin/admin.admin.html.php:456 +#: administrator/components/com_admin/admin.admin.html.php:467 +msgid "Credits" +msgstr "Crediti" + +#: administrator/components/com_admin/admin.admin.html.php:459 +#: administrator/components/com_admin/admin.admin.html.php:470 +msgid "Support" +msgstr "Supporto" + +#: administrator/components/com_admin/admin.admin.html.php:476 +msgid "License" +msgstr "Licenza" + +#: administrator/components/com_admin/admin.admin.html.php:491 +msgid "Search Results" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:493 +msgid "Index" +msgstr "Indice" + +#: administrator/components/com_admin/admin.admin.html.php:536 +msgid "Site Preview" +msgstr "Anteprima sito" + +#: administrator/components/com_admin/admin.admin.html.php:540 +msgid "Open in new window" +msgstr "Apri in una nuova finestra" + +#: administrator/components/com_admin/admin.admin.php:22 +msgid "There is no link associated with this item" +msgstr "Non ci sono links associati a questo elemento" + +#: administrator/components/com_checkin/admin.checkin.php:17 +msgid "You are not authorized to view this resource." +msgstr "Non si dispone dell'autorizzazione per vedere questa risorsa" + +#: administrator/components/com_checkin/admin.checkin.php:22 +msgid "Global Check-in" +msgstr "Controllo globale" + +#: administrator/components/com_checkin/admin.checkin.php:27 +msgid "Database Table" +msgstr "Tabelle database" + +#: administrator/components/com_checkin/admin.checkin.php:28 +msgid "# of Items" +msgstr "# di elementi" + +#: administrator/components/com_checkin/admin.checkin.php:29 +msgid "Checked-In" +msgstr "Sbloccati" + +#: administrator/components/com_checkin/admin.checkin.php:76 +#: administrator/components/com_checkin/admin.checkin.php:83 +msgid "Checking table" +msgstr "Controllo tabella" + +#: administrator/components/com_checkin/admin.checkin.php:77 +#: administrator/components/com_checkin/admin.checkin.php:84 +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "Sbloccato %d elemento" +msgstr[1] "Sbloccati %d elementi" + +#: administrator/components/com_checkin/admin.checkin.php:95 +msgid "Checked out items have now been all checked in" +msgstr "Tutti gli elementi bloccati sono stati ripristinati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:42 +msgid "XML ERROR in %s: %s at line %d" +msgstr "ERRORE XML in %s: %s alla linea %d" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:48 +msgid "Unable to open XML file %s" +msgstr "Impossibile aprire il file XML %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:51 +msgid "XML error in %s - unclosed tag(s) (%s) at end of file" +msgstr "Errore XML in %s - tag non chiusi (%s) alla fine del file" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:78 +msgid "XML error in %s: %s is not a valid containing element" +msgstr "Errore XML in %s: %s non è un elemento contenitore valido" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:79 +msgid "XML error in %s: %s not permitted within %s" +msgstr "Errore XML in %s: %s non è permesso con %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:88 +msgid "XML error in %s: expected MOSINSTALL but found %s" +msgstr "Errore XML in %s atteso MOSINSTALL ma trovato %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:94 +msgid "XML error in %s: last open tag was %s, but found end of %s" +msgstr "" +"Errore XML in %s l’ultimo tag aperto era %s, ma è stata trovata la fine di %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:106 +msgid "XML handler error - no method provided to deal with character data" +msgstr "Errore gestore XML - nessun metodo ha fornito i dati carattere" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:111 +msgid "XML error in %s: mosinstall does not have type attribute" +msgstr "Errore XML in %s mosinstall non ha attributi di tipo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:280 +msgid "Handler not defined for type" +msgstr "Gestore non definito per il tipo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:293 +msgid "There are no Parameters for this item" +msgstr "Non ci sono parametri per questo elemento" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:43 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:78 +msgid "Please make a selection from the list to %s" +msgstr "Prego effettuare una selezione dalla lista a %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:108 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:128 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:55 +msgid "New" +msgstr "Nuovo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:166 +msgid "Publish" +msgstr "Pubblica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:171 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:102 +msgid "Please make a selection from the list to publish" +msgstr "Prego effettuare una selezione dalla lista per pubblicazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:185 +msgid "Default" +msgstr "Predefinito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:190 +msgid "Please select an item to make default" +msgstr "Prego selezionare un elemento come predefinito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:204 +msgid "Assign" +msgstr "Assegna" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:209 +msgid "Please select an item to assign" +msgstr "Prego selezionare un elemento da assegnare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:223 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:242 +msgid "Unpublish" +msgstr "Non pubblicare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:247 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:142 +msgid "Please make a selection from the list to unpublish" +msgstr "Prego effettuare una selezione dalla lista per depubblicare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:261 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:150 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:155 +msgid "Archive" +msgstr "Archivio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:266 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:162 +msgid "Please make a selection from the list to archive" +msgstr "Prego effettuare una selezione dalla lista per archiviare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:280 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:175 +msgid "Unarchive" +msgstr "Non archiviare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:285 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:182 +msgid "Please select a news story to unarchive" +msgstr "Prego selezionare una nuova storia da ripubblicare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:299 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:319 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:195 +msgid "Edit" +msgstr "Modifica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:304 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:324 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:343 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:363 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:382 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:402 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:202 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:221 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:240 +msgid "Please select an item from the list to edit" +msgstr "Prego selezionare un articolo dalla lista per modificarlo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:338 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:358 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:215 +msgid "Edit HTML" +msgstr "Modifica HTML" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:377 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:397 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:234 +msgid "Edit CSS" +msgstr "Modifica CSS" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:417 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:438 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:254 +msgid "Delete" +msgstr "Cancella" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:422 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:443 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:261 +msgid "Are you sure you want to delete selected items?" +msgstr "Sei sicuro di voler cancellare l’articolo selezionato?" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:422 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:443 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:261 +msgid "Please make a selection from the list to delete" +msgstr "Prego effettuare una selezione dalla lista, per cancellare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:455 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:79 +msgid "Trash" +msgstr "Cestino" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:474 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:475 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:80 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:277 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:278 +msgid "Preview" +msgstr "Anteprima" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:540 +msgid "Apply" +msgstr "Applica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:560 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:294 +msgid "Save" +msgstr "Salva" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:611 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:344 +msgid "Cancel" +msgstr "Annulla" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:629 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:239 +msgid "Back" +msgstr "Indietro" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:664 +msgid "Upload" +msgstr "Carica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:669 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:670 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:391 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:392 +msgid "Upload Image" +msgstr "Carica immagine" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:86 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:410 +msgid "" +"New items default to the last place. Ordering can be changed after this item " +"is saved." +msgstr "" +"I nuovi elementi vanno automaticamente in ultima posizione. L’ordinamento " +"può essere cambiato dopo che l’elemento è stato salvato." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:181 +msgid "Parent Window With Browser Navigation" +msgstr "Stessa finestra, con navigazione browser" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:182 +msgid "New Window With Browser Navigation" +msgstr "Nuova finestra con navigazione browser" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:183 +msgid "New Window Without Browser Navigation" +msgstr "Nuova finestra senza navigazione browser" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:242 +msgid "All" +msgstr "Tutto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:248 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:451 +msgid "None" +msgstr "Nessuno" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:304 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:503 +msgid "- All Sections -" +msgstr "- Tutte le sezioni -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:390 +msgid "- Select Image -" +msgstr "- Seleziona immagine -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:408 +msgid "" +"New items default to the first place. Ordering can be changed after this " +"item is saved." +msgstr "" +"I nuovi elementi vanno automaticamente in prima posizione. L’ordinamento può " +"essere cambiato dopo che l’elemento è stato salvato." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:435 +msgid "- No User -" +msgstr "- Nessun utente -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:454 +msgid "Center" +msgstr "Centro" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:457 +msgid "Left" +msgstr "Sinistra" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:460 +msgid "Right" +msgstr "Destra" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:482 +msgid "- All Categories -" +msgstr "- Tutte le categorie -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:489 +msgid "You must create a category first." +msgstr "Si deve creare una categoria, prima." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:73 +msgid "Results %d to %d of %d" +msgstr "Risultati %d a %d di %d" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:75 +msgid "No records found." +msgstr "Nessun record trovato." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:102 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:105 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:105 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:108 +msgid "Start" +msgstr "Inizio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:102 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:105 +msgid "first page" +msgstr "prima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:103 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:106 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:106 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:109 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:226 +msgid "Previous" +msgstr "Precedente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:103 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:106 +msgid "previous page" +msgstr "pagina precedente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:121 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:124 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:124 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:127 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:217 +msgid "Next" +msgstr "Prossimo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:121 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:124 +msgid "next page" +msgstr "prossima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:122 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:125 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:125 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:128 +msgid "End" +msgstr "Fine" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:122 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:125 +msgid "end page" +msgstr "fine pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:65 +msgid "Control Panel" +msgstr "Pannello di controllo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:69 +msgid "Site" +msgstr "Sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:69 +msgid "Site Management" +msgstr "Gestione sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:72 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:292 +msgid "Configuration" +msgstr "Configurazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:72 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:115 +msgid "Global Configuration" +msgstr "Configurazione globale" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:76 +msgid "Language Manager" +msgstr "Gestore lingue" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:76 +msgid "Manage languages" +msgstr "Gestione lingue" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:79 +msgid "Manage Media Files" +msgstr "Gestione file Media" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:79 +msgid "Media Manager" +msgstr "Gestore Media" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:81 +msgid "In New Window" +msgstr "In una nuova finestra" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:82 +msgid "Inline" +msgstr "In linea" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:83 +msgid "Inline with Positions" +msgstr "In linea con posizioni" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:85 +msgid "Site Statistics" +msgstr "Statistiche sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:85 +msgid "Statistics" +msgstr "Statistiche" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:88 +msgid "Browser, OS, Domain" +msgstr "Browser, SO, Domini" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:89 +msgid "Page Impressions" +msgstr "Pagine visitate" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:92 +msgid "Search Text" +msgstr "Testi di ricerca" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:96 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:97 +msgid "Change site template" +msgstr "Cambia template del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:96 +msgid "Template Manager" +msgstr "Gestore template" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:97 +msgid "Site Templates" +msgstr "Templates del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:98 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:101 +msgid "Install" +msgstr "Installa" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:98 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Install Site Templates" +msgstr "Installa Template del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:100 +msgid "Administrator Templates" +msgstr "Template amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:100 +msgid "Change admin template" +msgstr "Cambia template amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:101 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Install Administrator Templates" +msgstr "Installa template amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:103 +msgid "Module Positions" +msgstr "Posizione moduli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:103 +msgid "Template positions" +msgstr "Posizione template" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:108 +msgid "Manage Trash" +msgstr "Gestisci cestino" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:108 +msgid "Trash Manager" +msgstr "Gestore cestino" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:112 +msgid "Manage users" +msgstr "Gestisci utenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:112 +msgid "User Manager" +msgstr "Gestore utenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:119 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_stats.php:24 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:438 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:517 +msgid "Menu" +msgstr "Menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:119 +msgid "Menu Management" +msgstr "Gestione menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:122 +msgid "Menu Manager" +msgstr "Gestore menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:134 +msgid "Content" +msgstr "Contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:134 +msgid "Content Management" +msgstr "Gestione contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:137 +msgid "Content Managers" +msgstr "Gestore contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:137 +msgid "Content by Section" +msgstr "Contenuti per sezione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:144 +msgid "Items" +msgstr "Articoli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:147 +msgid "Add/Edit" +msgstr "Aggiungi/Modifica" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:58 +msgid "Categories" +msgstr "Categorie" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:161 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:28 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:137 +msgid "All Content Items" +msgstr "Tutti gli articoli di contenuto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:161 +msgid "Manage Content Items" +msgstr "Gestisci articoli di contenuto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:162 +msgid "Manage Typed Content Items" +msgstr "Gestisci articoli di contenuto testuale" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:162 +msgid "Static Content Manager" +msgstr "Gestore contenuti statici" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:164 +msgid "Manage Content Sections" +msgstr "Gestione sezione contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:164 +msgid "Section Manager" +msgstr "Gestore sezioni" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:167 +msgid "Category Manager" +msgstr "Gestore categorie" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:167 +msgid "Manage Content Categories" +msgstr "Gestisci categorie di contenuti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:171 +msgid "Frontpage Manager" +msgstr "Gestore prima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:171 +msgid "Manage Frontpage Items" +msgstr "Gestisci articoli in prima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:172 +msgid "Archive Manager" +msgstr "Gestore archivio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:172 +msgid "Manage Archive Items" +msgstr "Gestisci articoli in archivio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:178 +msgid "Component Management" +msgstr "Gestore componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:178 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:281 +msgid "Components" +msgstr "Componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install/Uninstall" +msgstr "Installa/Disinstalla" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +msgid "Install/Uninstall components" +msgstr "Installa/Disinstalla componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:223 +msgid "More Components" +msgstr "Altri componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:223 +msgid "More Components..." +msgstr "Altri componenti..." + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:231 +msgid "Module Management" +msgstr "Gestione moduli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:231 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Modules" +msgstr "Moduli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +msgid "Install custom modules" +msgstr "Installa moduli personalizzati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:239 +msgid "Manage Site modules" +msgstr "Gestisci moduli del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:239 +msgid "Site Modules" +msgstr "Moduli del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:240 +msgid "Administrator Modules" +msgstr "Moduli amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:240 +msgid "Manage Administrator modules" +msgstr "Gestione moduli amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:250 +msgid "Mambot Management" +msgstr "Gestione mambot" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:250 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Mambots" +msgstr "Mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install custom mambot" +msgstr "Installa mambot personalizzato" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:258 +msgid "Manage Site Mambots" +msgstr "Gestione mambots del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:258 +msgid "Site Mambots" +msgstr "Mambots del sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:269 +msgid "Installer List" +msgstr "Elenco installatore" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:269 +msgid "Installers" +msgstr "Installatore" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Templates - Site" +msgstr "Templates - Sito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Templates - Admin" +msgstr "Templates - Amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:277 +msgid "Install Languages" +msgstr "Installa lingua" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:277 +msgid "Languages" +msgstr "Lingue" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:281 +msgid "Install/Uninstall Components" +msgstr "Installa/Disinstalla componenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Install/Uninstall Modules" +msgstr "Installa/Disinstalla moduli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Install/Uninstall Mambots" +msgstr "Installa/Disinstalla mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:290 +msgid "Messages" +msgstr "Messaggi" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:290 +msgid "Messaging Management" +msgstr "Gestione messaggi" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:291 +msgid "Inbox" +msgstr "Arrivati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:291 +msgid "Private Messages" +msgstr "Messaggi privati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:297 +msgid "System" +msgstr "Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:297 +msgid "System Management" +msgstr "Gestione sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:300 +msgid "Check-in all checked-out items" +msgstr "Sblocca tutti gli elementi bloccati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:300 +msgid "Global Checkin" +msgstr "Controllo generale" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:301 +msgid "View System Information" +msgstr "Vedi informazioni di sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:304 +msgid "Clean Cache" +msgstr "Pulisci la cache" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:304 +msgid "Clean the content items cache" +msgstr "Pulisci la cache dagli elementi di contenuto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_latest.php:27 +msgid "Most Recently Added Content" +msgstr "Ultimi contenuti aggiunti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_latest.php:43 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:64 +msgid "Edit User" +msgstr "Modifica utente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:56 +msgid "Currently Logged in Users" +msgstr "Utenti attualmente connessi" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:84 +msgid "Force Logout User" +msgstr "Forza disconnessione utente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:84 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:62 +msgid "Logout" +msgstr "Disconnetti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_online.php:22 +msgid "Users Online" +msgstr "Utenti online" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:27 +msgid "Most Popular Items" +msgstr "Articoli più popolari" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:30 +msgid "Created" +msgstr "Creato" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:33 +msgid "Hits" +msgstr "Visite" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:35 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:144 +msgid "Static Content" +msgstr "Contenuto statico" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:42 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:152 +msgid "Frontpage" +msgstr "Prima pagina" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:51 +msgid "Sections" +msgstr "Sezioni" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:65 +msgid "Media" +msgstr "Media" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:89 +msgid "Menus" +msgstr "Menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:102 +msgid "Users" +msgstr "Utenti" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_stats.php:27 +msgid "# Items" +msgstr "# Articoli" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_unread.php:17 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_unread.php:19 +msgid "Mail" +msgstr "Posta" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:22 +msgid "Content Preview" +msgstr "Anteprima contenuto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:60 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/modulewindow.php:68 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:49 +msgid "Close" +msgstr "Chiudi" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:61 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:276 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:278 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:285 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:294 +msgid "Print" +msgstr "Stampa" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/modulewindow.php:40 +msgid "Module Preview" +msgstr "Anteprima modulo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:25 +msgid "Poll Preview" +msgstr "Anteprima sondaggio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:46 +msgid "Results" +msgstr "Risultati" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:46 +msgid "Vote" +msgstr "Vota" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:25 +msgid "Please select an image to upload" +msgstr "Prego selezionare un’immagine da caricare" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:31 +msgid "File must only contain alphanumeric characters and no spaces please." +msgstr "Il file deve contenere solo caratteri alfanumerici e nessuno spazio" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:36 +msgid "Image %s already exists." +msgstr "L’immagine %s esiste già." + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:41 +msgid "The file must be gif, png, jpg, bmp, swf, doc, xls or ppt" +msgstr "Il file deve essere gif, png, jpg, bmp, swf, doc, xls o ppt" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:48 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:56 +msgid "Upload of $userfile_name failed" +msgstr "Caricamento di $userfile_name fallito" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:52 +msgid "Upload of $userfile_name to $media_path successful" +msgstr "Caricamento di $userfile_name in $media_path effettuato" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:60 +msgid "Upload of $userfile_name to $base_Dir successful" +msgstr "Caricamento di $userfile_name in $base_Dir effettuato" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:84 +msgid "File Upload :" +msgstr "Caricamento file:" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:94 +msgid "Max size" +msgstr "Grandezza massima" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/index.php:50 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:34 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:50 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:88 +msgid "Mambo Logo" +msgstr "Logo Mambo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:19 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:22 +msgid "Administration" +msgstr "Amministrazione" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:40 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:49 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/login.php:40 +msgid "Login" +msgstr "Entra" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:43 +msgid "Username" +msgstr "Nome utente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:45 +msgid "Password" +msgstr "Password" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:55 +msgid "Welcome to Mambo!" +msgstr "benvenuto in Mambo!" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:56 +msgid "" +"Use a valid username and password to gain access to the administration " +"console." +msgstr "" +"Usa un nome utente ed una password validi per accedere al pannello di " +"controllo" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:36 +msgid "Please make a selection from the list to" +msgstr "Prego effettuare una selezione dalla lista a" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:75 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:95 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:473 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:560 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:653 +msgid "Published" +msgstr "Pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:115 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:135 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:653 +msgid "Unpublished" +msgstr "Non pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:312 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:313 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:327 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:328 +msgid "save" +msgstr "salva" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:363 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:364 +msgid "back" +msgstr "indietro" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:35 +msgid "Please complete the username and password fields." +msgstr "Prego completare i campi nome utente e password." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:41 +msgid "Logins are not permitted. There is no authentication check active." +msgstr "Entrata non permessa. Non ci sono controlli di autenticazione attivi." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:72 +msgid "Your login has been blocked. Please contact the administrator." +msgstr "" +"Il tuo accesso è stato bloccato. Per favore contattare l’amministratore" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:103 +msgid "Incorrect username or password. Please try again." +msgstr "Nome utente o password non corretti. Per favore prova ancora." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:147 +msgid "Please enter a password" +msgstr "Prego inserire una password" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:166 +msgid "You cannot login. There are no administrators set up." +msgstr "Non puoi entrare. Non ci sono amministratori configurati." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:172 +msgid "Incorrect Username, Password, or Access Level. Please try again" +msgstr "" +"Nome utente, password o livello di accesso non corretti. Per favore, prova " +"ancora" + +#: D:/releases/svn/mambo/branches/4.6/includes/cmtclasses.php:348 +msgid "Your Module must contain a title." +msgstr "Il modulo deve avere un titolo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:21 +msgid "Unwriteable" +msgstr "Non scrivibile" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:21 +msgid "Writeable" +msgstr "Scrivibile" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:95 +msgid "January" +msgstr "Gennaio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:96 +msgid "February" +msgstr "Febbraio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:97 +msgid "March" +msgstr "Marzo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:98 +msgid "April" +msgstr "Aprile" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:99 +msgid "May" +msgstr "Maggio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:100 +msgid "June" +msgstr "Giugno" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:101 +msgid "July" +msgstr "Luglio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:102 +msgid "August" +msgstr "Agosto" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:103 +msgid "September" +msgstr "Settembre" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:104 +msgid "October" +msgstr "Ottobre" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:105 +msgid "November" +msgstr "Novembre" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:106 +msgid "December" +msgstr "Dicembre" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:121 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:171 +msgid "Yes" +msgstr "Si" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:122 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:170 +msgid "No" +msgstr "No" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:195 +msgid "No Sorting" +msgstr "Nessun ordinamento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:196 +msgid "Sort Ascending" +msgstr "Ordinamento ascendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:197 +msgid "Sort Descending" +msgstr "Ordibamento discendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:222 +msgid "Close Window" +msgstr "Chiudi finestra" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:350 +msgid "" +"This email address is being protected from spam bots, you need Javascript " +"enabled to view it" +msgstr "" +"Questo indirizzo email è protetto contro i robot spam, hai bisogno del " +"Javascript abilitato, per vederlo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:375 +msgid "Pending" +msgstr "In attesa" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:378 +msgid "Published, but is Pending" +msgstr "Pubblicato, ma è in attesa" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:381 +msgid "Visible" +msgstr "Visibile" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:384 +msgid "Published and is Current" +msgstr "Attualmente pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:387 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:393 +msgid "Finished" +msgstr "Finito" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:390 +msgid "Published, but has Expired" +msgstr "Pubblicazione scaduta" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:396 +msgid "Not Published" +msgstr "Non pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:401 +msgid "Click on icon to toggle state." +msgstr "Cliccare sull’icona per cambiare lo stato." + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:441 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:520 +msgid "Go to Menu" +msgstr "Vai la menu" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:448 +msgid "Link Name" +msgstr "Nome collegamento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:452 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:539 +msgid "Go to Menu Item" +msgstr "Vai al menu articoli" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:460 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:547 +msgid "State" +msgstr "Stato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:466 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:553 +msgid "Trashed" +msgstr "Cestinato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:469 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:556 +msgid "UnPublished" +msgstr "Non pubblicato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:527 +msgid "Type" +msgstr "Tipo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:535 +msgid "Item Name" +msgstr "Nome elemento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:584 +msgid "Checked Out" +msgstr "Bloccato" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:654 +msgid "Publish item" +msgstr "Pubblica elemento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:654 +msgid "Unpublish Item" +msgstr "Non pubblicare elemento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:21 +msgid "User Submitted '%s'" +msgstr "Utente inviato '%s'" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:22 +msgid "" +"Hello %s,\\n\\n\\nA user submitted %s:\\n [ %s ]\\n has been just been " +"submitted by user:\\n [ %s ]\\n" +msgstr "" +"Ciao %s,\\n\\n\\nUn utente ha inviato %s:\\n [ %s ]\\n è stato appena " +"inserito dall’utente:\\n [ %s ]\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:23 +msgid " for %.\\n\\n\\n\\n" +msgstr "per %.\\n\\n\\n\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:24 +msgid "Please go to %s/administrator to view and approve this %s.\\n\\n" +msgstr "" +"Per favore, vai in amministrazione di %s/ per vederlo ed eventualmente " +"approvarlo %s.\\n\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:25 +msgid "" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only\\n" +msgstr "" +"Per favore, non rispondere a questo messaggio, in quanto è stato generato " +"automaticamente a puro scopo informativo\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:50 +msgid "You need to login." +msgstr "Devi identificarti." + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:334 +msgid "Mambo Warning" +msgstr "Avviso Mambo" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:67 +msgid "Results %d - %d of %d" +msgstr "Risultati %d - %d di %d" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:79 +msgid "Page %d of %d" +msgstr "Pagina %d di %d" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:67 +msgid "Powered by Mambo" +msgstr "Powered by Mambo" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:68 +msgid "Generated:" +msgstr "Generato:" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:95 +msgid "Written by" +msgstr "Scritto da" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:97 +msgid "Contributed by" +msgstr "Contributi di" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:103 +msgid "Last Updated" +msgstr "Ultimo aggiornamento" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:121 +msgid "OFF" +msgstr "OFF" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:121 +msgid "ON" +msgstr "ON" + +#: D:/releases/svn/mambo/branches/4.6/includes/phpgettext/phpgettext.includes.php:283 +msgid "Text Domains" +msgstr "Dominio testuale" + +#: D:/releases/svn/mambo/branches/4.6/includes/phpgettext/phpgettext.includes.php:290 +msgid "Main" +msgstr "Principale" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:58 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:183 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:194 +msgid "Page" +msgstr "Pagina" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:142 +msgid "Article Index" +msgstr "Indice articoli" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:215 +msgid "Next >>" +msgstr "Prossimi >>" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:224 +msgid "<<Previous" +msgstr "<\n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"Questo sposterà le categorie elencate\n" +"\t\t\t
      \n" +"\t\t\te tutti gli articoli contenuti in esse (anche loro elencati)\n" +"\t\t\t
      \n" +"\t\t\talla sezione selezionata." + +#: administrator/components/com_categories/admin.categories.html.php:628 +msgid "Copy Category" +msgstr "Copia categoria" + +#: administrator/components/com_categories/admin.categories.html.php:638 +msgid "Copy to Section:" +msgstr "Copia alla sezione:" + +#: administrator/components/com_categories/admin.categories.html.php:644 +msgid "Categories being copied:" +msgstr "Categoria che sarà copiata" + +#: administrator/components/com_categories/admin.categories.html.php:655 +msgid "Content Items being copied:" +msgstr "Articolo di contenuto che sarà copiato:" + +#: administrator/components/com_categories/admin.categories.html.php:666 +msgid "" +"\n" +"\t\t\tThis will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"\n" +"\t\t\tQuesto copierà le categorie elencate\n" +"\t\t\t
      \n" +"\t\t\te tutti gli articoli contenuti in esse (anche loro elencati)\n" +"\t\t\t
      \n" +"\t\t\talla sezione selezionata." + +#: administrator/components/com_categories/admin.categories.php:142 +msgid "Component: " +msgstr "Componente:" + +#: administrator/components/com_categories/admin.categories.php:251 +msgid "The category %s is currently being edited by another administrator" +msgstr "" +"La categoria %s è in corso di modifica da parte di un altro amministratore" + +#: administrator/components/com_categories/admin.categories.php:270 +msgid "Category Table" +msgstr "Tabella categoria" + +#: administrator/components/com_categories/admin.categories.php:278 +msgid "Category Blog Archive" +msgstr "Archivio blog categoria" + +#: administrator/components/com_categories/admin.categories.php:322 +msgid "Select Type" +msgstr "Seleziona tipo" + +#: administrator/components/com_categories/admin.categories.php:324 +#: administrator/components/com_categories/admin.categories.php:797 +msgid "Contact Category Table" +msgstr "Tabella categoria contatti" + +#: administrator/components/com_categories/admin.categories.php:327 +#: administrator/components/com_categories/admin.categories.php:802 +msgid "Newsfeed Category Table" +msgstr "Tabella categoria newsfeed" + +#: administrator/components/com_categories/admin.categories.php:330 +#: administrator/components/com_categories/admin.categories.php:807 +msgid "Weblink Category Table" +msgstr "Tabella categoria weblinks" + +#: administrator/components/com_categories/admin.categories.php:332 +#: administrator/components/com_categories/admin.categories.php:782 +msgid "Content Category Table" +msgstr "Tabella categoria contenuti" + +#: administrator/components/com_categories/admin.categories.php:333 +#: administrator/components/com_categories/admin.categories.php:787 +msgid "Content Category Blog" +msgstr "Blog contenuti categoria" + +#: administrator/components/com_categories/admin.categories.php:334 +msgid "Content Category Archive Blog" +msgstr "Blog archivio contenuti categoria" + +#: administrator/components/com_categories/admin.categories.php:447 +msgid "Select a category to delete" +msgstr "Seleziona una categoria cancellare" + +#: administrator/components/com_categories/admin.categories.php:524 +msgid "Select a category to %s" +msgstr "Seleziona una categoria da %s" + +#: administrator/components/com_categories/admin.categories.php:585 +#: administrator/components/com_categories/admin.categories.php:655 +msgid "Select an item to move" +msgstr "Seleziona un articolo da spostare" + +#: administrator/components/com_categories/admin.categories.php:741 +msgid "%d Category copied to %s" +msgid_plural "%d Categories copied to %s" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_categories/admin.categories.php:792 +msgid "Content Category Blog Archive" +msgstr "Archivio blog contenuto categoria" + +#: administrator/components/com_categories/admin.categories.php:833 +msgid "%s ( %s ) in menu: %s successfully created" +msgstr "%s ( %s ) nel menu: %s creato correttamente" + +#: administrator/components/com_categories/admin.categories.php:872 +msgid "New ordering saved" +msgstr "Nuovo ordinamento salvato" + +#: administrator/components/com_categories/toolbar.categories.html.php:80 +msgid "Move" +msgstr "Sposta" + +#: administrator/components/com_categories/toolbar.categories.html.php:82 +msgid "Copy" +msgstr "Copia" + +#: administrator/components/com_config/admin.config.html.php:106 +msgid "configuration.php is :" +msgstr "configuration.php è:" + +#: administrator/components/com_config/admin.config.html.php:116 +msgid "Make unwriteable after saving" +msgstr "Rendi non scrivibile, dopo il salvataggio" + +#: administrator/components/com_config/admin.config.html.php:123 +msgid "Override write protection while saving" +msgstr "" +"Annulla temporaneamente la protezione per permettere il salvataggio dei dati" + +#: administrator/components/com_config/admin.config.html.php:137 +msgid "Site Offline:" +msgstr "Sito non in linea:" + +#: administrator/components/com_config/admin.config.html.php:141 +msgid "Offline Message:" +msgstr "Messaggio sito non in linea:" + +#: administrator/components/com_config/admin.config.html.php:143 +msgid "A message that displays if your site is offline" +msgstr "Il messaggio che viene mostrato in caso di sito non in linea" + +#: administrator/components/com_config/admin.config.html.php:148 +msgid "System Error Message:" +msgstr "Messaggio errore di sistema:" + +#: administrator/components/com_config/admin.config.html.php:150 +msgid "A message that displays if Mambo could not connect to the database" +msgstr "" +"Il messaggio che viene mostrato se Mambo non può connettersi al database" + +#: administrator/components/com_config/admin.config.html.php:155 +msgid "Site Name:" +msgstr "Nome del sito:" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "Show UnAuthorized Links:" +msgstr "Mostra collegamenti non autorizzati:" + +#: administrator/components/com_config/admin.config.html.php:161 +msgid "" +"If yes, will show links to content to registered content even if you are not " +"logged in. The user will need to login to see the item in full." +msgstr "" +"Se SI, mostrerà i contenuti riservati agli utenti registrati, anche ai " +"visitatori, ma l'utente dovrà essere connesso al sito, per vedere l'articolo " +"per intero." + +#: administrator/components/com_config/admin.config.html.php:166 +msgid "Allow User Registration:" +msgstr "Permetti la registrazione di nuovi utenti:" + +#: administrator/components/com_config/admin.config.html.php:168 +msgid "If yes, allows users to self-register" +msgstr "Se SI, permette agli utenti di auto registrarsi" + +#: administrator/components/com_config/admin.config.html.php:173 +msgid "Use New Account Activation:" +msgstr "Usa l'attivazione del nuovo account:" + +#: administrator/components/com_config/admin.config.html.php:176 +msgid "" +"If yes, the user will be mailed a link to activate their account before they " +"can log in." +msgstr "" +"Se SI, all'utente sarà inviata una mail contenente un collegamento per " +"attivare il proprio account e confermare l'iscrizione, prima di potersi " +"identificare sul sito." + +#: administrator/components/com_config/admin.config.html.php:181 +msgid "Require Unique Email:" +msgstr "Richiedi email univoca:" + +#: administrator/components/com_config/admin.config.html.php:183 +msgid "If yes, users cannot share the same email address" +msgstr "" +"Se si, nel database non potranno esserci indirizzi email condivisi tra gli " +"utenti, ma ognuno dovrà avere un indirizzo univoco" + +#: administrator/components/com_config/admin.config.html.php:188 +msgid "Debug Site:" +msgstr "Debug del sito:" + +#: administrator/components/com_config/admin.config.html.php:190 +msgid "If yes, displays diagnostic information and SQL errors if present" +msgstr "" +"Se SI, mostra informazioni diagnostiche ed eventuali errori SQL se presenti" + +#: administrator/components/com_config/admin.config.html.php:199 +msgid "List Length:" +msgstr "Lunghezza elenchi:" + +#: administrator/components/com_config/admin.config.html.php:201 +msgid "Sets the default length of lists in the administrator for all users" +msgstr "" +"Configura la lunghezza predefinita degli elenchi che sono usati in " +"amministrazione ed è valida per tutti gli utenti " + +#: administrator/components/com_config/admin.config.html.php:206 +msgid "Favourites Site Icon:" +msgstr "Icona Preferita per il sito:" + +#: administrator/components/com_config/admin.config.html.php:210 +msgid "" +"If left blank or the file cannot be found, the default favicon.ico will be " +"used." +msgstr "" +"Se lasciata in bianco o il file non viene trovato, sarà usata l'icona " +"preconfigurata favicon.ico." + +#: administrator/components/com_config/admin.config.html.php:211 +msgid "Favourite Icon" +msgstr "Icona preferita" + +#: administrator/components/com_config/admin.config.html.php:217 +msgid "Locale" +msgstr "Locale" + +#: administrator/components/com_config/admin.config.html.php:221 +msgid "Language:" +msgstr "Lingua:" + +#: administrator/components/com_config/admin.config.html.php:225 +msgid "Time Offset:" +msgstr "Scarto orario:" + +#: administrator/components/com_config/admin.config.html.php:229 +msgid "Current date/time configured to display: %s" +msgstr "Le data ed ora attuali sono: %s" + +#: administrator/components/com_config/admin.config.html.php:234 +msgid "Country Locale:" +msgstr "Nazione locale" + +#: administrator/components/com_config/admin.config.html.php:244 +msgid "These Parameters control Output elements" +msgstr "Questo parametro controlla gli elementi di Output" + +#: administrator/components/com_config/admin.config.html.php:247 +msgid "Linked Titles:" +msgstr "Titoli collegati:" + +#: administrator/components/com_config/admin.config.html.php:250 +msgid "If yes, the title of content items will be hyperlinked to the item" +msgstr "Se SI, il titolo degli articoli sarà collegato all'articolo stesso" + +#: administrator/components/com_config/admin.config.html.php:255 +msgid "Read More Link:" +msgstr "Collegamento Leggi tutto.. :" + +#: administrator/components/com_config/admin.config.html.php:258 +msgid "" +"If set to show, the read-more link will show if main-text has been provided " +"for the item" +msgstr "" +"Se si sceglie di mostrarlo, il collegamento Leggi tutto.. sarà visualizzato " +"nel caso che l'articolo abbia, oltre all'introduzione, anche il testo esteso" + +#: administrator/components/com_config/admin.config.html.php:263 +msgid "Item Rating/Voting:" +msgstr "Valuta/vota articolo:" + +#: administrator/components/com_config/admin.config.html.php:266 +msgid "If set to show, a voting system will be enabled for content items" +msgstr "" +"Se si sceglie di mostrarlo, sarà abilitato un sistema di votazione del " +"contenuto degli articoli" + +#: administrator/components/com_config/admin.config.html.php:271 +msgid "Author Names:" +msgstr "Nome autore:" + +#: administrator/components/com_config/admin.config.html.php:274 +msgid "" +"If set to show, the name of the author will be displayed. This a global " +"setting but can be changed at menu and item levels." +msgstr "" +"Se configurato per essere mostrato, sarà visualizzato il nome dell'autore. " +"Questa è una configurazione globale, ma può essere cambiata singolarmente " +"per ogni articolo e menu." + +#: administrator/components/com_config/admin.config.html.php:279 +msgid "Created Date and Time:" +msgstr "Data e ora di creazione:" + +#: administrator/components/com_config/admin.config.html.php:282 +msgid "" +"If set to show, the date and time an item was created will be displayed. " +"This a global setting but can be changed at menu and item levels." +msgstr "" +"Se configurata per essere mostrate, saranno visualizzate la data e l'ora di " +"creazione dell'articolo. Questa è una configurazione globale, ma può essere " +"cambiata singolarmente per ogni articolo e menu." + +#: administrator/components/com_config/admin.config.html.php:287 +msgid "Modified Date and Time:" +msgstr "Data e ora modificate:" + +#: administrator/components/com_config/admin.config.html.php:290 +msgid "" +"If set to show, the date and time an item was last modified will be " +"displayed. This a global setting but can be changed at menu and item levels." +msgstr "" +"Se configurata per essere mostrate, saranno visualizzate la data e l'ora " +"dell'ultima modifica dell'articolo. Questa è una configurazione globale, ma " +"può essere cambiata singolarmente per ogni articolo e menu." + +#: administrator/components/com_config/admin.config.html.php:295 +msgid "Hits:" +msgstr "Visite:" + +#: administrator/components/com_config/admin.config.html.php:298 +msgid "" +"If set to show, the hits for a particular item will be displayed. This a " +"global setting but can be changed at menu and item levels." +msgstr "" +"Se configurato per essere mostrato, saranno visualizzate le visite ad un " +"determinato articolo. Questa è una configurazione globale, ma può essere " +"cambiata singolarmente per ogni articolo e menu." + +#: administrator/components/com_config/admin.config.html.php:303 +msgid "PDF Icon:" +msgstr "Icona PDF" + +#: administrator/components/com_config/admin.config.html.php:308 +msgid "Option not available as /media directory not writable" +msgstr "Opzione non disponibile, dato che la cartella /media non è scrivibile" + +#: administrator/components/com_config/admin.config.html.php:316 +msgid "Print Icon:" +msgstr "Icona Stampa:" + +#: administrator/components/com_config/admin.config.html.php:321 +msgid "Email Icon:" +msgstr "Icona email:" + +#: administrator/components/com_config/admin.config.html.php:326 +msgid "Icons:" +msgstr "Icone:" + +#: administrator/components/com_config/admin.config.html.php:328 +msgid "Print, PDF and Email will utilise Icons or Text" +msgstr "Stampa, PDF ed Email utilizzeranno icone o testo" + +#: administrator/components/com_config/admin.config.html.php:331 +msgid "Table of Contents on multi-page items:" +msgstr "Tabella dei contenuti, in articoli multi pagina:" + +#: administrator/components/com_config/admin.config.html.php:336 +msgid "Back Button:" +msgstr "Bottone indietro:" + +#: administrator/components/com_config/admin.config.html.php:341 +msgid "Content Item Navigation:" +msgstr "Navigazione articoli di contenuto:" + +#: administrator/components/com_config/admin.config.html.php:360 +msgid "Hostname:" +msgstr "Nome host:" + +#: administrator/components/com_config/admin.config.html.php:364 +msgid "MySQL Username:" +msgstr "MySQL nome utente:" + +#: administrator/components/com_config/admin.config.html.php:368 +msgid "MySQL Password:" +msgstr "MySQL password:" + +#: administrator/components/com_config/admin.config.html.php:372 +msgid "MySQL Database:" +msgstr "MySQL database:" + +#: administrator/components/com_config/admin.config.html.php:376 +msgid "MySQL Database Prefix:" +msgstr "MySQL prefisso database:" + +#: administrator/components/com_config/admin.config.html.php:379 +msgid "" +"!! DO NOT CHANGE UNLESS YOU HAVE A DATABASE BUILT USING TABLES WITH THE " +"PREFIX YOU ARE SETTING !!" +msgstr "" +"!! NON CAMBIARE SE NON HAI UN DATABASE CREATO USANDO IL PREFISSO DI TABELLE " +"CHE STAI CONFIGURANDO !!" + +#: administrator/components/com_config/admin.config.html.php:385 +msgid "Server" +msgstr "Server" + +#: administrator/components/com_config/admin.config.html.php:389 +msgid "Absolute Path:" +msgstr "Percorso assoluto:" + +#: administrator/components/com_config/admin.config.html.php:394 +msgid "Live Site:" +msgstr "Sito attuale:" + +#: administrator/components/com_config/admin.config.html.php:399 +msgid "Secret Word:" +msgstr "Parola segreta:" + +#: administrator/components/com_config/admin.config.html.php:404 +msgid "GZIP Page Compression:" +msgstr "Compressione pagine GZIP:" + +#: administrator/components/com_config/admin.config.html.php:407 +msgid "Compress buffered output if supported" +msgstr "Se supportato, comprime il contenuto del buffer dati" + +#: administrator/components/com_config/admin.config.html.php:412 +msgid "Login Session Lifetime:" +msgstr "Durata della sessione di connessione:" + +#: administrator/components/com_config/admin.config.html.php:416 +msgid "Auto logout after this time of inactivity" +msgstr "" +"Trascorso questo tempo di inattività, l'utente è disconnesso automaticamente" + +#: administrator/components/com_config/admin.config.html.php:421 +msgid "Error Reporting:" +msgstr "Rapporto errori:" + +#: administrator/components/com_config/admin.config.html.php:426 +msgid "Register Globals Emulation:" +msgstr "Emulazione Register Globals:" + +#: administrator/components/com_config/admin.config.html.php:430 +msgid "" +"Register globals emulation. Some components may stop working if this option " +"is set to Off." +msgstr "" +"Emulazione del Register Globals. Qualche componente potrebbe non funzionare " +"correttamente se questa opzione fosse configurata su OFF." + +#: administrator/components/com_config/admin.config.html.php:436 +msgid "Help Server:" +msgstr "Server dell'Aiuto:" + +#: administrator/components/com_config/admin.config.html.php:448 +msgid "File Creation:" +msgstr "Creazione file:" + +#: administrator/components/com_config/admin.config.html.php:450 +msgid "File Permissions" +msgstr "Permessi dei files" + +#: administrator/components/com_config/admin.config.html.php:454 +msgid "Dont CHMOD new files (use server defaults)" +msgstr "" +"Non dare permessi CHMOD ai nuovi files (usa quelli predefiniti del server)" + +#: administrator/components/com_config/admin.config.html.php:459 +msgid "CHMOD new files" +msgstr "Dai permessi CHMOD ai nuovi files" + +#: administrator/components/com_config/admin.config.html.php:461 +msgid "to:" +msgstr "a:" + +#: administrator/components/com_config/admin.config.html.php:464 +msgid "Select this option to define permission flags for new created files" +msgstr "" +"Seleziona questa opzione per definire i permessi per i nuovi files creati" + +#: administrator/components/com_config/admin.config.html.php:473 +#: administrator/components/com_config/admin.config.html.php:552 +msgid "User:" +msgstr "Utente:" + +#: administrator/components/com_config/admin.config.html.php:475 +#: administrator/components/com_config/admin.config.html.php:484 +#: administrator/components/com_config/admin.config.html.php:504 +#: administrator/components/com_config/admin.config.html.php:554 +#: administrator/components/com_config/admin.config.html.php:563 +#: administrator/components/com_config/admin.config.html.php:581 +msgid "read" +msgstr "lettura" + +#: administrator/components/com_config/admin.config.html.php:477 +#: administrator/components/com_config/admin.config.html.php:486 +#: administrator/components/com_config/admin.config.html.php:506 +#: administrator/components/com_config/admin.config.html.php:556 +#: administrator/components/com_config/admin.config.html.php:565 +#: administrator/components/com_config/admin.config.html.php:583 +msgid "write" +msgstr "scrittura" + +#: administrator/components/com_config/admin.config.html.php:479 +#: administrator/components/com_config/admin.config.html.php:488 +#: administrator/components/com_config/admin.config.html.php:508 +msgid "execute" +msgstr "esecuzione" + +#: administrator/components/com_config/admin.config.html.php:482 +#: administrator/components/com_config/admin.config.html.php:561 +msgid "Group:" +msgstr "Gruppo:" + +#: administrator/components/com_config/admin.config.html.php:492 +msgid "Apply to existing files" +msgstr "Applica ai files esistenti" + +#: administrator/components/com_config/admin.config.html.php:495 +msgid "" +"Checking here will apply the permission flags to all existing files " +"of the site.
      " +msgstr "" +"Selezionando questo, saranno applicati questi permessi a tutti i files " +"esistenti nel sito." + +#: administrator/components/com_config/admin.config.html.php:496 +#: administrator/components/com_config/admin.config.html.php:574 +msgid "" +"INAPPROPRIATE USAGE OF THIS OPTION MAY RENDER THE SITE INOPERATIVE!" +msgstr "" +" UN USO IMPROPRIO DI QUESTA FUNZIONE POTREBBE RENDERE IL SITO NON " +"OPERATIVO!" + +#: administrator/components/com_config/admin.config.html.php:502 +#: administrator/components/com_config/admin.config.html.php:579 +msgid "World:" +msgstr "Altri:" + +#: administrator/components/com_config/admin.config.html.php:527 +msgid "Directory Creation:" +msgstr "Creazione cartelle:" + +#: administrator/components/com_config/admin.config.html.php:533 +msgid "Dont CHMOD new directories (use server defaults)" +msgstr "" +"Non dare permessi CHMOD alle nuove cartelle (usa quelli predefiniti del " +"server)" + +#: administrator/components/com_config/admin.config.html.php:538 +msgid "CHMOD new directories" +msgstr "Dai permessi CHMOD alle nuove cartelle" + +#: administrator/components/com_config/admin.config.html.php:543 +msgid "" +"Select this option to define permission flags for new created directories" +msgstr "" +"Seleziona questa opzione per definire i permessi per per le nuove cartelle " +"create" + +#: administrator/components/com_config/admin.config.html.php:558 +#: administrator/components/com_config/admin.config.html.php:567 +#: administrator/components/com_config/admin.config.html.php:585 +msgid "search" +msgstr "cerca" + +#: administrator/components/com_config/admin.config.html.php:571 +msgid "Apply to existing directories" +msgstr "Applica alle cartelle esistenti" + +#: administrator/components/com_config/admin.config.html.php:573 +msgid "" +"Checking here will apply the permission flags to all existing " +"directories of the site.
      " +msgstr "" +"Selezionando questo, saranno applicati questi permessi a tutte le cartelle " +"esistenti nel sito." + +#: administrator/components/com_config/admin.config.html.php:598 +msgid "Metadata" +msgstr "Metadati" + +#: administrator/components/com_config/admin.config.html.php:602 +msgid "Global Site Meta Description:" +msgstr "Meta Descrizione generale del sito:" + +#: administrator/components/com_config/admin.config.html.php:606 +msgid "Global Site Meta Keywords:" +msgstr "Meta parole chiave generali del sito:" + +#: administrator/components/com_config/admin.config.html.php:610 +msgid "Show Title Meta Tag:" +msgstr "Mostra Meta tag Titolo:" + +#: administrator/components/com_config/admin.config.html.php:614 +msgid "Show the title meta tag when viewing content items" +msgstr "" +"Mostra il meta tag Titolo quando viene visualizzato un articolo di contenuto" + +#: administrator/components/com_config/admin.config.html.php:618 +msgid "Show Author Meta Tag:" +msgstr "Mostra meta tag Autore:" + +#: administrator/components/com_config/admin.config.html.php:622 +msgid "Show the author meta tag when viewing content items" +msgstr "" +"Mostra il meta tag Autore quando viene visualizzato un articolo di contenuto" + +#: administrator/components/com_config/admin.config.html.php:632 +msgid "Mailer:" +msgstr "Mittente:" + +#: administrator/components/com_config/admin.config.html.php:636 +msgid "Mail From:" +msgstr "Posta da:" + +#: administrator/components/com_config/admin.config.html.php:640 +msgid "From Name:" +msgstr "Da nome:" + +#: administrator/components/com_config/admin.config.html.php:644 +msgid "Sendmail Path:" +msgstr "Percorso sendmail:" + +#: administrator/components/com_config/admin.config.html.php:648 +msgid "SMTP Auth:" +msgstr "SMTP autenticazione:" + +#: administrator/components/com_config/admin.config.html.php:652 +msgid "SMTP User:" +msgstr "SMTP utente:" + +#: administrator/components/com_config/admin.config.html.php:656 +msgid "SMTP Pass" +msgstr "SMTP pass:" + +#: administrator/components/com_config/admin.config.html.php:660 +msgid "SMTP Host:" +msgstr "SMTP Host:" + +#: administrator/components/com_config/admin.config.html.php:673 +msgid "Caching:" +msgstr "Caching:" + +#: administrator/components/com_config/admin.config.html.php:681 +msgid "Cache Folder:" +msgstr "Cartella cache:" + +#: administrator/components/com_config/admin.config.html.php:686 +msgid "Current cache is directory is Writeable" +msgstr "Attualmente la cartella cache è Scrivibile" + +#: administrator/components/com_config/admin.config.html.php:688 +msgid "" +"The cache directory is UNWRITEABLE - please set this directory to CHMOD755 " +"before turning on the cache" +msgstr "" +"La cartella cache NON è SCRIVIBILE - Prego configiurare questa cartella con " +"i permessi CHMOD 755 prima di abilitare la cache" + +#: administrator/components/com_config/admin.config.html.php:694 +msgid "Cache Time:" +msgstr "Tempo di cache:" + +#: administrator/components/com_config/admin.config.html.php:695 +msgid "seconds" +msgstr "secondi" + +#: administrator/components/com_config/admin.config.html.php:705 +msgid "Statistics:" +msgstr "Statistiche:" + +#: administrator/components/com_config/admin.config.html.php:707 +msgid "Enable/disable collection of site statistics" +msgstr "Abilita/disabilita raccolta statistiche del sito" + +#: administrator/components/com_config/admin.config.html.php:710 +msgid "Log Content Hits by Date:" +msgstr "Accessi ai contenuti per data:" + +#: administrator/components/com_config/admin.config.html.php:712 +msgid "WARNING : Large amounts of data will be collected" +msgstr "" +"ATTENZIONE: saranno archiviati parecchi dati, tenere d'occhio la grandezza " +"del database" + +#: administrator/components/com_config/admin.config.html.php:715 +msgid "Log Search Strings:" +msgstr "Stringhe di ricerca:" + +#: administrator/components/com_config/admin.config.html.php:722 +msgid "SEO" +msgstr "SEO" + +#: administrator/components/com_config/admin.config.html.php:726 +msgid "Search Engine Optimization" +msgstr "Ottimizzazione per Motori di Ricerca" + +#: administrator/components/com_config/admin.config.html.php:731 +msgid "Search Engine Friendly URLs:" +msgstr "URL amichevoli per i motori di ricerca:" + +#: administrator/components/com_config/admin.config.html.php:733 +msgid "Apache only! Rename htaccess.txt to .htaccess before activating" +msgstr "" +"Solo per Apache! Rinominare il file htaccess.txt in .htaccess, prima di " +"attivare questa funzione" + +#: administrator/components/com_config/admin.config.html.php:736 +msgid "Dynamic Page Titles:" +msgstr "Titoli pagina dinamici:" + +#: administrator/components/com_config/admin.config.html.php:738 +msgid "Dynamically changes the page title to reflect current content viewed" +msgstr "" +"Il titolo cambia dinamicamente per riflettere il contenuto correntemente " +"visualizzato" + +#: administrator/components/com_config/admin.config.php:322 +#: administrator/components/com_config/admin.config.php:327 +msgid "Hide" +msgstr "Nascondi" + +#: administrator/components/com_config/admin.config.php:323 +#: administrator/components/com_config/admin.config.php:328 +msgid "Show" +msgstr "Mostra" + +#: administrator/components/com_config/admin.config.php:342 +msgid "System Default" +msgstr "Predefinite di sistema" + +#: administrator/components/com_config/admin.config.php:344 +msgid "Simple" +msgstr "Semplice" + +#: administrator/components/com_config/admin.config.php:345 +msgid "Maximum" +msgstr "Massimo" + +#: administrator/components/com_config/admin.config.php:349 +msgid "On" +msgstr "On" + +#: administrator/components/com_config/admin.config.php:350 +msgid "Off" +msgstr "Off" + +#: administrator/components/com_config/admin.config.php:354 +msgid "PHP mail function" +msgstr "Funzione email del PHP" + +#: administrator/components/com_config/admin.config.php:355 +msgid "Sendmail" +msgstr "Sendmail" + +#: administrator/components/com_config/admin.config.php:356 +msgid "SMTP Server" +msgstr "Server SMTP" + +#: administrator/components/com_config/admin.config.php:400 +msgid "Remember to rename htaccess.txt to .htaccess" +msgstr "Ricorda di rinominare htaccess.txt in .htaccess" + +#: administrator/components/com_config/admin.config.php:428 +msgid "Remember to install the MambelFish component." +msgstr "Ricorda di installare il componente Mambelfish." + +#: administrator/components/com_config/admin.config.php:485 +msgid "The Configuration Details have been updated" +msgstr "I dettagli della Configurazione sono stati aggiornati" + +#: administrator/components/com_config/admin.config.php:539 +msgid "An Error Has Occurred! Unable to open config file to write!" +msgstr "" +"Si è verificato un errore! Non è possibile scrivere nel file configuration." +"php!" + +#: administrator/components/com_contact/admin.contact.html.php:29 +msgid "Contact Manager" +msgstr "Gestore contatti" + +#: administrator/components/com_contact/admin.contact.html.php:32 +msgid "Filter:" +msgstr "Filtro:" + +#: administrator/components/com_contact/admin.contact.html.php:52 +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:94 +msgid "Name" +msgstr "Nome" + +#: administrator/components/com_contact/admin.contact.html.php:61 +msgid "Category" +msgstr "Categoria" + +#: administrator/components/com_contact/admin.contact.html.php:64 +msgid "Linked to User" +msgstr "Collegato all'utente" + +#: administrator/components/com_contact/admin.contact.html.php:96 +msgid "Edit Contact" +msgstr "Modifica contatto" + +#: administrator/components/com_contact/admin.contact.html.php:115 +msgid "Edit Category" +msgstr "Modifica categoria" + +#: administrator/components/com_contact/admin.contact.html.php:162 +msgid "You must provide a name." +msgstr "Si deve inserire un nome" + +#: administrator/components/com_contact/admin.contact.html.php:164 +msgid "Please select a Category." +msgstr "Prego selezionare una categoria." + +#: administrator/components/com_contact/admin.contact.html.php:176 +msgid "Contact:" +msgstr "Contatto:" + +#: administrator/components/com_contact/admin.contact.html.php:190 +msgid "Contact Details" +msgstr "Dettagli contatto" + +#: administrator/components/com_contact/admin.contact.html.php:203 +msgid "Linked to User:" +msgstr "Collegato all'utente:" + +#: administrator/components/com_contact/admin.contact.html.php:211 +msgid "Name:" +msgstr "Nome:" + +#: administrator/components/com_contact/admin.contact.html.php:219 +msgid "Contact's Position:" +msgstr "Posizione del contatto:" + +#: administrator/components/com_contact/admin.contact.html.php:227 +msgid "E-mail:" +msgstr "E-mail:" + +#: administrator/components/com_contact/admin.contact.html.php:235 +msgid "Street Address:" +msgstr "Indirizzo:" + +#: administrator/components/com_contact/admin.contact.html.php:243 +msgid "Town/Suburb:" +msgstr "Città/Località:" + +#: administrator/components/com_contact/admin.contact.html.php:251 +msgid "State/County:" +msgstr "Provincia/Stato:" + +#: administrator/components/com_contact/admin.contact.html.php:259 +msgid "Country:" +msgstr "Nazione:" + +#: administrator/components/com_contact/admin.contact.html.php:267 +msgid "Postal Code/ZIP:" +msgstr "CAP:" + +#: administrator/components/com_contact/admin.contact.html.php:275 +msgid "Telephone:" +msgstr "Telefono:" + +#: administrator/components/com_contact/admin.contact.html.php:283 +msgid "Fax:" +msgstr "Fax:" + +#: administrator/components/com_contact/admin.contact.html.php:291 +msgid "Miscellaneous Info:" +msgstr "Informazioni varie:" + +#: administrator/components/com_contact/admin.contact.html.php:308 +msgid "Publishing Info" +msgstr "Info pubblicazione" + +#: administrator/components/com_contact/admin.contact.html.php:313 +msgid "Site Default:" +msgstr "Sito predefinito:" + +#: administrator/components/com_contact/admin.contact.html.php:337 +msgid "Access:" +msgstr "Accesso:" + +#: administrator/components/com_contact/admin.contact.html.php:351 +msgid "Images" +msgstr "Immagini" + +#: administrator/components/com_contact/admin.contact.html.php:356 +msgid "Image Info" +msgstr "Info immagine" + +#: administrator/components/com_contact/admin.contact.html.php:361 +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Image" +msgstr "Immagine" + +#: administrator/components/com_contact/admin.contact.html.php:384 +#: administrator/components/com_contact/admin.contact.html.php:389 +msgid "Parameters" +msgstr "Parametri" + +#: administrator/components/com_contact/admin.contact.html.php:394 +msgid "" +"These Parameters only control what you see when you click to view a Contact " +"item" +msgstr "" +"Questi parametri controllano cosa si mostra quando si visualizza un contatto" + +#: administrator/components/com_contact/admin.contact.php:255 +msgid "Select a record to %s" +msgstr "Selezionare un record da %s" + +#: administrator/components/com_contact/contact.xml +msgid "# Category Items" +msgstr "# articoli della categoria" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" +"Una piccola immagine da piazzare a sinistra o a destra del menu articoli. " +"L'immagine deve essere posta nella cartella images/stories/" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" +"Un suffisso da applicare alle classi del CSS della pagina, questo permette " +"di personalizzare ogni pagina con lo stile desiderato" + +#: administrator/components/com_contact/contact.xml +msgid "Alignment of the image" +msgstr "Allineamento dell'immagine" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Back Button" +msgstr "Bottone indietro" + +#: administrator/components/com_contact/contact.xml +msgid "Category Description" +msgstr "Descrizione categoria" + +#: administrator/components/com_contact/contact.xml +msgid "Category List - Category" +msgstr "Elenco categoria - Categoria" + +#: administrator/components/com_contact/contact.xml +msgid "Category List - Section" +msgstr "Elenco Categoria - Sezione" + +#: administrator/components/com_contact/contact.xml +msgid "Description" +msgstr "descrizione" + +#: administrator/components/com_contact/contact.xml +msgid "Description Text" +msgstr "Testo descrizione" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Description for page, if left blank it will load _WEBLINKS_DESC from your " +"language file" +msgstr "" +"Descrizione per pagina, se lasciato vuoto sarà caricata la variabile " +"_WEBLINK_DESC dal file di lingua attuale" + +#: administrator/components/com_contact/contact.xml +msgid "Email Column" +msgstr "Colonna email" + +#: administrator/components/com_contact/contact.xml +msgid "Fax Column" +msgstr "Colonna fax" + +#: administrator/components/com_contact/contact.xml +msgid "Image Align" +msgstr "Allineamento immagine" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Image for page, must be located in the /images/stories folder. Default will " +"load web_links.jpg, No image will mean an image is not loaded" +msgstr "" +"L'immagine dev'essere collocata nella cartella /images/stories. Come " +"predefinita verrà caricata web_links.jpg, Nessuna immagine, significa che " +"non ci sono immagini caricate" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Menu Image" +msgstr "Menu immagine" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Page Class Suffix" +msgstr "Suffisso per la classe della pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Page Title" +msgstr "Titolo pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Position Column" +msgstr "Colonna Posizione" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" +"Mostra/nascondi il bottone Indietro, il quale rimanda alla pagina precedente" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Description below" +msgstr "Mostra/nascondi la descrizione sotto" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Description for the list of other catgeories" +msgstr "Mostra/nascondi la descrizione per l'elenco delle altre categorie" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Email column" +msgstr "Mostra/nascondi la colonna Email" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Fax column" +msgstr "Mostra/nascondi la colonna Fax" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "Mostra/nascondi la lista delle categorie nell'elenco vista pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "Mostra/nascondi la lista delle categorie nell'elenco vista pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Position column" +msgstr "Mostra/nascondi la colonna Posizione" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Table Headings" +msgstr "Mostra/nascondi l'intestazione delle tabelle" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Telephone column" +msgstr "Mostra/nascondi la colonna telefono" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the number of items in each category" +msgstr "Mostra/nascondi il numero di articoli in ogni categoria" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the pages Title" +msgstr "Mostra/nascondi il titolo della pagina" + +#: administrator/components/com_contact/contact.xml +msgid "Table Headings" +msgstr "Intestazioni delle tabelle" + +#: administrator/components/com_contact/contact.xml +msgid "Telephone Column" +msgstr "Colonna telefono" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" +"Testo da mostrare in cima alla pagina. Se lasciato bianco, sarà usato il " +"nome del Menu" + +#: administrator/components/com_contact/contact.xml +msgid "This component shows a listing of Contact Information" +msgstr "Questo componente mostra un elenco delle informazioni sui contatti" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Use Global" +msgstr "Usa le Globali" + +#: administrator/components/com_contact/contact_items.xml +msgid "Address Icon" +msgstr "Icona indirizzo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Contact Items" +msgstr "Elemento Contatto" + +#: administrator/components/com_contact/contact_items.xml +msgid "Country" +msgstr "Nazione" + +#: administrator/components/com_contact/contact_items.xml +msgid "Description text" +msgstr "Testo descrizione" + +#: administrator/components/com_contact/contact_items.xml +msgid "Drop Down" +msgstr "Menu a tendina" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:109 +msgid "Email" +msgstr "Email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Copy" +msgstr "Copia email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Form" +msgstr "Modulo email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Icon" +msgstr "Icona email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email description" +msgstr "Descrizione email" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:127 +msgid "Fax" +msgstr "Fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Fax Icon" +msgstr "Icona fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Address info" +msgstr "Icona per informazioni sull'indirizzo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Email info" +msgstr "Icona per informazioni sull'email" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Fax info" +msgstr "Icona per informazioni sul fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Misc info" +msgstr "Icona per informazioni su informazioni varie" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Telephone info" +msgstr "Icona per informazioni sul telefono" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons" +msgstr "Icone" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons/text" +msgstr "Icone/testo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Icon" +msgstr "Icona varie" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Info" +msgstr "Info varie" + +#: administrator/components/com_contact/contact_items.xml +msgid "Parameters for individual Contact Items" +msgstr "Parametri per elemento Contatto individuale" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:100 +msgid "Position" +msgstr "Posizione" + +#: administrator/components/com_contact/contact_items.xml +msgid "Post/Zip Code" +msgstr "C.A.P." + +#: administrator/components/com_contact/contact_items.xml +msgid "Print Icon" +msgstr "Icona stampa" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Description Text below" +msgstr "Mostra/nascondi la descrizione sottostante" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Drop Down select list in Contact view" +msgstr "Mostra/nascondi il menu a tendina nella vista contatti" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Vcard" +msgstr "Mostra/nascondi la Vcard" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the checkbox to email a copy to the senders address" +msgstr "" +"Mostra/nascondi la scelta se inviare o meno una copia, via email, " +"all'indirizzo del mittente" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the country info" +msgstr "Mostra/nascondi la Nazione" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"Show/Hide the email info, if you set to show the address will be protected " +"from spambots by javascript cloaking" +msgstr "" +"Mostra/nascondi l'email. Se si sceglie di mostrare l'indirizzo, questo sarà " +"protetto dagli spambots con un javascript di codifica" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the email to form" +msgstr "Mostra/nascondi l'email nel modulo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the fax info" +msgstr "Mostra/nascondi il Fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the image" +msgstr "Mostra/nascondi l'immagine" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "Mostra/nascondi il bottone Stampa - avrà effetto solo in questa pagina" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the misc info" +msgstr "Mostra/nascondi le info varie" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the name info" +msgstr "Mostra/nascondi il Nome" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the position info" +msgstr "Mostra/nascondi la Posizione" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the post code info" +msgstr "Mostra/nascondi il Codice Postale" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the state info" +msgstr "Mostra/nascondi la Provincia" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the street address info" +msgstr "Mostra/nascondi l'Indirizzo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the suburb info" +msgstr "Mostra/nascondi la Città/Località" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the telephone info" +msgstr "Mostra/nascondi il Telefono" + +#: administrator/components/com_contact/contact_items.xml +msgid "Street Address" +msgstr "Indirizzo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone" +msgstr "Telefono" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone Icon" +msgstr "Icona telefono" + +#: administrator/components/com_contact/contact_items.xml +msgid "Text" +msgstr "Testo" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"The Description text for the Email form, if left blank it will use the " +"_EMAIL_DESCRIPTION language definition" +msgstr "" +"Il testo descrittivo per il modulo da inviare, se lasciato vuoto, si " +"utilizzerà la definizione della variabile _EMAIL_DESCRIPTION, nella lingua " +"attualmente in uso" + +#: administrator/components/com_contact/contact_items.xml +msgid "Town/Suburb" +msgstr "Città/Località" + +#: administrator/components/com_contact/contact_items.xml +msgid "Use Icons, text or nothing next to the contact information displayed" +msgstr "" +"Visualizza un'icona, del testo oppure nulla a fianco dei campi, nella pagina " +"contatti" + +#: administrator/components/com_contact/contact_items.xml +msgid "Vcard" +msgstr "Vcard" + +#: components/com_contact/contact.class.php:129 +msgid "Mambo vCard for %s" +msgstr "Mambo vCard per %s" + +#: components/com_contact/contact.html.php:118 +msgid "Phone" +msgstr "Telefono" + +#: components/com_contact/contact.html.php:263 +#: components/com_contact/contact.php:345 +msgid "Please make sure the form is complete and valid." +msgstr "Prego assicurarsi che il modulo sia completo ed esatto." + +#: components/com_contact/contact.html.php:390 +msgid "Select Contact:" +msgstr "Seleziona contatto:" + +#: components/com_contact/contact.html.php:634 +msgid "Download information as a" +msgstr "Scarica informazione come" + +#: components/com_contact/contact.html.php:636 +msgid "VCard" +msgstr "VCard" + +#: components/com_contact/contact.html.php:657 +msgid "Enter your name:" +msgstr "Inserisci il tuo nome:" + +#: components/com_contact/contact.html.php:661 +msgid "E-mail address:" +msgstr "Indirizzo e-mail:" + +#: components/com_contact/contact.html.php:665 +msgid "Message subject:" +msgstr "Soggetto del messaggio:" + +#: components/com_contact/contact.html.php:669 +msgid "Enter your message:" +msgstr "Testo del messaggio:" + +#: components/com_contact/contact.html.php:677 +msgid "Email a copy of this message to your own address" +msgstr "Invia una copia di questo messaggio, al tuo indirizo email" + +#: components/com_contact/contact.html.php:681 +msgid "Send" +msgstr "Invia" + +#: components/com_contact/contact.html.php:698 +msgid "There are no Contact Details listed." +msgstr "Non ci sono contatti elencati." + +#: components/com_contact/contact.php:111 +msgid "The Contact list for this Website." +msgstr "La lista Contatti di questo sito." + +#: components/com_contact/contact.php:233 +msgid "Send an Email to this Contact:" +msgstr "Invia una email a questo Contatto:" + +#: components/com_contact/contact.php:280 +msgid "Address: " +msgstr "Indirizzo:" + +#: components/com_contact/contact.php:281 +msgid "Email: " +msgstr "Email:" + +#: components/com_contact/contact.php:282 +msgid "Telephone: " +msgstr "Telefono:" + +#: components/com_contact/contact.php:283 +msgid "Fax: " +msgstr "Fax:" + +#: components/com_contact/contact.php:284 +msgid "Information: " +msgstr "Informazione:" + +#: components/com_contact/contact.php:337 +msgid "Enquiry" +msgstr "Richiesta" + +#: components/com_contact/contact.php:348 +msgid "This is an enquiry e-mail via %s from:" +msgstr "Questa è una richiesta via email da %s da parte di:" + +#: components/com_contact/contact.php:354 +msgid "The following is a copy of the message you sent to %s via %s " +msgstr "La seguente è la copia del messaggio che hai spedito a %s da %s" + +#: components/com_contact/contact.php:356 +msgid "Copy of: %s" +msgstr "Copia di: %s" + +#: components/com_contact/contact.php:361 +msgid "Thank you for your e-mail" +msgstr "Grazie per la tua e-mail" + +#: administrator/components/com_content/admin.content.html.php:37 +#: administrator/components/com_content/admin.content.html.php:41 +msgid "Content Items Manager" +msgstr "Gestore articoli di contenuto" + +#: administrator/components/com_content/admin.content.html.php:37 +msgid "Section: All" +msgstr "Sezioni: Tutte" + +#: administrator/components/com_content/admin.content.html.php:81 +#: administrator/components/com_content/admin.content.html.php:350 +msgid "Title" +msgstr "Titolo" + +#: administrator/components/com_content/admin.content.html.php:87 +msgid "Front Page" +msgstr "Pagina principale" + +#: administrator/components/com_content/admin.content.html.php:102 +msgid "ID" +msgstr "ID" + +#: administrator/components/com_content/admin.content.html.php:117 +#: administrator/components/com_content/admin.content.html.php:362 +#: components/com_content/content.html.php:220 +msgid "Author" +msgstr "Autore" + +#: administrator/components/com_content/admin.content.html.php:120 +#: administrator/components/com_content/admin.content.html.php:365 +#: components/com_content/content.html.php:206 +msgid "Date" +msgstr "Data" + +#: administrator/components/com_content/admin.content.html.php:142 +msgid "Expired" +msgstr "Scaduto" + +#: administrator/components/com_content/admin.content.html.php:150 +msgid "Always" +msgstr "Sempre" + +#: administrator/components/com_content/admin.content.html.php:150 +msgid "Start:" +msgstr "Inizio:" + +#: administrator/components/com_content/admin.content.html.php:157 +#: administrator/components/com_content/admin.content.html.php:159 +msgid "Finish:" +msgstr "Fine:" + +#: administrator/components/com_content/admin.content.html.php:157 +msgid "No Expiry" +msgstr "Senza scadenza" + +#: administrator/components/com_content/admin.content.html.php:196 +msgid "Edit Content" +msgstr "Modifica contenuto" + +#: administrator/components/com_content/admin.content.html.php:207 +msgid "Publish Information" +msgstr "Pubblica informazione" + +#: administrator/components/com_content/admin.content.html.php:289 +msgid "Please make a selection from the list to send to Trash" +msgstr "Prego selezionare un articolo da cestinare" + +#: administrator/components/com_content/admin.content.html.php:290 +msgid "" +"Are you sure you want to Trash the selected items? \\nThis will not " +"permanently delete the items." +msgstr "" +"Si è sicuri di voler cestinare l'articolo selezionato? \\n Questa " +"operazione non cancellerà permanentemente l'articolo." + +#: administrator/components/com_content/admin.content.html.php:521 +#: components/com_content/content.html.php:908 +msgid "Content item must have a title" +msgstr "L'articolo di contenuto deve avere un titolo" + +#: administrator/components/com_content/admin.content.html.php:523 +msgid "You must select a Section." +msgstr "Si deve selezionare una Sezione" + +#: administrator/components/com_content/admin.content.html.php:525 +#: administrator/components/com_content/admin.content.html.php:527 +msgid "You must select a Category." +msgstr "Si deve selezionare una Categoria" + +#: administrator/components/com_content/admin.content.html.php:579 +msgid "Content Item:" +msgstr "Articolo di contenuto:" + +#: administrator/components/com_content/admin.content.html.php:618 +msgid "Item Details" +msgstr "Dettagli articolo" + +#: administrator/components/com_content/admin.content.html.php:623 +#: components/com_content/content.html.php:986 +msgid "Title:" +msgstr "Titolo:" + +#: administrator/components/com_content/admin.content.html.php:637 +msgid "Title Alias:" +msgstr "Titolo Alias:" + +#: administrator/components/com_content/admin.content.html.php:655 +msgid "Intro Text:" +msgstr "Introduzione:" + +#: administrator/components/com_content/admin.content.html.php:655 +msgid "required" +msgstr "richiesto" + +#: administrator/components/com_content/admin.content.html.php:663 +msgid "Main Text:" +msgstr "testo esteso:" + +#: administrator/components/com_content/admin.content.html.php:663 +msgid "optional" +msgstr "opzionale" + +#: administrator/components/com_content/admin.content.html.php:682 +#: components/com_content/content.html.php:1141 +msgid "Publishing" +msgstr "Pubblicazione" + +#: administrator/components/com_content/admin.content.html.php:692 +msgid "Show on Frontpage:" +msgstr "Mostra nella pagina principale:" + +#: administrator/components/com_content/admin.content.html.php:715 +#: components/com_content/content.html.php:1167 +msgid "Author Alias:" +msgstr "Alias Autore:" + +#: administrator/components/com_content/admin.content.html.php:723 +msgid "Change Creator:" +msgstr "Cambia creatore:" + +#: administrator/components/com_content/admin.content.html.php:735 +msgid "Override Created Date" +msgstr "Cambia data creazione" + +#: administrator/components/com_content/admin.content.html.php:744 +#: components/com_content/content.html.php:1183 +msgid "Start Publishing:" +msgstr "Inizio pubblicazione:" + +#: administrator/components/com_content/admin.content.html.php:753 +#: components/com_content/content.html.php:1192 +msgid "Finish Publishing:" +msgstr "Scadenza pubblicazione:" + +#: administrator/components/com_content/admin.content.html.php:768 +msgid "Content ID:" +msgstr "ID Contenuto:" + +#: administrator/components/com_content/admin.content.html.php:779 +#: components/com_content/content.html.php:1149 +msgid "State:" +msgstr "Stato:" + +#: administrator/components/com_content/admin.content.html.php:782 +msgid "Archived" +msgstr "Archiviato" + +#: administrator/components/com_content/admin.content.html.php:782 +msgid "Draft Unpublished" +msgstr "Bozza non pubblicata" + +#: administrator/components/com_content/admin.content.html.php:794 +msgid "Reset Hit Count" +msgstr "Azzera contatore visite" + +#: administrator/components/com_content/admin.content.html.php:801 +msgid "Revised" +msgstr "Revisionato" + +#: administrator/components/com_content/admin.content.html.php:805 +msgid "times" +msgstr "volte" + +#: administrator/components/com_content/admin.content.html.php:815 +#: administrator/components/com_content/admin.content.html.php:825 +msgid "By" +msgstr "Da" + +#: administrator/components/com_content/admin.content.html.php:821 +msgid "Last Modified" +msgstr "Ultima modifica" + +#: administrator/components/com_content/admin.content.html.php:836 +msgid "MOSImage Control" +msgstr "Controllo MOSImage" + +#: administrator/components/com_content/admin.content.html.php:840 +msgid "Sub-folder:" +msgstr "Sotto-cartella:" + +#: administrator/components/com_content/admin.content.html.php:844 +msgid "Gallery Images:" +msgstr "Gallerua immagini:" + +#: administrator/components/com_content/admin.content.html.php:854 +#: components/com_content/content.html.php:962 +msgid "Add" +msgstr "Aggiungi" + +#: administrator/components/com_content/admin.content.html.php:859 +msgid "Content Images:" +msgstr "Immagini contenuto:" + +#: administrator/components/com_content/admin.content.html.php:869 +msgid "up" +msgstr "su" + +#: administrator/components/com_content/admin.content.html.php:870 +msgid "down" +msgstr "giù" + +#: administrator/components/com_content/admin.content.html.php:871 +msgid "remove" +msgstr "rimuovi" + +#: administrator/components/com_content/admin.content.html.php:876 +msgid "Edit the image selected:" +msgstr "Modifica l'immagine selezionata:" + +#: administrator/components/com_content/admin.content.html.php:880 +#: components/com_content/content.html.php:1091 +msgid "Source:" +msgstr "Sorgente:" + +#: administrator/components/com_content/admin.content.html.php:888 +msgid "Image Align:" +msgstr "Allinea immagine:" + +#: administrator/components/com_content/admin.content.html.php:896 +#: components/com_content/content.html.php:1107 +msgid "Alt Text:" +msgstr "Testo Alt:" + +#: administrator/components/com_content/admin.content.html.php:904 +#: components/com_content/content.html.php:1115 +msgid "Border:" +msgstr "Bordo:" + +#: administrator/components/com_content/admin.content.html.php:912 +msgid "Caption:" +msgstr "Didascalìa:" + +#: administrator/components/com_content/admin.content.html.php:920 +msgid "Caption Position:" +msgstr "Posizione didascalìa:" + +#: administrator/components/com_content/admin.content.html.php:928 +msgid "Caption Align:" +msgstr "Allinea disascalìa:" + +#: administrator/components/com_content/admin.content.html.php:936 +msgid "Width:" +msgstr "Larghezza:" + +#: administrator/components/com_content/admin.content.html.php:958 +msgid "Parameter Control" +msgstr "Controllo parametri" + +#: administrator/components/com_content/admin.content.html.php:963 +msgid "" +"These Parameters only control what you see when you click to view an item " +"fully" +msgstr "" +"Questi parametri controllano solamente cosa si vede quando si clicca per " +"vedere l'articolo completo." + +#: administrator/components/com_content/admin.content.html.php:975 +msgid "Meta Info" +msgstr "Meta Info" + +#: administrator/components/com_content/admin.content.html.php:980 +msgid "Meta Data" +msgstr "Meta data" + +#: administrator/components/com_content/admin.content.html.php:992 +#: components/com_content/content.html.php:1223 +msgid "Keywords:" +msgstr "Parola chiave:" + +#: administrator/components/com_content/admin.content.html.php:999 +msgid "Add Sect/Cat/Title" +msgstr "Aggiungi Sez/Cat/Titolo" + +#: administrator/components/com_content/admin.content.html.php:1015 +msgid "This will create a 'Link - Content Item' in the menu you select" +msgstr "" +"Questo creerà un \"Collegamento ad articolo di contenuto\" nel menu " +"selezionato" + +#: administrator/components/com_content/admin.content.html.php:1118 +msgid "Please select something" +msgstr "Prego selezionare qualcosa" + +#: administrator/components/com_content/admin.content.html.php:1130 +msgid "Move Items" +msgstr "Sposata articolo" + +#: administrator/components/com_content/admin.content.html.php:1139 +msgid "Move to Section/Category:" +msgstr "Sposta alla Sezione/Categoria:" + +#: administrator/components/com_content/admin.content.html.php:1145 +msgid "Items being Moved:" +msgstr "Articoli che stanno per essere spostati:" + +#: administrator/components/com_content/admin.content.html.php:1188 +msgid "Please select a Section/Category to copy the items to" +msgstr "Prego selezionare una Sezione/Categoria dove copiare gli articoli" + +#: administrator/components/com_content/admin.content.html.php:1199 +msgid "Copy Content Items" +msgstr "Copia articolo di contenuto" + +#: administrator/components/com_content/admin.content.html.php:1208 +msgid "Copy to Section/Category:" +msgstr "Copia nella Sezione/Categoria:" + +#: administrator/components/com_content/admin.content.html.php:1214 +msgid "Items being copied:" +msgstr "Articoli che stanno per essere copiati:" + +#: administrator/components/com_content/admin.content.php:242 +#: administrator/components/com_content/admin.content.php:351 +msgid "- All Authors -" +msgstr "- Tutti gli Autori -" + +#: administrator/components/com_content/admin.content.php:382 +msgid "You cannot edit an archived item" +msgstr "Non si può modificare un articolo archiviato" + +#: administrator/components/com_content/admin.content.php:407 +msgid "The module %s is currently being edited by another administrator" +msgstr "" +"Il Modulo %s è attualmente in corso di modifica da parte di un altro " +"amministratore" + +#: administrator/components/com_content/admin.content.php:423 +#: administrator/components/com_content/admin.content.php:455 +#: administrator/components/com_content/admin.content.php:594 +msgid "Never" +msgstr "Mai" + +#: administrator/components/com_content/admin.content.php:470 +msgid "Select Section" +msgstr "Seleziona Sezione" + +#: administrator/components/com_content/admin.content.php:483 +#: administrator/components/com_content/admin.content.php:499 +#: administrator/components/com_content/admin.content.php:507 +msgid "Select Category" +msgstr "Seleziona categoria" + +#: administrator/components/com_content/admin.content.php:549 +msgid "Bottom" +msgstr "In basso" + +#: administrator/components/com_content/admin.content.php:550 +msgid "Top" +msgstr "In alto" + +#: administrator/components/com_content/admin.content.php:677 +msgid "Successfully Saved changes to Item: " +msgstr "Le modifiche all'articolo sono state salvate" + +#: administrator/components/com_content/admin.content.php:682 +msgid "Successfully Saved Item: " +msgstr "Articolo salvato correttamente" + +#: administrator/components/com_content/admin.content.php:701 +msgid "archive" +msgstr "archivio" + +#: administrator/components/com_content/admin.content.php:723 +msgid "%d Item successfully Archived" +msgstr "%d articolo è stato archiviato" + +#: administrator/components/com_content/admin.content.php:725 +msgid "%d Item successfully Published" +msgstr "%d articolo è stato pubblicato" + +#: administrator/components/com_content/admin.content.php:727 +msgid "%d Item successfully Unpublished" +msgstr "%d articolo non più pubblicato" + +#: administrator/components/com_content/admin.content.php:753 +msgid "Select an item to toggle" +msgstr "Selezionare un articolo al quale cambiare lo stato" + +#: administrator/components/com_content/admin.content.php:788 +msgid "Select an item to delete" +msgstr "Selezionare un articolo da cancellare" + +#: administrator/components/com_content/admin.content.php:805 +msgid "%d Item sent to the Trash" +msgstr "%d articolo cestinato" + +#: administrator/components/com_content/admin.content.php:886 +#: administrator/components/com_content/admin.content.php:990 +msgid "An error has occurred" +msgstr "Si è verificato un errore" + +#: administrator/components/com_content/admin.content.php:935 +msgid "%d Item successfully moved to Section: %s, Category: %s" +msgstr "%d l'articolo è stato spostato alla Sezione: %s, Categoria: %s" + +#: administrator/components/com_content/admin.content.php:1062 +msgid "%d Item successfully copied to Section: %s, Category: %s" +msgstr "%d l'articolo è stato copiato nella Sezione: %s, Categoria: %s" + +#: administrator/components/com_content/admin.content.php:1079 +msgid "Successfully Reset Hit count" +msgstr "Il contatore delle visite è stato azzerato" + +#: administrator/components/com_content/admin.content.php:1145 +msgid "%s (Link - Static Content) in menu: %s successfully created" +msgstr "%s (collegamento - contenuto statico) nel menu: %s è stato creato" + +#: administrator/components/com_content/content.xml +msgid "A text key that an item may be referenced by (like a help reference)" +msgstr "" +"Un testo chiave con il quale un articolo può essere referenziato (come un " +"aiuto di riferimento)" + +#: administrator/components/com_content/content.xml +msgid "Author Names" +msgstr "Nomi Autori" + +#: administrator/components/com_content/content.xml +msgid "Category Name Linkable" +msgstr "Nome categoria collegabile" + +#: administrator/components/com_content/content.xml +msgid "Content Page" +msgstr "Pagina di contenuto" + +#: administrator/components/com_content/content.xml +msgid "Created Date and Time" +msgstr "Data ed Ora create" + +#: administrator/components/com_content/content.xml +#: components/com_content/content.html.php:1015 +msgid "Intro Text" +msgstr "Introduzione" + +#: administrator/components/com_content/content.xml +msgid "Item Rating" +msgstr "Valutazione articolo" + +#: administrator/components/com_content/content.xml +msgid "Key Reference" +msgstr "Riferimento chiave" + +#: administrator/components/com_content/content.xml +msgid "Linked Titles" +msgstr "Titoli collegati" + +#: administrator/components/com_content/content.xml +msgid "Make the Category text a link to the actual Category page" +msgstr "" +"Trasforma il testo Categoria, un collegamento all'attuale pagina di categoria" + +#: administrator/components/com_content/content.xml +msgid "Make the Section text a link to the actual section page" +msgstr "" +"Trasforma il testo Sezione, un collegamento all'attuale pagina di sezione" + +#: administrator/components/com_content/content.xml +msgid "Make your Item titles linkable" +msgstr "Rendi collegabile il titolo dell'articolo" + +#: administrator/components/com_content/content.xml +msgid "Modified Date and Time" +msgstr "Data ed Ora modificate" + +#: administrator/components/com_content/content.xml +msgid "PDF Icon" +msgstr "Icona PDF" + +#: administrator/components/com_content/content.xml +msgid "Section Name" +msgstr "Nome Sezione" + +#: administrator/components/com_content/content.xml +msgid "Section Name Linkable" +msgstr "Nome Sezione collegabile" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the Category the item belongs to" +msgstr "Mostra/Nascondi la categoria alla quale l'articolo appartiene" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the Section the item belongs to" +msgstr "Mostra/Nascondi la sezione alla quale l'articolo appartiene" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the intro text" +msgstr "Mostra/Nascondi l'Introduzione" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item author - only affects this page" +msgstr "" +"Mostra/Nascondi l'Autore dell'articolo - ha effetto solo in questa pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item creation date - only affects this page" +msgstr "" +"Mostra/Nascondi la data di creazione dell'articolo - ha effetto solo in " +"questa pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item email button - only affects this page" +msgstr "" +"Mostra/Nascondi il bottone Email dell'articolo - ha effetto solo in questa " +"pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item modification date - only affects this page" +msgstr "" +"Mostra/Nascondi la data di modifica dell'articolo - ha effetto solo in " +"questa pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item pdf button - only affects this page" +msgstr "" +"Mostra/Nascondi il bottone PDF dell'articolo - ha effetto solo in questa " +"pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item rating - only affects this page" +msgstr "" +"Mostra/Nascondi la valutazione dell'articolo - ha effetto solo in questa " +"pagina" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the items title" +msgstr "Mostra/Nascondi il titolo dell'articolo" + +#: administrator/components/com_content/content.xml +msgid "This shows a single content page" +msgstr "Questo mostra una singola pagina di contenuto" + +#: components/com_content/content.html.php:70 +msgid "This Category is currently empty" +msgstr "Questa categoria è vuota" + +#: components/com_content/content.html.php:118 +msgid "%d item" +msgstr "%d articolo" + +#: components/com_content/content.html.php:134 +msgid "Registered Users Only" +msgstr "Solo Utenti registrati" + +#: components/com_content/content.html.php:164 +msgid "Filter" +msgstr "Filtro" + +#: components/com_content/content.html.php:186 +msgid "Display #" +msgstr "Mostra #" + +#: components/com_content/content.html.php:213 +msgid "Item Title" +msgstr "Titolo articolo" + +#: components/com_content/content.html.php:270 +#: components/com_content/content.html.php:420 +msgid "Register to read more..." +msgstr "Registrati per leggere il resto..." + +#: components/com_content/content.html.php:350 +msgid "More..." +msgstr "Continua..." + +#: components/com_content/content.html.php:415 +msgid "Read more..." +msgstr "Leggi tutto..." + +#: components/com_content/content.html.php:610 +#: components/com_content/content.html.php:612 +#: components/com_content/content.html.php:616 +msgid "PDF" +msgstr "PDF" + +#: components/com_content/content.html.php:635 +#: components/com_content/content.html.php:637 +#: components/com_content/content.html.php:641 +msgid "E-mail" +msgstr "E-mail" + +#: components/com_content/content.html.php:912 +msgid "Please select a category" +msgstr "Prego selezionare una categoria" + +#: components/com_content/content.html.php:914 +#: components/com_content/content.html.php:923 +msgid "Content item must have intro text" +msgstr "Il contenuto deve avere almeno l'Introduzione" + +#: components/com_content/content.html.php:939 +msgid "Please either Cancel or Save the current change" +msgstr "Prego Salvare o Cancellare le modifiche effettuate" + +#: components/com_content/content.html.php:948 +msgid "Expiry Date:" +msgstr "Data scadenza:" + +#: components/com_content/content.html.php:950 +msgid "Version:" +msgstr "Versione:" + +#: components/com_content/content.html.php:952 +msgid "Created:" +msgstr "Creato:" + +#: components/com_content/content.html.php:954 +msgid "Last Modified:" +msgstr "Ultima modifica:" + +#: components/com_content/content.html.php:964 +msgid "Item Information" +msgstr "Informazione articolo" + +#: components/com_content/content.html.php:965 +msgid "Info" +msgstr "Info" + +#: components/com_content/content.html.php:1015 +#: components/com_content/content.html.php:1021 +msgid "Required" +msgstr "Richiesto" + +#: components/com_content/content.html.php:1021 +#: components/com_content/content.html.php:1039 +msgid "Main Text" +msgstr "Testo principale" + +#: components/com_content/content.html.php:1039 +msgid "Optional" +msgstr "Opzionale" + +#: components/com_content/content.html.php:1061 +msgid "Sub-folder" +msgstr "Sotto-cartella" + +#: components/com_content/content.html.php:1066 +msgid "Gallery Images" +msgstr "Galleria immagini" + +#: components/com_content/content.html.php:1069 +msgid "Content Images" +msgstr "Immagini di contenuto" + +#: components/com_content/content.html.php:1072 +msgid "Edit Image" +msgstr "Modifica immagine" + +#: components/com_content/content.html.php:1078 +msgid "Insert" +msgstr "Inserisci" + +#: components/com_content/content.html.php:1083 +msgid "Up" +msgstr "Su" + +#: components/com_content/content.html.php:1084 +msgid "Down" +msgstr "Giù" + +#: components/com_content/content.html.php:1085 +msgid "Remove" +msgstr "Rimuovi" + +#: components/com_content/content.html.php:1099 +msgid "Align:" +msgstr "Allinea:" + +#: components/com_content/content.html.php:1132 +#: components/com_content/content.html.php:1135 +msgid "No Image" +msgstr "Nessuna immagine" + +#: components/com_content/content.html.php:1201 +msgid "Show on Front Page:" +msgstr "Mostra nella Pagina Principale:" + +#: components/com_content/content.html.php:1260 +#: components/com_content/content.php:1444 +msgid "" +"You must enter valid e-mail addresses for both yourself and your recipient." +msgstr "" +"Si deve inserire un indirizzo e-mail valido sia per il mittente che per il " +"destinatario." + +#: components/com_content/content.html.php:1274 +msgid "E-mail this to a friend." +msgstr "Invia per e-mail ad un amico." + +#: components/com_content/content.html.php:1282 +msgid "Your friend's E-mail:" +msgstr "L'email del tuo amico:" + +#: components/com_content/content.html.php:1290 +msgid "Your Name:" +msgstr "Il tuo nome:" + +#: components/com_content/content.html.php:1298 +msgid "Your E-mail:" +msgstr "La tua email:" + +#: components/com_content/content.html.php:1317 +msgid "Send e-mail" +msgstr "Invia e-mail" + +#: components/com_content/content.html.php:1338 +msgid "This item has been sent to %s" +msgstr "Questo articolo è stato spedito a %s" + +#: components/com_content/content.php:432 +msgid "Date Asc" +msgstr "Data asc" + +#: components/com_content/content.php:433 +msgid "Date Desc" +msgstr "Data disc" + +#: components/com_content/content.php:437 +msgid "Title Asc" +msgstr "Titolo asc" + +#: components/com_content/content.php:438 +msgid "Title Desc" +msgstr "Titolo disc" + +#: components/com_content/content.php:442 +msgid "Hits Asc" +msgstr "Visite asc" + +#: components/com_content/content.php:443 +msgid "Hits Desc" +msgstr "Visite disc" + +#: components/com_content/content.php:447 +msgid "Author Asc" +msgstr "Autore asc" + +#: components/com_content/content.php:448 +msgid "Author Desc" +msgstr "Autore disc" + +#: components/com_content/content.php:451 +msgid "Ordering" +msgstr "Ordinamento" + +#: components/com_content/content.php:642 +#: components/com_content/content.php:722 +msgid "There are currently no Archived Entries for this Category" +msgstr "Attualmente non ci sono articoli archiviati per questa categoria" + +#: components/com_content/content.php:820 +msgid "Here are the Archived entries for %s %s" +msgstr "Ci sono articoli archiviati per %s %s" + +#: components/com_content/content.php:954 +msgid "There are no Archived entries for %s %s" +msgstr "Non ci sono articoli archiviati per %s %s" + +#: components/com_content/content.php:958 +msgid "There are no items to display" +msgstr "Non ci sono articoli da mostrare" + +#: components/com_content/content.php:1161 +msgid "The module [ %s ] is currently being edited by another person." +msgstr "" +"Il modulo [%s] è attualmente in corso di modifca da parte di un altro " +"amministratore." + +#: components/com_content/content.php:1368 +msgid "" +"A new content item has been submitted by [ %s ] titled [ %s ] from section " +"[ %s ] and category [ %s ]" +msgstr "" +"Un nuovo articolo di contenuto è stato inserito da [ %s ] intitolato [ %s ] " +"nella sezione [ %s ] e categoria [ %s ]" + +#: components/com_content/content.php:1368 +msgid "New Item" +msgstr "Nuovo articolo" + +#: components/com_content/content.php:1373 +msgid "Item saved successfully." +msgstr "Articolo salvato correttamente." + +#: components/com_content/content.php:1373 +msgid "" +"Thanks for your submission; it will be reviewed before being posted to the " +"site." +msgstr "" +"Grazie per il tuo contributo, sarà visionato prima di essere inserito sul " +"sito." + +#: components/com_content/content.php:1435 +msgid "Item sent by %s" +msgstr "Articolo inviato da %s" + +#: components/com_content/content.php:1455 +msgid "" +" The following page from the \"%s\" website has been sent to you by %s ( %" +"s ).\n" +"\n" +"You can access it at the following url:\n" +"%s" +msgstr "" +"Ti sono state spedite le seguenti pagine dal sito \"%s\" da %s ( %s ).\n" +"\n" + +#: components/com_content/content.php:1506 +msgid "You already voted for this poll today!" +msgstr "Hai già votato per questo sondaggio, oggi!" + +#: components/com_content/content.php:1509 +msgid "Thanks for your vote!" +msgstr "Grazie per il tuo voto" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_banners.php:73 +msgid "Advertisement" +msgstr "Pubblicità" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:40 +msgid "Hi, %s" +msgstr "Ciao, %s" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:65 +msgid "username" +msgstr "nome utente" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:69 +msgid "password" +msgstr "password" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:71 +msgid "Remember Me" +msgstr "Memorizza" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:72 +msgid "Remember me" +msgstr "Memorizza" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:81 +msgid "Password Reminder" +msgstr "Password dimenticata?" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:90 +msgid "No account yet?" +msgstr "Non sei utente?" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:92 +msgid "Create one" +msgstr "Registrati ora" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_search.php:15 +msgid "Search" +msgstr "Cerca" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_search.php:17 +msgid "search..." +msgstr "cerca..." + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:25 +msgid "Time" +msgstr "Tempo" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:26 +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:28 +msgid "Disabled" +msgstr "Disabilitato" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:26 +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:28 +msgid "Enabled" +msgstr "Abilitato" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:35 +msgid "Members" +msgstr "Membri" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:39 +msgid "News" +msgstr "Novità" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:43 +msgid "WebLinks" +msgstr "WebLinks" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:57 +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:59 +msgid "Visitors" +msgstr "Visitatori" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_templatechooser.php:75 +msgid "Select" +msgstr "Seleziona" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:28 +msgid "We have %d guest online" +msgid_plural "We have %d guests online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:32 +msgid "We have %d member online" +msgid_plural "We have %d members online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:36 +msgid "We have %d guest online and " +msgid_plural "We have %d guests online and " +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:37 +msgid " %d member online" +msgid_plural " %d members online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:54 +msgid "No Users Online" +msgstr "Nessun utente online" + +#: administrator/components/com_frontpage/admin.frontpage.php:189 +msgid "Select an item to %a" +msgstr "seleziona un articolo da %a" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Intro" +msgstr "# Intro" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Leading" +msgstr "# Intestazione" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Links" +msgstr "# Collegamenti" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Author Alphabetical" +msgstr "Autore in ordine alfabetico" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Author Reverse-Alphabetical" +msgstr "Autore in ordine alfabetico inverso" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Auto" +msgstr "Auto" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Category Order" +msgstr "Ordine categoria" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Columns" +msgstr "Colonne" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Display {mosimages}." +msgstr "Mostra {mosimage}." + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Frontpage Ordering" +msgstr "Ordinamento pagina principale" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Item Titles" +msgstr "Titoli articoli" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Least Hits" +msgstr "Visite minime" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "MOSImages" +msgstr "MOSImages" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Most Hits" +msgstr "Più visitati" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Most recent first" +msgstr "I più recenti prima" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "No, order by Primary Order only" +msgstr "No, ordinati solo per ordine primario" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Number of Items to display as Links." +msgstr "Numero di articoli da mostrare come collegamenti" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"Number of Items to display as a leading (full width) item. 0 will mean that " +"no items will be displayed as leading." +msgstr "" +"Numero di articoli da mostrare come principali (a piena larghezza). 0 " +"significa che nessun articolo sarà mostrato come prioritario." + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Number of Items to display with the introduction text shown." +msgstr "Numero di articoli da mostrare con l'intestazione." + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Oldest first" +msgstr "I più vecchi, prima" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Order items by catgeory" +msgstr "Ordina articoli per categoria" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Order that the items will be displayed in." +msgstr "Ordine con il quale saranno visualizzati gli articoli." + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Pagination" +msgstr "Paginazione" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Pagination Results" +msgstr "Risultati paginazione" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Primary Order" +msgstr "Ordine primario" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Read More" +msgstr "Leggi tutto" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide Pagination Results info ( e.g 1-4 of 4 )" +msgstr "Mostra/nascondi risultati paginazione (ad es. 1-4 di 4)" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide Pagination support" +msgstr "Mostra/nascondi supporto paginazione" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the Page title" +msgstr "Mostra/nascondi il titolo della pagina" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the Read More link" +msgstr "Mostra/nascondi il collegamento Leggi tutto" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Text to display at the top of the page" +msgstr "Testo da mostrare in cima alla pagina" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"This component shows all the published content items from your site marked " +"Show on Frontpage." +msgstr "" +"Questo componente mostra tutti i contenuti pubblicati nel sito, marcati con " +"Mostra nella Pagina Principale" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Title Alphabetical" +msgstr "Titolo, ordine alfabetico" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Title Reverse-Alphabetical" +msgstr "Titolo, ordine alfabetico inverso" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "When displaying the intro text, how many columns to use per row" +msgstr "" +"Quando si mostrano i testi introduttivi, quante colonne bisogna usare per " +"riga?" + +#: administrator/components/com_installer/admin.installer.html.php:35 +#: administrator/components/com_installer/admin.installer.php:149 +msgid "Please select a directory" +msgstr "Prego selezionare una cartella" + +#: administrator/components/com_installer/admin.installer.html.php:56 +msgid "Upload Package File" +msgstr "Caricare il file compresso" + +#: administrator/components/com_installer/admin.installer.html.php:61 +msgid "Package File:" +msgstr "File compresso:" + +#: administrator/components/com_installer/admin.installer.html.php:63 +msgid "Upload File & Install" +msgstr "Carica file ed installa" + +#: administrator/components/com_installer/admin.installer.html.php:79 +msgid "Install from directory" +msgstr "Installa dalla cartella" + +#: administrator/components/com_installer/admin.installer.html.php:84 +msgid "Install directory:" +msgstr "Cartella installazione" + +#: administrator/components/com_installer/admin.installer.html.php:148 +msgid "Continue ..." +msgstr "Continua..." + +#: administrator/components/com_installer/admin.installer.php:160 +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Error" +msgstr "Errore" + +#: administrator/components/com_installer/admin.installer.php:160 +msgid "Install new " +msgstr "Installa nuovo" + +#: administrator/components/com_installer/admin.installer.php:160 +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Success" +msgstr "Successo" + +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Uninstall " +msgstr "Disinstalla" + +#: administrator/components/com_installer/admin.installer.php:198 +msgid "Failed to change the permissions of the uploaded file." +msgstr "Il tentativo di cambiare i permessi del file caricato è fallito." + +#: administrator/components/com_installer/admin.installer.php:201 +msgid "Failed to move uploaded file to /media directory." +msgstr "" +"Il tentativo di spostare il file caricato in /media è fallito." + +#: administrator/components/com_installer/admin.installer.php:204 +msgid "Upload failed as /media directory is not writable." +msgstr "" +"Caricamento fallito in quanto la cartella /media non è " +"scrivibile." + +#: administrator/components/com_installer/admin.installer.php:207 +msgid "Upload failed as /media directory does not exist." +msgstr "" +"Caricamento fallito in quanto la cartella /media non esiste." + +#: administrator/components/com_installer/admin.installer.php:223 +#: administrator/components/com_installer/admin.installer.php:298 +#: administrator/components/com_installer/admin.installer.php:303 +#: administrator/components/com_installer/admin.installer.php:308 +#: administrator/components/com_installer/admin.installer.php:365 +msgid "Uninstall - error" +msgstr "Errore nella disinstallazione" + +#: administrator/components/com_installer/admin.installer.php:228 +msgid "Is core component - may not be deleted" +msgstr "" +"E' un componente del codice principale e in quanto tale non può essere " +"disinstallato" + +#: administrator/components/com_installer/admin.installer.php:229 +msgid "" +"Component %s is a core component, and can not be uninstalled.
      You need " +"to unpublish it if you don't want to use it" +msgstr "" +"Il componente %s è un componente del codice principale e in quanto tale non " +"può essere disinstallato.
      Se non lo si vuole usare, si deve toglierne " +"la pubblicazione" + +#: administrator/components/com_installer/admin.installer.php:268 +msgid "" +"%s is a core module, and can not be uninstalled.
      You need to unpublish " +"it if you don't want to use it" +msgstr "" +"%s è un modulo del codice principale e in quanto tale non può essere " +"disinstallato.
      Se non lo si vuole usare, si deve toglierne la " +"pubblicazione" + +#: administrator/components/com_installer/admin.installer.php:303 +msgid "Invalid object id" +msgstr "ID dell'oggetto non valido" + +#: administrator/components/com_installer/admin.installer.php:308 +msgid "Folder field empty, cannot remove files" +msgstr "Campo cartella vuoto, non è possibile rimuovere i files" + +#: administrator/components/com_installer/admin.installer.php:365 +msgid "Language id empty, cannot remove files" +msgstr "ID del linguaggio vuoto, non è possibile rimuovere i files" + +#: administrator/components/com_installer/component/component.html.php:30 +msgid "Installed Components" +msgstr "Componenti installati" + +#: administrator/components/com_installer/component/component.html.php:38 +msgid "Currently Installed" +msgstr "Attualmente installati" + +#: administrator/components/com_installer/component/component.html.php:41 +msgid "Component Menu Link" +msgstr "Collegamento al menu del componente" + +#: administrator/components/com_installer/component/component.html.php:47 +#: administrator/components/com_installer/mambot/mambot.html.php:60 +#: administrator/components/com_installer/module/module.html.php:56 +msgid "Version" +msgstr "Versione" + +#: administrator/components/com_installer/component/component.html.php:53 +#: administrator/components/com_installer/mambot/mambot.html.php:66 +#: administrator/components/com_installer/module/module.html.php:62 +msgid "Author Email" +msgstr "Email Autore" + +#: administrator/components/com_installer/component/component.html.php:56 +#: administrator/components/com_installer/mambot/mambot.html.php:69 +#: administrator/components/com_installer/module/module.html.php:65 +msgid "Author URL" +msgstr "URL Autore" + +#: administrator/components/com_installer/component/component.html.php:96 +msgid "There are no custom components installed" +msgstr "Non ci sono componenti personalizzati installati" + +#: administrator/components/com_installer/component/component.php:21 +msgid "Install new Component" +msgstr "Instala nuovo componente" + +#: administrator/components/com_installer/installer.class.php:57 +msgid "XML error in %s: no handler %s" +msgstr "Errore XML in %s: non c'è il gestore %s" + +#: administrator/components/com_installer/installer.class.php:59 +msgid "XML error in %s: mosinstall has no type" +msgstr "Errore XML in %s: mosinstall non ha il tipo" + +#: administrator/components/com_installer/installer.class.php:64 +msgid "XML Error in %s: install has no name" +msgstr "Errore XML in %s: install non ha il nome" + +#: administrator/components/com_installer/installer.class.php:89 +msgid "XML error in %s: MENU found, but this is not component XML" +msgstr "Errore XML in %s: MENU è stato trovato, ma non è un componente XML" + +#: administrator/components/com_installer/installer.class.php:117 +msgid "XML Error in %s: Mambot does not have a group specified" +msgstr "Errore XML in %s: Mambot non ha un gruppo specificato" + +#: administrator/components/com_installer/installer.class.php:142 +msgid "XML error in %s: no installer %s" +msgstr "Errore XML in %s: nessun installatore %s" + +#: administrator/components/com_installer/installer.class.php:188 +msgid "Installer error with %s: unable to create admin directory for %s %s" +msgstr "" +"Errore installatore con %s: impossibile creare cartella amministratore per %" +"s %s" + +#: administrator/components/com_installer/installer.class.php:195 +msgid "Installer error with %s: unable to create user directory for %s %s" +msgstr "" +"Errore installatore con %s: impossibile creare cartella utente per %s %s" + +#: administrator/components/com_installer/installer.class.php:221 +msgid "Installer error with %s: writing component menu SQL error %s" +msgstr "Errore installatore con %s: scrittura componente menu SQL errore %s" + +#: administrator/components/com_installer/installer.class.php:233 +#: administrator/components/com_installer/installer.class.php:279 +#: administrator/components/com_installer/installer.class.php:316 +#: administrator/components/com_installer/installer.class.php:344 +msgid "Installer error with %s: %s %s already installed" +msgstr "Errore installatore con %s: %s %s già installato" + +#: administrator/components/com_installer/installer.class.php:249 +#: administrator/components/com_installer/installer.class.php:301 +#: administrator/components/com_installer/installer.class.php:335 +msgid "Installer error with %s: %s %s SQL error %s" +msgstr "Errore installatore con %s: %s %s SQL errore %s" + +#: administrator/components/com_installer/installer.class.php:270 +#: administrator/components/com_installer/installer.class.php:308 +msgid "Installer error with %s: no file identified as the %s" +msgstr "Errore installatore con %s: nessun file identificato come %s" + +#: administrator/components/com_installer/installer.class.php:430 +msgid "Uninstaller error with %s: no uninstaller %s" +msgstr "Errore disinstallatore con %s: nessun disinstallatore %s" + +#: administrator/components/com_installer/installer.class.php:493 +msgid "Uninstaller error with %s: %s %s SQL error %s" +msgstr "Errore disinstallatore con %s: %s %s SQL errore %s" + +#: administrator/components/com_installer/installer.class.php:503 +#: administrator/components/com_installer/installer.class.php:525 +#: administrator/components/com_installer/installer.class.php:544 +msgid "Uninstaller error with %s: %s %s not fully deleted from database" +msgstr "" +"Errore disinstallatore con %s: %s %s non interamente cancellato dal database" + +#: administrator/components/com_installer/installer.class.php:516 +msgid "Uninstaller error with %s: no file identified as the %s" +msgstr "Errore disinstallatore con %s: nessun file identificato come %s" + +#: administrator/components/com_installer/installer.class.php:621 +msgid "Installer unrecoverable ZIP error %s in %s" +msgstr "Installatore: errore ZIP non recuperabile %s in %s" + +#: administrator/components/com_installer/installer.class.php:630 +msgid "Installer unrecoverable TAR error in %s" +msgstr "Installatore: errore TAR non recuperabile in %s" + +#: administrator/components/com_installer/language/language.php:19 +msgid "Back to Language Manager" +msgstr "Torna al gestore linguaggio" + +#: administrator/components/com_installer/language/language.php:20 +msgid "Install new Language - Site" +msgstr "Installa nuovo linguaggio - Sito" + +#: administrator/components/com_installer/mambot/mambot.html.php:29 +msgid "Installed Mambots" +msgstr "Mambots installati" + +#: administrator/components/com_installer/mambot/mambot.html.php:34 +msgid "" +"Only those Mambots that can be uninstalled are displayed - some Core Mambots " +"cannot be removed." +msgstr "" +"Sono elencati solo i Mambots che possono essere disinstallati - qualche " +"Mambot necessario al codice principale non può essere rimosso." + +#: administrator/components/com_installer/mambot/mambot.html.php:45 +msgid "Mambot" +msgstr "Mambot" + +#: administrator/components/com_installer/mambot/mambot.html.php:124 +msgid "There are no non-core, custom mambots installed." +msgstr "Non ci sono Mambots personalizzati installati." + +#: administrator/components/com_installer/mambot/mambot.php:21 +msgid "Install new Mambots" +msgstr "Installa nuovo mambot" + +#: administrator/components/com_installer/module/module.html.php:27 +msgid "Installed Modules" +msgstr "Moduli installati" + +#: administrator/components/com_installer/module/module.html.php:38 +msgid "" +"Only those Modules that can be uninstalled are displayed - some Core Modules " +"cannot be removed." +msgstr "" +"Sono elencati solo i Moduli che possono essere disinstallati - qualche " +"Modulo necessario al codice principale non può essere rimosso." + +#: administrator/components/com_installer/module/module.html.php:47 +msgid "Module File" +msgstr "Modulo file" + +#: administrator/components/com_installer/module/module.html.php:50 +msgid "Client" +msgstr "Clente" + +#: administrator/components/com_installer/module/module.html.php:77 +#: administrator/components/com_installer/template/template.php:24 +msgid "Administrator" +msgstr "Amministratore" + +#: administrator/components/com_installer/module/module.html.php:101 +msgid "No custom modules installed" +msgstr "Nessun modulo personalizzato installato" + +#: administrator/components/com_installer/module/module.php:21 +msgid "Install new Modules" +msgstr "Installa nuovo modulo" + +#: administrator/components/com_installer/module/module.php:42 +msgid "Admin Modules" +msgstr "Moduli amministrazione" + +#: administrator/components/com_installer/template/template.php:24 +msgid "Install new Template" +msgstr "Installa nuovo template" + +#: administrator/components/com_installer/template/template.php:26 +msgid "Back to Templates" +msgstr "Torna ai templates" + +#: administrator/components/com_installer/toolbar.installer.html.php:25 +msgid "Uninstall" +msgstr "Disinstalla" + +#: administrator/components/com_languages/actions/publish.action.php:25 +msgid "Configuration succesfully updated!" +msgstr "Configurazione aggiornata!" + +#: administrator/components/com_languages/actions/publish.action.php:27 +msgid "Error! Make sure that configuration.php is writeable." +msgstr "Errore! Ci si assicuri che configuration.php sia scrivibile." + +#: administrator/components/com_languages/toolbar.languages.php:44 +msgid "Extract" +msgstr "Estrai" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:9 +msgid "Compile Catalog?" +msgstr "Compilare catalogo?" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:10 +msgid "yes" +msgstr "si" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:11 +msgid "no" +msgstr "no" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:22 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:35 +msgid "MsgId" +msgstr "MsgId" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:24 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:37 +msgid "MsgId Plural" +msgstr "MsgId plurale" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:25 +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:54 +msgid "MsgStr" +msgstr "MsgStr" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:27 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:41 +msgid "Plural form" +msgstr "Forma plurale" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:43 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:58 +msgid "Fuzzy Entry" +msgstr "Inserimento dubbio" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Catalog dump" +msgstr "Dump catalogo" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Comments" +msgstr "Commenti" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Headers" +msgstr "Intestazioni" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Strings" +msgstr "Stringhe" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:11 +msgid "PHPGettext Example" +msgstr "PHPGettext esempio" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:21 +msgid "PHPGettext" +msgstr "PHPGettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:22 +msgid "Gettext for PHP" +msgstr "Gettext per PHP" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:25 +msgid "Current language is:" +msgstr "Il linguaggio corrente è:" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:34 +msgid "Change language" +msgstr "Cambia lingua" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:41 +msgid "Gettext is enabled!" +msgstr "Gettext è abilitato!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:43 +msgid "Gettext is disabled!" +msgstr "Gettext è disabilitato!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:55 +msgid "Disable Gettext" +msgstr "Disabilita Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:56 +msgid "Enable Gettext" +msgstr "Abilita Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:57 +msgid "Extract Strings" +msgstr "Estrai stringhe" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:58 +msgid "Run Unit Tests" +msgstr "Esegui unità di tests" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:59 +msgid "Clear Tests" +msgstr "Cancella tests" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:10 +msgid "Create Translation for:" +msgstr "Crea traduzione per:" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:20 +msgid "Delete This Template" +msgstr "Cancella questo template" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Login Image" +msgstr "Allineamento per immagine di login" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Logout Image" +msgstr "Allineamento per immagine di Logout" + +#: administrator/components/com_login/login.xml +msgid "Image for the Login Page" +msgstr "Immagine della pagina di Login" + +#: administrator/components/com_login/login.xml +msgid "Image for the Logout Page" +msgstr "Immagine della pagina di Logout" + +#: administrator/components/com_login/login.xml +msgid "Login Description" +msgstr "Descrizione del Login" + +#: administrator/components/com_login/login.xml +msgid "Login Description Text" +msgstr "Testo del Login" + +#: administrator/components/com_login/login.xml +msgid "Login Image" +msgstr "Immagine di Login" + +#: administrator/components/com_login/login.xml +msgid "Login Image Align" +msgstr "Allineamento dell'Immagine di Login" + +#: administrator/components/com_login/login.xml +msgid "Login JS Message" +msgstr "Messaggio JavaScript per il Login" + +#: administrator/components/com_login/login.xml +msgid "Login Page Title" +msgstr "Titolo della Pagina di Login" + +#: administrator/components/com_login/login.xml +msgid "Login Redirection URL" +msgstr "URL della redirezione dopo il Login" + +#: administrator/components/com_login/login.xml +msgid "Logout Description" +msgstr "Descrizione del Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Description Text" +msgstr "Testo del Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Image" +msgstr "Immagine di Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Image Align" +msgstr "Allineamento dell'Immagine di Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout JS Message" +msgstr "Messaggio JavaScript dopo il Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Page Title" +msgstr "Titolo della Pagina di Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Redirection URL" +msgstr "URL della redirezione dopo il Logout" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Login Description below" +msgstr "Visualizza o nasconde la descrizione inferiore del Login" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Logout Description below" +msgstr "Visualizza o nasconde la descrizione inferiore del Logout" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Login Success" +msgstr "Attiva o Disattiva la finestrella pop-up che conferma l'avvenuto Login" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Logout Success" +msgstr "" +"Attiva o Disattiva la finestrella pop-up che conferma l'avvenuto Logout" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the login Page, if left blank _LOGIN_DESCRIPTION will be " +"used" +msgstr "" +"Testo che verrà visualizzato nella pagina di Login. Se viene lasciato vuoto, " +"apparirà _LOGIN_DESCRIPTION" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the logout Page, if left blank _LOGOUT_DESCRIPTION will " +"be used" +msgstr "" +"Testo che verrà visualizzato nella pagina di Logout. Se viene lasciato " +"vuoto, apparirà _LOGOUT_DESCRIPTION" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will be redirected to after logout, if let blank will load front " +"page" +msgstr "" +"Pagina alla quale si verrà rediretti dopo il Logout. Se lasciata vuota, si " +"verrà inviati alla home page." + +#: administrator/components/com_login/login.xml +msgid "" +"What page will the login redirect to after login, if let blank will load " +"front page" +msgstr "" +"Pagina alla quale si verrà rediretti dopo il Login. Se lasciata vuota, si " +"verrà inviati alla home page." + +#: components/com_login/login.html.php:109 +msgid "!Warning! Javascript must be enabled for proper operation." +msgstr "" +"Attenzione! Per eseguire correttamente questa operazione devi avere " +"JavaScript abilitato sul tuo browser." + +#: components/com_login/login.php:38 +msgid "To access the Private areas of this site please Login" +msgstr "Devi eseguire il Login per accedere alle aree riservate di questo sito" + +#: components/com_login/login.php:39 +msgid "You are now Logged in to a private area of this site" +msgstr "Sei entrato nell'area riservata del sito" + +#: administrator/components/com_mambots/admin.mambots.html.php:34 +msgid "Mambot Manager" +msgstr "Gestione Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:55 +msgid "Mambot Name" +msgstr "Nome del Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:76 +msgid "File" +msgstr "File" + +#: administrator/components/com_mambots/admin.mambots.html.php:179 +msgid "Mambot must have a name" +msgstr "Il mambot deve avere un nome" + +#: administrator/components/com_mambots/admin.mambots.html.php:181 +msgid "Mambot must have a filename" +msgstr "Il file relativo al mambot deve avere un nome" + +#: administrator/components/com_mambots/admin.mambots.html.php:190 +msgid "Site Mambot:" +msgstr "Mambot del Sito:" + +#: administrator/components/com_mambots/admin.mambots.html.php:206 +msgid "Mambot Details" +msgstr "Dettagli del Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:219 +msgid "Folder:" +msgstr "Cartella:" + +#: administrator/components/com_mambots/admin.mambots.html.php:227 +msgid "Mambot file:" +msgstr "File del Mambot:" + +#: administrator/components/com_mambots/admin.mambots.html.php:235 +msgid "Mambot Order:" +msgstr "Ordinamento Mambot:" + +#: administrator/components/com_mambots/admin.mambots.html.php:285 +msgid "No Parameters" +msgstr "Nessun Parametro" + +#: administrator/components/com_mambots/admin.mambots.php:137 +msgid "- All Types -" +msgstr "- Tutti i Tipi -" + +#: administrator/components/com_mambots/admin.mambots.php:184 +msgid "Successfully Saved changes to Mambot: %s" +msgstr "I cambiamenti al mambot %s sono stati eseguiti correttamente" + +#: administrator/components/com_mambots/admin.mambots.php:189 +msgid "Successfully Saved Mambot: %s" +msgstr "Il mambot %s è stato memorizzato correttamente" + +#: administrator/components/com_mambots/admin.mambots.php:247 +msgid "This mambot cannot be reordered" +msgstr "Questo mambot non può essere soggetto a riordinamento" + +#: administrator/components/com_mambots/admin.mambots.php:290 +msgid "Select a module to delete" +msgstr "Seleziona un modulo da cancellare" + +#: administrator/components/com_mambots/admin.mambots.php:307 +msgid "Select a mambot to %s" +msgstr "Seleziona un mambot per %s" + +#: administrator/components/com_massmail/admin.massmail.html.php:30 +msgid "Please fill in the subject" +msgstr "Per favore, assicurati di scrivere il soggetto" + +#: administrator/components/com_massmail/admin.massmail.html.php:32 +msgid "Please select a group" +msgstr "Seleziona un gruppo" + +#: administrator/components/com_massmail/admin.massmail.html.php:34 +msgid "Please fill in the message" +msgstr "Per favore, assicurati di scrivere il Messaggio" + +#: administrator/components/com_massmail/admin.massmail.html.php:45 +#: administrator/components/com_massmail/massmail.xml +msgid "Mass Mail" +msgstr "Invio Mail agli Utenti" + +#: administrator/components/com_massmail/admin.massmail.html.php:66 +msgid "Mail to Child Groups:" +msgstr "Invia anche ai sottoGruppi:" + +#: administrator/components/com_massmail/admin.massmail.html.php:74 +msgid "Send in HTML mode:" +msgstr "Invia in modalità HTML:" + +#: administrator/components/com_massmail/admin.massmail.html.php:82 +msgid "Subject" +msgstr "Soggetto:" + +#: administrator/components/com_massmail/admin.massmail.html.php:90 +msgid "Message:" +msgstr "Messaggio:" + +#: administrator/components/com_massmail/admin.massmail.php:39 +msgid "- All User Groups -" +msgstr "- Tutti i Gruppi di Utenti -" + +#: administrator/components/com_massmail/admin.massmail.php:69 +msgid "Please fill in the form correctly" +msgstr "" +"Per favore, assicurati di completare correttamente tutte le parti del modulo" + +#: administrator/components/com_massmail/admin.massmail.php:92 +msgid "" +"This is an email from '%s'\n" +"\n" +"Message:\n" +msgstr "" +"Hai ricevuto un messaggio da '%s'\n" +"\n" +"Messaggio:\n" + +#: administrator/components/com_massmail/admin.massmail.php:105 +msgid "E-mail sent to %d user." +msgid_plural "E-mail sent to %d users." +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_massmail/massmail.xml +msgid "This component allows you to send a mass email to certain user groups" +msgstr "" +"Questo componente consente di spedire una mail contemporaneamente ad uno o " +"più gruppi di utenti" + +#: administrator/components/com_massmail/toolbar.massmail.html.php:24 +msgid "Send Mail" +msgstr "Invia la Mail" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:53 +msgid "Menu Name" +msgstr "Nome del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:56 +msgid "Menu Items" +msgstr "Elementi del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:59 +msgid "# Published" +msgstr "n. di Pubblicati" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:62 +msgid "# Unpublished" +msgstr "n. di Non pubblicati" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:65 +msgid "# Trash" +msgstr "n. di Cestinati" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:68 +msgid "# Modules" +msgstr "n. di Moduli" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:94 +msgid "Edit Menu Name" +msgstr "Modifica il Nome del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:99 +msgid "Edit Menu Items" +msgstr "Modifica gli Elementi del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:156 +msgid "Please enter a menu name" +msgstr "Devi assegnare un nome al menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:164 +msgid "Please enter a module name for your menu" +msgstr "Assegna un nome al modulo da associare al menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:182 +msgid "Menu Details" +msgstr "Dettagli Menu:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:190 +msgid "Menu Name:" +msgstr "Nome del Menu:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:195 +msgid "" +"This is the identification name used by mambo to identify this menu within " +"the code - it must be unique. It is recommended that you do not have any " +"spaces in your Menu Name" +msgstr "" +"Questo è il nome di identificazione usato da Mambo per identificare questo " +"menu nel codice - deve essere univoco. Si raccomanda di non inserire spazi " +"nel nome del Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:210 +msgid "Title of the mod_mainmenu module required to show this Menu" +msgstr "" +"Per visualizzare questo menu, il modulo mod_mainmenu deve avere un titolo" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:216 +msgid "" +"A new mod_mainmenu module, with the Title you have entered above will " +"automatically be created when you save this menu." +msgstr "" +"Un nuovo modulo mod_mainmenu, con il Titolo che si è inserito sopra, sarà " +"creato automaticamente non appena salvato il menu." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:218 +msgid "" +"Parameters for the module created are to be edited through the \"Modules " +"Manager [site]\": Modules -> Site Modules" +msgstr "" +"I parametri per il modulo creato, saranno modificabili attraverso la " +"\"Gestione moduli [site]\": Moduli -> Moduli del sito" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:266 +msgid "Delete Menu: %s" +msgstr "Cancella menu: %s" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:279 +msgid "Module(s) being Deleted:" +msgstr "Moduli che stanno per essere cancellati:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:301 +msgid "Menu Items being Deleted:" +msgstr "Elementi di menu che stanno per essere cancellati:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:319 +msgid "" +"This will Delete this " +"Menu,
      ALL its Menu Items and the Module(s) associated with it" +msgstr "" +"Questa operazione cancellerà questo menu,
      TUTTI i suoi elementi ed i moduli associati" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:322 +msgid "" +"Are you sure you want to Delete this menu? \\nThis will Delete the Menu, its " +"Items and the Module(s)." +msgstr "" +"Si è sicuri di voler cancellare questo menu? \\n Questa operazione " +"cancellerà il menu, i suoi elementi ed i moduli associati." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:354 +msgid "Please enter a name for the copy of the Menu" +msgstr "Prego inserire un nome per la copia del menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:357 +msgid "Please enter a name for the new Module" +msgstr "Prego inserire un nome per il uovo Modulo" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:371 +msgid "Copy Menu" +msgstr "Copia menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:381 +msgid "New Menu Name:" +msgstr "Nuovo nome del modulo:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:385 +msgid "New Module Name:" +msgstr "Nuovo nome del modulo:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:392 +msgid "Menu being copied:" +msgstr "Menu che sta per essere copiato:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:402 +msgid "Menu Items being copied:" +msgstr "Elemento del menu che sta per essere copiato:" + +#: administrator/components/com_menumanager/admin.menumanager.php:207 +msgid "" +"You cannot rename the \"mainmenu\" Menu as this will disrupt the proper " +"operation of Mambo" +msgstr "" +"Non puoi rinominare il menu \"mainmenu\", perché distruggerebbe alcune " +"operazioni peculiari di Mambo" + +#: administrator/components/com_menumanager/admin.menumanager.php:223 +msgid "" +"A menu already exists with that name - you must enter a unique Menu Name" +msgstr "" +"Un menu con questo nome esiste già - si deve inserire un nome menu univoco" + +#: administrator/components/com_menumanager/admin.menumanager.php:258 +msgid "New Menu created [ %s ]" +msgstr "Creat il nuovo menu [ %s ]" + +#: administrator/components/com_menumanager/admin.menumanager.php:312 +msgid "Menu Items & Modules updated" +msgstr "Il menu Articoli & Moduli è stato aggiornato" + +#: administrator/components/com_menumanager/admin.menumanager.php:326 +#: administrator/components/com_menumanager/admin.menumanager.php:376 +msgid "You cannot delete the \"mainmenu\" menu as it is a core menu" +msgstr "" +"Non puoi cancellare il menu \"mainmenu\", perché è un elemento del codice " +"principale" + +#: administrator/components/com_menumanager/admin.menumanager.php:467 +msgid "" +"A menu with that name already exists - you must enter a unique Menu Name" +msgstr "" +"Un menu con questo nome esiste già - si deve inserire un nome menu univoco" + +#: administrator/components/com_menumanager/admin.menumanager.php:527 +msgid "Copy of Menu `%s` created, consisting of %d item" +msgid_plural "Copy of Menu `%s` created, consisting of %d items" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_menumanager/menumanager.xml +msgid "This component manages your Menus." +msgstr "Questo componente gestisce i menu." + +#: administrator/components/com_messages/admin.messages.html.php:24 +msgid "Private Messaging" +msgstr "Messaggi Privati" + +#: administrator/components/com_messages/admin.messages.html.php:36 +msgid "From" +msgstr "Da" + +#: administrator/components/com_messages/admin.messages.html.php:39 +#: administrator/components/com_messages/admin.messages.html.php:55 +msgid "Read" +msgstr "Letti" + +#: administrator/components/com_messages/admin.messages.html.php:57 +msgid "Unread" +msgstr "Non letti" + +#: administrator/components/com_messages/admin.messages.html.php:77 +msgid "Private Messaging Configuration" +msgstr "Configurazione dei Messaggi Privati" + +#: administrator/components/com_messages/admin.messages.html.php:82 +msgid "General" +msgstr "Generale" + +#: administrator/components/com_messages/admin.messages.html.php:89 +msgid "Are you sure?" +msgstr "Sei sicuro?" + +#: administrator/components/com_messages/admin.messages.html.php:101 +msgid "Lock Inbox:" +msgstr "Blocca i Messaggi in Entrata" + +#: administrator/components/com_messages/admin.messages.html.php:105 +msgid "Mail me on new Message:" +msgstr "Inviami i nuovi messaggi per e-mail" + +#: administrator/components/com_messages/admin.messages.html.php:123 +msgid "View Private Message" +msgstr "Visualizza i Messaggi Privati" + +#: administrator/components/com_messages/admin.messages.html.php:130 +msgid "From:" +msgstr "Da:" + +#: administrator/components/com_messages/admin.messages.html.php:134 +msgid "Posted:" +msgstr "Inviato il:" + +#: administrator/components/com_messages/admin.messages.html.php:138 +#: administrator/components/com_messages/admin.messages.html.php:193 +msgid "Subject:" +msgstr "Soggetto:" + +#: administrator/components/com_messages/admin.messages.html.php:169 +msgid "You must provide a subject." +msgstr "Devi scrivere un soggetto." + +#: administrator/components/com_messages/admin.messages.html.php:171 +msgid "You must provide a message." +msgstr "Devi scrivere un messaggio." + +#: administrator/components/com_messages/admin.messages.html.php:173 +msgid "You must select a recipient." +msgstr "Devi selezionare un destinatario." + +#: administrator/components/com_messages/admin.messages.html.php:182 +msgid "New Private Message" +msgstr "Nuovo Messaggio Privato." + +#: administrator/components/com_messages/admin.messages.html.php:189 +msgid "To:" +msgstr "A:" + +#: administrator/components/com_messages/toolbar.messages.html.php:21 +msgid "Reply" +msgstr "Rispondi" + +#: components/com_messages/messages.class.php:76 +#: components/com_messages/messages.class.php:77 +msgid "A new private message has arrived" +msgstr "Hai ricevuto un nuovo messaggio" + +#: components/com_messages/messages.class.php:84 +msgid "The user has locked their mailbox. Message failed." +msgstr "" +"L'utente ha bloccato i messaggi in arrivo. Il tuo messaggio non è stato " +"consegnato." + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "" +"

      Admin component for the MOStlyCE Editor mambot.

      Please refer to the " +"changelog and other information in the 'Admin Info' tab in the Admin " +"component. 

      " +msgstr "" +"

      Componente di Amministrazione per il mambot Editor MOStlyCE.

      Prego " +"di fare riferimento al changelog e alle altre informazioni nel tab 'Admin " +"Info? nel componente Admin.

      " + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "mostlyce" +msgstr "mostlyce" + +#: administrator/components/com_modules/admin.modules.html.php:34 +msgid "Module Manager" +msgstr "Modulo Manager" + +#: administrator/components/com_modules/admin.modules.html.php:60 +msgid "Module Name" +msgstr "Nome Modulo" + +#: administrator/components/com_modules/admin.modules.html.php:87 +msgid "Pages" +msgstr "Pagine" + +#: administrator/components/com_modules/admin.modules.html.php:156 +msgid "Varies" +msgstr "Varie" + +#: administrator/components/com_modules/admin.modules.html.php:166 +msgid "User" +msgstr "Utente" + +#: administrator/components/com_modules/admin.modules.html.php:213 +msgid "Module must have a title" +msgstr "Il Modulo deve avere un titolo" + +#: administrator/components/com_modules/admin.modules.html.php:239 +msgid "Module:" +msgstr "Modulo:" + +#: administrator/components/com_modules/admin.modules.html.php:270 +msgid "Show title:" +msgstr "Mostra il titolo:" + +#: administrator/components/com_modules/admin.modules.html.php:278 +msgid "Position:" +msgstr "Posizione:" + +#: administrator/components/com_modules/admin.modules.html.php:286 +msgid "Module Order:" +msgstr "Ordinamento Moduli:" + +#: administrator/components/com_modules/admin.modules.html.php:318 +msgid "ID:" +msgstr "ID:" + +#: administrator/components/com_modules/admin.modules.html.php:351 +msgid "Pages / Items" +msgstr "Pagine / Oggetti" + +#: administrator/components/com_modules/admin.modules.html.php:356 +msgid "Menu Item Link(s):" +msgstr "Link(s) all'oggetto Menu" + +#: administrator/components/com_modules/admin.modules.html.php:372 +msgid "Custom Output" +msgstr "Output personalizzata" + +#: administrator/components/com_modules/admin.modules.html.php:377 +msgid "Content:" +msgstr "Contenuto:" + +#: administrator/components/com_modules/admin.modules.php:149 +msgid "- All Positions -" +msgstr "- Tutte le Posizioni -" + +#: administrator/components/com_modules/admin.modules.php:211 +msgid "Module Copied [%s]" +msgstr "Modulo copiato [%s]" + +#: administrator/components/com_modules/admin.modules.php:268 +msgid "Successfully Saved changes to Module: %s" +msgstr "I cambiamenti al modulo: %s sono stati salvati" + +#: administrator/components/com_modules/admin.modules.php:274 +msgid "Successfully Saved Module: %s" +msgstr "Il modulo: %s è stato salvato" + +#: administrator/components/com_modules/admin.modules.php:377 +#: administrator/components/com_modules/admin.modules.php:378 +#: administrator/components/com_modules/admin.modules.php:381 +#: administrator/components/com_modules/admin.modules.php:382 +msgid "N/A" +msgstr "N/A" + +#: administrator/components/com_modules/admin.modules.php:440 +msgid "" +"You cannot delete mod_mainmenu module that displays the \"mainmenu\" as it " +"is a core Menu" +msgstr "" +"Non è possibile cancellare il mod_mainmenu che mostra il \"mainmenu\" perché " +"è un menu del codice principale" + +#: administrator/components/com_modules/admin.modules.php:466 +msgid "" +"Module(s): \"%s\" cannot be deleted they can only be un-installed as they " +"are Mambo modules." +msgstr "" +"I moduli: \"%s\" non possono essere cancellati ma solo disinstallati perché " +"fanno parte del codice principale di Mambo." + +#: administrator/components/com_modules/admin.modules.php:482 +msgid "Select a module to %s" +msgstr "Selezionare un modulo da %s" + +#: administrator/components/com_modules/toolbar.modules.html.php:41 +msgid "You can only preview typed modules." +msgstr "" +"Si possono vedere in anteprima solo i moduli di contenuto testo digitato." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:29 +msgid "Newsfeed Manager" +msgstr "Amministrazione delle Newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:46 +msgid "News Feed" +msgstr "News Feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:58 +#: components/com_newsfeeds/newsfeeds.html.php:107 +msgid "# Articles" +msgstr "n. Articoli" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:61 +msgid "Cache time" +msgstr "Tempo di Cache" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:95 +msgid "Edit Newsfeed" +msgstr "Modifica newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:154 +msgid "Please fill in the newsfeed name." +msgstr "Prego, inserisci il nome delle newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:158 +msgid "Please fill in the newsfeed link." +msgstr "Prego, inserisci il collegamento delle newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:160 +msgid "Please select a category." +msgstr "Prego seleziona una categoria." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:162 +msgid "Please fill in the number of articles to display." +msgstr "Prego, inserisci il numero di articoli da visualizzare." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:164 +msgid "Please fill in the cache refresh time." +msgstr "Prego, inserisci il tempo di refresh della cache." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:175 +msgid "Newsfeed:" +msgstr "Newsfeed:" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:204 +msgid "Link" +msgstr "Collegamento" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:212 +msgid "Number of Articles" +msgstr "Numero di Articoli" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:220 +msgid "Cache time (in seconds)" +msgstr "Tempo di Cache (in secondi)" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Articles Column" +msgstr "n. Articoli per colonna" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Allows you to limit the amount of visible item description text. 0 will show " +"all the text" +msgstr "" +"Permette di limitare la quantità di descrizione visualizzata. 0 mostrerà il " +"testo intero" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description for page" +msgstr "Descrizione della Pagina" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Description" +msgstr "Descrizione del Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Image" +msgstr "Immagine del Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Item Description" +msgstr "Descrizione dell'elemento" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Link Column" +msgstr "Colonna dei Link" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Name Column" +msgstr "Colonna dei Nomi" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Newsfeeds" +msgstr "Newsfeeds" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the # of articles in the feed" +msgstr "Visualizza o Nascondi il numero di articoli nel Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Link column" +msgstr "Visualizza o nascondi la Colonna dei Link nel Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Name column" +msgstr "Visualizza o Nascondi la Colonna dei Nomi nel feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description or intro text of an item" +msgstr "Mostra/Nascondi il testo di introduzione dell'articolo" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description text of the feed" +msgstr "Mostra/Nascondi il testo di descrizione del feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the image of the feed" +msgstr "Mostra/Nascondi le immagini del feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "This component manages RSS/RDF newsfeeds" +msgstr "Questo componente serve a gestire i feed RSS/RDF" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Word Count" +msgstr "Conteggio delle Parole" + +#: components/com_newsfeeds/newsfeeds.html.php:98 +msgid "Feed Name" +msgstr "Nome del Feed" + +#: components/com_newsfeeds/newsfeeds.html.php:116 +msgid "Feed Link" +msgstr "Link del Feed" + +#: administrator/components/com_poll/admin.poll.html.php:28 +msgid "Poll Manager" +msgstr "Amministrazione Sondaggi" + +#: administrator/components/com_poll/admin.poll.html.php:41 +msgid "Poll Title" +msgstr "Titolo sondaggio" + +#: administrator/components/com_poll/admin.poll.html.php:47 +msgid "Options" +msgstr "Opzioni" + +#: administrator/components/com_poll/admin.poll.html.php:50 +msgid "Lag" +msgstr "ritardo" + +#: administrator/components/com_poll/admin.poll.html.php:74 +msgid "Edit Poll" +msgstr "Edita il sondaggio" + +#: administrator/components/com_poll/admin.poll.html.php:118 +msgid "Poll must have a title" +msgstr "Il sondaggio deve avere un titolo" + +#: administrator/components/com_poll/admin.poll.html.php:120 +msgid "Poll must have a non-zero lag time" +msgstr "Il sondaggio deve avere un non-zero tempo di ritardo" + +#: administrator/components/com_poll/admin.poll.html.php:134 +msgid "Poll:" +msgstr "Sondaggio:" + +#: administrator/components/com_poll/admin.poll.html.php:159 +msgid "Show on menu items:" +msgstr "Mostra il menu dell'oggetto" + +#: administrator/components/com_poll/admin.poll.html.php:166 +msgid "Lag:" +msgstr "Ritardo:" + +#: administrator/components/com_poll/admin.poll.html.php:175 +msgid "Options:" +msgstr "Opzioni:" + +#: administrator/components/com_poll/admin.poll.php:106 +msgid "The poll %s is currently being edited by another administrator." +msgstr "Il sondaggio %s è al momento aperto da un'altro amministratore." + +#: administrator/components/com_poll/poll.class.php:44 +msgid "Your Poll must contain a title." +msgstr "Il tuo sondaggio deve avere un titolo." + +#: administrator/components/com_poll/poll.class.php:50 +msgid "Your Poll must have a non-zero lag time." +msgstr "Il tuo sondaggio deve avere un non-zero tempo di ritardo." + +#: administrator/components/com_poll/poll.class.php:59 +msgid "There is a module already with that name, please try again." +msgstr "Esiste già un modulo con lo stesso nome, prego di riprovare." + +#: administrator/components/com_poll/poll.xml +msgid "Poll" +msgstr "Sondaggio" + +#: administrator/components/com_poll/poll.xml +msgid "This component shows Polls/Surveys" +msgstr "Questo componente mostra i Sondaggi" + +#: components/com_poll/poll.html.php:51 +msgid "Select Poll:" +msgstr "Seleziona sondaggio" + +#: components/com_poll/poll.html.php:83 +msgid "There are no results for this poll." +msgstr "Non ci sono risultati per questo sondaggio." + +#: components/com_poll/poll.html.php:193 +msgid "Number of Voters" +msgstr "Numero di votanti" + +#: components/com_poll/poll.html.php:202 +msgid "First Vote" +msgstr "Primo voto" + +#: components/com_poll/poll.html.php:211 +msgid "Last Vote" +msgstr "Ultimo voto" + +#: components/com_poll/poll.php:48 +msgid "Cookies must be enabled!" +msgstr "I coockies devono essere abilitati!" + +#: components/com_poll/poll.php:49 components/com_poll/poll.php:56 +#: components/com_poll/poll.php:65 components/com_poll/poll.php:72 +msgid "Continue" +msgstr "Continua" + +#: components/com_poll/poll.php:71 +msgid "No selection has been made, please try again" +msgstr "Nessuna selezione fatta, per favore prova ancora" + +#: components/com_poll/poll.php:112 components/com_poll/poll.php:154 +msgid "Select Poll from the list" +msgstr "Seleziona un sondaggio dall'elenco" + +#: components/com_registration/registration.html.php:23 +#: components/com_registration/registration.php:40 +msgid "Lost your Password?" +msgstr "Hai perso la Password?" + +#: components/com_registration/registration.html.php:28 +msgid "" +"Please enter your Username and e-mail address then click on the Send " +"Password button.%s You will receive a new password shortly. Use the new " +"password to access the site." +msgstr "" +"Prego, inserisci il tuo Nome Utente e indirizzo e-mail poi clicca sul " +"Pulsante Spedisci. %s Riceverai una nuova password rapidamente. Usa la nuova " +"password per accedere al sito." + +#: components/com_registration/registration.html.php:31 +#: components/com_registration/registration.html.php:94 +msgid "Username:" +msgstr "Nome utente:" + +#: components/com_registration/registration.html.php:35 +msgid "E-mail Address:" +msgstr "Indirizzo E-Mail:" + +#: components/com_registration/registration.html.php:40 +msgid "Send Password" +msgstr "Invia Password" + +#: components/com_registration/registration.html.php:58 +msgid "Please enter your name." +msgstr "Prego inserisci il tuo Nome." + +#: components/com_registration/registration.html.php:60 +#: components/com_registration/registration.html.php:62 +msgid "Please enter a user name." +msgstr "Prego inserisci il tuo nome utente." + +#: components/com_registration/registration.html.php:62 +#: components/com_registration/registration.html.php:72 +msgid "" +"Please enter a valid %s. No spaces, more than %d characters and containing " +"only the characters 0-9,a-z, or A-Z" +msgstr "" +"Prego, inserisci un valido %s. Nessun spazio, più di %d caratteri e solo " +"caratteri 0-9, a-z, o A-Z" + +#: components/com_registration/registration.html.php:64 +msgid "Please enter a valid e-mail address." +msgstr "Prego, inserisci un indirizzo e-mail valido." + +#: components/com_registration/registration.html.php:66 +msgid "" +"Please enter a valid password -- more than 6 characters with no spaces and " +"containing only the characters 0-9, a-z, or A-Z" +msgstr "" +"Prego, inserisci una password valida -- più lunga di 6 caratteri senza spazi " +"e contenente solo caratteri 0-9, a-z, o A-Z" + +#: components/com_registration/registration.html.php:68 +msgid "Please verify the password." +msgstr "Prego, verifica la password." + +#: components/com_registration/registration.html.php:70 +msgid "Password and verification do not match, please try again." +msgstr "La password e la verifica non coincidono, prego di riprovare." + +#: components/com_registration/registration.html.php:72 +#: components/com_registration/registration.html.php:103 +msgid "Password:" +msgstr "Password:" + +#: components/com_registration/registration.html.php:80 +#: components/com_registration/registration.php:109 +msgid "Registration" +msgstr "Registrazione" + +#: components/com_registration/registration.html.php:85 +msgid "Fields marked with an asterisk (*) are required." +msgstr "I campi contrassegnati con l'asterisco (*) sono richiesti." + +#: components/com_registration/registration.html.php:108 +msgid "Verify Password:" +msgstr "Verifica Password:" + +#: components/com_registration/registration.html.php:126 +msgid "Send Registration" +msgstr "Invia Registrazione" + +#: components/com_registration/registration.php:62 +msgid "Sorry, no corresponding user was found" +msgstr "Scusate, ma non è stata trovata alcuna corrispondenza" + +#: components/com_registration/registration.php:74 +msgid "" +"The user account %s has this email associated with it.\n" +"\n" +"A web user from %s has just requested that a new password be sent.\n" +"\n" +"\n" +"Your New Password is: %s\n" +"\n" +"\n" +"If you didn't ask for this, don't worry. You are seeing this message, not " +"them. \n" +"If this was an error just login with your new password and then change your " +"password to what you would like it to be." +msgstr "" +"L'account dell'utente %s ha questo indirizzo email associato.\n" +"\n" +"Un utente web da %s ha appena richiesto che gli fosse spedita una nuova " +"password.\n" +"\n" +"\n" +"La tua nuova password è: %s\n" +"\n" +"\n" +"se non hai effettuato tu la richiesta, non ti preoccupare: solo tu stai " +"vedendo questo messaggio e nessun altro. \n" +"Se questo è un errore, è sufficiente che ti connetta al sito con la nuova " +"password e la cambi con un'altra di tua scelta." + +#: components/com_registration/registration.php:81 +msgid "%s :: New password for - %s" +msgstr "%s :: Nuova Password per - %s" + +#: components/com_registration/registration.php:97 +msgid "New User Password created and sent!" +msgstr "La nuova Password è stata creata e inviata!" + +#: components/com_registration/registration.php:160 +#: components/com_registration/registration.php:208 +msgid "Account details for %s at %s" +msgstr "Dettagli Account di %s a %s" + +#: components/com_registration/registration.php:165 +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s. Your account has been created but, as a " +"precaution, it must be activated by you before you can use it.\n" +"To activate the account click on the following link or copy and paste it in " +"your browser:\n" +"%s\n" +"\n" +"After activation you may login to %s using the following username and " +"password:\n" +"\n" +"Username - %s\n" +"Password - %s" +msgstr "" +"Ciao %s, \n" +"\n" +"Grazie per esserti registrato a %s. Il tuo Account è stato creato ma, per " +"precauzione, lo devi attivare prima di usarlo. \n" +"Per attivare l'account clicca sul seguente link o copia e incolla sul tuo " +"browser:\n" +"\n" +"NomeUtente - %s\n" +"Password - %s" + +#: components/com_registration/registration.php:180 +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s.\n" +"\n" +"You may now login to %s using the username and password you registered with." +msgstr "" +"Ciao %s,\n" +"\n" +"Grazie per esserti registrato a %s.\n" +"\n" +"Ora puoi connetterti al sito %s inserendo i nome Utente e password che hai " +"usato per registrarti." + +#: components/com_registration/registration.php:209 +msgid "" +"Hello %s,\n" +"\n" +"A new user has registered at %s.\n" +"This email contains their details:\n" +"\n" +"Name - %s\n" +"e-mail - %s\n" +"Username - %s\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"Ciao %s,\n" +"\n" +"Un nuovo utente si è registrato a %s.\n" +"\n" +"Nome - %s\n" +"e-mail - %s\n" +"NomeUtente - %s\n" +"\n" +"Prego di non rispondere a questo messaggio in quanto generato " +"automaticamente e a solo scopo informativo" + +#: components/com_registration/registration.php:239 +#: components/com_registration/registration.php:242 +msgid "Registration Complete" +msgstr "Registrazione Completata" + +#: components/com_registration/registration.php:240 +msgid "" +"Your account has been created and an activation link has been sent to the e-" +"mail address you entered. Note that you must activate the account by " +"clicking on the activation link before you can login." +msgstr "" +"Il tuo account è stato creato e un link di attivazione è stato inviato " +"all'indirizzo email che hai inserito. Nota che devi attivare l'account " +"cliccando sul link di attivazione, prima di poterti connettere al sito." + +#: components/com_registration/registration.php:243 +msgid "You may now login." +msgstr "Ora puoi connetteri al sito." + +#: components/com_registration/registration.php:261 +#: components/com_registration/registration.php:282 +msgid "Invalid Activation Link!" +msgstr "Link di attivazione non valido!" + +#: components/com_registration/registration.php:262 +#: components/com_registration/registration.php:283 +msgid "" +"There is no such account in our database or the account has already been " +"activated." +msgstr "" +"Non c'è un utente simile nel nostro archivio oppure il suo account è già " +"stato attivato." + +#: components/com_registration/registration.php:275 +msgid "Activation Complete!" +msgstr "Attivazione completata!" + +#: components/com_registration/registration.php:276 +msgid "" +"Your account has been activated successfully. You can now login using the " +"username and password you chose during registration." +msgstr "" +"Il tuo account è stato attivato correttamente. Ora puoi connetterti al sito " +"usando il nome utente e la password che hai scelto durante la registrazione." + +#: administrator/components/com_search/search.xml +msgid "This component manages the Search functionality." +msgstr "Questo componente amministra le funzionalità di ricerca." + +#: components/com_search/search.html.php:37 +#: components/com_search/search.html.php:67 +msgid "Search Keyword" +msgstr "Cerca Keyword" + +#: components/com_search/search.html.php:98 +msgid "returned %d match" +msgid_plural "returned %d matches" +msgstr[0] "" +msgstr[1] "" + +#: components/com_search/search.php:55 +msgid "Newest first" +msgstr "Prima i più recenti" + +#: components/com_search/search.php:57 +msgid "Most popular" +msgstr "I più popolari" + +#: components/com_search/search.php:58 +msgid "Alphabetical" +msgstr "Alfabetico" + +#: components/com_search/search.php:59 +msgid "Section/Category" +msgstr "Sezione/Categoria" + +#: components/com_search/search.php:69 +msgid "Any words" +msgstr "Qualunque parola" + +#: components/com_search/search.php:74 +msgid "All words" +msgstr "Tutte le parole" + +#: components/com_search/search.php:79 +msgid "Exact phrase" +msgstr "Frase esatta" + +#: components/com_search/search.php:91 +msgid "No results were found" +msgstr "Nessun risultato trovato" + +#: components/com_search/search.php:96 +msgid "One or more common words were ignored in the search" +msgstr "Una o più parole comuni sono state ignorate nella ricerca" + +#: administrator/components/com_sections/admin.sections.html.php:65 +msgid "Section ID" +msgstr "ID Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:68 +msgid "# Categories" +msgstr "# Categorie" + +#: administrator/components/com_sections/admin.sections.html.php:71 +msgid "# Active" +msgstr "# Attive" + +#: administrator/components/com_sections/admin.sections.html.php:175 +msgid "New Section" +msgstr "Nuova Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:203 +msgid "Section must have a name" +msgstr "La Sezione deve avere un nome" + +#: administrator/components/com_sections/admin.sections.html.php:205 +msgid "Section must have a title" +msgstr "La Sezione deve avere un titolo" + +#: administrator/components/com_sections/admin.sections.html.php:281 +msgid "Section Details" +msgstr "Dettagli della Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:286 +msgid "Scope:" +msgstr "Scope:" + +#: administrator/components/com_sections/admin.sections.html.php:401 +msgid "Select Menu Type" +msgstr "Seleziona un Tipo di Menu" + +#: administrator/components/com_sections/admin.sections.html.php:489 +msgid "Copy Section" +msgstr "Copia Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:501 +msgid "The new Section name" +msgstr "Nuovo nome di Sezione" + +#: administrator/components/com_sections/admin.sections.html.php:529 +msgid "" +"This will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the new Section created." +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:189 +msgid "The section %s is currently being edited by another administrator" +msgstr "" +"La sezione %d è attualmente aperta per modifiche da un altro amministratore" + +#: administrator/components/com_sections/admin.sections.php:207 +#: administrator/components/com_sections/admin.sections.php:624 +msgid "Section Table" +msgstr "Tabella di una Sezione" + +#: administrator/components/com_sections/admin.sections.php:215 +#: administrator/components/com_sections/admin.sections.php:634 +msgid "Section Blog Archive" +msgstr "Archivio del Blog di una Sezione" + +#: administrator/components/com_sections/admin.sections.php:232 +msgid "Section Archive Blog" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:306 +msgid "Changes to Section saved" +msgstr "Le modifiche alla Sezione sono state effettuate" + +#: administrator/components/com_sections/admin.sections.php:312 +msgid "Section saved" +msgstr "Sezione salvata" + +#: administrator/components/com_sections/admin.sections.php:327 +msgid "Select a section to delete" +msgstr "Seleziona una Sezione da cancellare" + +#: administrator/components/com_sections/admin.sections.php:365 +msgid "Sections(s): %s cannot be removed as they contain categories" +msgstr "" +"La Sezione (o le sezioni): %s non possono essere cancellate in quanto " +"contengono categorie" + +#: administrator/components/com_sections/admin.sections.php:370 +msgid "Section(s): %s successfully deleted" +msgstr "la Sezione (o le sezioni): %s sono state correttamente cancellate" + +#: administrator/components/com_sections/admin.sections.php:388 +msgid "Select a section to " +msgstr "Seleziona una Sezione da" + +#: administrator/components/com_sections/admin.sections.php:396 +msgid "Cannot Publish an Empty Section" +msgstr "Non si può pubblicare una Sezione vuota" + +#: administrator/components/com_sections/admin.sections.php:585 +msgid "Section %s and all its Categories and Items have been copied as %s" +msgstr "La sezione %s e tutte le sue categorie sono state copiate in %s" + +#: administrator/components/com_statistics/admin.statistics.html.php:35 +msgid "Browser, OS, Domain Statistics" +msgstr "Browser, So, Statistiche Dominio" + +#: administrator/components/com_statistics/admin.statistics.html.php:41 +msgid "Browsers" +msgstr "Browsers" + +#: administrator/components/com_statistics/admin.statistics.html.php:45 +msgid "Browser" +msgstr "Browser" + +#: administrator/components/com_statistics/admin.statistics.html.php:84 +msgid "OS Stats" +msgstr "Statistiche SO" + +#: administrator/components/com_statistics/admin.statistics.html.php:88 +msgid "Operating System" +msgstr "Sistema Operativo" + +#: administrator/components/com_statistics/admin.statistics.html.php:127 +msgid "Domain Stats" +msgstr "Statistiche Dominio" + +#: administrator/components/com_statistics/admin.statistics.html.php:131 +msgid "Domain" +msgstr "Dominio" + +#: administrator/components/com_statistics/admin.statistics.html.php:182 +msgid "Page Impression Statistics" +msgstr "Statistiche Impression per pagina" + +#: administrator/components/com_statistics/admin.statistics.html.php:228 +msgid "Search Engine Text :" +msgstr "Motore di ricerca testo :" + +#: administrator/components/com_statistics/admin.statistics.html.php:229 +msgid "logging is :" +msgstr "connesso :" + +#: administrator/components/com_statistics/admin.statistics.html.php:240 +msgid "Times Requested" +msgstr "Tempo richiesto" + +#: administrator/components/com_statistics/admin.statistics.html.php:241 +msgid "Results Returned" +msgstr "Risultati ritornati" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:28 +msgid "Syndication Settings" +msgstr "Impostazioni syndication" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:51 +msgid "Manage Syndication Settings" +msgstr "Amministra le impostazioni di Syndication" + +#: administrator/components/com_syndicate/admin.syndicate.php:95 +msgid "Settings successfully Saved" +msgstr "Impostazioni salvate" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "ATOM 0.3" +msgstr "ATOM 0.3" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Activate support for Firefox Live Bookmarks functionality" +msgstr "Attiva il supporto per la funzionalità di Live Bookmarks di Firefox" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Alt text for image" +msgstr "Alt text per l'immagine" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Bookmark file" +msgstr "Bookmark file" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache" +msgstr "Cache" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache Time" +msgstr "Tempo di Cache" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache file will refresh every x seconds" +msgstr "Refresh del file della Cache ogni x secondi" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache the feed files" +msgstr "Metti in cache i file del feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image Alt" +msgstr "Alt testo dell'immagine" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image to be included in feed" +msgstr "Immagine da inserire nel feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit Text" +msgstr "Limite del testo" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit the article text to the value indicated below" +msgstr "Il limite del testo dell'articolo è indicato di seguito" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Live Bookmarks" +msgstr "Live Bookmarks" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Number of Items to syndicate" +msgstr "Numero di oggetti da condividere (syndicate)" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Order that the items will be displayed" +msgstr "L'ordine con cui vengono visualizzati" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 0.91" +msgstr "RSS 0.91" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 1.0" +msgstr "RSS 1.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 2.0" +msgstr "RSS 2.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Special file name, if empty the default will be used." +msgstr "" +"Nome di file speciale, se lasciato vuoto sarà usato il nome di default " + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndicate" +msgstr "Syndicate" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Description" +msgstr "Descrizione della condivisione (Syndication)" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Title" +msgstr "Titolo della condivisione (Sindication)" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Text Length" +msgstr "Lunghezza del testo" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "The word length of the article text - 0 will show no text" +msgstr "La lunghezza del testo dell'articolo a 0 significa nessun testo" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "This component controls the Syndication settings" +msgstr "Questo componente amministra le impostazioni della condivisione" + +#: administrator/components/com_trash/admin.trash.html.php:61 +#: administrator/components/com_trash/admin.trash.html.php:65 +msgid "Content Items" +msgstr "Oggetti contenuti" + +#: administrator/components/com_trash/admin.trash.html.php:230 +msgid "Delete Items" +msgstr "Cancella oggetti" + +#: administrator/components/com_trash/admin.trash.html.php:239 +#: administrator/components/com_trash/admin.trash.html.php:304 +msgid "Number of Items:" +msgstr "Numero di oggetti" + +#: administrator/components/com_trash/admin.trash.html.php:245 +msgid "Items being Deleted:" +msgstr "Gli oggetti stanno per essere cancellati:" + +#: administrator/components/com_trash/admin.trash.html.php:256 +msgid "" +"This will Permanently Delete " +"
      these Items from the Database" +msgstr "" +"Gli oggetti stanno per essere cancellati " +"definitivamente
      dal database" + +#: administrator/components/com_trash/admin.trash.html.php:259 +msgid "" +"Are you sure you want to Deleted the listed items? \\nThis will Permanently " +"Delete them from the database." +msgstr "" +"Sei sicuro di voler cancellare gli oggetti nella seguente lista? \\n Questi " +"oggetti saranno cancellati definitivamente dal database." + +#: administrator/components/com_trash/admin.trash.html.php:295 +msgid "Restore Items" +msgstr "Ripristina gli oggetti" + +#: administrator/components/com_trash/admin.trash.html.php:310 +msgid "Items being Restored:" +msgstr "Gli oggetti stanno per essere ripristinati:" + +#: administrator/components/com_trash/admin.trash.html.php:321 +msgid "" +"This will Restore these " +"Items,
      they will be returned to their orignial places as Unpublished " +"items" +msgstr "" +"Gli oggetti stanno per essere ripristinati ,
      nella loro posizione originale" + +#: administrator/components/com_trash/admin.trash.html.php:324 +msgid "Are you sure you want to Restore the listed items?." +msgstr "Sei sicuro di voler Ripristinare gli oggetti della lista?" + +#: administrator/components/com_trash/admin.trash.html.php:325 +#: administrator/components/com_trash/admin.trash.html.php:326 +#: administrator/components/com_trash/toolbar.trash.html.php:21 +msgid "Restore" +msgstr "Ripristina" + +#: administrator/components/com_trash/admin.trash.php:182 +msgid "%s Item successfully Deleted" +msgid_plural "%s Items successfully Deleted" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/admin.trash.php:256 +msgid "%s Item successfully Restored" +msgid_plural "%s Items successfully Restored" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/trash.xml +msgid "This component manages the Trash functionality." +msgstr "Questo componente amministra le funzionalità del cestino." + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:81 +msgid "Links" +msgstr "Links" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:177 +msgid "Edit Static Content" +msgstr "Edita il Contenuto Statico" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:271 +msgid "" +"Are you sure you want to reset the Hits to Zero? \\nAny unsaved changes to " +"this content will be lost." +msgstr "" +"Sei sicuro di voler riportare a Zero gli Hits? \\nOgni cambiamento non " +"salvato sarà perso" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:302 +msgid "Content item must have a name" +msgstr "L'oggetto deve avere un nome" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:353 +msgid "Static Content Item:" +msgstr "Ogetto Contenuto Statico" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:402 +msgid "Text: (required)" +msgstr "Testo: (richiesto)" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:547 +msgid "New document" +msgstr "Nuovo documento" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:555 +msgid "Not modified" +msgstr "Non modificato" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:560 +msgid "Expires" +msgstr "Scade" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:614 +msgid "Source" +msgstr "Sorgente" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:622 +msgid "Align" +msgstr "Alinea" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:630 +msgid "Alt Text" +msgstr "Alt Text" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:638 +msgid "Border" +msgstr "Bordo" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:736 +msgid "This will create a \"Link - Static Content\" in the menu you select" +msgstr "Questo genera un \"Link - Al Contenuto Statico\" nel menu selezionato" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:155 +msgid "Ordering asc" +msgstr "Ordinamento asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:156 +msgid "Ordering desc" +msgstr "Ordinamento decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:157 +msgid "ID asc" +msgstr "ID asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:158 +msgid "ID desc" +msgstr "ID decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:159 +msgid "Title asc" +msgstr "Titolo asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:160 +msgid "Title desc" +msgstr "Titolo decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:161 +msgid "Date asc" +msgstr "Data asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:162 +msgid "Date desc" +msgstr "Data decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:163 +msgid "Author asc" +msgstr "Autore asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:164 +msgid "Author desc" +msgstr "Autore decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:165 +msgid "Published asc" +msgstr "Pubblicazione asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:166 +msgid "Published desc" +msgstr "Pubblicazione decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:167 +msgid "Access asc" +msgstr "Accesso asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:168 +msgid "Access desc" +msgstr "Accesso decr" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:202 +msgid "The module % is currently being edited by another administrator" +msgstr "Il modulo % è attualmente editato da un'altro amministratore" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:356 +msgid "Typed Content Item saved" +msgstr "Modifiche salvate" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:362 +msgid "Changes to Typed Content Item saved" +msgstr "Modifiche dell'oggetto salvate " + +#: administrator/components/com_typedcontent/admin.typedcontent.php:473 +msgid "Successfully Reset Hit" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Typed Content Page" +msgstr "Contenuto della pagina" + +#: components/com_user/user.html.php:22 +msgid "Welcome!" +msgstr "Benvenuto!" + +#: components/com_user/user.html.php:27 +msgid "Welcome to the user section of our site" +msgstr "Benvenuto alla sezione utente del nostro sito" + +#: components/com_user/user.html.php:61 +msgid "Edit Your Details" +msgstr "Inserisci i tuoi dettagli" + +#: components/com_user/user.html.php:69 +msgid "e-mail:" +msgstr "e-mail:" + +#: components/com_user/user.html.php:72 +msgid "User Name:" +msgstr "Neme Utente:" + +#: components/com_user/user.html.php:99 +msgid "Submission Success!" +msgstr "Invio riuscito!" + +#: components/com_user/user.html.php:103 +msgid "" +"Your item has been submitted to the site administrators. It will be reviewed " +"before being published on the site." +msgstr "" +"Il tuo contenuto è stato inviato all'amministratore del sito. Sarà " +"visionato prima di essere pubblicato." + +#: components/com_user/user.php:29 +msgid "Update" +msgstr "Update" + +#: components/com_user/user.php:56 +msgid "You cannot upload files greater than 15kb in size." +msgstr "Non puoi inviare files di dimensioni superiori ai 15 kb." + +#: components/com_user/user.php:59 +msgid "Image %s already exists. Please rename the file and try again." +msgstr "" +"L'immagine %s è già presente. Prego rinominare il file e provare nuovamente." + +#: components/com_user/user.php:65 +msgid "Failed to copy %s" +msgstr "La copia non è riuscita %s" + +#: components/com_user/user.php:87 +msgid "You may only upload a gif or jpg image." +msgstr "Puoi solamente inviare immagini nel formato gif o jpg." + +#: components/com_user/user.php:129 +msgid "Passwords do not match" +msgstr "La password non corrisponde" + +#: components/com_user/user.php:152 +msgid "Your settings have been saved." +msgstr "I tuoi dati sono stati salvati." + +#: components/com_user/user.php:211 +msgid "Checked in %d item" +msgstr "Controllato in %d elementi" + +#: components/com_user/user.php:222 +msgid "All items checked out have now been checked in" +msgstr "Tutti gli elementi bloccati sono stati ripristinati" + +#: administrator/components/com_users/admin.users.html.php:57 +#: administrator/components/com_users/admin.users.php:157 +msgid "Logged In" +msgstr "Loggato" + +#: administrator/components/com_users/admin.users.html.php:63 +msgid "UserID" +msgstr "Utente ID" + +#: administrator/components/com_users/admin.users.html.php:66 +msgid "Group" +msgstr "Gruppo" + +#: administrator/components/com_users/admin.users.html.php:69 +msgid "E-Mail" +msgstr "E-Mail" + +#: administrator/components/com_users/admin.users.html.php:72 +msgid "Last Visit" +msgstr "Ultima visita" + +#: administrator/components/com_users/admin.users.html.php:156 +msgid "You must provide a user login name." +msgstr "Devi fornire il nome utente di login" + +#: administrator/components/com_users/admin.users.html.php:158 +msgid "Your login name contains invalid characters or is too short." +msgstr "Il tuo nome di login contien caratteri non validi o è troppo breve." + +#: administrator/components/com_users/admin.users.html.php:160 +msgid "You must provide an email address." +msgstr "Devi inserire un indirizzo email" + +#: administrator/components/com_users/admin.users.html.php:162 +msgid "You must assign user to a group." +msgstr "Devi assegnare l’utente al gruppo" + +#: administrator/components/com_users/admin.users.html.php:164 +msgid "Passwords do not match." +msgstr "La password non corrisponde" + +#: administrator/components/com_users/admin.users.html.php:166 +msgid "" +"Please Select another group as `Public Frontend` is not a selectable option" +msgstr "" +"Prego seleziona un altro gruppo come ’Public Frontend’ non ’ una opzione " +"selezionabile" + +#: administrator/components/com_users/admin.users.html.php:168 +msgid "" +"Please Select another group as `Public Backend` is not a selectable option" +msgstr "" +"rego seleziona un altro gruppo come ’Public Backend’ non ’ una opzione " +"selezionabile" + +#: administrator/components/com_users/admin.users.html.php:196 +msgid "User Details" +msgstr "Dettagli utente" + +#: administrator/components/com_users/admin.users.html.php:216 +msgid "Email:" +msgstr "Email:" + +#: administrator/components/com_users/admin.users.html.php:224 +msgid "New Password:" +msgstr "Nuova Password:" + +#: administrator/components/com_users/admin.users.html.php:251 +msgid "Block User" +msgstr "Blocca utente" + +#: administrator/components/com_users/admin.users.html.php:263 +msgid "Receive Submission Emails" +msgstr "Ricevi email di iscrizione" + +#: administrator/components/com_users/admin.users.html.php:275 +msgid "Register Date" +msgstr "Data di registrazione" + +#: administrator/components/com_users/admin.users.html.php:283 +msgid "Last Visit Date" +msgstr "Data ultima visita" + +#: administrator/components/com_users/admin.users.html.php:306 +#: administrator/components/com_users/admin.users.html.php:325 +msgid "Contact Information" +msgstr "Informazioni contatti" + +#: administrator/components/com_users/admin.users.html.php:312 +msgid "No Contact details linked to this User:" +msgstr "Nessun dettaglio del contatto è collegato a questo utente" + +#: administrator/components/com_users/admin.users.html.php:314 +msgid "See \"Components -> Contact -> Manage Contacts\" for details." +msgstr "Vedi \"Components -> Contact -> Manage Contacts\" per i dettagli." + +#: administrator/components/com_users/admin.users.html.php:391 +msgid "Change Contact Details" +msgstr "Cambia dettagli del contatto" + +#: administrator/components/com_users/admin.users.html.php:394 +msgid "Components -> Contact -> Manage Contacts" +msgstr "Components -> Contact -> Manage Contacts" + +#: administrator/components/com_users/admin.users.php:150 +msgid "- Select Group -" +msgstr "- Seleziona un gruppo -" + +#: administrator/components/com_users/admin.users.php:156 +msgid "- Select Log Status - " +msgstr "- Seleziona lo stato corrente - " + +#: administrator/components/com_users/admin.users.php:158 +msgid "Not Logged In" +msgstr "Non hai fatto il login" + +#: administrator/components/com_users/admin.users.php:186 +msgid "Super Administrator" +msgstr "Super Administrator" + +#: administrator/components/com_users/admin.users.php:296 +msgid "New User Details" +msgstr "Dettagli nuovo utente" + +#: administrator/components/com_users/admin.users.php:297 +msgid "" +"Hello %s,\n" +"\n" +"\n" +"You have been added as a user to %s by an Administrator.\n" +"\n" +"This email contains your username and password to log into the %s\n" +"\n" +"Username - %s\n" +"Password - %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"Hello %s,\n" +"\n" +"\n" +"Se stato aggiunto come utente %s by an Administrator.\n" +"\n" +"Questa email contine il tuo nome utente e password per il login a %s\n" +"\n" +"Nome utente - %s\n" +"Password - %s\n" +"\n" +"\n" +"Siete pregati di non rispondere a questa email che è stata generata " +"automaticamente solamente per informarvi" + +#: administrator/components/com_users/admin.users.php:326 +msgid "Successfully Saved changes to User: %s" +msgstr "Modifiche salvate per l’utente: %s" + +#: administrator/components/com_users/admin.users.php:331 +msgid "Successfully Saved User: %s" +msgstr "utente correttamente registrato: %s" + +#: administrator/components/com_users/admin.users.php:361 +msgid "You cannot delete a Super Administrator" +msgstr "Non puoi cancellare un Super Administrator" + +#: administrator/components/com_users/admin.users.php:363 +msgid "You cannot delete Yourself!" +msgstr "Non puoi cancellarti" + +#: administrator/components/com_users/admin.users.php:365 +msgid "" +"You cannot delete another `Administrator` only `Super Administrators` have " +"this power" +msgstr "" +"Non puoi cancellare un’Administrator solo un Super Administrator ha questa " +"facoltà" + +#: administrator/components/com_users/admin.users.php:386 +msgid "block" +msgstr "blocca" + +#: administrator/components/com_users/admin.users.php:386 +msgid "unblock" +msgstr "sblocca" + +#: administrator/components/com_users/admin.users.php:413 +msgid "Please select a user" +msgstr "Prego seleziona un utente" + +#: administrator/components/com_users/toolbar.users.html.php:49 +msgid "Force Logout" +msgstr "Forza il logout" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:29 +msgid "Weblink Manager" +msgstr "Weblink Manager" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:58 +msgid "Approved" +msgstr "Approvato" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:98 +msgid "Edit Weblinks" +msgstr "Scrivi Weblinks" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:176 +#: components/com_weblinks/weblinks.html.php:249 +msgid "Weblink item must have a title" +msgstr "Il Weblink deve avere un titolo" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:178 +#: components/com_weblinks/weblinks.html.php:251 +msgid "You must select a category." +msgstr "Devi selezionare una categoria" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:180 +#: components/com_weblinks/weblinks.html.php:253 +msgid "You must have a url." +msgstr "Devi avere la url" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:190 +msgid "Weblink:" +msgstr "Weblink:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:225 +#: components/com_weblinks/weblinks.html.php:297 +msgid "URL:" +msgstr "URL:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:250 +msgid "Approved:" +msgstr "Approvato:" + +#: administrator/components/com_weblinks/admin.weblinks.php:143 +#: components/com_weblinks/weblinks.php:183 +msgid "The module %s is currently being edited by another administrator." +msgstr "Al momento un amministratore ha aperto il modulo %s" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon" +msgstr "Icona" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon to be used to the left of the url links in Table view" +msgstr "Icona usata sulla sinistra del link sulla vista Table" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Link Descriptions" +msgstr "Descrizione Link" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Description text of the Links" +msgstr "Mostra/Nascondi il testo di Descrizione del Link" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Hits column" +msgstr "Mostra/Nascondi la colonna degli Hits" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "This component shows a listing of Weblinks" +msgstr "Questo componente mostra una lista di Weblinks" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Weblinks" +msgstr "Weblinks" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target" +msgstr "Target" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target window when the link is clicked" +msgstr "Finestra Target quando si clicca sul link" + +#: components/com_weblinks/weblinks.class.php:70 +msgid "Please provide a valid URL" +msgstr "Prego inserire una URL valida" + +#: components/com_weblinks/weblinks.class.php:76 +msgid "Your web link must be given a title." +msgstr "Il tuo weblink deve avere un titolo" + +#: components/com_weblinks/weblinks.class.php:91 +msgid "There is already a web link that name, please try again." +msgstr "Esiste già un link con lo stesso nome, prova nuovamente" + +#: components/com_weblinks/weblinks.html.php:109 +msgid "Web Link" +msgstr "Web Link" + +#: components/com_weblinks/weblinks.html.php:264 +msgid "Submit A Web Link" +msgstr "Invia un Web Link" + +#: components/com_weblinks/weblinks.php:98 +msgid "" +"From the list below choose one of our web link categories, then select a URL " +"to visit the site." +msgstr "" +"Dalla seguente lista seleziona una delle nostre categorie di link, poi " +"seleziona la URL per visitare il sito." + +#: components/com_weblinks/weblinks.php:290 +msgid "User Submitted '%'" +msgstr "User Submitted '%'" + +#: components/com_weblinks/weblinks.php:292 +msgid " for %s.\\n\\n\\n\\n" +msgstr " for %s.\\n\\n\\n\\n" + +#: components/com_wrapper/wrapper.html.php:55 +msgid "" +"This option will not work correctly. Unfortunately, your browser does not " +"support Inline Frames" +msgstr "" +"Questa opzione non lavora correttamente. Sfortunatamente, il tuo browser non " +"gestisce i Frame Inline (iFrames)" diff -ruN 4.6rc2/uploadfiles/language/glossary/pt_BR.utf-8.po 4.6-complete/uploadfiles/language/glossary/pt_BR.utf-8.po --- 4.6rc2/uploadfiles/language/glossary/pt_BR.utf-8.po 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/glossary/pt_BR.utf-8.po 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,8675 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Mambo 4.6 Brazilian Portuguese\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-01-31 20:49+0000\n" +"PO-Revision-Date: 2006-03-17 22:42-0000\n" +"Last-Translator: Carlos Souza \n" +"Language-Team: No Ritmo do Mambo \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: BRAZIL\n" + +#: components/com_wrapper/wrapper.html.php:55 +msgid "" +"This option will not work correctly. Unfortunately, your browser does not " +"support Inline Frames" +msgstr "" +"Esta opção pode não funcionar corretamente. Infelizmente, seu navegador não " +"suporta Frames Inline" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:29 +msgid "Weblink Manager" +msgstr "Gerenciador de Links Web" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:32 +msgid "Filter:" +msgstr "Filtro:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:52 +msgid "Title" +msgstr "Título" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:55 +msgid "Published" +msgstr "Publicado" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:58 +msgid "Approved" +msgstr "Aprovado" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:61 +msgid "Reorder" +msgstr "Reordenar" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:64 +msgid "Category" +msgstr "Categoria" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:67 +#: administrator/components/com_weblinks/weblinks.xml +#: components/com_weblinks/weblinks.html.php:115 +msgid "Hits" +msgstr "Acessos" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:98 +msgid "Edit Weblinks" +msgstr "Editar Links Web" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:131 +msgid "Edit Category" +msgstr "Editar Categoria" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:176 +#: components/com_weblinks/weblinks.html.php:249 +msgid "Weblink item must have a title" +msgstr "Links Web devem ter um Título" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:178 +#: components/com_weblinks/weblinks.html.php:251 +msgid "You must select a category." +msgstr "Você deve selecionar uma categoria." + +#: administrator/components/com_weblinks/admin.weblinks.html.php:180 +#: components/com_weblinks/weblinks.html.php:253 +msgid "You must have a url." +msgstr "Você deve informar uma URL." + +#: administrator/components/com_weblinks/admin.weblinks.html.php:190 +msgid "Weblink:" +msgstr "Link Web:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:192 +msgid "Edit" +msgstr "Editar" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:192 +msgid "New" +msgstr "Novo" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:204 +msgid "Details" +msgstr "Detalhes" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:209 +#: components/com_weblinks/weblinks.html.php:281 +msgid "Name:" +msgstr "Nome:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:217 +msgid "Category:" +msgstr "Categoria:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:225 +#: components/com_weblinks/weblinks.html.php:297 +msgid "URL:" +msgstr "URL:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:233 +#: components/com_weblinks/weblinks.html.php:305 +msgid "Description:" +msgstr "Descrição:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:242 +msgid "Ordering:" +msgstr "Ordem:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:250 +msgid "Approved:" +msgstr "Aprovado:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:258 +msgid "Published:" +msgstr "Publciado:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:270 +msgid "Parameters" +msgstr "Parâmetros" + +#: administrator/components/com_weblinks/admin.weblinks.php:17 +msgid "You are not authorized to view this resource." +msgstr "Você não está autorizado a ver este recurso." + +#: administrator/components/com_weblinks/admin.weblinks.php:143 +#: components/com_weblinks/weblinks.php:183 +#, php-format +msgid "The module %s is currently being edited by another administrator." +msgstr "O módulo %s está sendo editada por outro administrador" + +#: administrator/components/com_weblinks/admin.weblinks.php:223 +msgid "Select an item to delete" +msgstr "Selecione um item para apagar." + +#: administrator/components/com_weblinks/admin.weblinks.php:249 +msgid "publish" +msgstr "publicado" + +#: administrator/components/com_weblinks/admin.weblinks.php:249 +msgid "unpublish" +msgstr "não publicado" + +#: administrator/components/com_weblinks/admin.weblinks.php:250 +#, php-format +msgid "Select an item to %s" +msgstr "Selecione um item para %s" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_weblinks/toolbar.weblinks.html.php:27 +msgid "Close" +msgstr "Fechar" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" +"Uma pequena imagem que deve ser colocada à esquerda ou à direita de seu item " +"de menu. As imagens devem estar em images/stories/" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" +"Um sufixo de classe CSS que deve ser aplicado. Isso permite estilos " +"individuais de páginas" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Alignment of the image" +msgstr "Alinhamento da Imagem" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Back Button" +msgstr "Botão Voltar" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Category List - Category" +msgstr "Lista de Categorias - Lista" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Category List - Section" +msgstr "Lista de Categorias - Seção" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Description" +msgstr "Descrição" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Description Text" +msgstr "Texto de Descrição" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"Description for page, if left blank it will load _WEBLINKS_DESC from your " +"language file" +msgstr "" +"Descrição para a página. Se deixada em branco, será usada a configuração " +"_WEBLINKS_DESC existente em seu arquivo de idioma" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Hide" +msgstr "Esconder" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon" +msgstr "Ícone" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon to be used to the left of the url links in Table view" +msgstr "Ícone para ser usado à esquerda da URL do link na visão de tabela" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Image" +msgstr "Imagem" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Image Align" +msgstr "Alinhamento de Imagem" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"Image for page, must be located in the /images/stories folder. Default will " +"load web_links.jpg, No image will mean an image is not loaded" +msgstr "" +"Imagem para página. Deve estar localizada na pasta images/stories/. Por " +"padrão a imagem web_links.jpg será carregada. Caso não veja a imagem, isso " +"indica que ela não foi localizada na pasta" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Left" +msgstr "Esquerda" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Link Descriptions" +msgstr "Descrições de Links" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Menu Image" +msgstr "Imagem de Menu" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Page Class Suffix" +msgstr "Sufixo de classe CSS" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Page Title" +msgstr "Título da Página" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Right" +msgstr "Direita" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show" +msgstr "Mostrar" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "Mostrar/Esconder um botão Voltar que retorna para a página anterior" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Description below" +msgstr "Mostrar/Esconder a descrição abaixo" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Description text of the Links" +msgstr "Mostrar/Esconder a o texto de descrição dos Links" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Hits column" +msgstr "Mostrar/Esconder a coluna de acessos" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "" +"Mostrar/Esconder a lista de categorias na página de visualização em lista" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "" +"Mostrar/Esconder a lista de categorias na página de visualização em tabela" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Table Headings" +msgstr "Mostrar/Esconder o cabeçalho de tabelas" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the pages Title" +msgstr "Mostrar/Esconder o título de páginas" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Table Headings" +msgstr "Cabeçalho de Tabelas" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" +"Texto para ser mostrado no topo da página. Se deixado em branco, o nome do " +"Menu será usado" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "This component shows a listing of Weblinks" +msgstr "Este componente motra uma lista de links web" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Use Global" +msgstr "Usar Global" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Weblinks" +msgstr "Links Web" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "New Window With Browser Navigation" +msgstr "Nova Janela com Botões de Navegação" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "New Window Without Browser Navigation" +msgstr "Nova Janela sem Botões de Navegação" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Parent Window With Browser Navigation" +msgstr "Mesma Janela com Botões de Navegação" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target" +msgstr "Destino" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target window when the link is clicked" +msgstr "Janela de Destino quando o link é clicado" + +#: components/com_weblinks/weblinks.class.php:70 +msgid "Please provide a valid URL" +msgstr "Por favor informe uma URL válida" + +#: components/com_weblinks/weblinks.class.php:76 +msgid "Your web link must be given a title." +msgstr "Seu Link Web deve ter um título." + +#: components/com_weblinks/weblinks.class.php:91 +msgid "There is already a web link that name, please try again." +msgstr "Já existe um link web com este note. Por favor tente novamente." + +#: components/com_weblinks/weblinks.html.php:41 +#: components/com_weblinks/weblinks.php:17 +msgid "Web Links" +msgstr "Links Web" + +#: components/com_weblinks/weblinks.html.php:109 +msgid "Web Link" +msgstr "Link Web" + +#: components/com_weblinks/weblinks.html.php:264 +msgid "Submit A Web Link" +msgstr "Enviar um Link Web" + +#: components/com_weblinks/weblinks.html.php:289 +msgid "Section:" +msgstr "Seção:" + +#: components/com_weblinks/weblinks.php:98 +msgid "" +"From the list below choose one of our web link categories, then select a URL " +"to visit the site." +msgstr "" +"Da lista abaixo escolha uma das categorias e depois a URL que deseja " +"conhecer." + +#: components/com_weblinks/weblinks.php:278 +msgid "" +"Thanks for your submission; it will be reviewed before being posted to the " +"site." +msgstr "" +"Obrigado pelo envio. Sua sugestão será analisada e depois postada no site." + +#: components/com_weblinks/weblinks.php:290 +msgid "User Submitted '%'" +msgstr "Usuário enviou '%'" + +#: components/com_weblinks/weblinks.php:291 +#, php-format +msgid "" +"Hello %s,\\n\\n\\nA user submitted %s:\\n [ %s ]\\n has been just been " +"submitted by user:\\n [ %s ]\\n" +msgstr "" +"Olá %s,\\n\\n\\nUm usuário enviou %s:\\n [ %s ]\\n foi enviado pelo usuário:" +"\\n [ %s ]\\n" + +#: components/com_weblinks/weblinks.php:292 +#, php-format +msgid " for %s.\\n\\n\\n\\n" +msgstr " para %s.\\n\\n\\n\\n" + +#: components/com_weblinks/weblinks.php:293 +#, php-format +msgid "Please go to %s/administrator to view and approve this %s.\\n\\n" +msgstr "Por favor vá em %s/administrator para ver e aprovar este %s.\\n\\n" + +#: components/com_weblinks/weblinks.php:294 +msgid "" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only\\n" +msgstr "" +"Por favor não responda esta mensagem. Ela foi gerada automaticamente e " +"possui somente caráter informativo\\n" + +#: administrator/components/com_users/admin.users.html.php:28 +msgid "User Manager" +msgstr "Gerenciador de Usuários" + +#: administrator/components/com_users/admin.users.html.php:54 +msgid "Name" +msgstr "Nome" + +#: administrator/components/com_users/admin.users.html.php:57 +#: administrator/components/com_users/admin.users.php:157 +msgid "Logged In" +msgstr "Autenticado" + +#: administrator/components/com_users/admin.users.html.php:60 +msgid "Enabled" +msgstr "Habilitado" + +#: administrator/components/com_users/admin.users.html.php:63 +msgid "UserID" +msgstr "ID de Usuário" + +#: administrator/components/com_users/admin.users.html.php:66 +msgid "Group" +msgstr "Grupo" + +#: administrator/components/com_users/admin.users.html.php:69 +msgid "E-Mail" +msgstr "E-Mail" + +#: administrator/components/com_users/admin.users.html.php:72 +msgid "Last Visit" +msgstr "Última Visita" + +#: administrator/components/com_users/admin.users.html.php:154 +msgid "You must provide a name." +msgstr "Você deve informar um nome." + +#: administrator/components/com_users/admin.users.html.php:156 +msgid "You must provide a user login name." +msgstr "Você deve informar um nome de login." + +#: administrator/components/com_users/admin.users.html.php:158 +msgid "Your login name contains invalid characters or is too short." +msgstr "Seu nome de login contém caracteres inválidos ou é muito curto." + +#: administrator/components/com_users/admin.users.html.php:160 +msgid "You must provide an email address." +msgstr "Você deve informar um endereço de e-mail." + +#: administrator/components/com_users/admin.users.html.php:162 +msgid "You must assign user to a group." +msgstr "Você deve atrelar o usuário à um grupo." + +#: administrator/components/com_users/admin.users.html.php:164 +msgid "Passwords do not match." +msgstr "Senhas não coincidem." + +#: administrator/components/com_users/admin.users.html.php:166 +msgid "" +"Please Select another group as `Public Frontend` is not a selectable option" +msgstr "" +"Por favor selecione outro grupo como `Public Frontend`. Esta não é uma opção " +"selecionável" + +#: administrator/components/com_users/admin.users.html.php:168 +msgid "" +"Please Select another group as `Public Backend` is not a selectable option" +msgstr "" +"Por favor selecione outro grupo como `Public Backend`. Esta não é uma opção " +"selecionável" + +#: administrator/components/com_users/admin.users.html.php:185 +msgid "Add" +msgstr "Adicionar" + +#: administrator/components/com_users/admin.users.html.php:185 +msgid "User:" +msgstr "Usuário:" + +#: administrator/components/com_users/admin.users.html.php:196 +msgid "User Details" +msgstr "Detalhes do Usuário" + +#: administrator/components/com_users/admin.users.html.php:209 +msgid "Username:" +msgstr "Nome de Usuário:" + +#: administrator/components/com_users/admin.users.html.php:216 +msgid "Email:" +msgstr "E-mail:" + +#: administrator/components/com_users/admin.users.html.php:224 +msgid "New Password:" +msgstr "Nova Senha:" + +#: administrator/components/com_users/admin.users.html.php:232 +msgid "Verify Password:" +msgstr "Verificar Senha:" + +#: administrator/components/com_users/admin.users.html.php:240 +msgid "Group:" +msgstr "Grupo:" + +#: administrator/components/com_users/admin.users.html.php:251 +msgid "Block User" +msgstr "Bloquear Usuário" + +#: administrator/components/com_users/admin.users.html.php:263 +msgid "Receive Submission Emails" +msgstr "Receber E-mails Submetidos" + +#: administrator/components/com_users/admin.users.html.php:275 +msgid "Register Date" +msgstr "Data de Registro" + +#: administrator/components/com_users/admin.users.html.php:283 +msgid "Last Visit Date" +msgstr "Data de Última Visita" + +#: administrator/components/com_users/admin.users.html.php:306 +#: administrator/components/com_users/admin.users.html.php:325 +msgid "Contact Information" +msgstr "Informação de Contato" + +#: administrator/components/com_users/admin.users.html.php:312 +msgid "No Contact details linked to this User:" +msgstr "Nenhum detalhe de contato atrelado para este usuário:" + +#: administrator/components/com_users/admin.users.html.php:314 +msgid "See \"Components -> Contact -> Manage Contacts\" for details." +msgstr "Veja \"Componentes -> Contato -> Gerenciar Contatos\" para detalhes." + +#: administrator/components/com_users/admin.users.html.php:340 +msgid "Position:" +msgstr "Posição:" + +#: administrator/components/com_users/admin.users.html.php:350 +msgid "Telephone:" +msgstr "Telefone:" + +#: administrator/components/com_users/admin.users.html.php:360 +msgid "Fax:" +msgstr "Fax:" + +#: administrator/components/com_users/admin.users.html.php:382 +msgid "Contact" +msgstr "Contato" + +#: administrator/components/com_users/admin.users.html.php:391 +msgid "Change Contact Details" +msgstr "Alterar Detalhes de Contato" + +#: administrator/components/com_users/admin.users.html.php:394 +msgid "Components -> Contact -> Manage Contacts" +msgstr "Componentes -> Contato -> Gerenciar Contatos" + +#: administrator/components/com_users/admin.users.php:150 +msgid "- Select Group -" +msgstr "- Selecionar Grupo - " + +#. get list of Log Status for dropdown filter +#: administrator/components/com_users/admin.users.php:156 +msgid "- Select Log Status - " +msgstr "- Selecione Status de Log -" + +#: administrator/components/com_users/admin.users.php:158 +msgid "Not Logged In" +msgstr "Não Está Autenticado" + +#: administrator/components/com_users/admin.users.php:186 +msgid "Super Administrator" +msgstr "Super Administrador" + +#: administrator/components/com_users/admin.users.php:188 +msgid "Administrator" +msgstr "Administrador" + +#: administrator/components/com_users/admin.users.php:296 +msgid "New User Details" +msgstr "Detalhes de Novo Usuário" + +#: administrator/components/com_users/admin.users.php:297 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"\n" +"You have been added as a user to %s by an Administrator.\n" +"\n" +"This email contains your username and password to log into the %s\n" +"\n" +"Username - %s\n" +"Password - %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"Olá %s,\n" +"\n" +"\n" +"Você foi adicionado como usuário em %s por um Administrador.\n" +"\n" +"Este e-mail contém seu nome de usuário e senha para autenticação no %s\n" +"\n" +"Nome de Usuário - %s\n" +"Senha - %s\n" +"\n" +"\n" +"Por favor não responda esta mensagem. Ela foi gerada automaticamente somente " +"com caráter informativo." + +#: administrator/components/com_users/admin.users.php:326 +#, php-format +msgid "Successfully Saved changes to User: %s" +msgstr "Alterações Salvas com Sucesso para o Usuário: %s" + +#: administrator/components/com_users/admin.users.php:331 +#, php-format +msgid "Successfully Saved User: %s" +msgstr "Usuário Salvo com Sucesso: %s" + +#: administrator/components/com_users/admin.users.php:361 +msgid "You cannot delete a Super Administrator" +msgstr "Você não pode apagar um `Super Administrador`" + +#: administrator/components/com_users/admin.users.php:363 +msgid "You cannot delete Yourself!" +msgstr "Você não pode se Apagar!" + +#: administrator/components/com_users/admin.users.php:365 +msgid "" +"You cannot delete another `Administrator` only `Super Administrators` have " +"this power" +msgstr "" +"Você não pode apagar outro `Administrador`. Somente `Super " +"Administradores`tem este poder" + +#: administrator/components/com_users/admin.users.php:386 +msgid "block" +msgstr "bloquear" + +#: administrator/components/com_users/admin.users.php:386 +msgid "unblock" +msgstr "desbloquear" + +#: administrator/components/com_users/admin.users.php:413 +msgid "Please select a user" +msgstr "Por favor selecione um usuário" + +#: administrator/components/com_users/toolbar.users.html.php:49 +msgid "Force Logout" +msgstr "Forçar Logout" + +#: components/com_user/user.html.php:22 +msgid "Welcome!" +msgstr "Bem-vindo!" + +#: components/com_user/user.html.php:27 +msgid "Welcome to the user section of our site" +msgstr "Bem-vindo a seção de usuários de nosso site" + +#: components/com_user/user.html.php:43 +msgid "Please enter your name." +msgstr "Por favor, digite seu nome." + +#: components/com_user/user.html.php:45 +msgid "Please enter a user name." +msgstr "Por favor, digite um nome de usuário." + +#: components/com_user/user.html.php:47 components/com_user/user.html.php:53 +#, php-format +msgid "" +"Please enter a valid %s. No spaces, more than %d characters and containing " +"only the characters 0-9,a-z, or A-Z" +msgstr "" +"Por favor, digite um %s válido. Sem espaços, mais que %d caracteres e " +"contendo somente caracteres entre 0-9,a-z, or A-Z" + +#: components/com_user/user.html.php:49 +msgid "Please enter a valid e-mail address." +msgstr "Por favor, digite um endereço de e-mail válido." + +#: components/com_user/user.html.php:51 +msgid "Password and verification do not match, please try again." +msgstr "Senha e sua verificação não coincidem. Por favor, tente novamente." + +#: components/com_user/user.html.php:53 components/com_user/user.html.php:76 +msgid "Password:" +msgstr "Senha:" + +#: components/com_user/user.html.php:61 +msgid "Edit Your Details" +msgstr "Edite Seus Detalhes" + +#: components/com_user/user.html.php:65 +msgid "Your Name:" +msgstr "Seu Nome:" + +#: components/com_user/user.html.php:69 +msgid "e-mail:" +msgstr "E-mail:" + +#: components/com_user/user.html.php:72 +msgid "User Name:" +msgstr "Nome de Usuário:" + +#: components/com_user/user.html.php:99 +msgid "Submission Success!" +msgstr "Envio com Sucesso!" + +#: components/com_user/user.html.php:103 +msgid "" +"Your item has been submitted to the site administrators. It will be reviewed " +"before being published on the site." +msgstr "" +"Seu item foi submetido para os administradores do site. Eles irão revisar " +"antes de publicar no site." + +#: components/com_user/user.php:29 +msgid "Update" +msgstr "Atualizar" + +#: components/com_user/user.php:56 +msgid "You cannot upload files greater than 15kb in size." +msgstr "Você não pode enviar arquivos maiores que 15kb." + +#: components/com_user/user.php:59 +#, php-format +msgid "Image %s already exists. Please rename the file and try again." +msgstr "Imagem %s já existe. Por favor renomeie o arquivo e tente novamente." + +#: components/com_user/user.php:65 +#, php-format +msgid "Failed to copy %s" +msgstr "Falha na cópia de %s" + +#: components/com_user/user.php:87 +msgid "You may only upload a gif or jpg image." +msgstr "Você somente pode enviar imagens gif ou jpg." + +#: components/com_user/user.php:129 +msgid "Passwords do not match" +msgstr "Senhas não coincidem" + +#: components/com_user/user.php:152 +msgid "Your settings have been saved." +msgstr "Sua configurações foram salvas." + +#: components/com_user/user.php:208 +msgid "Checking table" +msgstr "Verificando tabela" + +#: components/com_user/user.php:211 +#, php-format +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "" +msgstr[1] "" + +#: components/com_user/user.php:222 +msgid "All items checked out have now been checked in" +msgstr "Todos os itens verificados estão livres agora" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:34 +msgid "Static Content Manager" +msgstr "Gerenciador de Conteúdo Estático" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:69 +msgid "Order" +msgstr "Ordem" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:72 +msgid "Save Order" +msgstr "Salvar Ordem" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:75 +msgid "Access" +msgstr "Acesso" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:78 +msgid "ID" +msgstr "ID" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:81 +msgid "Links" +msgstr "Links" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:84 +msgid "Author" +msgstr "Autor" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:87 +msgid "Date" +msgstr "Data" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:104 +msgid "Expired" +msgstr "Expira" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:107 +msgid "Unpublished" +msgstr "Não Publicado" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:112 +msgid "Always" +msgstr "Sempre" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:112 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:114 +msgid "Start:" +msgstr "Inicia:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:119 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:121 +msgid "Finish:" +msgstr "Finaliza:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:119 +msgid "No Expiry" +msgstr "Não Expira" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:149 +msgid "Edit User" +msgstr "Editar Usuário" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:177 +msgid "Edit Static Content" +msgstr "Editar Conteúdo Estático" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:193 +msgid "Publish Information" +msgstr "Informação de Publicação" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:271 +msgid "" +"Are you sure you want to reset the Hits to Zero? \\nAny unsaved changes to " +"this content will be lost." +msgstr "" +"Você tem certeza que deseja zerar os cliques? \\nQualquer alteração não " +"salva para este conteúdo pode ser perdida." + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:281 +msgid "Please select a Menu" +msgstr "Por favor selecione um menu" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:284 +msgid "Please enter a Name for this menu item" +msgstr "Por favor, digite um nome para este item de menu" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:300 +msgid "Content item must have a title" +msgstr "Conteúdo deve ter um Título" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:302 +msgid "Content item must have a name" +msgstr "Conteúdo deve ter um Nome" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:353 +msgid "Static Content Item:" +msgstr "Item de Conteúdo Estático:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:364 +msgid "Show Advanced Details" +msgstr "Mostrar Detalhes Avançados" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:367 +msgid "Hide Advanced Details" +msgstr "Esconder Detalhes Avançados" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:381 +msgid "Item Details" +msgstr "Detalhes do Item" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:386 +msgid "Title:" +msgstr "Título:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:394 +msgid "Title Alias:" +msgstr "Apelido do Título:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:402 +msgid "Text: (required)" +msgstr "Texto (obrigatório)" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:423 +msgid "Publishing" +msgstr "Publicação" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:428 +msgid "Publishing Info" +msgstr "Infos de Publicação" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:433 +msgid "State:" +msgstr "Estado:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:449 +msgid "Access Level:" +msgstr "Nível de Acesso:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:457 +msgid "Author Alias:" +msgstr "Apelido do Autor:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:465 +msgid "Change Creator:" +msgstr "Alterar Criador:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:473 +msgid "Override Created Date" +msgstr "Sobrescrever Data de Criação" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:482 +msgid "Start Publishing:" +msgstr "Iniciar Publicação:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:491 +msgid "Finish Publishing:" +msgstr "Finalizar Publicação:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:520 +msgid "Archived" +msgstr "Arquivado" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:520 +msgid "Draft Unpublished" +msgstr "Rascunho Não Publicado" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:536 +msgid "Version" +msgstr "Versão" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:544 +msgid "Created" +msgstr "Criado" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:547 +msgid "New document" +msgstr "Novo Documento" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:552 +msgid "Last Modified" +msgstr "Última Modificação" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:555 +msgid "Not modified" +msgstr "Não Modificado" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:560 +msgid "Expires" +msgstr "Expira" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:569 +msgid "Images" +msgstr "Imagens" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:574 +msgid "MOSImage Control" +msgstr "Controle de MOSImage" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:579 +msgid "Sub-folder:" +msgstr "Sub-pasta:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:584 +msgid "Gallery Images" +msgstr "Galeria de Imagens" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:596 +msgid "Content Images:" +msgstr "Imagens de Conteúdo:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:610 +msgid "Edit the image selected:" +msgstr "Editar a imagem selecionada:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:614 +msgid "Source" +msgstr "Fonte" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:622 +msgid "Align" +msgstr "Alinhamento" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:630 +msgid "Alt Text" +msgstr "Texto Alt" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:638 +msgid "Border" +msgstr "Borda" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:646 +msgid "Caption:" +msgstr "Cabeçalho:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:654 +msgid "Caption Position:" +msgstr "Posição do Cabeçalho:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:662 +msgid "Caption Align:" +msgstr "Alinhamento do Cabeçalho:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:670 +msgid "Width:" +msgstr "Largura:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:692 +msgid "Parameter Control" +msgstr "Controle de Parâmetros" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:703 +msgid "Meta Info" +msgstr "Infos Meta" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:708 +msgid "Meta Data" +msgstr "Dados Meta" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:719 +msgid "Keywords:" +msgstr "Palavras-Chave:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:726 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:731 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:760 +msgid "Link to Menu" +msgstr "Link para Menu" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:736 +msgid "This will create a \"Link - Static Content\" in the menu you select" +msgstr "Isto irá criar um \"Conteúdo Estático - Link\" no menu selecionado" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:742 +msgid "Select a Menu" +msgstr "Selecione um Menu" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:750 +msgid "Menu Item Name" +msgstr "Nome do Item de Menu" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:765 +msgid "Existing Menu Links" +msgstr "Links de Menu Existentes" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:773 +msgid "None" +msgstr "Nenhum" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:155 +msgid "Ordering asc" +msgstr "Ordenamento Asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:156 +msgid "Ordering desc" +msgstr "Ordenamento Desc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:157 +msgid "ID asc" +msgstr "ID Asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:158 +msgid "ID desc" +msgstr "ID Desc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:159 +msgid "Title asc" +msgstr "Título Asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:160 +msgid "Title desc" +msgstr "Título Desc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:161 +msgid "Date asc" +msgstr "Data Asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:162 +msgid "Date desc" +msgstr "Data Desc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:163 +msgid "Author asc" +msgstr "Autor Asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:164 +msgid "Author desc" +msgstr "Autor Desc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:165 +msgid "Published asc" +msgstr "Publicado Asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:166 +msgid "Published desc" +msgstr "Publicado Desc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:167 +msgid "Access asc" +msgstr "Acesso Asc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:168 +msgid "Access desc" +msgstr "Acesso Desc" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:180 +msgid "- All Authors -" +msgstr "- Todos os Autores -" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:202 +msgid "The module % is currently being edited by another administrator" +msgstr "O módulo %s está sendo editado atualmente por outro administrador" + +#. build the select list for the image caption position +#: administrator/components/com_typedcontent/admin.typedcontent.php:277 +msgid "Bottom" +msgstr "Rodapé" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:278 +msgid "Top" +msgstr "Topo" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:356 +msgid "Typed Content Item saved" +msgstr "Item de Tipo de Conteúdo Salvo" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:362 +msgid "Changes to Typed Content Item saved" +msgstr "Alterações de Item de Tipo de Conteúdo Salvas" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:393 +#, php-format +msgid "%d Item sent to the Trash" +msgid_plural "%d Items sent to the Trash" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:409 +msgid "archive" +msgstr "Arquivar" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:432 +#, php-format +msgid "%d Item successfully Published" +msgid_plural "%d Items successfully Published" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:434 +#, php-format +msgid "%d Item successfully Unpublished" +msgid_plural "%d Items successfully Unpublished" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:473 +msgid "Successfully Reset Hit" +msgstr "Acessos reiniciados com sucesso" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:516 +#, php-format +msgid "%s (Link - Static Content) in menu: %s successfully created" +msgstr "%s (Conteúdo Estático - Link) no menu: %s criado com sucesso" + +#. foreach +#: administrator/components/com_typedcontent/admin.typedcontent.php:582 +msgid "New ordering saved" +msgstr "Nova Ordem Salva" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Author Names" +msgstr "Nomes de Autores" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Created Date and Time" +msgstr "Data e Hora de Criação" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Email Icon" +msgstr "Ícone de E-mail" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Item Rating" +msgstr "Classificação de Item" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Modified Date and Time" +msgstr "Data e Hora de Modificação" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "PDF Icon" +msgstr "Ícone de PDF" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Print Icon" +msgstr "Ícone de Impressão" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item author - only affects this page" +msgstr "Mostrar/Esconder o autor do item - somente afeta esta página" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item creation date - only affects this page" +msgstr "Mostrar/Esconder a data de criação - somente afeta esta página" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item email button - only affects this page" +msgstr "Mostrar/Esconder o botão de e-mail - somente afeta esta página" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item modification date - only affects this page" +msgstr "Mostrar/Esconder a data de modificação - somente afeta esta página" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item pdf button - only affects this page" +msgstr "Mostrar/Esconder o botão de PDF - somente afeta esta página" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "Mostrar/Esconder o botão de impressão - somente afeta esta página" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item rating - only affects this page" +msgstr "Mostrar/Esconder a classificação do item - somente afeta esta página" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "This shows a single content page" +msgstr "Isto mostra uma página de conteúdo único" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Typed Content Page" +msgstr "Página de Conteúdo" + +#: administrator/components/com_trash/admin.trash.html.php:55 +msgid "Trash Manager" +msgstr "Lixeira" + +#: administrator/components/com_trash/admin.trash.html.php:61 +#: administrator/components/com_trash/admin.trash.html.php:65 +msgid "Content Items" +msgstr "Itens de Conteúdo" + +#: administrator/components/com_trash/admin.trash.html.php:80 +msgid "Section" +msgstr "Seção" + +#: administrator/components/com_trash/admin.trash.html.php:138 +#: administrator/components/com_trash/admin.trash.html.php:142 +msgid "Menu Items" +msgstr "Itens de Menu" + +#: administrator/components/com_trash/admin.trash.html.php:157 +msgid "Menu" +msgstr "Menu" + +#: administrator/components/com_trash/admin.trash.html.php:160 +msgid "Type" +msgstr "Tipo" + +#: administrator/components/com_trash/admin.trash.html.php:230 +msgid "Delete Items" +msgstr "Itens Apagados" + +#: administrator/components/com_trash/admin.trash.html.php:239 +#: administrator/components/com_trash/admin.trash.html.php:304 +msgid "Number of Items:" +msgstr "Número de Itens:" + +#: administrator/components/com_trash/admin.trash.html.php:245 +msgid "Items being Deleted:" +msgstr "Itens Removidos:" + +#: administrator/components/com_trash/admin.trash.html.php:256 +msgid "" +"This will Permanently Delete " +"
      these Items from the Database" +msgstr "" +"Isto pode Apagar Permanentemente
      estes itens da base de dados" + +#: administrator/components/com_trash/admin.trash.html.php:259 +msgid "" +"Are you sure you want to Deleted the listed items? \\nThis will Permanently " +"Delete them from the database." +msgstr "" +"Você tem certeza que deseja apagar os itens listados? \\nIsto irá Apagá-los " +"Permanentemente da base de dados." + +#: administrator/components/com_trash/admin.trash.html.php:260 +#: administrator/components/com_trash/admin.trash.html.php:261 +#: administrator/components/com_trash/toolbar.trash.html.php:23 +msgid "Delete" +msgstr "Apaado" + +#: administrator/components/com_trash/admin.trash.html.php:295 +msgid "Restore Items" +msgstr "Itens Restaurados" + +#: administrator/components/com_trash/admin.trash.html.php:310 +msgid "Items being Restored:" +msgstr "Itens para Restaurar:" + +#: administrator/components/com_trash/admin.trash.html.php:321 +msgid "" +"This will Restore these " +"Items,
      they will be returned to their orignial places as Unpublished " +"items" +msgstr "" +"Isto irá Restaurar estes " +"itens,
      que irão retornar para seus locais originais como itens não " +"publicados" + +#: administrator/components/com_trash/admin.trash.html.php:324 +msgid "Are you sure you want to Restore the listed items?." +msgstr "Você tem certeza que deseja restaurar estes itens?" + +#: administrator/components/com_trash/admin.trash.html.php:325 +#: administrator/components/com_trash/admin.trash.html.php:326 +#: administrator/components/com_trash/toolbar.trash.html.php:21 +msgid "Restore" +msgstr "Restaurar" + +#: administrator/components/com_trash/admin.trash.php:182 +#, php-format +msgid "%s Item successfully Deleted" +msgid_plural "%s Items successfully Deleted" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/admin.trash.php:256 +#, php-format +msgid "%s Item successfully Restored" +msgid_plural "%s Items successfully Restored" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/trash.xml +msgid "This component manages the Trash functionality." +msgstr "Este componente gerencia a funcionalidade de lixeira." + +#: administrator/components/com_trash/trash.xml +msgid "Trash" +msgstr "Lixeira" + +#: administrator/components/com_templates/admin.templates.html.php:42 +msgid "No preview available" +msgstr "Sem pré-visualização disponível" + +#: administrator/components/com_templates/admin.templates.html.php:55 +msgid "Site" +msgstr "Site" + +#: administrator/components/com_templates/admin.templates.html.php:55 +msgid "Template Manager" +msgstr "Gerenciador de Templates" + +#: administrator/components/com_templates/admin.templates.html.php:58 +msgid "Preview Template" +msgstr "Pré-visualização de Template" + +#: administrator/components/com_templates/admin.templates.html.php:76 +#: administrator/components/com_templates/admin.templates.html.php:82 +#: administrator/components/com_templates/admin.templates.html.php:153 +#: administrator/components/com_templates/toolbar.templates.html.php:22 +msgid "Default" +msgstr "Padrão" + +#: administrator/components/com_templates/admin.templates.html.php:85 +#: administrator/components/com_templates/admin.templates.html.php:166 +msgid "Assigned" +msgstr "Atrelada" + +#: administrator/components/com_templates/admin.templates.html.php:100 +msgid "Author URL" +msgstr "URl do Autor" + +#: administrator/components/com_templates/admin.templates.html.php:223 +msgid "Template HTML Editor" +msgstr "Editor HTML de Template" + +#: administrator/components/com_templates/admin.templates.html.php:226 +#: administrator/components/com_templates/admin.templates.html.php:280 +msgid "Unwriteable" +msgstr "Somente Leitura" + +#: administrator/components/com_templates/admin.templates.html.php:226 +#: administrator/components/com_templates/admin.templates.html.php:280 +msgid "Writeable" +msgstr "Escrita" + +#: administrator/components/com_templates/admin.templates.html.php:235 +#: administrator/components/com_templates/admin.templates.html.php:289 +msgid "Make unwriteable after saving" +msgstr "Configure como somente leitura depois de salvar" + +#: administrator/components/com_templates/admin.templates.html.php:242 +#: administrator/components/com_templates/admin.templates.html.php:296 +msgid "Override write protection while saving" +msgstr "Sobrescreva proteção de escrita quando salvar" + +#: administrator/components/com_templates/admin.templates.html.php:277 +msgid "Template CSS Editor" +msgstr "Editor CSS de Template" + +#: administrator/components/com_templates/admin.templates.html.php:328 +#, php-format +msgid "Assign template %s to menu items" +msgstr "Atrelar template %s para os itens de menu" + +#: administrator/components/com_templates/admin.templates.html.php:333 +msgid "Page(s):" +msgstr "Página(s):" + +#: administrator/components/com_templates/admin.templates.html.php:361 +msgid "Module Positions" +msgstr "Posição de Módulos" + +#: administrator/components/com_templates/admin.templates.html.php:375 +msgid "Position" +msgstr "Posição" + +#: administrator/components/com_templates/admin.templates.php:229 +msgid "You can not delete template in use." +msgstr "Você não pode recomer uma template em uso." + +#: administrator/components/com_templates/admin.templates.php:256 +#: administrator/components/com_templates/admin.templates.php:321 +#, php-format +msgid "Operation Failed: Could not open %s" +msgstr "Operação Falhou: Não é possível abrir %s" + +#: administrator/components/com_templates/admin.templates.php:268 +#: administrator/components/com_templates/admin.templates.php:332 +msgid "Operation failed: No template specified." +msgstr "Operação Falhou: Nenhuma template informada." + +#: administrator/components/com_templates/admin.templates.php:271 +#: administrator/components/com_templates/admin.templates.php:336 +msgid "Operation failed: Content empty." +msgstr "Operação Falhou: Conteúdo vazio." + +#: administrator/components/com_templates/admin.templates.php:286 +#, php-format +msgid "Operation failed: %s is not writable." +msgstr "Operação Falhou: %s não permite escrita." + +#: administrator/components/com_templates/admin.templates.php:301 +#: administrator/components/com_templates/admin.templates.php:366 +msgid "Operation failed: Failed to open file for writing." +msgstr "Operação Falhou: Falha em abrir o arquivo para escrita." + +#: administrator/components/com_templates/admin.templates.php:351 +msgid "Operation failed: The file is not writable." +msgstr "Operação Falhou: O arquivo não permite escrita." + +#: administrator/components/com_templates/admin.templates.php:448 +msgid "Positions saved" +msgstr "Posições salvas" + +#: administrator/components/com_templates/toolbar.templates.html.php:69 +msgid "Save" +msgstr "Salvar" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:28 +msgid "Syndication Settings" +msgstr "Configurações da Sindicalização" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:51 +msgid "Manage Syndication Settings" +msgstr "Gerenciar Configurações da Sindicalização" + +#: administrator/components/com_syndicate/admin.syndicate.php:95 +msgid "Settings successfully Saved" +msgstr "Configurações salvas com sucesso" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "# Items" +msgstr "# Itens" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "ATOM 0.3" +msgstr "ATOM 0.3" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Activate support for Firefox Live Bookmarks functionality" +msgstr "Ativar suporte para funcionalidade de Live Bookmarks do Firefox" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Alt text for image" +msgstr "Texto ALT para imagem" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Author Alphabetical" +msgstr "Autor em ordem alfabética" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Author Reverse-Alphabetical" +msgstr "Autor em ordem alfabética reversa" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Bookmark file" +msgstr "Arquivo de Favoritos" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache" +msgstr "Cache" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache Time" +msgstr "Tempo de Cache" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache file will refresh every x seconds" +msgstr "Recarregar arquivo do cache a casa X segundos" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache the feed files" +msgstr "Fazer cache dos arquivos de feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Frontpage Ordering" +msgstr "Ordem na Página Principal" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image Alt" +msgstr "ALT da Imagem" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image to be included in feed" +msgstr "Imagem para ser incluída no feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Least Hits" +msgstr "Menos Vistos" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit Text" +msgstr "Limite de Texto" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit the article text to the value indicated below" +msgstr "Limite o texto do artigo para o valor indicado abaixo" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Live Bookmarks" +msgstr "Live Bookmarks" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Most Hits" +msgstr "Mais Vistos" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Most recent first" +msgstr "Mais recentes primeiro" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "No" +msgstr "Não" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Number of Items to syndicate" +msgstr "Número de Itens a Sindicalizar" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Off" +msgstr "Desligado" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Oldest first" +msgstr "Mais antigos primeiro" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Order that the items will be displayed" +msgstr "Ordem em que os itens deve ser mostrados" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 0.91" +msgstr "RSS 0.91" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 1.0" +msgstr "RSS 1.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 2.0" +msgstr "RSS 2.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Special file name, if empty the default will be used." +msgstr "Nome de arquivo especial. Se vazio o padrão será usado." + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndicate" +msgstr "Sindicalizar" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Description" +msgstr "Descrição" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Title" +msgstr "Título do Link" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Text Length" +msgstr "Tamanho do Texto" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "The word length of the article text - 0 will show no text" +msgstr "O tamanho da palavra do texto do artigo - 0 para não mostrar o texto" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "This component controls the Syndication settings" +msgstr "Este componente controla as configurações de Sindicalização" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Title Alphabetical" +msgstr "Título Alfabético" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Title Reverse-Alphabetical" +msgstr "Título em ordem alfabética reversa" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Yes" +msgstr "Sim" + +#: administrator/components/com_statistics/admin.statistics.html.php:35 +msgid "Browser, OS, Domain Statistics" +msgstr "Navegador, SO, Estatísticas de Domínios" + +#: administrator/components/com_statistics/admin.statistics.html.php:41 +msgid "Browsers" +msgstr "Navegadores" + +#: administrator/components/com_statistics/admin.statistics.html.php:45 +msgid "Browser" +msgstr "Navegador" + +#: administrator/components/com_statistics/admin.statistics.html.php:84 +msgid "OS Stats" +msgstr "Stats de SO" + +#: administrator/components/com_statistics/admin.statistics.html.php:88 +msgid "Operating System" +msgstr "Sistema Operacional" + +#: administrator/components/com_statistics/admin.statistics.html.php:127 +msgid "Domain Stats" +msgstr "Stats de Domínios" + +#: administrator/components/com_statistics/admin.statistics.html.php:131 +msgid "Domain" +msgstr "Domínio" + +#: administrator/components/com_statistics/admin.statistics.html.php:182 +msgid "Page Impression Statistics" +msgstr "Estatísticas de Visualizações de Páginas" + +#: administrator/components/com_statistics/admin.statistics.html.php:191 +msgid "Page Impressions" +msgstr "Visualizações de Páginas" + +#: administrator/components/com_statistics/admin.statistics.html.php:228 +msgid "Search Engine Text :" +msgstr "Texto de Ferramenta de Busca:" + +#: administrator/components/com_statistics/admin.statistics.html.php:229 +msgid "logging is :" +msgstr "Login é:" + +#: administrator/components/com_statistics/admin.statistics.html.php:230 +msgid "Disabled" +msgstr "Desabilitado" + +#: administrator/components/com_statistics/admin.statistics.html.php:239 +msgid "Search Text" +msgstr "Texto de Busca" + +#: administrator/components/com_statistics/admin.statistics.html.php:240 +msgid "Times Requested" +msgstr "Vezes Solicitadas" + +#: administrator/components/com_statistics/admin.statistics.html.php:241 +msgid "Results Returned" +msgstr "Resultados Retornados" + +#: administrator/components/com_sections/admin.sections.html.php:33 +msgid "Section Manager" +msgstr "Gerenciador de Seções" + +#: administrator/components/com_sections/admin.sections.html.php:47 +msgid "Section Name" +msgstr "Nome da Seção" + +#: administrator/components/com_sections/admin.sections.html.php:65 +msgid "Section ID" +msgstr "ID da Seção" + +#: administrator/components/com_sections/admin.sections.html.php:68 +msgid "# Categories" +msgstr "# Categorias" + +#: administrator/components/com_sections/admin.sections.html.php:71 +msgid "# Active" +msgstr "# Ativas" + +#: administrator/components/com_sections/admin.sections.html.php:74 +msgid "# Trash" +msgstr "# Lixo" + +#: administrator/components/com_sections/admin.sections.html.php:175 +msgid "New Section" +msgstr "Nova Seção" + +#: administrator/components/com_sections/admin.sections.html.php:194 +msgid "Please select a menu type" +msgstr "Por favor selecione um tipo de menu" + +#: administrator/components/com_sections/admin.sections.html.php:203 +msgid "Section must have a name" +msgstr "Seção deve ter um nome" + +#: administrator/components/com_sections/admin.sections.html.php:205 +msgid "Section must have a title" +msgstr "Seção deve ter um título" + +#: administrator/components/com_sections/admin.sections.html.php:281 +msgid "Section Details" +msgstr "Detalhes da Seção" + +#: administrator/components/com_sections/admin.sections.html.php:286 +msgid "Scope:" +msgstr "Escopo:" + +#: administrator/components/com_sections/admin.sections.html.php:299 +msgid "A short name to appear in menus" +msgstr "Um nome pequeno que irá aparecer nos menus" + +#: administrator/components/com_sections/admin.sections.html.php:307 +msgid "A long name to be displayed in headings" +msgstr "Um nome longo para ser mostrado nos cabeçalhos" + +#: administrator/components/com_sections/admin.sections.html.php:312 +msgid "Image:" +msgstr "Imagem:" + +#: administrator/components/com_sections/admin.sections.html.php:324 +msgid "Preview" +msgstr "Pré-Visualização" + +#: administrator/components/com_sections/admin.sections.html.php:329 +msgid "Image Position:" +msgstr "Posição da Imagem:" + +#: administrator/components/com_sections/admin.sections.html.php:387 +msgid "This will create a new menu item in the menu you select" +msgstr "Isto criará um novo item de menu no menu selecionado" + +#: administrator/components/com_sections/admin.sections.html.php:401 +msgid "Select Menu Type" +msgstr "Selecione o Tipo de Menu" + +#: administrator/components/com_sections/admin.sections.html.php:451 +msgid "Menu links available when saved" +msgstr "Links de Menu são visíveis depois de salvos" + +#: administrator/components/com_sections/admin.sections.html.php:489 +msgid "Copy Section" +msgstr "Copiar Seção" + +#: administrator/components/com_sections/admin.sections.html.php:499 +msgid "Copy to Section:" +msgstr "Copiar para a Seção:" + +#: administrator/components/com_sections/admin.sections.html.php:501 +msgid "The new Section name" +msgstr "O novo nome da Seção" + +#: administrator/components/com_sections/admin.sections.html.php:505 +msgid "Categories being copied:" +msgstr "Categorias a serem copiadas:" + +#: administrator/components/com_sections/admin.sections.html.php:517 +msgid "Content Items being copied:" +msgstr "Itens de Conteúdo a serem copiados:" + +#: administrator/components/com_sections/admin.sections.html.php:529 +msgid "" +"This will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the new Section created." +msgstr "" +"Isto irá copiar as Categorias listadas\n" +"\t\t\t
      \n" +"\t\t\te todos os itens dentro das categorias (também listados)\n" +"\t\t\t
      \n" +"\t\t\tpara a nova Seção criada." + +#: administrator/components/com_sections/admin.sections.php:189 +#, php-format +msgid "The section %s is currently being edited by another administrator" +msgstr "A seção %s está sendo editada por outro administrador" + +#: administrator/components/com_sections/admin.sections.php:207 +#: administrator/components/com_sections/admin.sections.php:624 +msgid "Section Table" +msgstr "Tabela de Seção" + +#: administrator/components/com_sections/admin.sections.php:211 +#: administrator/components/com_sections/admin.sections.php:231 +#: administrator/components/com_sections/admin.sections.php:629 +msgid "Section Blog" +msgstr "Blog de Seção" + +#: administrator/components/com_sections/admin.sections.php:215 +#: administrator/components/com_sections/admin.sections.php:634 +msgid "Section Blog Archive" +msgstr "Arquivo de Blog de Seção" + +#. build the html select list for section types +#: administrator/components/com_sections/admin.sections.php:229 +msgid "Select Type" +msgstr "Selecione o Tipo" + +#: administrator/components/com_sections/admin.sections.php:230 +msgid "Section List" +msgstr "Lista de Seção" + +#: administrator/components/com_sections/admin.sections.php:232 +msgid "Section Archive Blog" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:306 +msgid "Changes to Section saved" +msgstr "Alterações Salvas para a Seção" + +#: administrator/components/com_sections/admin.sections.php:312 +msgid "Section saved" +msgstr "Seção salva" + +#: administrator/components/com_sections/admin.sections.php:327 +msgid "Select a section to delete" +msgstr "Selecione uma seção para apagar" + +#: administrator/components/com_sections/admin.sections.php:365 +#, php-format +msgid "Sections(s): %s cannot be removed as they contain categories" +msgstr "Seção(ões): %s não podem ser removidas pois contém categorias" + +#: administrator/components/com_sections/admin.sections.php:370 +#, php-format +msgid "Section(s): %s successfully deleted" +msgstr "Seção(ões): %s apagadas com sucesso" + +#: administrator/components/com_sections/admin.sections.php:388 +msgid "Select a section to " +msgstr "Selecione uma seção para" + +#: administrator/components/com_sections/admin.sections.php:396 +msgid "Cannot Publish an Empty Section" +msgstr "Não é possível publicar uma seção vazia" + +#: administrator/components/com_sections/admin.sections.php:467 +msgid "Select an item to move" +msgstr "Selecione um item para mover" + +#: administrator/components/com_sections/admin.sections.php:585 +#, php-format +msgid "Section %s and all its Categories and Items have been copied as %s" +msgstr "" +"Seção %s, todas as suas Categorias e todos os Itens foram copiados para %s" + +#: administrator/components/com_sections/admin.sections.php:658 +#, php-format +msgid "%s ( %s ) in menu: %s successfully created" +msgstr "%s (%s) no menu: %s criado com sucesso" + +#: administrator/components/com_sections/toolbar.sections.html.php:66 +msgid "Copy" +msgstr "Copiar" + +#: administrator/components/com_search/search.xml +#: components/com_search/search.html.php:43 +#: components/com_search/search.php:35 components/com_search/search.php:41 +#: components/com_search/search.php:143 +msgid "Search" +msgstr "Procurar" + +#: administrator/components/com_search/search.xml +msgid "This component manages the Search functionality." +msgstr "Este componente gerencia a funcionalidade de pesquisa." + +#: components/com_search/search.html.php:37 +#: components/com_search/search.html.php:67 +msgid "Search Keyword" +msgstr "Termos de Busca" + +#: components/com_search/search.html.php:52 +msgid "Ordering" +msgstr "Ordenamento" + +#. number of matches found +#: components/com_search/search.html.php:98 +#, php-format +msgid "returned %d match" +msgid_plural "returned %d matches" +msgstr[0] "" +msgstr[1] "" + +#: components/com_search/search.php:55 +msgid "Newest first" +msgstr "Mais novos em primeiro" + +#: components/com_search/search.php:57 +msgid "Most popular" +msgstr "Mais populares" + +#: components/com_search/search.php:58 +msgid "Alphabetical" +msgstr "Alfabética" + +#: components/com_search/search.php:59 +msgid "Section/Category" +msgstr "Seção/Categoria" + +#: components/com_search/search.php:69 +msgid "Any words" +msgstr "Qualquer palavra" + +#: components/com_search/search.php:74 +msgid "All words" +msgstr "Todas as palavras" + +#: components/com_search/search.php:79 +msgid "Exact phrase" +msgstr "Palavra exata" + +#. html output +#. no matches found +#: components/com_search/search.php:91 +msgid "No results were found" +msgstr "Nenhum resultado foi encontrado" + +#: components/com_search/search.php:96 +msgid "One or more common words were ignored in the search" +msgstr "Uma ou mais palavras comuns foram ignoradas na sua pesquisa" + +#: components/com_registration/registration.html.php:23 +#: components/com_registration/registration.php:40 +msgid "Lost your Password?" +msgstr "Perdeu sua senha?" + +#: components/com_registration/registration.html.php:28 +#, php-format +msgid "" +"Please enter your Username and e-mail address then click on the Send " +"Password button.%s You will receive a new password shortly. Use the new " +"password to access the site." +msgstr "" +"Digite seu Nome de Usuário e endereço de e-mail e clique no botão Enviar " +"Senha. %s Você irá receber uma nova senha em breve. Use a nova senha para " +"acessar o site." + +#: components/com_registration/registration.html.php:35 +msgid "E-mail Address:" +msgstr "Endereço de E-mail:" + +#: components/com_registration/registration.html.php:40 +msgid "Send Password" +msgstr "Enviar Senha" + +#: components/com_registration/registration.html.php:66 +msgid "" +"Please enter a valid password -- more than 6 characters with no spaces and " +"containing only the characters 0-9, a-z, or A-Z" +msgstr "" +"Por favor digite uma senha válida. Sem espaços, mais que 6 caracteres e " +"contendo somente caracteres dos conjuntos 0-9,a-z, or A-Z" + +#: components/com_registration/registration.html.php:68 +msgid "Please verify the password." +msgstr "Por favor verifique sua senha." + +#: components/com_registration/registration.html.php:80 +#: components/com_registration/registration.php:109 +msgid "Registration" +msgstr "Registro" + +#: components/com_registration/registration.html.php:85 +msgid "Fields marked with an asterisk (*) are required." +msgstr "Campos marcados com asterisco (*) são de preenchimento obrigatórios." + +#: components/com_registration/registration.html.php:98 +msgid "E-mail:" +msgstr "E-mail:" + +#: components/com_registration/registration.html.php:126 +msgid "Send Registration" +msgstr "Enviar Registro" + +#: components/com_registration/registration.php:62 +msgid "Sorry, no corresponding user was found" +msgstr "Nenhum usuário correspondente foi encontrado" + +#: components/com_registration/registration.php:74 +#, php-format +msgid "" +"The user account %s has this email associated with it.\n" +"\n" +"A web user from %s has just requested that a new password be sent.\n" +"\n" +"\n" +"Your New Password is: %s\n" +"\n" +"\n" +"If you didn't ask for this, don't worry. You are seeing this message, not " +"them. \n" +"If this was an error just login with your new password and then change your " +"password to what you would like it to be." +msgstr "" +"A conta de usuário %s está associada neste e-mail.\n" +"\n" +"Um usuário web de %s requisitou que uma nova senha fosse enviada.\n" +"\n" +"\n" +"Sua nova senha é: %s\n" +"\n" +"\n" +"Se você não solicitou isso, não se preocupe. \n" +"Se foi um erro, autentique-se no site com a nova senha e altere-a para uma " +"que deseja." + +#. eval ("\$message = \"$message\";"); +#: components/com_registration/registration.php:81 +#, php-format +msgid "%s :: New password for - %s" +msgstr "%s :: Nova senha para - %s" + +#: components/com_registration/registration.php:97 +msgid "New User Password created and sent!" +msgstr "Nova senha criada e enviada!" + +#. Send notification to all administrators +#: components/com_registration/registration.php:160 +#: components/com_registration/registration.php:208 +#, php-format +msgid "Account details for %s at %s" +msgstr "Detalhes da conta de %s em %s" + +#: components/com_registration/registration.php:165 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s. Your account has been created but, as a " +"precaution, it must be activated by you before you can use it.\n" +"To activate the account click on the following link or copy and paste it in " +"your browser:\n" +"%s\n" +"\n" +"After activation you may login to %s using the following username and " +"password:\n" +"\n" +"Username - %s\n" +"Password - %s" +msgstr "" +"Olá %s,\n" +"\n" +"Obrigado pelo seu registro em %s. Sua conta foi criada mas como precaução " +"precisa ser ativada antes de usá-la.\n" +"Para ativar sua conta, clique no link a seguir ou cipie-o e cole no seu " +"navegador:\n" +"%s\n" +"\n" +"Depois da ativação voc6e pode se autenticar em %s usando os senguintes nome " +"de usuário e senha:\n" +"\n" +"Nome de Usuário - %s\n" +"Senha - %s" + +#: components/com_registration/registration.php:180 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s.\n" +"\n" +"You may now login to %s using the username and password you registered with." +msgstr "" +"Olá %s,\n" +"\n" +"Obrigado pelo seu registro em %s.\n" +"\n" +"Agora você pode se autenticar em %s usando o nome de usuário e senha que " +"você escolheu no registro." + +#: components/com_registration/registration.php:209 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"A new user has registered at %s.\n" +"This email contains their details:\n" +"\n" +"Name - %s\n" +"e-mail - %s\n" +"Username - %s\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"Olá %s,\n" +"\n" +"Um novo usuário se registrou em %s.\n" +"Este e-mail contém seus detalhes:\n" +"\n" +"Nome - %s\n" +"E-mail - %s\n" +"Nome de Usuário - %s\n" +"\n" +"Por favor não responda este mensagem. Ela foi gerada automaticamente somente " +"com caráter informativo." + +#: components/com_registration/registration.php:239 +#: components/com_registration/registration.php:242 +msgid "Registration Complete" +msgstr "Registro Completo" + +#: components/com_registration/registration.php:240 +msgid "" +"Your account has been created and an activation link has been sent to the e-" +"mail address you entered. Note that you must activate the account by " +"clicking on the activation link before you can login." +msgstr "" +"Sua conta foi criada e um link de ativação foi enviado para o endereço de e-" +"mail informado por você. Note que você deve ativar sua conta clicando neste " +"link de ativação antes de voc6e se registrar no site." + +#: components/com_registration/registration.php:243 +msgid "You may now login." +msgstr "Agora você pode se autenticar." + +#: components/com_registration/registration.php:261 +#: components/com_registration/registration.php:282 +msgid "Invalid Activation Link!" +msgstr "Link de Ativação Inválido!" + +#: components/com_registration/registration.php:262 +#: components/com_registration/registration.php:283 +msgid "" +"There is no such account in our database or the account has already been " +"activated." +msgstr "Não existe esta conta em nosso banco de dados ou ela já foi ativada." + +#: components/com_registration/registration.php:275 +msgid "Activation Complete!" +msgstr "Ativação Completa!" + +#: components/com_registration/registration.php:276 +msgid "" +"Your account has been activated successfully. You can now login using the " +"username and password you chose during registration." +msgstr "" +"Sua conta foi ativada com sucesso. Agora você pode fazer seu login usando o " +"nome de usuário e senha que você escolheu durante o registro." + +#: administrator/components/com_poll/admin.poll.html.php:28 +msgid "Poll Manager" +msgstr "Gerenciador de Enquetes" + +#: administrator/components/com_poll/admin.poll.html.php:41 +msgid "Poll Title" +msgstr "Título da Enquete" + +#: administrator/components/com_poll/admin.poll.html.php:47 +msgid "Options" +msgstr "Opções" + +#: administrator/components/com_poll/admin.poll.html.php:50 +msgid "Lag" +msgstr "Lag" + +#: administrator/components/com_poll/admin.poll.html.php:74 +msgid "Edit Poll" +msgstr "Editar Enquete" + +#: administrator/components/com_poll/admin.poll.html.php:118 +msgid "Poll must have a title" +msgstr "A enquete deve ter um nome" + +#: administrator/components/com_poll/admin.poll.html.php:120 +msgid "Poll must have a non-zero lag time" +msgstr "A enquete deve ter um valor diferente de zero para o tempo de lag" + +#: administrator/components/com_poll/admin.poll.html.php:134 +msgid "Poll:" +msgstr "Enquete:" + +#: administrator/components/com_poll/admin.poll.html.php:159 +msgid "Show on menu items:" +msgstr "Mostrar nos itens de menu:" + +#: administrator/components/com_poll/admin.poll.html.php:166 +msgid "Lag:" +msgstr "Lag:" + +#: administrator/components/com_poll/admin.poll.html.php:175 +msgid "Options:" +msgstr "Opções" + +#: administrator/components/com_poll/admin.poll.php:106 +#, php-format +msgid "The poll %s is currently being edited by another administrator." +msgstr "A enquete %s está sendo editada por outro admnistrador" + +#: administrator/components/com_poll/poll.class.php:44 +msgid "Your Poll must contain a title." +msgstr "Sua Enquete deve conter um título." + +#: administrator/components/com_poll/poll.class.php:50 +#, fuzzy +msgid "Your Poll must have a non-zero lag time." +msgstr "Sua Enquete não " + +#: administrator/components/com_poll/poll.class.php:59 +msgid "There is a module already with that name, please try again." +msgstr "Existe um outro módulo com este nome. Por favor, tente novamente." + +#: administrator/components/com_poll/poll.xml +msgid "Poll" +msgstr "Enquete" + +#: administrator/components/com_poll/poll.xml +msgid "This component shows Polls/Surveys" +msgstr "Este componente mostra Enquete/Pesquisas" + +#: components/com_poll/poll.html.php:51 +msgid "Select Poll:" +msgstr "Selecionar Enquete:" + +#: components/com_poll/poll.html.php:83 +msgid "There are no results for this poll." +msgstr "Não existem resultados para esta enquete." + +#: components/com_poll/poll.html.php:193 +msgid "Number of Voters" +msgstr "Número de Votos" + +#: components/com_poll/poll.html.php:202 +msgid "First Vote" +msgstr "Primeiro Voto" + +#: components/com_poll/poll.html.php:211 +msgid "Last Vote" +msgstr "Último Voto" + +#: components/com_poll/poll.php:48 +msgid "Cookies must be enabled!" +msgstr "Cookies devem estar habilitados!" + +#: components/com_poll/poll.php:49 components/com_poll/poll.php:56 +#: components/com_poll/poll.php:65 components/com_poll/poll.php:72 +msgid "Continue" +msgstr "Continuar" + +#: components/com_poll/poll.php:64 +msgid "You already voted for this poll today!" +msgstr "Você já votou nesta enquete hoje!" + +#: components/com_poll/poll.php:71 +msgid "No selection has been made, please try again" +msgstr "Nenhuma seleção foi feita. Tente novamente" + +#: components/com_poll/poll.php:93 components/com_poll/poll.php:95 +msgid "Thanks for your vote!" +msgstr "Obrigado pelo seu voto!" + +#: components/com_poll/poll.php:97 +msgid "Results" +msgstr "Resultados" + +#: components/com_poll/poll.php:112 components/com_poll/poll.php:154 +msgid "Select Poll from the list" +msgstr "Selecionar Enquete da lista" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:29 +msgid "Newsfeed Manager" +msgstr "Gerenciador de Feeds de Notícias" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:46 +msgid "News Feed" +msgstr "Feeds de Notícias" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:58 +#: components/com_newsfeeds/newsfeeds.html.php:107 +msgid "# Articles" +msgstr "# Artigos" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:61 +msgid "Cache time" +msgstr "Tempo de Cache" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:91 +msgid "Checked Out" +msgstr "Verificado" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:95 +msgid "Edit Newsfeed" +msgstr "Editar Feed de Notícias" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:154 +msgid "Please fill in the newsfeed name." +msgstr "Por favor preencha o nome do feed." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:156 +msgid "Please select a Category." +msgstr "Por favor selecione uma categoria" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:158 +msgid "Please fill in the newsfeed link." +msgstr "Por favor preencha o link do feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:160 +msgid "Please select a category." +msgstr "Por favor selecione uma categoria" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:162 +msgid "Please fill in the number of articles to display." +msgstr "Por favor preencha o número de artigos para mostrar" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:164 +msgid "Please fill in the cache refresh time." +msgstr "Por favor preencha o tempo de atualização" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:175 +msgid "Newsfeed:" +msgstr "Feed de Notícias:" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:204 +msgid "Link" +msgstr "Link" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:212 +msgid "Number of Articles" +msgstr "Número de Artigos" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:220 +msgid "Cache time (in seconds)" +msgstr "Tempo de Cache (em segundos)" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:203 +#, php-format +msgid "Select a module to %s" +msgstr "Selecione um módulo para %s" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Articles Column" +msgstr "# Coluna de Artigos" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Category Items" +msgstr "# Itens da Categoria" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Allows you to limit the amount of visible item description text. 0 will show " +"all the text" +msgstr "" +"Permite você limitar a quantidade de texto de descrição visível. 0 mostra " +"todo o texto." + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category Description" +msgstr "Descrição da Categoria" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description for page" +msgstr "Descrição para a Página" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Description" +msgstr "Descrição do Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Image" +msgstr "Imagem do Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Item Description" +msgstr "Descrição do Item" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Link Column" +msgstr "Coluna do Link" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Name Column" +msgstr "Nome da Coluna" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Newsfeeds" +msgstr "Feeds de Notícias" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the # of articles in the feed" +msgstr "Mostrar/Esconder o N. de artigos no feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Description for the list of other catgeories" +msgstr "Mostrar/Esconder a descrição para a lista de outras categorias" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Link column" +msgstr "Mostrar/Esconder a coluna de link do feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Name column" +msgstr "Mostrar/Esconder a coluna de nome do feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description or intro text of an item" +msgstr "Mostrar/Esconder a descrição ou texto de introdução de um item" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description text of the feed" +msgstr "Mostrar/Esconder a descrição do texto do feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the image of the feed" +msgstr "Mostrar/Esconder a imagem do feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the number of items in each category" +msgstr "Mostrar/Esconder o número de itens em cada categoria" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "This component manages RSS/RDF newsfeeds" +msgstr "Este componente gerencia feeds de notícias RSS/RDF" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Word Count" +msgstr "Contar Palavras" + +#: components/com_newsfeeds/newsfeeds.html.php:98 +msgid "Feed Name" +msgstr "Nome do Feed" + +#: components/com_newsfeeds/newsfeeds.html.php:116 +msgid "Feed Link" +msgstr "Link do Feed" + +#: administrator/components/com_mostlydbadmin/mostlydbadmin.xml +msgid "" +"

      MOStlyDBAdmin is used for easy back up/restore of your database.

      " +"It is a revival \r\n" +"\tof the dbadmin component for use in the Mambo 4.6+ core. The dbadmin \r\n" +"\tcomponent stopped working with Mambo 4.5.3h and development appears to " +"have ceased.

      \n" +msgstr "" + +#: administrator/components/com_mostlydbadmin/mostlydbadmin.xml +msgid "MOStlyDBAdmin" +msgstr "" + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "" +"

      Admin component for the MOStlyCE Editor mambot.

      Please refer to the " +"changelog and other information in the 'Admin Info' tab in the Admin " +"component. 

      " +msgstr "" +"

      Componente administrativo para o mambot do Editor MOStlyCE.

      Por " +"favor veja o changelog e outras informações na tab 'Info Admin' no " +"administrador do componente. 

      " + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "mostlyce" +msgstr "mostlyce" + +#: administrator/components/com_modules/admin.modules.html.php:34 +msgid "Module Manager" +msgstr "Gerenciador de Módulos" + +#: administrator/components/com_modules/admin.modules.html.php:60 +msgid "Module Name" +msgstr "Nome do Módulo" + +#: administrator/components/com_modules/admin.modules.html.php:87 +msgid "Pages" +msgstr "Páginas" + +#: administrator/components/com_modules/admin.modules.html.php:156 +msgid "Varies" +msgstr "Várias" + +#: administrator/components/com_modules/admin.modules.html.php:158 +msgid "All" +msgstr "Todas" + +#: administrator/components/com_modules/admin.modules.html.php:166 +msgid "User" +msgstr "Usuário" + +#: administrator/components/com_modules/admin.modules.html.php:213 +msgid "Module must have a title" +msgstr "Módulo deve ter um título" + +#: administrator/components/com_modules/admin.modules.html.php:239 +msgid "Module:" +msgstr "Módulo:" + +#: administrator/components/com_modules/admin.modules.html.php:270 +msgid "Show title:" +msgstr "Mostrar título:" + +#: administrator/components/com_modules/admin.modules.html.php:286 +msgid "Module Order:" +msgstr "Ordem do Módulo:" + +#: administrator/components/com_modules/admin.modules.html.php:318 +msgid "ID:" +msgstr "ID:" + +#: administrator/components/com_modules/admin.modules.html.php:351 +msgid "Pages / Items" +msgstr "Páginas / Itens" + +#: administrator/components/com_modules/admin.modules.html.php:356 +msgid "Menu Item Link(s):" +msgstr "Link(s) de Itens de Menu:" + +#: administrator/components/com_modules/admin.modules.html.php:372 +msgid "Custom Output" +msgstr "Saída Customizada" + +#: administrator/components/com_modules/admin.modules.html.php:377 +msgid "Content:" +msgstr "Conteúdo:" + +#: administrator/components/com_modules/admin.modules.php:149 +msgid "- All Positions -" +msgstr "- Todas as Posições -" + +#: administrator/components/com_modules/admin.modules.php:161 +msgid "- All Types -" +msgstr "- Todos os Tipos -" + +#: administrator/components/com_modules/admin.modules.php:211 +#, php-format +msgid "Module Copied [%s]" +msgstr "Módulo Copiado [%s]" + +#: administrator/components/com_modules/admin.modules.php:268 +#, php-format +msgid "Successfully Saved changes to Module: %s" +msgstr "Alterações do Módulo Salvas com Sucesso: %s" + +#: administrator/components/com_modules/admin.modules.php:274 +#, php-format +msgid "Successfully Saved Module: %s" +msgstr "Módulo Salvo com Sucesso: %s" + +#: administrator/components/com_modules/admin.modules.php:295 +#, php-format +msgid "The module %s is currently being edited by another administrator" +msgstr "O módulo %s está sendo editado por outro administrador" + +#: administrator/components/com_modules/admin.modules.php:377 +#: administrator/components/com_modules/admin.modules.php:378 +#: administrator/components/com_modules/admin.modules.php:381 +#: administrator/components/com_modules/admin.modules.php:382 +msgid "N/A" +msgstr "N/A" + +#: administrator/components/com_modules/admin.modules.php:417 +msgid "Select a module to delete" +msgstr "Selecione um módulo para apagar" + +#: administrator/components/com_modules/admin.modules.php:440 +msgid "" +"You cannot delete mod_mainmenu module that displays the \"mainmenu\" as it " +"is a core Menu" +msgstr "" +"Você não pode apagar o módulo mod_mainmenu que mostra o \"mainmenu\" como um " +"menu do núcleo do sistema" + +#: administrator/components/com_modules/admin.modules.php:466 +#, php-format +msgid "" +"Module(s): \"%s\" cannot be deleted they can only be un-installed as they " +"are Mambo modules." +msgstr "" +"Módulo(s): \"%s\" não podem ser apagados mas somente desinstalados pois são " +"módulos do Mambo." + +#: administrator/components/com_modules/toolbar.modules.html.php:41 +msgid "You can only preview typed modules." +msgstr "Você só pode pré-visualizar módulos." + +#: administrator/components/com_messages/admin.messages.html.php:24 +msgid "Private Messaging" +msgstr "Mensagens Privadas" + +#: administrator/components/com_messages/admin.messages.html.php:25 +msgid "Search:" +msgstr "Procurar:" + +#: administrator/components/com_messages/admin.messages.html.php:35 +msgid "Subject" +msgstr "Assunto" + +#: administrator/components/com_messages/admin.messages.html.php:36 +msgid "From" +msgstr "De" + +#: administrator/components/com_messages/admin.messages.html.php:39 +#: administrator/components/com_messages/admin.messages.html.php:55 +msgid "Read" +msgstr "Lido" + +#: administrator/components/com_messages/admin.messages.html.php:57 +msgid "Unread" +msgstr "Não Lido" + +#: administrator/components/com_messages/admin.messages.html.php:77 +msgid "Private Messaging Configuration" +msgstr "Configuração de Mensagens Privadas" + +#: administrator/components/com_messages/admin.messages.html.php:82 +msgid "General" +msgstr "Geral" + +#: administrator/components/com_messages/admin.messages.html.php:89 +msgid "Are you sure?" +msgstr "Você tem certeza?" + +#: administrator/components/com_messages/admin.messages.html.php:101 +msgid "Lock Inbox:" +msgstr "Travar Caixa:" + +#: administrator/components/com_messages/admin.messages.html.php:105 +msgid "Mail me on new Message:" +msgstr "Me informe sobre novas mensagens:" + +#: administrator/components/com_messages/admin.messages.html.php:123 +msgid "View Private Message" +msgstr "Ver Mensagens Privadas" + +#: administrator/components/com_messages/admin.messages.html.php:130 +msgid "From:" +msgstr "De:" + +#: administrator/components/com_messages/admin.messages.html.php:134 +msgid "Posted:" +msgstr "Postado:" + +#: administrator/components/com_messages/admin.messages.html.php:138 +#: administrator/components/com_messages/admin.messages.html.php:193 +msgid "Subject:" +msgstr "Assunto:" + +#: administrator/components/com_messages/admin.messages.html.php:142 +#: administrator/components/com_messages/admin.messages.html.php:199 +msgid "Message:" +msgstr "Mensagem:" + +#: administrator/components/com_messages/admin.messages.html.php:169 +msgid "You must provide a subject." +msgstr "Você deve fornecer um assunto." + +#: administrator/components/com_messages/admin.messages.html.php:171 +msgid "You must provide a message." +msgstr "Você deve escrever uma mensagem." + +#: administrator/components/com_messages/admin.messages.html.php:173 +msgid "You must select a recipient." +msgstr "Você deve selecionar um destinatário." + +#: administrator/components/com_messages/admin.messages.html.php:182 +msgid "New Private Message" +msgstr "Nova Mensagem Privada" + +#: administrator/components/com_messages/admin.messages.html.php:189 +msgid "To:" +msgstr "Para:" + +#: administrator/components/com_messages/toolbar.messages.html.php:21 +msgid "Reply" +msgstr "Responder" + +#: administrator/components/com_messages/toolbar.messages.html.php:31 +msgid "Send" +msgstr "Enviar" + +#: components/com_messages/messages.class.php:76 +#: components/com_messages/messages.class.php:77 +msgid "A new private message has arrived" +msgstr "Uma nova mensagem privada foi recebida" + +#: components/com_messages/messages.class.php:84 +msgid "The user has locked their mailbox. Message failed." +msgstr "O usuário travou sua caixa de mensagens. Envio falhou." + +#: administrator/components/com_menus/admin.menus.html.php:29 +#, php-format +msgid "Menu Manager [ %s ]" +msgstr "Gerenciador de Menu [ %s ]" + +#: administrator/components/com_menus/admin.menus.html.php:32 +msgid "Max Levels" +msgstr "Níveis Máximos" + +#: administrator/components/com_menus/admin.menus.html.php:49 +msgid "" +"You cannot `delete` this menu as it is required for the proper operation of " +"Mambo" +msgstr "" +"Você não pode `remover` este menu. Ele é necessário para a operação do Mambo" + +#: administrator/components/com_menus/admin.menus.html.php:52 +msgid "" +"The 1st Published item in this menu [mainmenu] is the default `Homepage` for " +"the site" +msgstr "O primeiro item deste menu [mainmenu] é a página principal do site" + +#: administrator/components/com_menus/admin.menus.html.php:70 +msgid "Menu Item" +msgstr "Item de Menu" + +#: administrator/components/com_menus/admin.menus.html.php:88 +msgid "Itemid" +msgstr "ID do Item" + +#: administrator/components/com_menus/admin.menus.html.php:94 +msgid "CID" +msgstr "CID" + +#: administrator/components/com_menus/admin.menus.html.php:184 +msgid "New Menu Item" +msgstr "Novo Item de Menu" + +#. echo _MENU_GROUP; +#: administrator/components/com_menus/admin.menus.html.php:203 +msgid "Content" +msgstr "Conteúdo" + +#: administrator/components/com_menus/admin.menus.html.php:235 +msgid "Miscellaneous" +msgstr "Miscelânea" + +#: administrator/components/com_menus/admin.menus.html.php:266 +msgid "" +"Note that some menu types appear in more that one grouping, but they are " +"still the same menu type." +msgstr "" +"Note que alguns tipos de menu aparecem em mais de um grupo, mas eles são os " +"mesmos tipos de menus." + +#: administrator/components/com_menus/admin.menus.html.php:270 +msgid "Components" +msgstr "Componentes" + +#: administrator/components/com_menus/admin.menus.html.php:359 +msgid "Move Menu Items" +msgstr "Mover Itens de Menu" + +#: administrator/components/com_menus/admin.menus.html.php:369 +msgid "Move to Menu:" +msgstr "Mover para Menu:" + +#: administrator/components/com_menus/admin.menus.html.php:376 +msgid "Menu Items being moved:" +msgstr "Itens de Menu a serem movidos:" + +#: administrator/components/com_menus/admin.menus.html.php:419 +msgid "Copy Menu Items" +msgstr "Copiar Itens de Menu" + +#: administrator/components/com_menus/admin.menus.html.php:430 +msgid "Copy to Menu:" +msgstr "Copiar para Menu:" + +#: administrator/components/com_menus/admin.menus.html.php:438 +msgid "Menu Items being copied:" +msgstr "Itens de Menu a serem copiados:" + +#. if +#: administrator/components/com_menus/admin.menus.php:614 +#, php-format +msgid "%d Menu Item moved to %s" +msgid_plural "%d Menu Items moved to %s" +msgstr[0] "" +msgstr[1] "" + +#. foreach +#: administrator/components/com_menus/admin.menus.php:684 +#, php-format +msgid "%d Menu Item Copied to %s" +msgid_plural "%d Menu Items Copied to %s" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:35 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:35 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:41 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:42 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:35 +#: administrator/components/com_menus/url/url.menu.html.php:38 +msgid "Link must have a name" +msgstr "Link deve ter um nome" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:37 +msgid "You must select a Component to link to" +msgstr "Você deve selecionar um componente para criar um link" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:48 +msgid "Menu Item :: Link - Component Item" +msgstr "Item de Menu :: Link - Item de Componente" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:72 +msgid "Component to Link:" +msgstr "Componente para Link:" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:79 +#: administrator/components/com_menus/components/components.menu.html.php:100 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:105 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:102 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:104 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:100 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:100 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:107 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:87 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:102 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:105 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:106 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:91 +msgid "Url:" +msgstr "URL:" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:86 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:88 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:94 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:88 +#: administrator/components/com_menus/url/url.menu.html.php:83 +msgid "On Click, Open in:" +msgstr "Quando clicar, abrir em:" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:94 +#: administrator/components/com_menus/components/components.menu.html.php:106 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:113 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:96 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:108 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:110 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:106 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:106 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:115 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:102 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:108 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:103 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:113 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:96 +#: administrator/components/com_menus/separator/separator.menu.html.php:68 +#: administrator/components/com_menus/url/url.menu.html.php:91 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:114 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:99 +msgid "Parent Item:" +msgstr "Item Pai:" + +#: administrator/components/com_menus/component_item_link/component_item_link.xml +msgid "Creates a link to an existing Mambo Component" +msgstr "Cria um link para um componente existente no Mambo" + +#: administrator/components/com_menus/component_item_link/component_item_link.xml +msgid "Link - Component Item" +msgstr "Link - Item de Componente" + +#: administrator/components/com_menus/components/components.class.php:35 +#, php-format +msgid "\"The module %s is currently being edited by another administrator" +msgstr "\"O Módulo %s está sendo editado por outro administrador" + +#: administrator/components/com_menus/components/components.menu.html.php:59 +msgid "Item must have a name" +msgstr "Item deve ter um nome" + +#: administrator/components/com_menus/components/components.menu.html.php:61 +msgid "Please select a Component" +msgstr "Por favor, selecione um componente" + +#: administrator/components/com_menus/components/components.menu.html.php:73 +#, php-format +msgid "Menu Item :: Component %s" +msgstr "Item de Menu :: Componente %s" + +#: administrator/components/com_menus/components/components.menu.html.php:94 +msgid "Component:" +msgstr "Componente:" + +#: administrator/components/com_menus/components/components.menu.html.php:149 +msgid "Parameter list will be available once you save this New menu item" +msgstr "" +"Lista de parâmetros estará disponível quando você salvar este item de menu" + +#: administrator/components/com_menus/components/components.xml +msgid "Component" +msgstr "Componente" + +#: administrator/components/com_menus/components/components.xml +msgid "Displays the frontend interface for a Component" +msgstr "Apresenta uma interface frontal para um componente" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:39 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:39 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:39 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:39 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:39 +msgid "You must select a category" +msgstr "Você deve selecionar uma categoria" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:53 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:55 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:56 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:40 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:49 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:40 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:49 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:55 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:52 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:53 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:53 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:35 +msgid "This Menu item must have a title" +msgstr "Este item de menu deve conter um título" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Contact Category" +msgstr "Item de Menu :: Tabela - Categoria de Contato" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:90 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:90 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:92 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:90 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:91 +msgid "If you leave this blank the Category name will be automatically used" +msgstr "" +"Se você deixar isto em braco, o nome da categoria será automaticamente " +"utilizado" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Email Column" +msgstr "Coluna E-mail" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Fax Column" +msgstr "Coluna Fax" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Other Categories" +msgstr "Outras Categorias" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Position Column" +msgstr "Coluna de Posição" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Email column" +msgstr "Mostra/Esconde a coluna de E-mail" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Fax column" +msgstr "Mostra/Esconde a coluna de Fax" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Position column" +msgstr "Mostra/Esconde a coluna de posição" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Telephone column" +msgstr "Mostra/Esconde a coluna de Telefone" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Shows a Table view of Contact items for a particular Category" +msgstr "" +"Mostra uma visualização em tabela de itens para uma categoria particular" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Table - Contact Category" +msgstr "Tabela - Categoria de Contato" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Telephone Column" +msgstr "Coluna de Telefone" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "When viewing a Category, Show/Hide the list of other Categories" +msgstr "" +"Quando uma categoria é apresentada, Mostra/Esconde a lista de outras " +"categorias" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:37 +msgid "You must select a Contact to link to" +msgstr "Você deve selecionar um contato para fazer um link" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:50 +msgid "Menu Item :: Link - Contact Item" +msgstr "Item de Menu :: Link - Item de Contato" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:74 +msgid "Contact to Link:" +msgstr "Contato para o Link:" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +msgid "Creates a link to a Published Contact Item" +msgstr "Criar um link para um Item de Contato publicado" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +msgid "Link - Contact Item" +msgstr "Link - Item de Contato" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:68 +msgid "Menu Item :: Blog - Content Category Archive" +msgstr "Item de Menu :: Blog - Arquivo de Conteúdo de Categoria" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Intro" +msgstr "# Intro" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Leading" +msgstr "# Leading" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Links" +msgstr "# Links" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Auto" +msgstr "Auto" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Blog - Content Category Archive" +msgstr "Blog - Arquivo de Conteúdo de Categoria" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Columns" +msgstr "Colunas" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Display {mosimages}." +msgstr "Mostrar {mosimages}." + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Item Title" +msgstr "Título do Item" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Linked Titles" +msgstr "Títulos com Links" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "MOSImages" +msgstr "MOSImages" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Make the Section text a link to the actual section page" +msgstr "Fazer um link com o texto da seção para a página da seção atual" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Make your Item titles linkable" +msgstr "Fazer seus títulos de Itens clicáveis" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Number of Items to display as Links." +msgstr "Número de Itens para mostrar como Links" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "" +"Number of Items to display as a leading (full width) item. 0 will mean that " +"no items will be displayed as leading." +msgstr "" +"Número de itens para mostrar como um leading (largura completa). 0 não " +"mostra itens como leading" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Number of Items to display with the introduction text shown." +msgstr "Número de Itens para apresentar com o texto introdutório" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Order by" +msgstr "Ordenar por" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Pagination" +msgstr "Paginação" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Pagination Results" +msgstr "Resultados de Paginação" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Read More" +msgstr "Leia Mais" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Section Name Linkable" +msgstr "Nome de Seção Clicáveis" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide Pagination Results info ( e.g 1-4 of 4 )" +msgstr "Mostrar/Esconder informações de Resultados de Paginação (ex. 1-4 de 4)" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide Pagination support" +msgstr "Mostrar/Esconder suporte a paginação" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Read More link" +msgstr "Mostrar/Esconder link Leia Mais" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Show/Hide the Section the item belongs to" +msgstr "Mostrar/Esconder o item de seção começado por" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the items title" +msgstr "Mostrar/Esconder o título do item" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Shows a listing of Content items archived for a particular category" +msgstr "" +"Mostrar uma lista de itens de conteúdo arquivados para uma categoria em " +"particular" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Text to display at the top of the page" +msgstr "Texto para ser mostrado no topo da página" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "This overrides the ordering of the items." +msgstr "Isto sobrescreve a ordem dos itens" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "When displaying the intro text, how many columns to use per row" +msgstr "" +"Quando mostrar o texto de introdução, quantas colunas devem ser usadas por " +"linha" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:39 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:39 +msgid "You must select a Section" +msgstr "Você deve selecionar uma Seção" + +#. build the html select list for section +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:45 +#: administrator/components/com_menus/content_blog_section/content_blog_section.class.php:64 +msgid "All Sections" +msgstr "Todas as Seções" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:70 +msgid "Menu Item :: Blog - Content Section Archive" +msgstr "Item de Menu :: Blog - Arquivo de Seção de Conteúdo" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:92 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:90 +msgid "If you leave this blank the Section name will be automatically used" +msgstr "" +"Se você deixar isto em branco, o nome da seção será automaticamente usado" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Blog - Content Section Archive" +msgstr "Blog - Arquivo de Conteúdo de Seção" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Name" +msgstr "Nome da Categoria" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Name Linkable" +msgstr "Nome de Categoria Clicável" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Order" +msgstr "Ordem de Categoria" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Make the Category text a link to the actual Category page" +msgstr "Fazer um link do texto da categoria para a página da categoria atual" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "No, order by Primary Order only" +msgstr "Não, ordem somente pela ordem primária" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Order items by catgeory" +msgstr "Ordernar itens por categoria" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Order that the items will be displayed in." +msgstr "Ordem que os itens podem ser apresentados" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Primary Order" +msgstr "Ordem Primária" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Category the item belongs to" +msgstr "Mostrar/Esconder a categoria do item começado por" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Shows a listing of Content items archived for a particular section" +msgstr "" +"Mostrar uma lista de itens de conteúdo arquivados para uma seção em " +"particular" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:64 +msgid "Menu Item :: Blog - Content Category" +msgstr "Item de Menu :: Blog - Categoria de Conteúdo" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:95 +msgid "You can select multiple Categories" +msgstr "Você pode selecionar múltiplas categorias" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +msgid "Blog - Content Category" +msgstr "Blog - Categoria de Conteúdo" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +msgid "" +"Displays a page of content items from multiple categories in a blog format" +msgstr "" +"Mostra uma página de itens de conteúdo de múltiplas categorias em um formato " +"de blog" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +msgid "Dscription Image" +msgstr "Descrição de Imagem" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Item Titles" +msgstr "Títulos de Item" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Category Description" +msgstr "Mostrar/Esconder a descrição da categoria" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Show/Hide the Page title" +msgstr "Mostrar/Esconder o título da página" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:64 +msgid "Menu Item :: Blog - Content Section" +msgstr "Item de Menu :: Blog :: Seção de Conteúdo" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:95 +msgid "You can select multiple Sections" +msgstr "Você pode selecionar múltiplas seções" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Blog - Content Section" +msgstr "Blog - Seção de Conteúdo" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Description Image" +msgstr "Descrição de Imagem" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "" +"Displays a page of content items from multiple sections in a blog format" +msgstr "" +"Mostrar uma de itens de conteúdo para seções múltiplas em um formato de blog" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Section Description" +msgstr "Mostrar/Esconder a descrição da seção" + +#: administrator/components/com_menus/content_category/content_category.menu.html.php:68 +msgid "Menu Item :: Table - Content Category" +msgstr "Item de Menu :: Tabela - Conteúdo da Categoria" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "10" +msgstr "10" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "15" +msgstr "15" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "20" +msgstr "20" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "25" +msgstr "25" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "30" +msgstr "30" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "5" +msgstr "5" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "50" +msgstr "50" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Author Column" +msgstr "Coluna de Autor" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Date Column" +msgstr "Coluna de Data" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Date Format" +msgstr "Coluna de Formato" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Display Number" +msgstr "Mostrar Número" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Display Select" +msgstr "Mostrar Seleção" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Empty Categories" +msgstr "Categorias Vazias" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Filter" +msgstr "Filtro" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Filter Field" +msgstr "Campo de Filtro" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "His" +msgstr "Cliques" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Hits Column" +msgstr "Coluna de Cliques" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Navigation Bar" +msgstr "Barra de Navegação" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Number of items to be displayed by default" +msgstr "Número de Itens para ser mostrado por padrão" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Order Select" +msgstr "Ordem de Seleção" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide empty(no items) categories" +msgstr "Mostrar/Esconder categorias vazias (sem itens)" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Author column" +msgstr "Mostrar/Esconder a coluna de Autor" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "" +"Show/Hide the Category Description, it will appear below the Category Name" +msgstr "" +"Mostrar/Esconder a descrição da categoria que é apresentada abaixo do nome " +"da categoria" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Date column" +msgstr "Mostrar/Esconder a coluna de data" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Display Select dropdown" +msgstr "Mostar/Esconder a caixa de seleção" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Filter ability" +msgstr "Mostrar/Esconder a habilidade de filtro" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Navigation bar" +msgstr "Mostrar/Esconder a barra de navegação" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Order Select dropdown" +msgstr "Mostrar/Esconder a caixa de seleção de ordem" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Show/Hide the listing of other Categories" +msgstr "Mostrar/Esconder a listagem de outras categorias" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Shows a Table view of Content items for a particular Category" +msgstr "Mostrar uma tabela com itens de conteúdo para uma categoria particular" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Table - Content Category" +msgstr "Tabela - Categoria de Conteúdo" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "" +"The format of the date displayed, using PHPs strftime Command Format - if " +"left blank it will load the format from your language file" +msgstr "" +"O formato de data apresentado, usando o formato strftime do PHP - se deixado " +"em branco será carregado o formato de seu arquivo de idioma" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Which field shall the filter apply to" +msgstr "Em qual campo o filtro deve ser aplicado?" + +#. outputs item name, category & section instead of the select list +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:66 +msgid "Edit Content Item" +msgstr "Editar Item de Conteúdo" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:43 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:44 +msgid "You must select a Content to link to" +msgstr "Você deve selecionar um conteúdo para fazer link" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:56 +msgid "Menu Item :: Link - Content Item" +msgstr "Item de Menu :: Link - Item de Conteúdo" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:80 +msgid "Content to Link:" +msgstr "Conteúdo para o link:" + +#: administrator/components/com_menus/content_item_link/content_item_link.xml +msgid "Creates a link to a published Content Item in full view" +msgstr "Criar um link para um item de conteúdo publicado em visão completa" + +#: administrator/components/com_menus/content_item_link/content_item_link.xml +msgid "Link - Content Item" +msgstr "Link - Item de Conteúdo" + +#: administrator/components/com_menus/content_section/content_section.menu.html.php:68 +msgid "Menu Item :: Table - Content Section" +msgstr "Item de Menu :: Tabela - Seção de Conteúdo" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Creates a listing of Content categories for a particular section" +msgstr "Cria uma lista de categorias de conteúdo para uma seção particular" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Section Title" +msgstr "Título da Seção" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Category Description Image" +msgstr "Mostar/Esconder a imagem de descrição da categoria" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/hide the section title" +msgstr "Mostrar/Esconder o título da seção" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Table - Content Section" +msgstr "Tabela - Seção de Conteúdo" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:57 +msgid "Menu Item :: Link - Static Content" +msgstr "Item de Menu :: Link - Conteúdo Estático" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:81 +msgid "Static Content:" +msgstr "Conteúdo Estático:" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:95 +msgid "On Click, open:" +msgstr "Quando Clicar, abrir:" + +#: administrator/components/com_menus/content_typed/content_typed.xml +msgid "Creates a link to Static Content Item" +msgstr "Cria um link para um item de conteúdo estático" + +#: administrator/components/com_menus/content_typed/content_typed.xml +msgid "Link - Static Content" +msgstr "Link - Conteúdo Estático" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Newsfeed Category" +msgstr "Item de Menu :: Tabela - Categoria Newsfeed" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in /images" +msgstr "" +"Uma pequena imagem para ser colocada a esquerda ou a direita do item de " +"menu, imagens deve estar em /images" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Articles Column" +msgstr "Coluna de Artigos" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Articles column" +msgstr "Mostrar/Esconder a coluna de artigos" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Link column" +msgstr "Mostrar/Esconder a coluna de link" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Name column" +msgstr "Mostrar/Esconder o nome da coluna" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Shows a Table view of Newsfeed items for a particular Category" +msgstr "" +"Mostra uma visão de tabela de itens de feeds para uma categoria em particular" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Table - Newsfeed Category" +msgstr "Tabela - Categoria de feeds" + +#. outputs item name, category & section instead of the select list +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php:60 +msgid "Item:" +msgstr "Item:" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:37 +msgid "You must select a Newsfeed to link to" +msgstr "Você deve selecionar um feed para criar um link" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:50 +msgid "Menu Item :: Link - Newsfeed" +msgstr "Item de Menu :: Link - Newsfeed" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:74 +msgid "Newsfeed to Link:" +msgstr "Newsfeed para link:" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Creates a link to an individual Published Newsfeed" +msgstr "Cria um link para um feed individual publicado" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Link - Newsfeed" +msgstr "Link - Newsfeed" + +#: administrator/components/com_menus/separator/separator.menu.html.php:44 +msgid "Menu Item :: Separator / Placeholder" +msgstr "Item de Menu :: Separador/Placeholder" + +#: administrator/components/com_menus/separator/separator.menu.html.php:60 +msgid "Pattern/Name:" +msgstr "Pattern/Nome:" + +#: administrator/components/com_menus/separator/separator.xml +msgid "Creates a menu placeholder or separator " +msgstr "Cria um separador ou placeholder de menu" + +#: administrator/components/com_menus/separator/separator.xml +msgid "Separator / Placeholder" +msgstr "Separador / Placeholder" + +#: administrator/components/com_menus/toolbar.menus.html.php:24 +msgid "Next" +msgstr "Próximo" + +#: administrator/components/com_menus/toolbar.menus.html.php:37 +#: administrator/components/com_menus/toolbar.menus.html.php:182 +msgid "Move" +msgstr "Mover" + +#: administrator/components/com_menus/url/url.menu.html.php:40 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:41 +msgid "You must provide a url." +msgstr "Você deve informar uma URL:" + +#: administrator/components/com_menus/url/url.menu.html.php:51 +msgid "Menu Item :: Link - URL" +msgstr "Item de Menu :: Link - URL" + +#: administrator/components/com_menus/url/url.menu.html.php:75 +msgid "Link:" +msgstr "Link:" + +#: administrator/components/com_menus/url/url.xml +msgid "Creates url link" +msgstr "Cria um link para uma URL" + +#: administrator/components/com_menus/url/url.xml +msgid "Link - Url" +msgstr "Link - URL" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Weblink Category" +msgstr "Item de Menu :: Tabela - Categoria de Links Web" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Shows a Table view of Weblink items for a particular Weblink Category" +msgstr "" +"Mostra uma visão de tabela de links web para uma categoria particular de " +"links web" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Table - Weblink Category" +msgstr "Tabela - Categoria de Links Web" + +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:59 +msgid "Menu Item :: Wrapper" +msgstr "Item de Menu :: Wrapper" + +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:83 +msgid "Wrapper Link:" +msgstr "Wrapper Link:" + +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Creates an IFrame that will wrap an external page/site into Mambo" +msgstr "Cria um iframe que pode wrap uma página/site externo dentro do Mambo" + +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Wrapper" +msgstr "Wrapper" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:42 +#: administrator/components/com_menumanager/menumanager.xml +msgid "Menu Manager" +msgstr "Gerenciador de Menus" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:53 +msgid "Menu Name" +msgstr "Nome do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:59 +msgid "# Published" +msgstr "# Publicados" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:62 +msgid "# Unpublished" +msgstr "# Não Publicados" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:68 +msgid "# Modules" +msgstr "# Módulos" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:94 +msgid "Edit Menu Name" +msgstr "Editar Nome do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:99 +msgid "Edit Menu Items" +msgstr "Editar Itens do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:156 +msgid "Please enter a menu name" +msgstr "Por favor, digite um nome para o menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:164 +msgid "Please enter a module name for your menu" +msgstr "Por favor digite um nome para seu menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:182 +msgid "Menu Details" +msgstr "Detalhes do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:190 +msgid "Menu Name:" +msgstr "Nome do Menu:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:195 +msgid "" +"This is the identification name used by mambo to identify this menu within " +"the code - it must be unique. It is recommended that you do not have any " +"spaces in your Menu Name" +msgstr "" +"Este é um nome de identificação usado pelo Mambo para identificar este menu " +"dentro do código - ele deve ser único. É recomendado que você não coloque " +"nenhum espaço nos nomes de menus" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:210 +msgid "Title of the mod_mainmenu module required to show this Menu" +msgstr "Título do módulo mod_mainmenu necessário para mostrar este menu." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:216 +msgid "" +"A new mod_mainmenu module, with the Title you have entered above will " +"automatically be created when you save this menu." +msgstr "" +"Um novo módulo mod_mainmenu com o título informado acima será criado " +"automaticamente quando este menu for salvo." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:218 +msgid "" +"Parameters for the module created are to be edited through the \"Modules " +"Manager [site]\": Modules -> Site Modules" +msgstr "" +"Os parâmetros do módulo criado podem ser editados em \"Gerenciador de " +"Módulos [site]\": Módulos -> Módulos do Site" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:266 +#, php-format +msgid "Delete Menu: %s" +msgstr "Apagar Menu: %s" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:279 +msgid "Module(s) being Deleted:" +msgstr "Módulos a serem Apagados:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:301 +msgid "Menu Items being Deleted:" +msgstr "Itens de Menu a serem Apagados:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:319 +msgid "" +"This will Delete this " +"Menu,
      ALL its Menu Items and the Module(s) associated with it" +msgstr "" +"Isto irá Apagar este " +"menu, todos os itens de menu dentro dele
      e o(s) módulo(s) associados à " +"ele." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:322 +msgid "" +"Are you sure you want to Delete this menu? \\nThis will Delete the Menu, its " +"Items and the Module(s)." +msgstr "" +"Você tem certeza que deseja apagar este menu? \\nIsto irá apagar o menu, " +"seus itens e o Módulo." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:354 +msgid "Please enter a name for the copy of the Menu" +msgstr "Por favor digite um nome para a cópia do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:357 +msgid "Please enter a name for the new Module" +msgstr "Por favor digite um nome para o novo Módulo" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:371 +msgid "Copy Menu" +msgstr "Copiar Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:381 +msgid "New Menu Name:" +msgstr "Novo Nome de Menu:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:385 +msgid "New Module Name:" +msgstr "Novo Nome de Módulo:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:392 +msgid "Menu being copied:" +msgstr "Menu a ser copiado:" + +#: administrator/components/com_menumanager/admin.menumanager.php:207 +msgid "" +"You cannot rename the \"mainmenu\" Menu as this will disrupt the proper " +"operation of Mambo" +msgstr "" +"Você não pode renomear o menu \"mainmenu\" pois isso altera o funcionamento " +"do Mambo" + +#: administrator/components/com_menumanager/admin.menumanager.php:223 +msgid "" +"A menu already exists with that name - you must enter a unique Menu Name" +msgstr "" +"Já existe um menu com este nome - você deve informar um nome de Menu único" + +#: administrator/components/com_menumanager/admin.menumanager.php:258 +#, php-format +msgid "New Menu created [ %s ]" +msgstr "Novo Menu criado [%s]" + +#: administrator/components/com_menumanager/admin.menumanager.php:312 +msgid "Menu Items & Modules updated" +msgstr "Itens de Menu e Módulos atualizados" + +#: administrator/components/com_menumanager/admin.menumanager.php:326 +#: administrator/components/com_menumanager/admin.menumanager.php:376 +msgid "You cannot delete the \"mainmenu\" menu as it is a core menu" +msgstr "" +"VocVocê não pode apagar o menu \"mainmenu\" pois ele é um menu obrigatório" + +#: administrator/components/com_menumanager/admin.menumanager.php:467 +msgid "" +"A menu with that name already exists - you must enter a unique Menu Name" +msgstr "" +"Já existe um menu com este nome - você deve informar um nome de Menu único" + +#: administrator/components/com_menumanager/admin.menumanager.php:527 +#, php-format +msgid "Copy of Menu `%s` created, consisting of %d item" +msgid_plural "Copy of Menu `%s` created, consisting of %d items" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_menumanager/menumanager.xml +msgid "This component manages your Menus." +msgstr "Este componente gerencia seus menus." + +#: administrator/components/com_media/admin.media.html.php:84 +#: administrator/components/com_media/media.xml +msgid "Media Manager" +msgstr "Gerenciador de Mídia" + +#: administrator/components/com_media/admin.media.html.php:91 +msgid "Directory" +msgstr "Diretório" + +#: administrator/components/com_media/admin.media.html.php:115 +msgid "Max size" +msgstr "Tamanho Máx." + +#: administrator/components/com_media/admin.media.html.php:119 +#: administrator/components/com_media/admin.media.html.php:212 +#: administrator/components/com_media/admin.media.html.php:281 +msgid "Code" +msgstr "Código" + +#: administrator/components/com_media/admin.media.html.php:123 +msgid "Create Directory" +msgstr "Criar Dire'torio" + +#: administrator/components/com_media/admin.media.html.php:163 +msgid "No Images Found" +msgstr "Nenhuma Imagem Encontrada" + +#: administrator/components/com_media/admin.media.html.php:174 +#, php-format +msgid "Configuration Problem: " %s " does not exist." +msgstr "Problema de Configuração: " %s " não existem." + +#: administrator/components/com_media/admin.media.html.php:270 +msgid "Insert your text here" +msgstr "Digite seu texto aqui" + +#: administrator/components/com_media/admin.media.html.php:369 +msgid "\"Delete file \\\"\"+file+\"\\\"?\"" +msgstr "\"Apagar arquivo \\\"\"+file+\"\\\"?\"" + +#: administrator/components/com_media/admin.media.html.php:377 +msgid "" +"\"There are \"+numFiles+\" files/folders in \\\"\"+folder+\"\\\".\\n" +"\\nPlease delete all files/folder in \\\"\"+folder+\"\\\" first.\"" +msgstr "" +"\"Aqui existem \"+numFiles+\" arquivos/pastas em \\\"\"+folder+\"\\\".\\n" +"\\nPor favor remova todos os arquivos/pastas em \\\"\"+folder+\"\\\" " +"primeiro.\"" + +#: administrator/components/com_media/admin.media.html.php:381 +msgid "\"Delete folder \\\"\"+folder+\"\\\"?\"" +msgstr "\"Apagar pasta \\\"\"+folder+\"\\\"?\"" + +#: administrator/components/com_media/admin.media.php:33 +msgid "NO HACKING PLEASE" +msgstr "NÃO HACKEIE POR FAVOR" + +#: administrator/components/com_media/admin.media.php:45 +msgid "" +"Directory creation not allowed while running in SAFE MODE as this can cause " +"problems." +msgstr "" +"A criação de diretórios não é permitida enquanto o site está rodando em SAFE " +"MODE pois isso pode causar problemas." + +#: administrator/components/com_media/admin.media.php:89 +msgid "" +"Directory name must only contain alphanumeric characters and no spaces " +"please." +msgstr "" +"Nome de diretórios devem conter somente caracteres alfanuméricos e não pode " +"conter espaços." + +#: administrator/components/com_media/admin.media.php:125 +msgid "Unable to delete: not empty!" +msgstr "Impossível apagar: não está vazio!" + +#: administrator/components/com_media/admin.media.php:157 +msgid "Upload FAILED. File already exists" +msgstr "Envio FALHOU. Arquivo já existe" + +#: administrator/components/com_media/admin.media.php:161 +msgid "" +"Only files of type gif, png, jpg, bmp, pdf, swf, doc, xls or ppt can be " +"uploaded" +msgstr "" +"Somente arquivos dos tipos gif, png, jpg, bmp, pdf, swf, doc, xls ou ppt " +"pode ser enviados" + +#: administrator/components/com_media/admin.media.php:165 +msgid "Upload FAILED" +msgstr "Envio FALHOU" + +#: administrator/components/com_media/admin.media.php:169 +msgid "Upload complete" +msgstr "Envio completo" + +#: administrator/components/com_media/media.xml +msgid "This component manages site media" +msgstr "Este componente gerencia mídia dos sites" + +#: administrator/components/com_media/toolbar.media.html.php:25 +msgid "Upload" +msgstr "Enviar" + +#: administrator/components/com_media/toolbar.media.html.php:27 +msgid "Create" +msgstr "Criar" + +#: administrator/components/com_massmail/admin.massmail.html.php:30 +msgid "Please fill in the subject" +msgstr "Por favor, preencha o assunto" + +#: administrator/components/com_massmail/admin.massmail.html.php:32 +msgid "Please select a group" +msgstr "Por favor selecione um grupo" + +#: administrator/components/com_massmail/admin.massmail.html.php:34 +msgid "Please fill in the message" +msgstr "Por favor preencha a mensagem" + +#: administrator/components/com_massmail/admin.massmail.html.php:45 +#: administrator/components/com_massmail/massmail.xml +msgid "Mass Mail" +msgstr "E-mail em Massa" + +#: administrator/components/com_massmail/admin.massmail.html.php:66 +msgid "Mail to Child Groups:" +msgstr "E-mail para Grupos Filhos:" + +#: administrator/components/com_massmail/admin.massmail.html.php:74 +msgid "Send in HTML mode:" +msgstr "Enviar em modo HTML:" + +#: administrator/components/com_massmail/admin.massmail.php:39 +msgid "- All User Groups -" +msgstr "- Todos os Grupos de Usuários -" + +#: administrator/components/com_massmail/admin.massmail.php:69 +msgid "Please fill in the form correctly" +msgstr "Por favor preencha o formulário corretamente" + +#. Build e-mail message format +#: administrator/components/com_massmail/admin.massmail.php:92 +#, php-format +msgid "" +"This is an email from '%s'\n" +"\n" +"Message:\n" +msgstr "" +"Este é um e-mail de '%s'\n" +"\n" +"Mensagem:\n" + +#: administrator/components/com_massmail/admin.massmail.php:105 +#, php-format +msgid "E-mail sent to %d user." +msgid_plural "E-mail sent to %d users." +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_massmail/massmail.xml +msgid "This component allows you to send a mass email to certain user groups" +msgstr "" +"Este componente permite que você envie e-mails em massa para certos grupos " +"de usuários" + +#: administrator/components/com_massmail/toolbar.massmail.html.php:24 +msgid "Send Mail" +msgstr "Enviar E-mail" + +#: administrator/components/com_mambots/admin.mambots.html.php:34 +msgid "Mambot Manager" +msgstr "Gerenciador de Mambots" + +#: administrator/components/com_mambots/admin.mambots.html.php:55 +msgid "Mambot Name" +msgstr "Nome do Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:76 +msgid "File" +msgstr "Arquivo" + +#: administrator/components/com_mambots/admin.mambots.html.php:179 +msgid "Mambot must have a name" +msgstr "O Mambot deve ter um nome" + +#: administrator/components/com_mambots/admin.mambots.html.php:181 +msgid "Mambot must have a filename" +msgstr "O Mambot deve ter um nome de arquivo" + +#: administrator/components/com_mambots/admin.mambots.html.php:190 +msgid "Site Mambot:" +msgstr "Mambot do Site:" + +#: administrator/components/com_mambots/admin.mambots.html.php:206 +msgid "Mambot Details" +msgstr "Detalhes do Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:219 +msgid "Folder:" +msgstr "Pasta:" + +#: administrator/components/com_mambots/admin.mambots.html.php:227 +msgid "Mambot file:" +msgstr "Arquivo do Mambot:" + +#: administrator/components/com_mambots/admin.mambots.html.php:235 +msgid "Mambot Order:" +msgstr "Ordem do Mambot:" + +#: administrator/components/com_mambots/admin.mambots.html.php:285 +msgid "No Parameters" +msgstr "Sem Parâmetros" + +#: administrator/components/com_mambots/admin.mambots.php:184 +#, php-format +msgid "Successfully Saved changes to Mambot: %s" +msgstr "Alterações salvas com sucesso para o Mambot: %s" + +#: administrator/components/com_mambots/admin.mambots.php:189 +#, php-format +msgid "Successfully Saved Mambot: %s" +msgstr "Mambot salvo com sucesso: %s" + +#: administrator/components/com_mambots/admin.mambots.php:247 +msgid "This mambot cannot be reordered" +msgstr "Este mambot não pdoe ser reordenado" + +#: administrator/components/com_mambots/admin.mambots.php:269 +msgid "" +"New items default to the last place. Ordering can be changed after this item " +"is saved." +msgstr "" +"Novos itens são colocados no fim por padrão. A ordem pode ser alterada " +"depois que este item for salvo." + +#: administrator/components/com_mambots/admin.mambots.php:307 +#, php-format +msgid "Select a mambot to %s" +msgstr "Selecione um mambost para %s" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Login Image" +msgstr "Alinhamento para Imagem de Login" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Logout Image" +msgstr "Alinhamento para Imagem de Logout" + +#: administrator/components/com_login/login.xml +msgid "Contact Items" +msgstr "Itens de Contato" + +#: administrator/components/com_login/login.xml +msgid "Image for the Login Page" +msgstr "Imagem para a Página de Login" + +#: administrator/components/com_login/login.xml +msgid "Image for the Logout Page" +msgstr "Imagem para a Página de Logout" + +#: administrator/components/com_login/login.xml +msgid "Login Description" +msgstr "Descrição de Login" + +#: administrator/components/com_login/login.xml +msgid "Login Description Text" +msgstr "Texto de Descrição de Login" + +#: administrator/components/com_login/login.xml +msgid "Login Image" +msgstr "Imagem de Login" + +#: administrator/components/com_login/login.xml +msgid "Login Image Align" +msgstr "Alinhamento de Imagem de Login" + +#: administrator/components/com_login/login.xml +msgid "Login JS Message" +msgstr "Mensagem de Login em Javascript" + +#: administrator/components/com_login/login.xml +msgid "Login Page Title" +msgstr "Título da Página de Login" + +#: administrator/components/com_login/login.xml +msgid "Login Redirection URL" +msgstr "URL de Redirecionamento de Login" + +#: administrator/components/com_login/login.xml +msgid "Logout Description" +msgstr "Descrição de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Description Text" +msgstr "Texto de Descrição de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Image" +msgstr "Imagem de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Image Align" +msgstr "Alinhamento de Imagem de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout JS Message" +msgstr "Mensagem de Logout em Javascript" + +#: administrator/components/com_login/login.xml +msgid "Logout Page Title" +msgstr "Título da Página de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Redirection URL" +msgstr "URL de Redirecionamento de Logout" + +#: administrator/components/com_login/login.xml +msgid "Parameters for individual Contact Items" +msgstr "Parâmetros para itens de contato individuais" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Login Description below" +msgstr "Mostrar/Esconder a Descrição de Login abaixo" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Logout Description below" +msgstr "Mostrar/Esconder a Descrição de Logout abaixo" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Login Success" +msgstr "Mostrar/Esconder o pop-up em Javascript indicando sucesso no Login" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Logout Success" +msgstr "Mostrar/Esconder o pop-up em Javascript indicando sucesso no Logout" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the login Page, if left blank _LOGIN_DESCRIPTION will be " +"used" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the logout Page, if left blank _LOGOUT_DESCRIPTION will " +"be used" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will be redirected to after logout, if let blank will load front " +"page" +msgstr "" +"Para qual página o usuário deve ser redirecionado depois do logout. Se for " +"deixado em branco será redirecionado para a página principal" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will the login redirect to after login, if let blank will load " +"front page" +msgstr "" +"Para qual página o usuário deve ser redirecionado depois do login. Se for " +"deixado em branco será redirecionado para a página principal" + +#: components/com_login/login.html.php:58 +msgid "Username" +msgstr "Nome de Usuário" + +#: components/com_login/login.html.php:62 +msgid "Password" +msgstr "Senha" + +#: components/com_login/login.html.php:77 +msgid "Remember me" +msgstr "Lembre-me" + +#: components/com_login/login.html.php:81 +msgid "Password Reminder" +msgstr "Lembrar Senha" + +#: components/com_login/login.html.php:87 +msgid "No account yet?" +msgstr "Sem conta?" + +#: components/com_login/login.html.php:89 +msgid "Create one" +msgstr "Crie Uma" + +#: components/com_login/login.html.php:101 +msgid "Login" +msgstr "Login" + +#: components/com_login/login.html.php:109 +msgid "!Warning! Javascript must be enabled for proper operation." +msgstr "!Atenção! O Javascript deve estar habilitado para efetiva operação." + +#: components/com_login/login.html.php:162 +msgid "Logout" +msgstr "Logout" + +#: components/com_login/login.php:38 +msgid "To access the Private areas of this site please Login" +msgstr "Para cesso as áreas reservadas do site, por favor, autentique-se" + +#: components/com_login/login.php:39 +msgid "You are now Logged in to a private area of this site" +msgstr "Você agora está autenticado em uma área privada deste site" + +#: administrator/components/com_languages/actions/publish.action.php:25 +msgid "Configuration succesfully updated!" +msgstr "Configuração alterada com sucesso!" + +#: administrator/components/com_languages/actions/publish.action.php:27 +msgid "Error! Make sure that configuration.php is writeable." +msgstr "" +"Erro! Confirme a permissão de escrita em seu arquivo configuration.php." + +#: administrator/components/com_languages/phpgettext.includes.php:283 +msgid "Text Domains" +msgstr "Domínios de Textos" + +#: administrator/components/com_languages/phpgettext.includes.php:290 +msgid "Main" +msgstr "Principal" + +#: administrator/components/com_languages/toolbar.languages.php:44 +msgid "Extract" +msgstr "Extrair" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:9 +msgid "Compile Catalog?" +msgstr "Compilar Catálogo?" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:10 +msgid "yes" +msgstr "sim" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:11 +msgid "no" +msgstr "não" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:22 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:35 +msgid "MsgId" +msgstr "ID" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:24 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:37 +msgid "MsgId Plural" +msgstr "ID Plural" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:25 +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:54 +msgid "MsgStr" +msgstr "Str" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:27 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:41 +msgid "Plural form" +msgstr "Forma de Plural" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:43 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:58 +msgid "Fuzzy Entry" +msgstr "Entrada Fuzzy" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Catalog dump" +msgstr "Cópia do Catálogo" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Comments" +msgstr "Comentários" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Headers" +msgstr "Cabeçalhos" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Strings" +msgstr "Strings" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:11 +msgid "PHPGettext Example" +msgstr "Exemplo de PHPGettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:21 +msgid "PHPGettext" +msgstr "PHPGettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:22 +msgid "Gettext for PHP" +msgstr "Gettext para PHP" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:25 +msgid "Current language is:" +msgstr "Idioma atual:" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:34 +msgid "Change language" +msgstr "Alterar idioma" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:41 +msgid "Gettext is enabled!" +msgstr "Gettext está habilitado!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:43 +msgid "Gettext is disabled!" +msgstr "Gettext está desabilitado!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:55 +msgid "Disable Gettext" +msgstr "Desabilitar Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:56 +msgid "Enable Gettext" +msgstr "Habilitar Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:57 +msgid "Extract Strings" +msgstr "Extrair Strings" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:58 +msgid "Run Unit Tests" +msgstr "Executar Testes de Unidades" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:59 +msgid "Clear Tests" +msgstr "Limpar Testes" + +#: administrator/components/com_languages/views/templates/table.tpl.php:4 +msgid "Language Manager" +msgstr "Gerenciador de Idiomas" + +#: administrator/components/com_languages/views/templates/table.tpl.php:17 +msgid "Languages" +msgstr "Idiomas" + +#: administrator/components/com_languages/views/templates/table.tpl.php:32 +msgid "Author Email" +msgstr "E-mail do Autor" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:10 +msgid "Create Translation for:" +msgstr "Tradução Criada por:" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:20 +msgid "Delete This Template" +msgstr "Apagar Esta Template" + +#: administrator/components/com_installer/admin.installer.html.php:35 +#: administrator/components/com_installer/admin.installer.php:149 +msgid "Please select a directory" +msgstr "Por favor, selecione um diretório" + +#: administrator/components/com_installer/admin.installer.html.php:56 +msgid "Upload Package File" +msgstr "Envio de Arquivo de Pacote" + +#: administrator/components/com_installer/admin.installer.html.php:61 +msgid "Package File:" +msgstr "Arquivo de Pacote:" + +#: administrator/components/com_installer/admin.installer.html.php:63 +msgid "Upload File & Install" +msgstr "Enviar Arquivo & Instalar" + +#: administrator/components/com_installer/admin.installer.html.php:79 +msgid "Install from directory" +msgstr "Instalar do Diretório:" + +#: administrator/components/com_installer/admin.installer.html.php:84 +msgid "Install directory:" +msgstr "Diretório de Instalação" + +#: administrator/components/com_installer/admin.installer.html.php:86 +msgid "Install" +msgstr "Instalar" + +#: administrator/components/com_installer/admin.installer.html.php:148 +msgid "Continue ..." +msgstr "Continuar..." + +#: administrator/components/com_installer/admin.installer.php:160 +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Error" +msgstr "Erro" + +#: administrator/components/com_installer/admin.installer.php:160 +msgid "Install new " +msgstr "Instalar novo" + +#: administrator/components/com_installer/admin.installer.php:160 +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Success" +msgstr "Sucesso!" + +#: administrator/components/com_installer/admin.installer.php:180 +msgid "Uninstall " +msgstr "Desinstalar" + +#: administrator/components/com_installer/admin.installer.php:198 +msgid "Failed to change the permissions of the uploaded file." +msgstr "Falha na alteração de permissões do arquivo enviado." + +#: administrator/components/com_installer/admin.installer.php:201 +msgid "Failed to move uploaded file to /media directory." +msgstr "" +"Falha na movimentação de arquivo enviado para o diretório /media" + +#: administrator/components/com_installer/admin.installer.php:204 +msgid "Upload failed as /media directory is not writable." +msgstr "" +"Falha no envio para o diretório /media. Diretório somente " +"leitura" + +#: administrator/components/com_installer/admin.installer.php:207 +msgid "Upload failed as /media directory does not exist." +msgstr "" +"Falha no envio para o diretório /media. Diretório não existe" + +#: administrator/components/com_installer/admin.installer.php:223 +#: administrator/components/com_installer/admin.installer.php:298 +#: administrator/components/com_installer/admin.installer.php:303 +#: administrator/components/com_installer/admin.installer.php:308 +#: administrator/components/com_installer/admin.installer.php:365 +msgid "Uninstall - error" +msgstr "Desinstalação - Erro" + +#: administrator/components/com_installer/admin.installer.php:228 +msgid "Is core component - may not be deleted" +msgstr "Este é um componente do core - não pode ser removido" + +#: administrator/components/com_installer/admin.installer.php:229 +#, php-format +msgid "" +"Component %s is a core component, and can not be uninstalled.
      You need " +"to unpublish it if you don't want to use it" +msgstr "" +"Componente %s é um componente do sistema e não pode ser desinstalado.
      Você precisa despublicá-lo se não deseja usá-lo" + +#: administrator/components/com_installer/admin.installer.php:268 +#, php-format +msgid "" +"%s is a core module, and can not be uninstalled.
      You need to unpublish " +"it if you don't want to use it" +msgstr "" +"%s é um módulo do sistema e não pode ser desinstalado.
      Você precisa " +"despublicá-lo se não deseja usá-lo" + +#: administrator/components/com_installer/admin.installer.php:303 +msgid "Invalid object id" +msgstr "Identificador de Objeto Inválido" + +#: administrator/components/com_installer/admin.installer.php:308 +msgid "Folder field empty, cannot remove files" +msgstr "Campo de pasta vazio, não é possível remover arquivos" + +#: administrator/components/com_installer/admin.installer.php:365 +msgid "Language id empty, cannot remove files" +msgstr "Identificador de Idioma vazio, não é possível remover arquivos" + +#: administrator/components/com_installer/component/component.html.php:30 +msgid "Installed Components" +msgstr "Componentes Instalados" + +#: administrator/components/com_installer/component/component.html.php:38 +msgid "Currently Installed" +msgstr "Atualmente Instalado" + +#: administrator/components/com_installer/component/component.html.php:41 +msgid "Component Menu Link" +msgstr "Link de Menu para Componente" + +#: administrator/components/com_installer/component/component.html.php:96 +msgid "There are no custom components installed" +msgstr "Não existem componentes customizados instalados" + +#: administrator/components/com_installer/component/component.php:21 +msgid "Install new Component" +msgstr "Instalar novo componente" + +#: administrator/components/com_installer/installer.class.php:57 +#, php-format +msgid "XML error in %s: no handler %s" +msgstr "Erro de XML em %s: sem cabeçalho %s" + +#: administrator/components/com_installer/installer.class.php:59 +#, php-format +msgid "XML error in %s: mosinstall has no type" +msgstr "Erro de XML em %s: mosinstall não possui tipo" + +#: administrator/components/com_installer/installer.class.php:64 +#, php-format +msgid "XML Error in %s: install has no name" +msgstr "Erro de XML em %s: instalação não possui nome" + +#: administrator/components/com_installer/installer.class.php:89 +#, php-format +msgid "XML error in %s: MENU found, but this is not component XML" +msgstr "Erro de XML em %s: MENU encontrado mas não é um componente XML" + +#: administrator/components/com_installer/installer.class.php:117 +#, php-format +msgid "XML Error in %s: Mambot does not have a group specified" +msgstr "Erro de XML em %s: O Mambot não possui um grupo especificado" + +#: administrator/components/com_installer/installer.class.php:142 +#, php-format +msgid "XML error in %s: no installer %s" +msgstr "Erro de XML em %s: Sem instalador %s" + +#: administrator/components/com_installer/installer.class.php:188 +#, php-format +msgid "Installer error with %s: unable to create admin directory for %s %s" +msgstr "" +"Erro de Instalação com %s: não é possível criar um diretório de " +"administração para %s %s" + +#: administrator/components/com_installer/installer.class.php:195 +#, php-format +msgid "Installer error with %s: unable to create user directory for %s %s" +msgstr "" +"Erro de Instalação com %s: não é possível criar um diretório de usuário para " +"%s %s" + +#: administrator/components/com_installer/installer.class.php:221 +#, php-format +msgid "Installer error with %s: writing component menu SQL error %s" +msgstr "Erro de Instalação com %s: erro na escrita de menu SQL %s" + +#: administrator/components/com_installer/installer.class.php:233 +#: administrator/components/com_installer/installer.class.php:279 +#: administrator/components/com_installer/installer.class.php:316 +#: administrator/components/com_installer/installer.class.php:344 +#, php-format +msgid "Installer error with %s: %s %s already installed" +msgstr "Erro de Instalação com %s: %s %s já está instalado" + +#: administrator/components/com_installer/installer.class.php:249 +#: administrator/components/com_installer/installer.class.php:301 +#: administrator/components/com_installer/installer.class.php:335 +#, php-format +msgid "Installer error with %s: %s %s SQL error %s" +msgstr "Erro de Instalação com %s: %s %s erro SQL %s" + +#: administrator/components/com_installer/installer.class.php:270 +#: administrator/components/com_installer/installer.class.php:308 +#, php-format +msgid "Installer error with %s: no file identified as the %s" +msgstr "Erro de Instalação com %s: nenhum arquivo identificado com o %s" + +#: administrator/components/com_installer/installer.class.php:430 +#, php-format +msgid "Uninstaller error with %s: no uninstaller %s" +msgstr "Erro de Desinstalação com %s: sem desinstalador %s" + +#: administrator/components/com_installer/installer.class.php:493 +#, php-format +msgid "Uninstaller error with %s: %s %s SQL error %s" +msgstr "Erro de Desinstalação com %s: %s %s erro SQL %s" + +#: administrator/components/com_installer/installer.class.php:503 +#: administrator/components/com_installer/installer.class.php:525 +#: administrator/components/com_installer/installer.class.php:544 +#, php-format +msgid "Uninstaller error with %s: %s %s not fully deleted from database" +msgstr "" +"Erro de Desinstalação com %s: %s %s não foi completamente removido da base " +"de dados" + +#: administrator/components/com_installer/installer.class.php:516 +#, php-format +msgid "Uninstaller error with %s: no file identified as the %s" +msgstr "Erro de Desinstalação com %s: nenhum arquivo identificado com o %s" + +#: administrator/components/com_installer/installer.class.php:621 +#, php-format +msgid "Installer unrecoverable ZIP error %s in %s" +msgstr "Erro de ZIP irrecuperável de instalação %s em %s" + +#: administrator/components/com_installer/installer.class.php:630 +#, php-format +msgid "Installer unrecoverable TAR error in %s" +msgstr "Erro de TAR irrecuperável de instalação %s" + +#: administrator/components/com_installer/language/language.php:19 +msgid "Back to Language Manager" +msgstr "Voltar para o Gerenciador de Idiomas" + +#: administrator/components/com_installer/language/language.php:20 +msgid "Install new Language - Site" +msgstr "Instalar Novo Idioma - Site" + +#: administrator/components/com_installer/mambot/mambot.html.php:29 +msgid "Installed Mambots" +msgstr "Mambots Instalados" + +#: administrator/components/com_installer/mambot/mambot.html.php:34 +msgid "" +"Only those Mambots that can be uninstalled are displayed - some Core Mambots " +"cannot be removed." +msgstr "" +"Somente os Mambots que podem ser desinstalados são apresentados - Alguns " +"Mambots do sistema não podem ser removidos" + +#: administrator/components/com_installer/mambot/mambot.html.php:45 +msgid "Mambot" +msgstr "Mambot" + +#: administrator/components/com_installer/mambot/mambot.html.php:124 +msgid "There are no non-core, custom mambots installed." +msgstr "Não existe mambots do customizados instalados." + +#: administrator/components/com_installer/mambot/mambot.php:21 +msgid "Install new Mambots" +msgstr "Instalar novo Mambot" + +#: administrator/components/com_installer/module/module.html.php:27 +msgid "Installed Modules" +msgstr "Módulos Instalados" + +#: administrator/components/com_installer/module/module.html.php:38 +msgid "" +"Only those Modules that can be uninstalled are displayed - some Core Modules " +"cannot be removed." +msgstr "" +"Somente os Módulos que podem ser desinstalados são apresentados - Alguns " +"Módulos do sistema não podem ser removidos" + +#: administrator/components/com_installer/module/module.html.php:47 +msgid "Module File" +msgstr "Arquivo de Módulo" + +#: administrator/components/com_installer/module/module.html.php:50 +msgid "Client" +msgstr "Cliente" + +#: administrator/components/com_installer/module/module.html.php:101 +msgid "No custom modules installed" +msgstr "Nenhum módulo customizado instalado" + +#: administrator/components/com_installer/module/module.php:21 +msgid "Install new Modules" +msgstr "Instalar Novos Módulos" + +#: administrator/components/com_installer/module/module.php:41 +msgid "Site Modules" +msgstr "Módulos do Site" + +#: administrator/components/com_installer/module/module.php:42 +msgid "Admin Modules" +msgstr "Módulos do Administrador" + +#: administrator/components/com_installer/template/template.php:24 +msgid "Install new Template" +msgstr "Instalar Novo Modelo" + +#: administrator/components/com_installer/template/template.php:26 +msgid "Back to Templates" +msgstr "Voltar para os Modelos" + +#: administrator/components/com_installer/toolbar.installer.html.php:25 +msgid "Uninstall" +msgstr "Desinstalar" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:28 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:205 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:209 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:210 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:211 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:212 +msgid "OFF" +msgstr "Desligado" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:28 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:206 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:207 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:208 +msgid "ON" +msgstr "Ligado" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:44 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:28 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:28 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:180 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:48 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:302 +msgid "Mambo - Web Installer" +msgstr "Instalador Web - Mambo" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:67 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:52 +msgid "Please read/accept license to continue installation" +msgstr "Por favor, leia/aceite a licença para continuar com a instalação" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:79 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:63 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:62 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:203 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:110 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:309 +msgid "Mambo Installation" +msgstr "Instalação do Mambo" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:86 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:96 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:70 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:69 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:217 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:123 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:316 +msgid "pre-installation check" +msgstr "Verificação de pré-instalação" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:87 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:71 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:78 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:70 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:218 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:124 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:317 +msgid "license" +msgstr "Licença" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:88 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:72 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:71 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:219 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:125 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:318 +msgid "step 1" +msgstr "Passo 1" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:89 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:73 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:72 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:220 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:230 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:126 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:319 +msgid "step 2" +msgstr "Passo 2" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:90 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:74 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:73 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:221 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:127 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:131 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:320 +msgid "step 3" +msgstr "Passo 3" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:91 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:75 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:74 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:222 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:128 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:321 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:324 +msgid "step 4" +msgstr "Passo 4" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:103 +msgid "Pre-installation check for:" +msgstr "Verificação de pré-instalação para:" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:104 +msgid "" +"\n" +"If any of these items are highlighted\n" +"in red then please take actions to correct them. Failure to do so\n" +"could lead to your Mambo installation not functioning\n" +"correctly." +msgstr "" +"\n" +"Se qualquer um destes itens estão destacados\n" +"em vermelho é necessário executar algumas ações para corrigí-los. Falhas " +"aqui podem fazer com que seu Mambo não funcione\n" +"corretamente." + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:118 +msgid "PHP version" +msgstr "Versão do PHP" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:126 +msgid "zlib compression support" +msgstr "suporte à compressão zlib" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:129 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:137 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:145 +msgid "Available" +msgstr "Disponível" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:129 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:137 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:145 +msgid "Unavailable" +msgstr "Não Disponível" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:134 +msgid "XML support" +msgstr "Suporte a XML" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:142 +msgid "MySQL support" +msgstr "Suporte a MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:159 +msgid "" +"You can still continue the install as the configuration will be displayed at " +"the end, just copy & paste this and upload." +msgstr "" +"Você ainda pode continuar com a instalação. Como a configuração é mostrada " +"no final, somente copie e cole e faça o upload do arquivo." + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:165 +msgid "Session save path" +msgstr "Caminho de sessões salvas" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:177 +msgid "Recommended settings:" +msgstr "Configurações recomendadas:" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:179 +msgid "" +"These settings are recommended for PHP in order to ensure full\n" +"compatibility with Mambo.\n" +"However, Mambo will still operate if your settings do not quite match the " +"recommended." +msgstr "" +"Estas configurações são recomendadas para completa compatibilidade \n" +"do PHP com o Mambo.\n" +"Entretanto o Mambo ainda pode funcionar se estas configurações não estiverem " +"como recomendado." + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:195 +msgid "Directive" +msgstr "Diretiva" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:198 +msgid "Recommended" +msgstr "Recomendado" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:201 +msgid "Actual" +msgstr "Atual" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:243 +msgid "Directory and File Permissions:" +msgstr "Permissões de Arquivos e Diretórios:" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:245 +msgid "" +"In order for Mambo to function\n" +"correctly it needs to be able to access or write to certain files\n" +"or directories. If you see \"Unwriteable\" you need to change the\n" +"permissions on the file or directory to allow Mambo\n" +"to write to it." +msgstr "" +"Para o bom funcionamento do Mambo\n" +"é necessário permitir o acesso de leitura e escrita em certos arquivos\n" +" ou diretórios. Se você encontrar \"Somente Leitura\", você precisa alterar " +"as permissões do arquivo ou diretório para permitir\n" +"que o Mambo escreva neles." + +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:83 +msgid "GNU/GPL License:" +msgstr "Licença GNU/GPL:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:85 +msgid "" +"Mambo is Free Software released " +"under the GNU/GPL License .\n" +"\t\t\t\t
      *** To continue installing Mambo you must check " +"the box under the license ***
      " +msgstr "" +"
      Mambo é um Software Livre " +"disponível sob a Licença " +"GNU/GPL.\n" +"\t\t\t\t
      *** Para continuar instalando o Mambo você deve " +"clicar na caixa abaixo da licença ***
      " + +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:100 +msgid "I understand that this software is released under the GNU/GPL License" +msgstr "Eu entendo que este software está disponível sob a Licença GNU/GPL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:40 +msgid "Please enter a Host name" +msgstr "Por favor, digite um nome de Host" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:44 +msgid "Please enter a Database User Name" +msgstr "Por favor, digite um nome de usuário para o Banco de Dados" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:48 +msgid "Please enter a Name for your new Database" +msgstr "Por favor, digite um nome para sua nova Base de Dados" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:51 +msgid "" +"Are you sure these settings are correct? \\nMambo will now attempt to " +"populate a Database with the settings you have supplied" +msgstr "" +"Você tem certeza que estas configurações estão corretas? \\nO Mambo pode " +"agora popular a base de dados com as configurações escolhidas por você" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:82 +msgid "MySQL database configuration:" +msgstr "Configuração do MySQL:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:83 +msgid "" +"\n" +" \t \t\t\t

      Setting up Mambo to run on your server involves 4 simple " +"steps...

      \n" +" \t \t\t\t

      Please enter the hostname of the server Mambo is to be " +"installed on.

      \n" +"\t\t\t\t

      Enter the MySQL username, password and database name you wish to " +"use with Mambo.

      \n" +"\t\t\t\t

      Enter the table name prefix to be used by this Mambo instance and " +"select how\n" +"\t\t\t\t to do with in case existing tables from former installations.\n" +"\t\t\t\t

      Install the samples unless you are experianced Mamber wanting to " +"start with a completely empty site.

      \n" +"\t\t\t\t" +msgstr "" +"\n" +" \t \t\t\t

      Configurar o Mambo para rodar em seu servidor envolve 4 " +"passos simples...

      \n" +" \t \t\t\t

      Por favor, digite o nome do host do servidor onde o Mambo " +"será instalado.

      \n" +"\t\t\t\t

      Digite o nome de usuário do MySQL, a senha e o nome da base de " +"dados que voc6e deseja usar com o Mambo.

      \n" +"\t\t\t\t

      Digite o prefixo das tabelas para ser usado com esta instância do " +"Mambo e selecione o que fazer\n" +"\t\t\t\t no caso de existirem tabelas de outras instalações.

      \n" +"\t\t\t\t

      Não instale os dados de exemplo a menos que seja um Mamber " +"experiente ou queira um site completamente limpo e vazio.

      \n" +"\t\t\t\t" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:101 +msgid "Host Name" +msgstr "Nome do Host" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:102 +msgid "This is usually \"localhost\"" +msgstr "Usualmente \"localhost\"" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:105 +msgid "MySQL User Name" +msgstr "Nome de Usuário do MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:106 +msgid "Either something as \"root\" or a username given by the hoster" +msgstr "" +"Alguma coisa como \"root\" or um nome de usuário fornecido pelo seu hosting" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:109 +msgid "MySQL Password" +msgstr "Senha do MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:110 +msgid "For site security using a password for the mysql account in mandatory" +msgstr "" +"Para segurança do site o uso de uma senha para a conta do MySQL é mandatória" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:113 +msgid "Verify MySQL Password" +msgstr "Redigite a Senha do MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:114 +msgid "Retype password for verification" +msgstr "Redigite a senha para verificação" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:117 +msgid "MySQL Database Name" +msgstr "Nome da Base MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:118 +msgid "" +"Some hosts allow only a certain DB name per site. Use table prefix in this " +"case for distinct mambo sites." +msgstr "" +"Alguns hosts permitem somente uma base de dados por site. Use os prefixos de " +"tabelas neste caso para separar sites do Mambo." + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:121 +msgid "MySQL Table Prefix" +msgstr "Prefixo das Tabelas do MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:122 +msgid "Dont use \"old_\" since this is used for backup tables" +msgstr "Não use \"old_\" pois é usado para backup de tabelas" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:126 +msgid "Drop Existing Tables" +msgstr "Apagar Tabelas Existentes" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:131 +msgid "Backup Old Tables" +msgstr "Backup de Tabelas Antigas" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:132 +msgid "" +"Any exiting backup tables from former mambo installations will be replaced" +msgstr "" +"Quaisquer tabelas de backup existentes de instalações anteriores do Mambo " +"podem ser trocadas" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:136 +msgid "Install Sample Data" +msgstr "Instalar Dados de Exemplo" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:137 +msgid "Dont uncheck this unless you are experienced with mambo!" +msgstr "Não desative isso a menos que tenha experiência com o Mambo!" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:35 +msgid "The database details provided are incorrect and/or empty." +msgstr "" +"Os detalhes informados para o banco de dados estão incorretos e/ou vazios." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:39 +msgid "The database passwords provided do not match. Please try again." +msgstr "" +"A senha do banco de dados informada não bate. Por favor, tente novamente." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:43 +msgid "The password and username provided are incorrect." +msgstr "A senha e o nome de usuário informados estão incorretos." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:47 +msgid "The database name provided is empty." +msgstr "O nome da base de dados informado está vazio." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:62 +msgid "A database error occurred: " +msgstr "Ocorreu um erro na base de dados: " + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:191 +msgid "Please enter a Site Name" +msgstr "Por favor, digite um nome para o site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:233 +msgid "Enter the name of your Mambo site:" +msgstr "Digite o nome do seu site Mambo:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:236 +msgid "" +"Looks like there have been some errors with inserting data into your " +"database!
      \n" +" \t\t\tYou cannot continue." +msgstr "" +"Existem alguns erros com a inserção de dados em seu banco de dados!
      \n" +" \t\t\tNão é possível continuar." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:239 +msgid "SUCCESS!" +msgstr "SUCESSO!" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:242 +msgid "" +"Type in the name for your Mambo site. This\n" +"\t\t\tname is used in email messages so make it something meaningful." +msgstr "" +"Digite um nome para seu site Mambo. Este\n" +"\t\t\tnome é usado em mensagens de e-mail, então coloque algo de fácil " +"entendimento." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:253 +msgid "Error log:" +msgstr "Log de Erros:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:264 +msgid "Site name" +msgstr "Nome do site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:269 +msgid "e.g. The Home of Mambo" +msgstr "por ex. A Casa do Mambo" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:39 +msgid "The sitename has not been provided" +msgstr "O nome do site não foi informado" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:59 +msgid "Please enter Site URL" +msgstr "Por favor, digite a URL do Site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:63 +msgid "Please enter the absolute path to your site" +msgstr "Por favor, digite o caminho absoluto para seu site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:67 +msgid "Please enter an email address to contact your administrator" +msgstr "" +"Por favor, digite um endereço de e-mail para contato com seu administrador" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:71 +msgid "Please enter a password for you administrator" +msgstr "Por favor, digite uma senha para seu administrador" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:136 +msgid "Confirm the site URL, path, admin e-mail and file/directory chmods" +msgstr "" +"Confirme a URL do site, caminho, e-mail do administrador e chmods de " +"arquivos/diretórios" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:137 +msgid "" +"\n" +"\t\t\t\t

      If URL and Path looks correct then please do not change.\n" +"\t\t\t\t If you are not sure then please contact your ISP or administrator. " +"Usually\n" +"\t\t\t\t the values displayed will work for your site.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t Enter your e-mail address, this will be the e-mail address of the " +"site\n" +"\t\t\t\t SuperAdministrator.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t The permission settings will be used while installing mambo " +"itself, by\n" +"\t\t\t\t the mambo addon-installers and by the media manager. If you are " +"unsure\n" +"\t\t\t\t what flags shall be set, leave the default settings at the " +"moment.\n" +"\t\t\t\t You can still change these flags later in the site global " +"configuration.

      " +msgstr "" +"\n" +"\t\t\t\t

      Se a URl e o caminho informados parecem corretos, não os " +"altere.\n" +"\t\t\t\t Se você não está certo disso, então contate seu provedor ou " +"administrador. Usualmente\n" +"\t\t\t\t os valores mostrados funcionam com seu site.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t Digite seu endereço de e-mail. Este pode ser o endereço de e-mail " +"do \n" +"\t\t\t\t administrador do site.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t As configurações de permissões usadas pelo Mambo são também usadas " +"por\n" +"\t\t\t\t instaladores adicionais e pelo gerenciador de mídia. Se você não " +"sabe\n" +"\t\t\t\t quais são as configurações a serem feitas neste momento,\n" +"\t\t\t\t você pode depois alterá-las nas configurações globais do site.

      " + +#. if +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:200 +msgid "File Permissions" +msgstr "Permissões de Arquivos" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:204 +msgid "Dont CHMOD files (use server defaults)" +msgstr "Não faça CHMOD nos arquivos (usar padrão do servidor)" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:208 +msgid "CHMOD files to:" +msgstr "CHMOD de arquivos para:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:217 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:226 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:235 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:275 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:284 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:293 +msgid "read" +msgstr "leitura" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:219 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:228 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:237 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:277 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:286 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:295 +msgid "write" +msgstr "escrita" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:221 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:230 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:239 +msgid "execute" +msgstr "execução" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:233 +msgid "World:" +msgstr "Todos:" + +#. if +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:258 +msgid "Directory Permissions" +msgstr "Permissões de Diretórios" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:262 +msgid "Dont CHMOD directories (use server defaults)" +msgstr "Não faça CHMOD nos diretórios (usar padrão do servidor)" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:266 +msgid "CHMOD directories to:" +msgstr "CHMOD de diretórios para:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:279 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:288 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:297 +msgid "search" +msgstr "procurar" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:68 +msgid "You must provide a valid admin email address." +msgstr "Você deve informar um endereço de e-mail válido para o admin." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:94 +msgid "The database details provided are incorrect and/or empty" +msgstr "" +"Os detalhes informados para o banco de dados estão incorretos e/ou vazios." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:156 +msgid "This site is down for maintenance.
      Please check back again soon." +msgstr "" +"Este site está parado para manuntenção.
      Por favor, verifique mais tarde." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:157 +msgid "" +"This site is temporarily unavailable.
      Please notify the System " +"Administrator" +msgstr "" +"Este site está temporariamente indisponível.
      Por favor, notifique o " +"administrador do sistema." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:160 +msgid "Mambo - the dynamic portal engine and content management system" +msgstr "" +"Mambo - a ferramenta dinâmica de portais e sistema de gerenciamento de " +"conteúdo" + +#. chmod files and directories if desired +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:234 +msgid "Directory and file permissions left unchanged." +msgstr "Permissões de arquivos e diretórios deixadas intactas." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:273 +msgid "File and directory permissions successfully changed." +msgstr "Permissões de arquivos e diretórios alteradas com sucesso." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:275 +msgid "File and directory permissions could not be changed.
      " +msgstr "Permissões de arquivos e diretórios não podem ser alteradas.
      " + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:276 +msgid "Please CHMOD mambo files and directories manually." +msgstr "Por favor, altere o CHMOD de arquivos e diretórios manualmente." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:294 +msgid "The site url has not been provided" +msgstr "A URL do site não foi informada" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:326 +msgid "View Site" +msgstr "Ver o Site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:334 +msgid "Administration" +msgstr "Administração" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:344 +msgid "Congratulations! Mambo is installed" +msgstr "Parabéns! O Mambo está instalado" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:345 +msgid "" +"\n" +"\t\t\t\t

      Click the \"View Site\" button to start Mambo site or " +"\"Administration\"\n" +"\t\t\t\t to take you to administrator login.

      " +msgstr "" +"\n" +"\t\t\t\t

      Clique no botão \"Ver o Site\" para iniciar o Mambo ou " +"\"Administração\"\n" +"\t\t\t\t para entrar no logind e administração.

      " + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:352 +msgid "PLEASE REMEMBER TO COMPLETELY
      REMOVE THE INSTALLATION DIRECTORY" +msgstr "" +"POR FAVOR, LEMBRE-SE DE REMOVER COMPLETAMENTE
      O DIRETÓRIO DE INSTALAÇÃO " +"(INSTALLATION)" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:353 +msgid "Administration Login Details" +msgstr "Detalhes de Login de Administração" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:354 +msgid "Username :" +msgstr "Nome de Usuário:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:355 +msgid "Password :" +msgstr "Senha:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:360 +msgid "" +"\n" +"\t\t\t\t\t\t\t\tYour configuration file or directory is not writeable,\n" +"\t\t\t\t\t\t\t\tor there was a problem creating the configuration file. " +"You'll have to\n" +"\t\t\t\t\t\t\t\tupload the following code by hand. Click in the textarea to " +"highlight\n" +"\t\t\t\t\t\t\t\tall of the code." +msgstr "" +"\n" +"\t\t\t\t\t\t\t\tSuas configuração de arquivos e diretórios é somente " +"leitura,\n" +"\t\t\t\t\t\t\t\tou existe um problema na criação do arquivo de configuração. " +"Você precisa fazer o\n" +"\t\t\t\t\t\t\t\tupload do seguinte código manualmente. Clique na área de " +"texto para selecionar\n" +"\t\t\t\t\t\t\t\ttodo o código." + +#: administrator/components/com_frontpage/admin.frontpage.html.php:32 +msgid "Frontpage Manager" +msgstr "Gerenciador de Página Principal" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:162 +msgid "Edit Content" +msgstr "Editar Conteúdo" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:193 +msgid "Edit Section" +msgstr "Editar Seção" + +#: administrator/components/com_frontpage/admin.frontpage.php:152 +msgid "- All Categories -" +msgstr "- Todas as Categorias -" + +#: administrator/components/com_frontpage/admin.frontpage.php:189 +msgid "Select an item to %a" +msgstr "Selecionar um item para %a" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Frontpage" +msgstr "Página Principal" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"This component shows all the published content items from your site marked " +"Show on Frontpage." +msgstr "" +"Este componente apresenta todos os itens publicados de seu site marcados " +"como Mostrar na Página Principal" + +#: administrator/components/com_frontpage/toolbar.frontpage.html.php:27 +msgid "Remove" +msgstr "Remover" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:36 +msgid "Please make a selection from the list to" +msgstr "Por favor, faça uma seleção da lista para" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:102 +msgid "Please make a selection from the list to publish" +msgstr "Por favor, faça uma seleção da lista para publicar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:142 +msgid "Please make a selection from the list to unpublish" +msgstr "Por favor, faça uma seleção da lista para despublicar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:155 +msgid "Archive" +msgstr "Arquivar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:162 +msgid "Please make a selection from the list to archive" +msgstr "Por favor, faça uma seleção da lista para arquivar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:175 +msgid "Unarchive" +msgstr "Desarquivar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:182 +msgid "Please select a news story to unarchive" +msgstr "Por favor, selecione uma notícia para desarquivar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:202 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:221 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:240 +msgid "Please select an item from the list to edit" +msgstr "Por favor, selecione um item da lista para editar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:215 +msgid "Edit HTML" +msgstr "Editar HTML" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:234 +msgid "Edit CSS" +msgstr "Editar CSS" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:261 +msgid "Are you sure you want to delete selected items?" +msgstr "Você tem certeza que deseja remover o item selecionado?" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:261 +msgid "Please make a selection from the list to delete" +msgstr "Por favor, faça uma seleção da lista para remover" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:312 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:313 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:327 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:328 +msgid "save" +msgstr "salvar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:344 +msgid "Cancel" +msgstr "Cancelar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:363 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:364 +msgid "back" +msgstr "Voltar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:391 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:392 +msgid "Upload Image" +msgstr "Enviar Imagem" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:35 +msgid "Please complete the username and password fields." +msgstr "Por favor, preencha os campos de nome de usuário e senha" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:41 +msgid "Logins are not permitted. There is no authentication check active." +msgstr "" +"Autenticação não é permitida. O sistema de verificação de autenticação não " +"está ativo" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:72 +msgid "Your login has been blocked. Please contact the administrator." +msgstr "Sua conta foi bloqueada. Por favor, contate o administrador" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:103 +msgid "Incorrect username or password. Please try again." +msgstr "Nome de Usuário ou Senha incorretos. Por favor, tente novamente" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:147 +msgid "Please enter a password" +msgstr "Por favor digite uma senha" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:166 +msgid "You cannot login. There are no administrators set up." +msgstr "Você não pode se autenticar. Não existe um administrador configurado" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:172 +msgid "Incorrect Username, Password, or Access Level. Please try again" +msgstr "" +"Nome de Usuário, Senha ou Nível de Acesso incorretos. Por favor, tente " +"novamente" + +#: D:/releases/svn/mambo/branches/4.6/includes/cmtclasses.php:348 +msgid "Your Module must contain a title." +msgstr "Seu módulo deve conter um título" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:95 +msgid "January" +msgstr "Janeiro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:96 +msgid "February" +msgstr "Fevereiro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:97 +msgid "March" +msgstr "Março" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:98 +msgid "April" +msgstr "Abril" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:99 +msgid "May" +msgstr "Maio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:100 +msgid "June" +msgstr "Junho" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:101 +msgid "July" +msgstr "Julho" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:102 +msgid "August" +msgstr "Agosto" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:103 +msgid "September" +msgstr "Setembro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:104 +msgid "October" +msgstr "Outubro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:105 +msgid "November" +msgstr "Novembro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:106 +msgid "December" +msgstr "Dezembro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:195 +msgid "No Sorting" +msgstr "Sem Ordem" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:196 +msgid "Sort Ascending" +msgstr "Ascedente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:197 +msgid "Sort Descending" +msgstr "Decrescente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:222 +msgid "Close Window" +msgstr "Fechar Janela" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:239 +msgid "Back" +msgstr "Voltar" + +#. Print Preview button - used when viewing page +#. Print Button - used in pop-up window +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:276 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:278 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:285 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:294 +msgid "Print" +msgstr "Imprimir" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:350 +msgid "" +"This email address is being protected from spam bots, you need Javascript " +"enabled to view it" +msgstr "" +"Este endereço de e-mail está protegido de spam bots. Você precisa ter o " +"Javascript habilitado para vê-lo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:375 +msgid "Pending" +msgstr "Pendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:378 +msgid "Published, but is Pending" +msgstr "Publicado, mas está Pendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:381 +msgid "Visible" +msgstr "Visível" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:384 +msgid "Published and is Current" +msgstr "Publicado e Atual" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:387 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:393 +msgid "Finished" +msgstr "Finalizado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:390 +msgid "Published, but has Expired" +msgstr "Publicado, mas Expirou" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:396 +msgid "Not Published" +msgstr "Não Publicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:401 +msgid "Click on icon to toggle state." +msgstr "Clique no ícone para alterar o estado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:441 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:520 +msgid "Go to Menu" +msgstr "Vai para o Menu" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:448 +msgid "Link Name" +msgstr "Nome do Link" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:452 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:539 +msgid "Go to Menu Item" +msgstr "Vá para o Item de Menu" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:460 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:547 +msgid "State" +msgstr "Estado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:466 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:553 +msgid "Trashed" +msgstr "Na Lixeira" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:469 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:556 +msgid "UnPublished" +msgstr "Despublicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:535 +msgid "Item Name" +msgstr "Nome do Item" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:654 +msgid "Publish item" +msgstr "Item Publicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:654 +msgid "Unpublish Item" +msgstr "Despublicar Item" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:21 +#, php-format +msgid "User Submitted '%s'" +msgstr "Usuário Enviou '%s'" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:23 +msgid " for %.\\n\\n\\n\\n" +msgstr "para %.\\n\\n\\n\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:50 +msgid "You need to login." +msgstr "Você precisa se autenticar" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:334 +msgid "Mambo Warning" +msgstr "Aviso do Mambo" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:67 +#, php-format +msgid "Results %d - %d of %d" +msgstr "Resultados %d - %d de %d" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:79 +#, php-format +msgid "Page %d of %d" +msgstr "Página %d de %d" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:105 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:108 +msgid "Start" +msgstr "Inciar" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:105 +msgid "first page" +msgstr "primeira página" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:106 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:109 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:226 +msgid "Previous" +msgstr "Anterior" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:106 +msgid "previous page" +msgstr "página anterior" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:124 +msgid "next page" +msgstr "próxima página" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:125 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:128 +msgid "End" +msgstr "Fim" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:125 +msgid "end page" +msgstr "página final" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:67 +msgid "Powered by Mambo" +msgstr "Provido por Mambo" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:68 +msgid "Generated:" +msgstr "Gerado em:" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:95 +msgid "Written by" +msgstr "Escrito por:" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:97 +msgid "Contributed by" +msgstr "Contribuição de" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:103 +msgid "Last Updated" +msgstr "Última Atualização" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:58 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:183 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:194 +msgid "Page" +msgstr "Página" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:142 +msgid "Article Index" +msgstr "Índice de Artigos" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:215 +msgid "Next >>" +msgstr "Próximo >>" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:224 +msgid "<<Previous" +msgstr ">>Anterior" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:39 +msgid "User Rating" +msgstr "Classificação do Usuário" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:47 +msgid "Poor" +msgstr "Pobre" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:48 +msgid "vote 1 star" +msgstr "1 estrela" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:49 +msgid "vote 2 star" +msgstr "2 estrelas" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:50 +msgid "vote 3 star" +msgstr "3 estrelas" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:51 +msgid "vote 4 star" +msgstr "4 estrelas" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:52 +msgid "vote 5 star" +msgstr "5 estrelas" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:53 +msgid "Best" +msgstr "Melhor" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:54 +msgid "Rate" +msgstr "Classificar" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/categories.searchbot.php:70 +msgid "Category List" +msgstr "Lista de Categorias" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/categories.searchbot.php:74 +msgid "Category Blog" +msgstr "Blog de Categoria" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_banners.php:73 +msgid "Advertisement" +msgstr "Anúncios" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:40 +#, php-format +msgid "Hi, %s" +msgstr "Olá, %s" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:65 +msgid "username" +msgstr "nome de usuário" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:69 +msgid "password" +msgstr "senha" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_login.php:71 +msgid "Remember Me" +msgstr "Me Lembre" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_poll.php:83 +msgid "Vote" +msgstr "Votar" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_search.php:17 +msgid "search..." +msgstr "pesquisar..." + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:25 +msgid "Time" +msgstr "Tempo" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:35 +msgid "Members" +msgstr "Membros" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:39 +msgid "News" +msgstr "Notícias" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:43 +msgid "WebLinks" +msgstr "Links Web" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:57 +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:59 +msgid "Visitors" +msgstr "Visitantes" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_templatechooser.php:75 +msgid "Select" +msgstr "Selecione" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:28 +#, php-format +msgid "We have %d guest online" +msgid_plural "We have %d guests online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:32 +#, php-format +msgid "We have %d member online" +msgid_plural "We have %d members online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:36 +#, php-format +msgid "We have %d guest online and " +msgid_plural "We have %d guests online and " +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:37 +#, php-format +msgid " %d member online" +msgid_plural " %d members online" +msgstr[0] "" +msgstr[1] "" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:54 +msgid "No Users Online" +msgstr "Nenhum usuário on-line" + +#: administrator/components/com_content/admin.content.html.php:37 +#: administrator/components/com_content/admin.content.html.php:41 +msgid "Content Items Manager" +msgstr "Gerenciador de Itens de Conteúdo" + +#: administrator/components/com_content/admin.content.html.php:37 +msgid "Section: All" +msgstr "Seção: Todas" + +#: administrator/components/com_content/admin.content.html.php:87 +msgid "Front Page" +msgstr "Página Principal" + +#: administrator/components/com_content/admin.content.html.php:289 +msgid "Please make a selection from the list to send to Trash" +msgstr "Por favor, selecione um item da lista para enviar para a Lixeira" + +#: administrator/components/com_content/admin.content.html.php:290 +msgid "" +"Are you sure you want to Trash the selected items? \\nThis will not " +"permanently delete the items." +msgstr "" +"Você tem certeza que deseja enviar os itens selecionados para a Lixeira?" +"\\nIsto não remove os itens permanentemente" + +#: administrator/components/com_content/admin.content.html.php:306 +#: administrator/components/com_content/admin.content.html.php:310 +msgid "Archive Manager" +msgstr "Gerenciador de Arquivos" + +#: administrator/components/com_content/admin.content.html.php:523 +msgid "You must select a Section." +msgstr "Você deve selecionar uma seção" + +#: administrator/components/com_content/admin.content.html.php:525 +#: administrator/components/com_content/admin.content.html.php:527 +msgid "You must select a Category." +msgstr "Você deve selecionar uma categoria" + +#: administrator/components/com_content/admin.content.html.php:579 +msgid "Content Item:" +msgstr "Item de Conteúdo:" + +#: administrator/components/com_content/admin.content.html.php:655 +msgid "Intro Text:" +msgstr "Texto de Introdução:" + +#: administrator/components/com_content/admin.content.html.php:655 +msgid "required" +msgstr "necessário" + +#. parameters : areaname, content, hidden field, width, height, rows, cols +#: administrator/components/com_content/admin.content.html.php:663 +msgid "Main Text:" +msgstr "Texto Principal:" + +#: administrator/components/com_content/admin.content.html.php:663 +msgid "optional" +msgstr "opcional" + +#: administrator/components/com_content/admin.content.html.php:692 +msgid "Show on Frontpage:" +msgstr "Mostrar na Página Principal:" + +#: administrator/components/com_content/admin.content.html.php:768 +msgid "Content ID:" +msgstr "ID do Conteúdo:" + +#: administrator/components/com_content/admin.content.html.php:794 +msgid "Reset Hit Count" +msgstr "Reiniciar Contador de Acessos" + +#: administrator/components/com_content/admin.content.html.php:801 +msgid "Revised" +msgstr "Revisado" + +#: administrator/components/com_content/admin.content.html.php:805 +msgid "times" +msgstr "vezes" + +#: administrator/components/com_content/admin.content.html.php:815 +#: administrator/components/com_content/admin.content.html.php:825 +msgid "By" +msgstr "Por" + +#: administrator/components/com_content/admin.content.html.php:844 +msgid "Gallery Images:" +msgstr "Galeria de Imagens:" + +#: administrator/components/com_content/admin.content.html.php:869 +msgid "up" +msgstr "acima" + +#: administrator/components/com_content/admin.content.html.php:870 +msgid "down" +msgstr "abaixo" + +#: administrator/components/com_content/admin.content.html.php:871 +msgid "remove" +msgstr "remover" + +#: administrator/components/com_content/admin.content.html.php:880 +#: components/com_content/content.html.php:1091 +msgid "Source:" +msgstr "Fonte:" + +#: administrator/components/com_content/admin.content.html.php:888 +msgid "Image Align:" +msgstr "Alinhamento de Imagem:" + +#: administrator/components/com_content/admin.content.html.php:896 +#: components/com_content/content.html.php:1107 +msgid "Alt Text:" +msgstr "Texto Alt:" + +#: administrator/components/com_content/admin.content.html.php:904 +#: components/com_content/content.html.php:1115 +msgid "Border:" +msgstr "Borda:" + +#: administrator/components/com_content/admin.content.html.php:944 +#: components/com_content/content.html.php:1124 +msgid "Apply" +msgstr "Aplicar" + +#: administrator/components/com_content/admin.content.html.php:963 +msgid "" +"These Parameters only control what you see when you click to view an item " +"fully" +msgstr "" +"Estes parâmetros somente controlam o que você vê quando clica em um item " +"completo" + +#: administrator/components/com_content/admin.content.html.php:999 +msgid "Add Sect/Cat/Title" +msgstr "Adicionar Seção/Cat/Título" + +#: administrator/components/com_content/admin.content.html.php:1015 +msgid "This will create a 'Link - Content Item' in the menu you select" +msgstr "" +"Isto irá criar um 'Link - Item de Conteúdo' no menu que você selecionou" + +#: administrator/components/com_content/admin.content.html.php:1118 +msgid "Please select something" +msgstr "Por favor, selecione alguma coisa" + +#: administrator/components/com_content/admin.content.html.php:1130 +msgid "Move Items" +msgstr "Mover Itens" + +#: administrator/components/com_content/admin.content.html.php:1139 +msgid "Move to Section/Category:" +msgstr "Mover para Seção/Categoria:" + +#: administrator/components/com_content/admin.content.html.php:1145 +msgid "Items being Moved:" +msgstr "Itens a serem Movidos:" + +#: administrator/components/com_content/admin.content.html.php:1188 +msgid "Please select a Section/Category to copy the items to" +msgstr "Por favor, selecione uma Seção/Categoria para copiar os itens de" + +#: administrator/components/com_content/admin.content.html.php:1199 +msgid "Copy Content Items" +msgstr "Copiar Itens de Conteúdo" + +#: administrator/components/com_content/admin.content.html.php:1208 +msgid "Copy to Section/Category:" +msgstr "Copiar para Seção/Categoria:" + +#: administrator/components/com_content/admin.content.html.php:1214 +msgid "Items being copied:" +msgstr "Itens a serem copiados:" + +#: administrator/components/com_content/admin.content.php:161 +msgid "All Content Items" +msgstr "Todos os Itens de Conteúdo" + +#: administrator/components/com_content/admin.content.php:382 +msgid "You cannot edit an archived item" +msgstr "Você não pode editar um item arquivado" + +#: administrator/components/com_content/admin.content.php:423 +#: administrator/components/com_content/admin.content.php:455 +#: administrator/components/com_content/admin.content.php:594 +msgid "Never" +msgstr "Nunca" + +#: administrator/components/com_content/admin.content.php:470 +msgid "Select Section" +msgstr "Selecionar Seção" + +#: administrator/components/com_content/admin.content.php:483 +#: administrator/components/com_content/admin.content.php:499 +#: administrator/components/com_content/admin.content.php:507 +msgid "Select Category" +msgstr "Selecionar Categoria" + +#: administrator/components/com_content/admin.content.php:677 +msgid "Successfully Saved changes to Item: " +msgstr "Alterações do item foram salvas com sucesso:" + +#: administrator/components/com_content/admin.content.php:682 +msgid "Successfully Saved Item: " +msgstr "Item salvo com sucesso:" + +#: administrator/components/com_content/admin.content.php:723 +#, php-format +msgid "%d Item successfully Archived" +msgid_plural "%d Items successfully Archived" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:753 +msgid "Select an item to toggle" +msgstr "Selecionar um item para alterar" + +#: administrator/components/com_content/admin.content.php:886 +#: administrator/components/com_content/admin.content.php:990 +msgid "An error has occurred" +msgstr "Ocorreu um erro" + +#: administrator/components/com_content/admin.content.php:935 +#, php-format +msgid "%d Item successfully moved to Section: %s, Category: %s" +msgid_plural "%d Items successfully moved to Section: %s, Category: %s" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:1062 +#, php-format +msgid "%d Item successfully copied to Section: %s, Category: %s" +msgid_plural "%d Items successfully copied to Section: %s, Category: %s" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:1079 +msgid "Successfully Reset Hit count" +msgstr "Contador de Acessos reiniciado com sucesso" + +#: administrator/components/com_content/content.xml +msgid "A text key that an item may be referenced by (like a help reference)" +msgstr "" +"Um texto chave que um item pode ser referenciado (como uma referência de " +"ajuda)" + +#: administrator/components/com_content/content.xml +msgid "Content Page" +msgstr "Página de Conteúdo" + +#: administrator/components/com_content/content.xml +#: components/com_content/content.html.php:1015 +msgid "Intro Text" +msgstr "Texto de Introdução" + +#: administrator/components/com_content/content.xml +msgid "Key Reference" +msgstr "Chave de Referência" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the intro text" +msgstr "Mostrar/Esconder o texto de introdução" + +#: components/com_content/content.html.php:70 +msgid "This Category is currently empty" +msgstr "Esta Categoria está atualmente vazia" + +#: components/com_content/content.html.php:118 +#, php-format +msgid "%d item" +msgid_plural "%d items" +msgstr[0] "" +msgstr[1] "" + +#: components/com_content/content.html.php:134 +msgid "Registered Users Only" +msgstr "Somente para Usuários Registrados" + +#: components/com_content/content.html.php:186 +msgid "Display #" +msgstr "Mostrar #" + +#: components/com_content/content.html.php:270 +#: components/com_content/content.html.php:420 +msgid "Register to read more..." +msgstr "Registre-se para ler mais..." + +#: components/com_content/content.html.php:350 +msgid "More..." +msgstr "Mais..." + +#: components/com_content/content.html.php:415 +msgid "Read more..." +msgstr "Leia mais..." + +#: components/com_content/content.html.php:610 +#: components/com_content/content.html.php:612 +#: components/com_content/content.html.php:616 +msgid "PDF" +msgstr "PDF" + +#: components/com_content/content.html.php:635 +#: components/com_content/content.html.php:637 +#: components/com_content/content.html.php:641 +msgid "E-mail" +msgstr "E-mail" + +#: components/com_content/content.html.php:912 +msgid "Please select a category" +msgstr "Por favor, selecione uma categoria" + +#: components/com_content/content.html.php:914 +#: components/com_content/content.html.php:923 +msgid "Content item must have intro text" +msgstr "Conteúdo deve ter um texto de introdução" + +#: components/com_content/content.html.php:939 +msgid "Please either Cancel or Save the current change" +msgstr "Por favor, clique em cancelar ou salve as alterações" + +#. $docinfo = "".T_('Subject:')." "; +#. $docinfo .= $row->title."
      "; +#: components/com_content/content.html.php:948 +msgid "Expiry Date:" +msgstr "Data de Expiração:" + +#: components/com_content/content.html.php:950 +msgid "Version:" +msgstr "'Versão:" + +#: components/com_content/content.html.php:952 +msgid "Created:" +msgstr "Criado:" + +#: components/com_content/content.html.php:954 +msgid "Last Modified:" +msgstr "Última Modificação:" + +#: components/com_content/content.html.php:956 +msgid "Hits:" +msgstr "Acessos:" + +#: components/com_content/content.html.php:964 +msgid "Item Information" +msgstr "Informação do Item" + +#: components/com_content/content.html.php:965 +msgid "Info" +msgstr "Info" + +#: components/com_content/content.html.php:1015 +#: components/com_content/content.html.php:1021 +msgid "Required" +msgstr "Necessário" + +#: components/com_content/content.html.php:1021 +#: components/com_content/content.html.php:1039 +msgid "Main Text" +msgstr "Texto Principal" + +#: components/com_content/content.html.php:1039 +msgid "Optional" +msgstr "Opcional" + +#: components/com_content/content.html.php:1061 +msgid "Sub-folder" +msgstr "Sub-pasta" + +#: components/com_content/content.html.php:1069 +msgid "Content Images" +msgstr "Imagens de Conteúdo" + +#: components/com_content/content.html.php:1072 +msgid "Edit Image" +msgstr "Editar Imagem" + +#: components/com_content/content.html.php:1078 +msgid "Insert" +msgstr "Inserir" + +#: components/com_content/content.html.php:1083 +msgid "Up" +msgstr "Acima" + +#: components/com_content/content.html.php:1084 +msgid "Down" +msgstr "Abaixo" + +#: components/com_content/content.html.php:1099 +msgid "Align:" +msgstr "Alinhar:" + +#: components/com_content/content.html.php:1132 +#: components/com_content/content.html.php:1135 +msgid "No Image" +msgstr "Sem Imagem" + +#: components/com_content/content.html.php:1201 +msgid "Show on Front Page:" +msgstr "Mostrar na Página Principal:" + +#: components/com_content/content.html.php:1210 +msgid "Metadata" +msgstr "Metadados" + +#: components/com_content/content.html.php:1260 +#: components/com_content/content.php:1444 +msgid "" +"You must enter valid e-mail addresses for both yourself and your recipient." +msgstr "" +"Você deve informar um endereço de e-mail válido para você e o destinatário" + +#: components/com_content/content.html.php:1274 +msgid "E-mail this to a friend." +msgstr "Envie para seu amigo" + +#: components/com_content/content.html.php:1282 +msgid "Your friend's E-mail:" +msgstr "E-mail de seu amigo:" + +#: components/com_content/content.html.php:1298 +msgid "Your E-mail:" +msgstr "Seu e-mail:" + +#: components/com_content/content.html.php:1306 +msgid "Message subject:" +msgstr "Assunto:" + +#: components/com_content/content.html.php:1317 +msgid "Send e-mail" +msgstr "Enviar E-mail" + +#: components/com_content/content.html.php:1338 +#, php-format +msgid "This item has been sent to %s" +msgstr "Este item foi enviado para %s" + +#: components/com_content/content.php:432 +msgid "Date Asc" +msgstr "Data Asc" + +#: components/com_content/content.php:433 +msgid "Date Desc" +msgstr "Data Desc" + +#: components/com_content/content.php:437 +msgid "Title Asc" +msgstr "Título Asc" + +#: components/com_content/content.php:438 +msgid "Title Desc" +msgstr "Título Desc" + +#: components/com_content/content.php:442 +msgid "Hits Asc" +msgstr "Hits Asc" + +#: components/com_content/content.php:443 +msgid "Hits Desc" +msgstr "Hits Desc" + +#: components/com_content/content.php:447 +msgid "Author Asc" +msgstr "Autor Asc" + +#: components/com_content/content.php:448 +msgid "Author Desc" +msgstr "Autor Desc" + +#. if no archives for category, hides search and outputs empty message +#: components/com_content/content.php:642 +#: components/com_content/content.php:722 +msgid "There are currently no Archived Entries for this Category" +msgstr "Não existem entradas arquivadas para esta categoria" + +#. Search Success message +#: components/com_content/content.php:820 +#, php-format +msgid "Here are the Archived entries for %s %s" +msgstr "Aqui estão as entradas arquivadas para %s %s" + +#. Search Failure message for Archives +#: components/com_content/content.php:954 +#, php-format +msgid "There are no Archived entries for %s %s" +msgstr "Não existe entradas arquivadas para %s %s" + +#. Generic blog empty display +#: components/com_content/content.php:958 +msgid "There are no items to display" +msgstr "Não existem itens para mostrar" + +#: components/com_content/content.php:1161 +#, php-format +msgid "The module [ %s ] is currently being edited by another person." +msgstr "O módulo [ %s ] está sendo editado por outra pessoa" + +#: components/com_content/content.php:1368 +#, php-format +msgid "" +"A new content item has been submitted by [ %s ] titled [ %s ] from section " +"[ %s ] and category [ %s ]" +msgstr "" +"Um novo conteúdo foi enviado por [ %s ] com o título [ %s ] da seção [ %s ] " +"e categoria [ %s ]" + +#: components/com_content/content.php:1368 +msgid "New Item" +msgstr "Novo Item" + +#: components/com_content/content.php:1373 +msgid "Item saved successfully." +msgstr "Item Salvo com Sucesso" + +#: components/com_content/content.php:1435 +#, php-format +msgid "Item sent by %s" +msgstr "Item enviado por %s" + +#. message text +#: components/com_content/content.php:1455 +#, php-format +msgid "" +" The following page from the \"%s\" website has been sent to you by %s ( %" +"s ).\n" +"\n" +"You can access it at the following url:\n" +"%s" +msgstr "" +"A seguinte página do site \"%s\" foi enviada para você por %s ( %s ).\n" +"\n" +"Você pode acessá-la pelo seguinte endereço:\n" +"%s" + +#: administrator/components/com_containers/admin.containers.html.php:45 +msgid "Display number" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:49 +msgid "Show Descendants?" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:64 +msgid "Parent container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:81 +msgid "Mambo " +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:134 +msgid "Top level container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:135 +msgid "Immediate container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:188 +#: administrator/components/com_containers/containers.xml +msgid "Containers" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:248 +msgid "Edit Container details" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:250 +msgid "Container name" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:251 +msgid "Up to 500 characters" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:252 +msgid "Keywords" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:253 +msgid "Window title" +msgstr "" + +#: administrator/components/com_containers/containers.xml +msgid "Nested container system for Mambo" +msgstr "" + +#: components/com_containers/containers.class.php:143 +msgid "No parent" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:29 +msgid "Contact Manager" +msgstr "Gerenciador de Contatos" + +#: administrator/components/com_contact/admin.contact.html.php:64 +msgid "Linked to User" +msgstr "Atrelado ao Usuário" + +#: administrator/components/com_contact/admin.contact.html.php:96 +msgid "Edit Contact" +msgstr "Editar Contato" + +#: administrator/components/com_contact/admin.contact.html.php:176 +msgid "Contact:" +msgstr "Contato:" + +#: administrator/components/com_contact/admin.contact.html.php:190 +msgid "Contact Details" +msgstr "Detalhes do Contato" + +#: administrator/components/com_contact/admin.contact.html.php:203 +msgid "Linked to User:" +msgstr "Atrelado ao Usuário:" + +#: administrator/components/com_contact/admin.contact.html.php:219 +msgid "Contact's Position:" +msgstr "Cargo do Contato:" + +#: administrator/components/com_contact/admin.contact.html.php:235 +msgid "Street Address:" +msgstr "Endereço:" + +#: administrator/components/com_contact/admin.contact.html.php:243 +msgid "Town/Suburb:" +msgstr "Cidade:" + +#: administrator/components/com_contact/admin.contact.html.php:251 +msgid "State/County:" +msgstr "Estado/Província:" + +#: administrator/components/com_contact/admin.contact.html.php:259 +msgid "Country:" +msgstr "País:" + +#: administrator/components/com_contact/admin.contact.html.php:267 +msgid "Postal Code/ZIP:" +msgstr "CEP:" + +#: administrator/components/com_contact/admin.contact.html.php:291 +msgid "Miscellaneous Info:" +msgstr "Outras Informações:" + +#: administrator/components/com_contact/admin.contact.html.php:313 +msgid "Site Default:" +msgstr "Padrão do Site:" + +#: administrator/components/com_contact/admin.contact.html.php:337 +msgid "Access:" +msgstr "Acesso:" + +#: administrator/components/com_contact/admin.contact.html.php:356 +msgid "Image Info" +msgstr "Info da Imagem" + +#: administrator/components/com_contact/admin.contact.html.php:394 +msgid "" +"These Parameters only control what you see when you click to view a Contact " +"item" +msgstr "" +"Estes parâmetros somente controlam o que você vê quando clica para " +"visualizar um contato" + +#: administrator/components/com_contact/admin.contact.php:255 +msgid "Select a record to %s" +msgstr "Selecione um registro para %s" + +#: administrator/components/com_contact/contact.xml +msgid "This component shows a listing of Contact Information" +msgstr "Este componente mostra um listagem de informações de contatos" + +#: administrator/components/com_contact/contact_items.xml +msgid "Address Icon" +msgstr "Ícone de Endereço" + +#: administrator/components/com_contact/contact_items.xml +msgid "Country" +msgstr "País" + +#: administrator/components/com_contact/contact_items.xml +msgid "Description text" +msgstr "Texto de Descrição" + +#: administrator/components/com_contact/contact_items.xml +msgid "Drop Down" +msgstr "Selecionador" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:109 +msgid "Email" +msgstr "E-mail" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Copy" +msgstr "Cópia de E-mail" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Form" +msgstr "Formulário de E-mail" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email description" +msgstr "Descrição do E-mail" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:127 +msgid "Fax" +msgstr "Fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Fax Icon" +msgstr "Ícone de Fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Address info" +msgstr "Ícone para Infos de Endereço" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Email info" +msgstr "Ícone para Infos de E-mail" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Fax info" +msgstr "Ícone para Infos de Fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Misc info" +msgstr "Ícone para Infos de Misc" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Telephone info" +msgstr "Ícone para Infos de Tekefone" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons" +msgstr "Ícones" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons/text" +msgstr "Ícones/Texto" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Icon" +msgstr "Ícone de Misc" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Info" +msgstr "Infos de Misc" + +#: administrator/components/com_contact/contact_items.xml +msgid "Post/Zip Code" +msgstr "CEP" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Description Text below" +msgstr "Mostrar/Esconder o texto descritivo abaixo" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Drop Down select list in Contact view" +msgstr "Mostrar/Esconder a caixa de selecionamento na visualização de contatos" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Vcard" +msgstr "Mostrar/Esconder o Vcard" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the checkbox to email a copy to the senders address" +msgstr "Mostrar/Esconder o checkbox para envio de cópia para o usuário" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the country info" +msgstr "Mostrar/Esconder as informações de país" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"Show/Hide the email info, if you set to show the address will be protected " +"from spambots by javascript cloaking" +msgstr "" +"Mostrar/Esconder o e-mail. Se você mostrar, ele será protegido por um " +"sistema antispam em Javascript" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the email to form" +msgstr "Mostrar/Esconder o e-mail para formulário" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the fax info" +msgstr "Mostrar/Esconder a informação de fax" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the image" +msgstr "Mostrar/Esconder a imagem" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the misc info" +msgstr "Mostrar/Esconder a informação adicional" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the name info" +msgstr "Mostrar/Esconder a informação de nome" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the position info" +msgstr "Mostrar/Esconder a informação de posicionamento" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the post code info" +msgstr "Mostrar/Esconder a informação de CEP" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the state info" +msgstr "Mostrar/Esconder a informação de estado" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the street address info" +msgstr "Mostrar/Esconder a informação de endereço" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the suburb info" +msgstr "Mostrar/Esconder a informação de bairro" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the telephone info" +msgstr "Mostrar/Esconder a informação de telefone" + +#: administrator/components/com_contact/contact_items.xml +msgid "Street Address" +msgstr "Endereço" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone" +msgstr "Telefone" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone Icon" +msgstr "Ícone de Telefone" + +#: administrator/components/com_contact/contact_items.xml +msgid "Text" +msgstr "Texto" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"The Description text for the Email form, if left blank it will use the " +"_EMAIL_DESCRIPTION language definition" +msgstr "" +"Um texto de descrição do formulário de e-mail. Se deixado em branco, o valor " +"de _EMAIL_DESCRIPTION será carregado do seu arquivo de idioma" + +#: administrator/components/com_contact/contact_items.xml +msgid "Town/Suburb" +msgstr "Cidade" + +#: administrator/components/com_contact/contact_items.xml +msgid "Use Icons, text or nothing next to the contact information displayed" +msgstr "" +"Usar ícones, texto ou nada para a apresentação de informações do contato" + +#: administrator/components/com_contact/contact_items.xml +msgid "Vcard" +msgstr "Vcard" + +#: components/com_contact/contact.class.php:129 +msgid "Mambo vCard for %s" +msgstr "Vcard Mambo para %s" + +#: components/com_contact/contact.html.php:118 +msgid "Phone" +msgstr "Telefone" + +#: components/com_contact/contact.html.php:263 +#: components/com_contact/contact.php:345 +msgid "Please make sure the form is complete and valid." +msgstr "Por favor, tenha certeza que o formulário está completo e válido." + +#: components/com_contact/contact.html.php:390 +msgid "Select Contact:" +msgstr "Selecione o contato:" + +#: components/com_contact/contact.html.php:634 +msgid "Download information as a" +msgstr "Copiar as informações como um" + +#: components/com_contact/contact.html.php:636 +msgid "VCard" +msgstr "VCard" + +#: components/com_contact/contact.html.php:657 +msgid "Enter your name:" +msgstr "Digite seu nome:" + +#: components/com_contact/contact.html.php:661 +msgid "E-mail address:" +msgstr "Endereço de E-mail:" + +#: components/com_contact/contact.html.php:669 +msgid "Enter your message:" +msgstr "Digite sua mensagem:" + +#: components/com_contact/contact.html.php:677 +msgid "Email a copy of this message to your own address" +msgstr "Enviar cópia desta mensagem para seu e-mail" + +#: components/com_contact/contact.html.php:698 +msgid "There are no Contact Details listed." +msgstr "Não existem Detalhes de Contatos para Listar" + +#: components/com_contact/contact.php:111 +msgid "The Contact list for this Website." +msgstr "A lista de contatos para este website" + +#: components/com_contact/contact.php:233 +msgid "Send an Email to this Contact:" +msgstr "Envie um e-mail para este contato:" + +#: components/com_contact/contact.php:280 +msgid "Address: " +msgstr "Endereço: " + +#: components/com_contact/contact.php:281 +msgid "Email: " +msgstr "E-mail:" + +#: components/com_contact/contact.php:282 +msgid "Telephone: " +msgstr "Telefone:" + +#: components/com_contact/contact.php:283 +msgid "Fax: " +msgstr "Fax:" + +#: components/com_contact/contact.php:284 +msgid "Information: " +msgstr "Informação:" + +#: components/com_contact/contact.php:337 +msgid "Enquiry" +msgstr "" + +#: components/com_contact/contact.php:348 +msgid "This is an enquiry e-mail via %s from:" +msgstr "" + +#: components/com_contact/contact.php:354 +msgid "The following is a copy of the message you sent to %s via %s " +msgstr "O e-mail abaixo é uma cópia da mensagem que você enviou para %s via %s" + +#: components/com_contact/contact.php:356 +msgid "Copy of: %s" +msgstr "Cópia de: %s" + +#: components/com_contact/contact.php:361 +msgid "Thank you for your e-mail" +msgstr "Obrigado pela sua mensagem" + +#: administrator/components/com_config/admin.config.html.php:104 +msgid "Global Configuration" +msgstr "Configuração Global" + +#: administrator/components/com_config/admin.config.html.php:106 +msgid "configuration.php is :" +msgstr "configuration.php está:" + +#: administrator/components/com_config/admin.config.html.php:137 +msgid "Site Offline:" +msgstr "Site Parado:" + +#: administrator/components/com_config/admin.config.html.php:141 +msgid "Offline Message:" +msgstr "Mensagem Quando Parado:" + +#: administrator/components/com_config/admin.config.html.php:143 +msgid "A message that displays if your site is offline" +msgstr "Uma mensagem que será mostrada se o site estiver parado" + +#: administrator/components/com_config/admin.config.html.php:148 +msgid "System Error Message:" +msgstr "Mensagem de Erro do Sistema:" + +#: administrator/components/com_config/admin.config.html.php:150 +msgid "A message that displays if Mambo could not connect to the database" +msgstr "" +"Uma mensagem apresentada se o Mambo não conseguir conexão com a base de dados" + +#: administrator/components/com_config/admin.config.html.php:155 +msgid "Site Name:" +msgstr "Nome do Site:" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "Show UnAuthorized Links:" +msgstr "Mostrar Links Não-Autorizados:" + +#: administrator/components/com_config/admin.config.html.php:161 +msgid "" +"If yes, will show links to content to registered content even if you are not " +"logged in. The user will need to login to see the item in full." +msgstr "" +"Se sim, mostra links para conteúdos que necessitam autenticação/registro. O " +"usuário precisará se autenticar para ver o item completo." + +#: administrator/components/com_config/admin.config.html.php:166 +msgid "Allow User Registration:" +msgstr "Permite Registro de Usuários:" + +#: administrator/components/com_config/admin.config.html.php:168 +msgid "If yes, allows users to self-register" +msgstr "Se sim, permite que usuários se registrem" + +#: administrator/components/com_config/admin.config.html.php:173 +msgid "Use New Account Activation:" +msgstr "Usar Ativação de Conta:" + +#: administrator/components/com_config/admin.config.html.php:176 +msgid "" +"If yes, the user will be mailed a link to activate their account before they " +"can log in." +msgstr "" +"Se sim, o usuário recebe um e-mail contento um link para ativar sua conta " +"antes de usá-la" + +#: administrator/components/com_config/admin.config.html.php:181 +msgid "Require Unique Email:" +msgstr "Requer E-mail Único:" + +#: administrator/components/com_config/admin.config.html.php:183 +msgid "If yes, users cannot share the same email address" +msgstr "Se sim, não é permitido registro com e-mail já existente" + +#: administrator/components/com_config/admin.config.html.php:188 +msgid "Debug Site:" +msgstr "Debug Site:" + +#: administrator/components/com_config/admin.config.html.php:190 +msgid "If yes, displays diagnostic information and SQL errors if present" +msgstr "Se sim, mostra erros de SQL e informações de diagnóstico se existirem" + +#: administrator/components/com_config/admin.config.html.php:195 +msgid "WYSIWYG Editor:" +msgstr "Editor WYSIWYG:" + +#: administrator/components/com_config/admin.config.html.php:199 +msgid "List Length:" +msgstr "Tamanho de Listas:" + +#: administrator/components/com_config/admin.config.html.php:201 +msgid "Sets the default length of lists in the administrator for all users" +msgstr "Configura o tamanho padrão de listas para todos os usuários" + +#: administrator/components/com_config/admin.config.html.php:206 +msgid "Favourites Site Icon:" +msgstr "Ícone de Favoritos:" + +#: administrator/components/com_config/admin.config.html.php:210 +msgid "" +"If left blank or the file cannot be found, the default favicon.ico will be " +"used." +msgstr "" +"Se deixado em branco ou o arquivo não for encontrado, o ícone favicon.ico " +"padrão será usado" + +#: administrator/components/com_config/admin.config.html.php:211 +msgid "Favourite Icon" +msgstr "Ícone Favorito" + +#: administrator/components/com_config/admin.config.html.php:217 +msgid "Locale" +msgstr "Código" + +#: administrator/components/com_config/admin.config.html.php:221 +msgid "Language:" +msgstr "Idioma:" + +#: administrator/components/com_config/admin.config.html.php:225 +msgid "Time Offset:" +msgstr "Zona de Hora:" + +#: administrator/components/com_config/admin.config.html.php:229 +msgid "Current date/time configured to display: %s" +msgstr "Data/Hora atuais estão configurados para mostrar: %s" + +#: administrator/components/com_config/admin.config.html.php:234 +msgid "Country Locale:" +msgstr "Código do País:" + +#: administrator/components/com_config/admin.config.html.php:244 +msgid "These Parameters control Output elements" +msgstr "Estes parâmetros controlam a saída de elementos" + +#: administrator/components/com_config/admin.config.html.php:247 +msgid "Linked Titles:" +msgstr "Títulos com Links:" + +#: administrator/components/com_config/admin.config.html.php:250 +msgid "If yes, the title of content items will be hyperlinked to the item" +msgstr "Se sim, o título dos itens de conteúdo são links para o conteúdo" + +#: administrator/components/com_config/admin.config.html.php:255 +msgid "Read More Link:" +msgstr "Link Leia Mais:" + +#: administrator/components/com_config/admin.config.html.php:258 +msgid "" +"If set to show, the read-more link will show if main-text has been provided " +"for the item" +msgstr "" +"Se configurado para mostrar, o link leia mais é mostrado se existe texto " +"principal no conteúdo" + +#: administrator/components/com_config/admin.config.html.php:263 +msgid "Item Rating/Voting:" +msgstr "Classificação/Votação de Item:" + +#: administrator/components/com_config/admin.config.html.php:266 +msgid "If set to show, a voting system will be enabled for content items" +msgstr "" +"Se configurado para mostrar, um sistema de classificação é habilitado para " +"os itens de conteúdo" + +#: administrator/components/com_config/admin.config.html.php:271 +msgid "Author Names:" +msgstr "Nomes de Autores:" + +#: administrator/components/com_config/admin.config.html.php:274 +msgid "" +"If set to show, the name of the author will be displayed. This a global " +"setting but can be changed at menu and item levels." +msgstr "" +"Se configurado para mostrar, o nome do autor será apresentado. Esta é uma " +"configuração global mas pode ser alterada no menu ou nos itens" + +#: administrator/components/com_config/admin.config.html.php:279 +msgid "Created Date and Time:" +msgstr "Data e Hora de Criação:" + +#: administrator/components/com_config/admin.config.html.php:282 +msgid "" +"If set to show, the date and time an item was created will be displayed. " +"This a global setting but can be changed at menu and item levels." +msgstr "" +"Se configurado para mostrar, a data e hora que um item foi criado serão " +"apresentados. Esta é uma configuração global mas pode ser alterada no menu " +"ou nos itens" + +#: administrator/components/com_config/admin.config.html.php:287 +msgid "Modified Date and Time:" +msgstr "Data e Hora de Modificação:" + +#: administrator/components/com_config/admin.config.html.php:290 +msgid "" +"If set to show, the date and time an item was last modified will be " +"displayed. This a global setting but can be changed at menu and item levels." +msgstr "" +"Se configurado para mostrar, a data e hora que um item foi modificado serão " +"apresentados. Esta é uma configuração global mas pode ser alterada no menu " +"ou nos itens" + +#: administrator/components/com_config/admin.config.html.php:298 +msgid "" +"If set to show, the hits for a particular item will be displayed. This a " +"global setting but can be changed at menu and item levels." +msgstr "" +"Se configurado para mostrar, os acessos para um item serão apresentados. " +"Esta é uma configuração global mas pode ser alterada no menu ou nos itens" + +#: administrator/components/com_config/admin.config.html.php:303 +msgid "PDF Icon:" +msgstr "Ícone de PDF:" + +#: administrator/components/com_config/admin.config.html.php:308 +msgid "Option not available as /media directory not writable" +msgstr "Opção não disponível pois o diretório /media é somente leitura" + +#: administrator/components/com_config/admin.config.html.php:316 +msgid "Print Icon:" +msgstr "Ícone de Impressão:" + +#: administrator/components/com_config/admin.config.html.php:321 +msgid "Email Icon:" +msgstr "Ícone de E-mail:" + +#: administrator/components/com_config/admin.config.html.php:326 +msgid "Icons:" +msgstr "Ícones:" + +#: administrator/components/com_config/admin.config.html.php:328 +msgid "Print, PDF and Email will utilise Icons or Text" +msgstr "a" + +#: administrator/components/com_config/admin.config.html.php:331 +msgid "Table of Contents on multi-page items:" +msgstr "Tabela de Conteúdos em itens multi-páginas:" + +#: administrator/components/com_config/admin.config.html.php:336 +msgid "Back Button:" +msgstr "Botão Voltar:" + +#: administrator/components/com_config/admin.config.html.php:341 +msgid "Content Item Navigation:" +msgstr "Navegação de Item de Conteúdo:" + +#: administrator/components/com_config/admin.config.html.php:360 +msgid "Hostname:" +msgstr "Nome do Host:" + +#: administrator/components/com_config/admin.config.html.php:364 +msgid "MySQL Username:" +msgstr "Nome de Usuário do MySQL:" + +#: administrator/components/com_config/admin.config.html.php:368 +msgid "MySQL Password:" +msgstr "Senha de Usuário do MySQL:" + +#: administrator/components/com_config/admin.config.html.php:372 +msgid "MySQL Database:" +msgstr "Base de Dados:" + +#: administrator/components/com_config/admin.config.html.php:376 +msgid "MySQL Database Prefix:" +msgstr "Prefixo de Tabelas:" + +#: administrator/components/com_config/admin.config.html.php:379 +msgid "" +"!! DO NOT CHANGE UNLESS YOU HAVE A DATABASE BUILT USING TABLES WITH THE " +"PREFIX YOU ARE SETTING !!" +msgstr "" +"!! NÃO ALTERE SE VOCÊ NÃO POSSUI UM BANCO DE DADOS COM TABELAS USANDO O " +"PREFIXO INFORMADO !!" + +#: administrator/components/com_config/admin.config.html.php:385 +msgid "Server" +msgstr "Servidor" + +#: administrator/components/com_config/admin.config.html.php:389 +msgid "Absolute Path:" +msgstr "Caminho Absoluto:" + +#: administrator/components/com_config/admin.config.html.php:394 +msgid "Live Site:" +msgstr "Live Site:" + +#: administrator/components/com_config/admin.config.html.php:399 +msgid "Secret Word:" +msgstr "Palavra Secreta:" + +#: administrator/components/com_config/admin.config.html.php:404 +msgid "GZIP Page Compression:" +msgstr "Compressão GZIP de Páginas:" + +#: administrator/components/com_config/admin.config.html.php:407 +msgid "Compress buffered output if supported" +msgstr "Comprime a saída de dados se suportado" + +#: administrator/components/com_config/admin.config.html.php:412 +msgid "Login Session Lifetime:" +msgstr "Tempo de Vida de Sessão de Usuário:" + +#: administrator/components/com_config/admin.config.html.php:416 +msgid "Auto logout after this time of inactivity" +msgstr "Auto desconectar após este tempo de inatividade" + +#: administrator/components/com_config/admin.config.html.php:421 +msgid "Error Reporting:" +msgstr "Informe de Erro:" + +#: administrator/components/com_config/admin.config.html.php:426 +msgid "Register Globals Emulation:" +msgstr "Emulação de Register Globals:" + +#: administrator/components/com_config/admin.config.html.php:430 +msgid "" +"Register globals emulation. Some components may stop working if this option " +"is set to Off." +msgstr "" +"Emulação de Register Globals. Alguns componentes podem parar de funcionar se " +"esta opção estiver configurada como OFF" + +#: administrator/components/com_config/admin.config.html.php:436 +msgid "Help Server:" +msgstr "Servidor de Ajuda:" + +#: administrator/components/com_config/admin.config.html.php:448 +msgid "File Creation:" +msgstr "Criação de Arquivos:" + +#: administrator/components/com_config/admin.config.html.php:454 +msgid "Dont CHMOD new files (use server defaults)" +msgstr "Não CHMOD novos arquivos (usar padrão do servidor)" + +#: administrator/components/com_config/admin.config.html.php:459 +msgid "CHMOD new files" +msgstr "CHMOD novos arquivos" + +#: administrator/components/com_config/admin.config.html.php:461 +msgid "to:" +msgstr "para:" + +#: administrator/components/com_config/admin.config.html.php:464 +msgid "Select this option to define permission flags for new created files" +msgstr "" +"Selecione este opção para definir as permissões para os novos arquivos " +"criados" + +#: administrator/components/com_config/admin.config.html.php:492 +msgid "Apply to existing files" +msgstr "Aplicar nos arquivos existentes" + +#: administrator/components/com_config/admin.config.html.php:495 +msgid "" +"Checking here will apply the permission flags to all existing files " +"of the site.
      " +msgstr "" +"Selecionando aqui irá aplicar as permissões em todos os arquivos " +"existentes no site
      " + +#: administrator/components/com_config/admin.config.html.php:496 +#: administrator/components/com_config/admin.config.html.php:574 +msgid "" +"INAPPROPRIATE USAGE OF THIS OPTION MAY RENDER THE SITE INOPERATIVE!" +msgstr "USO INAPROPRIADO DESTA OPÇÃO PODE DEIXAR O SITE INOPERANTE!" + +#: administrator/components/com_config/admin.config.html.php:527 +msgid "Directory Creation:" +msgstr "Criação de Diretório:" + +#: administrator/components/com_config/admin.config.html.php:533 +msgid "Dont CHMOD new directories (use server defaults)" +msgstr "Não CHMOD novos diretórios (usar padrão do servidor)" + +#: administrator/components/com_config/admin.config.html.php:538 +msgid "CHMOD new directories" +msgstr "CHMOD novos diretórios" + +#: administrator/components/com_config/admin.config.html.php:543 +msgid "" +"Select this option to define permission flags for new created directories" +msgstr "" +"Selecione este opção para definir as permissões para os novos diretórios " +"criados" + +#: administrator/components/com_config/admin.config.html.php:571 +msgid "Apply to existing directories" +msgstr "Aplicar nos diretórios existentes" + +#: administrator/components/com_config/admin.config.html.php:573 +msgid "" +"Checking here will apply the permission flags to all existing " +"directories of the site.
      " +msgstr "" +"Selecionando aqui irá aplicar as permissões em todos os diretórios " +"existentes no site
      " + +#: administrator/components/com_config/admin.config.html.php:602 +msgid "Global Site Meta Description:" +msgstr "Descrição Meta Global do Site:" + +#: administrator/components/com_config/admin.config.html.php:606 +msgid "Global Site Meta Keywords:" +msgstr "Palavras-Chave Globais do Site:" + +#: administrator/components/com_config/admin.config.html.php:610 +msgid "Show Title Meta Tag:" +msgstr "Mostrar Tag Meta de Título:" + +#: administrator/components/com_config/admin.config.html.php:614 +msgid "Show the title meta tag when viewing content items" +msgstr "Mostrar a Tag Meta de título quando acessar itens de conteúdo" + +#: administrator/components/com_config/admin.config.html.php:618 +msgid "Show Author Meta Tag:" +msgstr "Mostrar Tag Meta de Autor:" + +#: administrator/components/com_config/admin.config.html.php:622 +msgid "Show the author meta tag when viewing content items" +msgstr "Mostrar a Tag Meta de autor quando acessar itens de conteúdo" + +#: administrator/components/com_config/admin.config.html.php:628 +msgid "Mail" +msgstr "E-mail" + +#: administrator/components/com_config/admin.config.html.php:632 +msgid "Mailer:" +msgstr "Mailer:" + +#: administrator/components/com_config/admin.config.html.php:636 +msgid "Mail From:" +msgstr "De:" + +#: administrator/components/com_config/admin.config.html.php:640 +msgid "From Name:" +msgstr "Nome:" + +#: administrator/components/com_config/admin.config.html.php:644 +msgid "Sendmail Path:" +msgstr "Caminho do Sendmail:" + +#: administrator/components/com_config/admin.config.html.php:648 +msgid "SMTP Auth:" +msgstr "Autenticação SMTP:" + +#: administrator/components/com_config/admin.config.html.php:652 +msgid "SMTP User:" +msgstr "Usuário SMTP:" + +#: administrator/components/com_config/admin.config.html.php:656 +msgid "SMTP Pass" +msgstr "Senha SMTP:" + +#: administrator/components/com_config/admin.config.html.php:660 +msgid "SMTP Host:" +msgstr "Host SMTP:" + +#: administrator/components/com_config/admin.config.html.php:673 +msgid "Caching:" +msgstr "Cache:" + +#: administrator/components/com_config/admin.config.html.php:681 +msgid "Cache Folder:" +msgstr "Pasta de Cache:" + +#: administrator/components/com_config/admin.config.html.php:686 +msgid "Current cache is directory is Writeable" +msgstr "Diretório de cache atual é Escrita" + +#: administrator/components/com_config/admin.config.html.php:688 +msgid "" +"The cache directory is UNWRITEABLE - please set this directory to CHMOD755 " +"before turning on the cache" +msgstr "" +"O diretório de cache está SOMENTE LEITURA - por favor modifique a permissão " +"deste diretório para CHMOD755 antes de configurar o cache" + +#: administrator/components/com_config/admin.config.html.php:694 +msgid "Cache Time:" +msgstr "Tempo de Cache:" + +#: administrator/components/com_config/admin.config.html.php:695 +msgid "seconds" +msgstr "segundos" + +#: administrator/components/com_config/admin.config.html.php:701 +msgid "Statistics" +msgstr "Estatísticas" + +#: administrator/components/com_config/admin.config.html.php:705 +msgid "Statistics:" +msgstr "Estatísticas:" + +#: administrator/components/com_config/admin.config.html.php:707 +msgid "Enable/disable collection of site statistics" +msgstr "Habilita/Desabilita a coleta de estatísticas do site" + +#: administrator/components/com_config/admin.config.html.php:710 +msgid "Log Content Hits by Date:" +msgstr "Logar Acessos de Conteúdo por Data:" + +#: administrator/components/com_config/admin.config.html.php:712 +msgid "WARNING : Large amounts of data will be collected" +msgstr "ATENÇÃO: Uma grande quantidade de dados pode ser coletada" + +#: administrator/components/com_config/admin.config.html.php:715 +msgid "Log Search Strings:" +msgstr "Strings de Pesquisa:" + +#: administrator/components/com_config/admin.config.html.php:722 +msgid "SEO" +msgstr "SEO" + +#: administrator/components/com_config/admin.config.html.php:726 +msgid "Search Engine Optimization" +msgstr "Otimização de Sistema de Busca" + +#: administrator/components/com_config/admin.config.html.php:731 +msgid "Search Engine Friendly URLs:" +msgstr "Sistema de Busca de URL's Amigáveis:" + +#: administrator/components/com_config/admin.config.html.php:733 +msgid "Apache only! Rename htaccess.txt to .htaccess before activating" +msgstr "" +"Somente Apache! Renomeie o arquivo htaccess.txt para .htaccess antes de " +"ativar" + +#: administrator/components/com_config/admin.config.html.php:736 +msgid "Dynamic Page Titles:" +msgstr "Títulos Dinâmicos de Páginas:" + +#: administrator/components/com_config/admin.config.html.php:738 +msgid "Dynamically changes the page title to reflect current content viewed" +msgstr "Altera dinamicamente o título da página para refletir o conteúdo atual" + +#: administrator/components/com_config/admin.config.php:342 +msgid "System Default" +msgstr "Padrão do Sistema" + +#: administrator/components/com_config/admin.config.php:344 +msgid "Simple" +msgstr "Simples" + +#: administrator/components/com_config/admin.config.php:345 +msgid "Maximum" +msgstr "Máximo" + +#: administrator/components/com_config/admin.config.php:349 +msgid "On" +msgstr "Ligado" + +#: administrator/components/com_config/admin.config.php:354 +msgid "PHP mail function" +msgstr "Função de Mail PHP" + +#: administrator/components/com_config/admin.config.php:355 +msgid "Sendmail" +msgstr "Sendmail" + +#: administrator/components/com_config/admin.config.php:356 +msgid "SMTP Server" +msgstr "Servidor SMTP" + +#: administrator/components/com_config/admin.config.php:400 +msgid "Remember to rename htaccess.txt to .htaccess" +msgstr "Lembre-se de renomear o arquivo htaccess.txt para .htaccess" + +#: administrator/components/com_config/admin.config.php:428 +msgid "Remember to install the MambelFish component." +msgstr "Lembre-se de instalar o componente MambelFish" + +#: administrator/components/com_config/admin.config.php:485 +msgid "The Configuration Details have been updated" +msgstr "Os detalhes de configuração foram atualizados" + +#: administrator/components/com_config/admin.config.php:539 +msgid "An Error Has Occurred! Unable to open config file to write!" +msgstr "" +"Ocorreu um Erro! Não é possível abir o arquivo de configuração para escrita!" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:42 +#, php-format +msgid "XML ERROR in %s: %s at line %d" +msgstr "ERRO DE XML em %s: %s na linha %d" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:48 +#, php-format +msgid "Unable to open XML file %s" +msgstr "Impossível abrir arquivo XML %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:51 +#, php-format +msgid "XML error in %s - unclosed tag(s) (%s) at end of file" +msgstr "Erro XML em %s: - tags não fechadas (%s) no fim do arquivo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:78 +#, php-format +msgid "XML error in %s: %s is not a valid containing element" +msgstr "Erro XML em %s: %s não é um elemento contido válido" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:79 +#, php-format +msgid "XML error in %s: %s not permitted within %s" +msgstr "Erro XML em %s: %s não é permitido dentro de %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:88 +#, php-format +msgid "XML error in %s: expected MOSINSTALL but found %s" +msgstr "Erro XML em %s: esperado MOSINSTALL mas foi encontrado %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:94 +#, php-format +msgid "XML error in %s: last open tag was %s, but found end of %s" +msgstr "" +"Erro XML em %s: a última tag aberta foi %s, mas foi encontrado o fim de %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:111 +#, php-format +msgid "XML error in %s: mosinstall does not have type attribute" +msgstr "Erro XML em %s: mosinstall não tem um atributo de tipo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:280 +msgid "Handler not defined for type" +msgstr "Cabeçalho não definido para o tipo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:293 +msgid "There are no Parameters for this item" +msgstr "Não existem parâmetros para este item" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:43 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:78 +#, php-format +msgid "Please make a selection from the list to %s" +msgstr "Por favor faça uma seleção na lista para %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:190 +msgid "Please select an item to make default" +msgstr "Por favor selecione um item da lista para torná-lo padrão" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:209 +msgid "Please select an item to assign" +msgstr "Por favor selecione um item para atribuir" + +#. Help Sub-Menu +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:508 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:509 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:527 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:314 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:21 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:130 +msgid "Help" +msgstr "Ajuda" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:304 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:503 +msgid "- All Sections -" +msgstr "- Todas as Seções -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:390 +msgid "- Select Image -" +msgstr "- Selecione uma Imagem -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:408 +msgid "" +"New items default to the first place. Ordering can be changed after this " +"item is saved." +msgstr "" +"Novos itens são adicionados no início por padrão. A ordem pode ser alterada " +"depois que o item for salvo." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:435 +msgid "- No User -" +msgstr "- Sem Usuário -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:454 +msgid "Center" +msgstr "Centro" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:489 +msgid "You must create a category first." +msgstr "Você deve criar uma categoria primeiro." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:73 +#, php-format +msgid "Results %d to %d of %d" +msgstr "Resultados de %d para %d de %d" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:75 +msgid "No records found." +msgstr "Nenhum registro encontrado" + +#: includes/cmtclasses.php:143 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s in %s" +msgstr "" + +#: includes/cmtclasses.php:165 +#, php-format +msgid "Component %s error: attempt to use non-existent method %s in %s" +msgstr "" + +#: includes/cmtclasses.php:167 includes/cmtclasses.php:173 +#: includes/cmtclasses.php:231 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s" +msgstr "" + +#: includes/cmtclasses.php:210 +#, php-format +msgid "MOS error in %s: method %s not found in class %s" +msgstr "" + +#: includes/cmtclasses.php:212 +#, php-format +msgid "MOS error in %s: class not found %s" +msgstr "" + +#: includes/core.classes.php:351 +msgid "Impossible to determine the name of this server" +msgstr "" + +#: includes/mamboHTML.php:384 +msgid "Published, but is Pending" +msgstr "" + +#: includes/mambofunc.php:22 +msgid "" +"Hello %s,\n" +"\n" +"\n" +"A user submitted %s:\n" +"[ %s ]\n" +"\n" +"has been just been submitted by user:\n" +"[ %s ]\n" +"\n" +"\n" +"for %\n" +"\n" +"Please go to %s/administrator to view and approve this %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only." +msgstr "" + +#: administrator/components/com_checkin/admin.checkin.php:20 +msgid "Global Check-in" +msgstr "Verificação Global" + +#: administrator/components/com_checkin/admin.checkin.php:25 +msgid "Database Table" +msgstr "Tabela da Base" + +#: administrator/components/com_checkin/admin.checkin.php:26 +msgid "# of Items" +msgstr "# de Itens" + +#: administrator/components/com_checkin/admin.checkin.php:27 +msgid "Checked-In" +msgstr "Verificado" + +#: administrator/components/com_checkin/admin.checkin.php:75 +#: administrator/components/com_checkin/admin.checkin.php:82 +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "Verificado em %d itens" +msgstr[1] "" + +#: administrator/components/com_checkin/admin.checkin.php:93 +msgid "Checked out items have now been all checked in" +msgstr "Itens verificados e agora todos ok" + +#: administrator/components/com_categories/admin.categories.html.php:37 +#: administrator/components/com_categories/admin.categories.html.php:55 +msgid "Category Manager" +msgstr "Gerenciador de Categorias" + +#: administrator/components/com_categories/admin.categories.html.php:37 +msgid "Content: All" +msgstr "Conteúdo: Todo" + +#: administrator/components/com_categories/admin.categories.html.php:105 +msgid "Category ID" +msgstr "Id da Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:111 +msgid "Active" +msgstr "Ativa" + +#: administrator/components/com_categories/admin.categories.html.php:274 +msgid "Category must have a name" +msgstr "Categorias devem ter um nome" + +#: administrator/components/com_categories/admin.categories.html.php:350 +msgid "Category Details" +msgstr "Detalhes da Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:355 +msgid "Category Title:" +msgstr "Título da Categoria:" + +#: administrator/components/com_categories/admin.categories.html.php:363 +msgid "Category Name:" +msgstr "Nome da Categoria:" + +#: administrator/components/com_categories/admin.categories.html.php:469 +msgid "Select Menu Typ" +msgstr "Selecione um Tipo de Menu" + +#: administrator/components/com_categories/admin.categories.html.php:555 +msgid "Move Category" +msgstr "Mover Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:565 +msgid "Move to Section:" +msgstr "Mover para a Seção:" + +#: administrator/components/com_categories/admin.categories.html.php:571 +msgid "Categories being moved:" +msgstr "Categorias a serem movidas:" + +#: administrator/components/com_categories/admin.categories.html.php:582 +msgid "Content Items being moved:" +msgstr "Itens de conteúdo a serem movidos:" + +#: administrator/components/com_categories/admin.categories.html.php:593 +msgid "" +"This will move the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"Isto irá mover as categorias listadas\n" +"\t\t\t
      \n" +"\t\t\te todos os itens desta categoria (também listados)\n" +"\t\t\t
      \n" +"\t\t\tpara a seção selecionada." + +#: administrator/components/com_categories/admin.categories.html.php:628 +msgid "Copy Category" +msgstr "Copiar Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:666 +msgid "" +"\n" +"\t\t\tThis will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"\n" +"\t\t\tIsto irá copiar as categorias listadas\n" +"\t\t\t
      \n" +"\t\t\te todos os itens contidos nas categorias (também listados)\n" +"\t\t\t
      \n" +"\t\t\tpara a seção selecionada." + +#: administrator/components/com_categories/admin.categories.php:142 +msgid "Component: " +msgstr "Componente:" + +#: administrator/components/com_categories/admin.categories.php:251 +msgid "The category %s is currently being edited by another administrator" +msgstr "A categoria %s está sendo editada por outro administrador" + +#: administrator/components/com_categories/admin.categories.php:270 +msgid "Category Table" +msgstr "Tabela de Categoria" + +#: administrator/components/com_categories/admin.categories.php:278 +msgid "Category Blog Archive" +msgstr "Arquivo de Blog de Categoria" + +#: administrator/components/com_categories/admin.categories.php:324 +#: administrator/components/com_categories/admin.categories.php:797 +msgid "Contact Category Table" +msgstr "Tabela de Contato de Categoria" + +#: administrator/components/com_categories/admin.categories.php:327 +#: administrator/components/com_categories/admin.categories.php:802 +msgid "Newsfeed Category Table" +msgstr "Tabela de Categorias de Feeds de Notícias" + +#: administrator/components/com_categories/admin.categories.php:330 +#: administrator/components/com_categories/admin.categories.php:807 +msgid "Weblink Category Table" +msgstr "Tabela de Categorias de Links Web" + +#: administrator/components/com_categories/admin.categories.php:332 +#: administrator/components/com_categories/admin.categories.php:782 +msgid "Content Category Table" +msgstr "Tabela de Categorias de Conteúdo" + +#: administrator/components/com_categories/admin.categories.php:333 +#: administrator/components/com_categories/admin.categories.php:787 +msgid "Content Category Blog" +msgstr "Categoria de Conteúdo de Blog" + +#: administrator/components/com_categories/admin.categories.php:334 +msgid "Content Category Archive Blog" +msgstr "Categoria de Conteúdo de Blog Arquivado" + +#: administrator/components/com_categories/admin.categories.php:447 +msgid "Select a category to delete" +msgstr "Selecione uma categoria para remover" + +#: administrator/components/com_categories/admin.categories.php:524 +msgid "Select a category to %s" +msgstr "Selecionar uma categoria para %s" + +#: administrator/components/com_categories/admin.categories.php:741 +msgid "%d Category copied to %s" +msgid_plural "%d Categories copied to %s" +msgstr[0] "%d Categorias copiadas para %s" +msgstr[1] "" + +#: administrator/components/com_categories/admin.categories.php:792 +msgid "Content Category Blog Archive" +msgstr "Categoria de Conteúdo de Blog Arquivado" + +#: administrator/components/com_banners/admin.banners.html.php:29 +msgid "Banner Manager" +msgstr "Gerenciador de Banners" + +#: administrator/components/com_banners/admin.banners.html.php:43 +msgid "Banner Name" +msgstr "Nome do Banner" + +#: administrator/components/com_banners/admin.banners.html.php:49 +msgid "Impressions Made" +msgstr "Impressões Feitas" + +#: administrator/components/com_banners/admin.banners.html.php:52 +msgid "Impressions Left" +msgstr "Impressões Faltantes" + +#: administrator/components/com_banners/admin.banners.html.php:55 +#: administrator/components/com_banners/admin.banners.html.php:58 +#: administrator/components/com_banners/admin.banners.html.php:256 +msgid "Clicks" +msgstr "Clqiues" + +#: administrator/components/com_banners/admin.banners.html.php:99 +msgid "Edit Banner" +msgstr "Editar Banner" + +#: administrator/components/com_banners/admin.banners.html.php:159 +msgid "You must provide a banner name" +msgstr "Você deve informar um nome para o banner" + +#: administrator/components/com_banners/admin.banners.html.php:161 +msgid "Please select a client" +msgstr "Por favor selecione um cliente" + +#: administrator/components/com_banners/admin.banners.html.php:163 +msgid "Please select an image." +msgstr "Por favor selecione uma imagem" + +#: administrator/components/com_banners/admin.banners.html.php:165 +msgid "Please fill in the URL for the banner." +msgstr "Por favor preencha a URL para o banner" + +#: administrator/components/com_banners/admin.banners.html.php:176 +msgid "Banner:" +msgstr "Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:192 +msgid "Banner Name:" +msgstr "Nome do Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:200 +#: administrator/components/com_banners/admin.banners.html.php:438 +msgid "Client Name:" +msgstr "Nome do Cliente:" + +#: administrator/components/com_banners/admin.banners.html.php:208 +msgid "Impressions Purchased:" +msgstr "Impressões Adquiridas:" + +#: administrator/components/com_banners/admin.banners.html.php:219 +msgid "Unlimited" +msgstr "Ilimitadas" + +#: administrator/components/com_banners/admin.banners.html.php:224 +msgid "Banner URL" +msgstr "URL do Banner" + +#: administrator/components/com_banners/admin.banners.html.php:232 +msgid "Show Banner :" +msgstr "Mostrar Banner :" + +#: administrator/components/com_banners/admin.banners.html.php:240 +msgid "Click URL:" +msgstr "URL para Clique:" + +#: administrator/components/com_banners/admin.banners.html.php:248 +msgid "Custom banner code:" +msgstr "Código Customizado para o Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:258 +msgid "Reset Clicks" +msgstr "Reiniciar Cliques" + +#: administrator/components/com_banners/admin.banners.html.php:270 +msgid "Banner Image:" +msgstr "Imagem do Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:320 +msgid "Banner Client Manager" +msgstr "Gerenciador de Clientes de Banners" + +#: administrator/components/com_banners/admin.banners.html.php:334 +msgid "Client Name" +msgstr "Nome do Cliente" + +#: administrator/components/com_banners/admin.banners.html.php:340 +msgid "No. of Active Banners" +msgstr "N. de Banners Ativos" + +#: administrator/components/com_banners/admin.banners.html.php:366 +msgid "Edit Banner Client" +msgstr "Editar Cliente do Banner" + +#: administrator/components/com_banners/admin.banners.html.php:407 +msgid "Please fill in the Client Name." +msgstr "Por favor preencha o Nome do Cliente." + +#: administrator/components/com_banners/admin.banners.html.php:409 +msgid "Please fill in the Contact Name." +msgstr "Por favor preencha o Nome do Contato." + +#: administrator/components/com_banners/admin.banners.html.php:411 +msgid "Please fill in the Contact Email." +msgstr "Por favor preencha o E-mail do Cliente." + +#: administrator/components/com_banners/admin.banners.html.php:421 +msgid "Banner Client:" +msgstr "Cliente do Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:446 +msgid "Contact Name:" +msgstr "Nome de Contato:" + +#: administrator/components/com_banners/admin.banners.html.php:454 +msgid "Contact Email:" +msgstr "E-mail de Contato:" + +#: administrator/components/com_banners/admin.banners.html.php:462 +msgid "Extra Info:" +msgstr "Informações Extras:" + +#: administrator/components/com_banners/admin.banners.php:165 +msgid "Saved Banner info" +msgstr "Informações do Banner Salvas" + +#: administrator/components/com_banners/admin.banners.php:168 +msgid "Reset Banner clicks" +msgstr "Reiniciar cliques do Banner" + +#: administrator/components/com_banners/admin.banners.php:276 +#, php-format +msgid "The client [ %s ] is currently being edited by another person." +msgstr "O cliente [ %s ] está sendo editado por outra pessoa." + +#: administrator/components/com_banners/admin.banners.php:334 +msgid "Cannot delete client at this time as they have a banner still running" +msgstr "" +"Não é possível apagar o cliente enquanto existem banners sendo executados" + +#: administrator/components/com_banners/banners.xml +msgid "Banners" +msgstr "Banners" + +#: administrator/components/com_banners/banners.xml +msgid "This component manages banners and banner clients" +msgstr "Este componente gerencia banners e seus clientes" + +#: components/com_banners/banners.class.php:35 +msgid "You must select a name for the client." +msgstr "Você deve selecionar um nome para o cliente." + +#: components/com_banners/banners.class.php:41 +msgid "You must select a contact for the client." +msgstr "Você deve selecionar um contato para o cliente." + +#: components/com_banners/banners.class.php:47 +msgid "You must select a valid email for the client." +msgstr "Você deve selecionar um e-mail válido para o cliente." + +#: components/com_banners/banners.class.php:102 +msgid "You must select a client." +msgstr "Você deve selecionar um cliente." + +#: components/com_banners/banners.class.php:107 +msgid "You must select a name for the banner." +msgstr "Você deve selecionar um nome para o banner." + +#: components/com_banners/banners.class.php:112 +msgid "You must select a image for the banner." +msgstr "Você deve selecionar uma imagem para o banner." + +#: components/com_banners/banners.class.php:116 +msgid "You must select a URL/Custom banner code for the banner." +msgstr "Você deve selecionar uma URL/Código Customizado para o banner." + +#. Should be overridden by inheriting class +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:106 +msgid "XML handler error - no method provided to deal with character data" +msgstr "" +"Erro no cabeçalho de XML - nenhum método provido para trabalhar com dados " +"dos caracteres" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:166 +msgid "Publish" +msgstr "Publicar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:204 +msgid "Assign" +msgstr "Atribuir" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:223 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:242 +msgid "Unpublish" +msgstr "Despublicar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:65 +msgid "Control Panel" +msgstr "Painel de Controle" + +#. Home Sub-Menu +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:65 +msgid "Home" +msgstr "Home" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:69 +msgid "Site Management" +msgstr "Gerenciamento do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:72 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:292 +msgid "Configuration" +msgstr "Configuração" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:76 +msgid "Manage languages" +msgstr "Gerenciar idiomas" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:79 +msgid "Manage Media Files" +msgstr "Gereciar Arquivos de Mídia" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:81 +msgid "In New Window" +msgstr "Em Nova Janela" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:82 +msgid "Inline" +msgstr "Em Linha" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:83 +msgid "Inline with Positions" +msgstr "Em Linha com Posições" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:85 +msgid "Site Statistics" +msgstr "Estatísticas do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:88 +msgid "Browser, OS, Domain" +msgstr "Nagvegadores, SO, Domínios" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:96 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:97 +msgid "Change site template" +msgstr "Alterar template do site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:97 +msgid "Site Templates" +msgstr "Templates do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:98 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Install Site Templates" +msgstr "Instalar Templates do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:100 +msgid "Administrator Templates" +msgstr "Administrador de Templates" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:100 +msgid "Change admin template" +msgstr "Alterar Template do Admin" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:101 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Install Administrator Templates" +msgstr "Instalar Templates do Admin" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:103 +msgid "Template positions" +msgstr "Posições de Templates" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:108 +msgid "Manage Trash" +msgstr "Gerenciar Lixeira" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:112 +msgid "Manage users" +msgstr "Gerenciar Usuários" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:119 +msgid "Menu Management" +msgstr "Gerenciamento de Menus" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:134 +msgid "Content Management" +msgstr "Gerenciamento de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:137 +msgid "Content Managers" +msgstr "Gerenciadores de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:137 +msgid "Content by Section" +msgstr "Conteúdo por Seção" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:144 +msgid "Items" +msgstr "Itens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:147 +msgid "Add/Edit" +msgstr "Adicionar/Editar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:58 +msgid "Categories" +msgstr "Categorias" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:161 +msgid "Manage Content Items" +msgstr "Gerenciar Itens de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:162 +msgid "Manage Typed Content Items" +msgstr "Gerenciar Tipos de Itens de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:164 +msgid "Manage Content Sections" +msgstr "Gerenciar Seções de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:167 +msgid "Manage Content Categories" +msgstr "Gerenciar Conteúdo de Categorias" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:171 +msgid "Manage Frontpage Items" +msgstr "Gerenciar Itens da Página Principal" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:172 +msgid "Manage Archive Items" +msgstr "Gerenciar Itens Arquivados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:178 +msgid "Component Management" +msgstr "Gerenciador de Componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install/Uninstall" +msgstr "Instalar/Remover" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +msgid "Install/Uninstall components" +msgstr "Instalar/Remover componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:223 +msgid "More Components" +msgstr "Mais Componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:223 +msgid "More Components..." +msgstr "Mais Componentes..." + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:231 +msgid "Module Management" +msgstr "Gerenciador de Módulos" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:231 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Modules" +msgstr "Módulos" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +msgid "Install custom modules" +msgstr "Instalar Módulos Customizados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:239 +msgid "Manage Site modules" +msgstr "Gerenciar Módulos do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:240 +msgid "Administrator Modules" +msgstr "Módulos do Administrador" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:240 +msgid "Manage Administrator modules" +msgstr "Gerenciador de Módulos do Administrador" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:250 +msgid "Mambot Management" +msgstr "Gerenciador de Mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:250 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Mambots" +msgstr "Mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install custom mambot" +msgstr "Instalar Mambots Customizados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:258 +msgid "Manage Site Mambots" +msgstr "Gerenciar Mambots do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:258 +msgid "Site Mambots" +msgstr "Mambots do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:269 +msgid "Installer List" +msgstr "Lista de Instaladores" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:269 +msgid "Installers" +msgstr "Instaladores" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Templates - Site" +msgstr "Templates - Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Templates - Admin" +msgstr "Templates - Admin" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:277 +msgid "Install Languages" +msgstr "Instalar Idiomas" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:281 +msgid "Install/Uninstall Components" +msgstr "Instalar/Remover Componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Install/Uninstall Modules" +msgstr "Instalar/Remover Módulos" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Install/Uninstall Mambots" +msgstr "Instalar/Remover Mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:290 +msgid "Messages" +msgstr "Mensagens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:290 +msgid "Messaging Management" +msgstr "Gerenciamento de Mensagens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:291 +msgid "Inbox" +msgstr "Caixa de Entrada" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:291 +msgid "Private Messages" +msgstr "Mensagens Privadas" + +#. System Sub-Menu +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:297 +msgid "System" +msgstr "Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:297 +msgid "System Management" +msgstr "Gerenciamento do Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:300 +msgid "Check-in all checked-out items" +msgstr "Verificados todos os itens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:300 +msgid "Global Checkin" +msgstr "Verificação Global" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:301 +msgid "System Information" +msgstr "Informações do Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:301 +msgid "View System Information" +msgstr "Ver Informações do Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:304 +msgid "Clean Cache" +msgstr "Limpar Cache" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:304 +msgid "Clean the content items cache" +msgstr "Limpar os itens de conteúdo do cache" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_latest.php:27 +msgid "Most Recently Added Content" +msgstr "Conteúdos Adicioandos Recentemente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:56 +msgid "Currently Logged in Users" +msgstr "Usuários Atualmente Logados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:84 +msgid "Force Logout User" +msgstr "Forçar logout do Usuário" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_online.php:22 +msgid "Users Online" +msgstr "Usuários Online" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:27 +msgid "Most Popular Items" +msgstr "Itens Mais Populares" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:35 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:144 +msgid "Static Content" +msgstr "Conteúdo Estático" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:51 +msgid "Sections" +msgstr "Seções" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:65 +msgid "Media" +msgstr "Mídia" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:89 +msgid "Menus" +msgstr "Menus" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:102 +msgid "Users" +msgstr "Usuários" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:22 +msgid "Content Preview" +msgstr "Pré-Visualização do Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/modulewindow.php:40 +msgid "Module Preview" +msgstr "P're-Visualização de Módulo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:25 +msgid "Poll Preview" +msgstr "P're-Visualização de Enquete" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:25 +msgid "Please select an image to upload" +msgstr "Por favor selecione uma imagem para enviar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:31 +msgid "File must only contain alphanumeric characters and no spaces please." +msgstr "" +"O nome do arquivo deve conter somente caracteres alfanuméricos e sem espaços" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:36 +#, php-format +msgid "Image %s already exists." +msgstr "Imagem %s já existe" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:41 +msgid "The file must be gif, png, jpg, bmp, swf, doc, xls or ppt" +msgstr "O arquivo deve ser gif, png, jpg, bmp, swf, doc, xls ou ppt" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:48 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:56 +msgid "Upload of $userfile_name failed" +msgstr "Envio do arquivo $userfile_name falhou" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:52 +msgid "Upload of $userfile_name to $media_path successful" +msgstr "Envio do arquivo $userfile_name para $media_path correto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:60 +msgid "Upload of $userfile_name to $base_Dir successful" +msgstr "Envio do arquivo $userfile_name para $base_dir correto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:84 +msgid "File Upload :" +msgstr "Enviar Arquivo:" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/index.php:50 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:34 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:50 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:88 +msgid "Mambo Logo" +msgstr "Logo do Mambo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:55 +msgid "Welcome to Mambo!" +msgstr "Bem-Vindo ao Mambo!" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:56 +msgid "" +"Use a valid username and password to gain access to the administration " +"console." +msgstr "" +"Use um nome de usuário e uma senha válidos para obter acesso a área " +"administrativa." + +#: administrator/components/com_admin/admin.admin.html.php:39 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Advanced Mode" +msgstr "Modo Avançado" + +#: administrator/components/com_admin/admin.admin.html.php:39 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Simple Mode" +msgstr "Modo Básico" + +#: administrator/components/com_admin/admin.admin.html.php:39 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "selected" +msgstr "selecionado" + +#: administrator/components/com_admin/admin.admin.html.php:39 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "unselected" +msgstr "não selecionado" + +#: administrator/components/com_admin/admin.admin.html.php:80 +msgid "Information" +msgstr "Informação" + +#: administrator/components/com_admin/admin.admin.html.php:86 +#: administrator/components/com_admin/admin.admin.html.php:480 +msgid "System Info" +msgstr "Infos do Sistema" + +#: administrator/components/com_admin/admin.admin.html.php:97 +msgid "PHP built On:" +msgstr "PHP built On:" + +#: administrator/components/com_admin/admin.admin.html.php:107 +msgid "Database Version:" +msgstr "Versão do Banco de Dados:" + +#: administrator/components/com_admin/admin.admin.html.php:117 +msgid "PHP Version:" +msgstr "Versão do PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:127 +msgid "Web Server:" +msgstr "Servidor Web:" + +#: administrator/components/com_admin/admin.admin.html.php:137 +msgid "WebServer to PHP interface:" +msgstr "Inteface do Servidor Web para PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:147 +msgid "Mambo Version:" +msgstr "Versão do Mambo:" + +#: administrator/components/com_admin/admin.admin.html.php:157 +msgid "User Agent:" +msgstr "Agente do Usuário:" + +#: administrator/components/com_admin/admin.admin.html.php:167 +msgid "Relevant PHP Settings:" +msgstr "Configurações Relevantes do PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:174 +msgid "Safe Mode:" +msgstr "Safe Mode:" + +#: administrator/components/com_admin/admin.admin.html.php:182 +msgid "Open basedir:" +msgstr "Open basedir:" + +#: administrator/components/com_admin/admin.admin.html.php:190 +msgid "Display Errors:" +msgstr "Mostrar Erros:" + +#: administrator/components/com_admin/admin.admin.html.php:198 +msgid "Short Open Tags:" +msgstr "Short Open Tags:" + +#: administrator/components/com_admin/admin.admin.html.php:206 +msgid "File Uploads:" +msgstr "Envio de Arquivos:" + +#: administrator/components/com_admin/admin.admin.html.php:214 +msgid "Magic Quotes" +msgstr "Magic Quotes" + +#: administrator/components/com_admin/admin.admin.html.php:222 +msgid "Register Globals:" +msgstr "Register Globals:" + +#: administrator/components/com_admin/admin.admin.html.php:230 +msgid "Output Buffering:" +msgstr "Buffer de Saída:" + +#: administrator/components/com_admin/admin.admin.html.php:238 +msgid "Session save path:" +msgstr "Caminho para salvar sessões:" + +#: administrator/components/com_admin/admin.admin.html.php:246 +msgid "Session auto start:" +msgstr "Início Automático de Sessão:" + +#: administrator/components/com_admin/admin.admin.html.php:254 +msgid "XML enabled:" +msgstr "XML habilitado:" + +#: administrator/components/com_admin/admin.admin.html.php:262 +msgid "Zlib enabled:" +msgstr "Zlib habilitado:" + +#: administrator/components/com_admin/admin.admin.html.php:270 +msgid "Disabled Functions:" +msgstr "Funções Desabilitadas:" + +#: administrator/components/com_admin/admin.admin.html.php:297 +msgid "Configuration File:" +msgstr "Arquivo de Configuração:" + +#: administrator/components/com_admin/admin.admin.html.php:323 +msgid "PHP Info" +msgstr "Infos do PHP" + +#: administrator/components/com_admin/admin.admin.html.php:328 +msgid "PHP Information" +msgstr "Informações do PHP" + +#: administrator/components/com_admin/admin.admin.html.php:350 +msgid "Permissions" +msgstr "Permissões" + +#: administrator/components/com_admin/admin.admin.html.php:358 +msgid "" +"For all Mambo functions and features to work ALL of the following " +"directories should be writeable:" +msgstr "" +"Para que TODAS as funções e funcionalidades do Mambo funcionem, os seguintes " +"direórios devem permitir escrita:" + +#: administrator/components/com_admin/admin.admin.html.php:443 +msgid "Go" +msgstr "Vai" + +#: administrator/components/com_admin/admin.admin.html.php:444 +msgid "Clear Results" +msgstr "Limpar Resultados" + +#: administrator/components/com_admin/admin.admin.html.php:451 +#: administrator/components/com_admin/admin.admin.html.php:462 +msgid "Glossary" +msgstr "Glossário" + +#: administrator/components/com_admin/admin.admin.html.php:454 +#: administrator/components/com_admin/admin.admin.html.php:465 +msgid "Credits" +msgstr "Créditos" + +#: administrator/components/com_admin/admin.admin.html.php:457 +#: administrator/components/com_admin/admin.admin.html.php:468 +msgid "Support" +msgstr "Suporte" + +#: administrator/components/com_admin/admin.admin.html.php:474 +msgid "License" +msgstr "Licença" + +#: administrator/components/com_admin/admin.admin.html.php:488 +msgid "Index" +msgstr "Índice" + +#: administrator/components/com_admin/admin.admin.html.php:530 +msgid "Site Preview" +msgstr "Pré-visualização do site" + +#: administrator/components/com_admin/admin.admin.html.php:534 +msgid "Open in new window" +msgstr "Abrir em uma nova janela" + +#: administrator/components/com_admin/admin.admin.php:20 +msgid "There is no link associated with this item" +msgstr "Não existe um link associado com este item" diff -ruN 4.6rc2/uploadfiles/language/glossary/pt_BR_utf-8.po 4.6-complete/uploadfiles/language/glossary/pt_BR_utf-8.po --- 4.6rc2/uploadfiles/language/glossary/pt_BR_utf-8.po 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/glossary/pt_BR_utf-8.po 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,5929 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Mambo 4.6 Portuguese Brazilian\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-01-31 20:49+0000\n" +"PO-Revision-Date: 2006-03-17 22:27-0000\n" +"Last-Translator: Carlos Souza \n" +"Language-Team: No Ritmo do Mambo \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: BRAZIL\n" + +#: administrator/components/com_admin/admin.admin.html.php:29 +msgid "Home" +msgstr "Início" + +#: administrator/components/com_admin/admin.admin.html.php:39 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Advanced Mode" +msgstr "Modo Avançado" + +#: administrator/components/com_admin/admin.admin.html.php:39 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Simple Mode" +msgstr "Modo Básico" + +#: administrator/components/com_admin/admin.admin.html.php:39 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "selected" +msgstr "selecionado" + +#: administrator/components/com_admin/admin.admin.html.php:39 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "unselected" +msgstr "não selecionado" + +#: administrator/components/com_admin/admin.admin.html.php:80 +msgid "Information" +msgstr "Informação" + +#: administrator/components/com_admin/admin.admin.html.php:86 +#: administrator/components/com_admin/admin.admin.html.php:480 +msgid "System Info" +msgstr "Infos do Sistema" + +#: administrator/components/com_admin/admin.admin.html.php:91 +msgid "System Information" +msgstr "Informações do Sistema" + +#: administrator/components/com_admin/admin.admin.html.php:97 +msgid "PHP built On:" +msgstr "PHP built On:" + +#: administrator/components/com_admin/admin.admin.html.php:107 +msgid "Database Version:" +msgstr "Versão do Banco de Dados:" + +#: administrator/components/com_admin/admin.admin.html.php:117 +msgid "PHP Version:" +msgstr "Versão do PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:127 +msgid "Web Server:" +msgstr "Servidor Web:" + +#: administrator/components/com_admin/admin.admin.html.php:137 +msgid "WebServer to PHP interface:" +msgstr "Inteface do Servidor Web para PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:147 +msgid "Mambo Version:" +msgstr "Versão do Mambo:" + +#: administrator/components/com_admin/admin.admin.html.php:157 +msgid "User Agent:" +msgstr "Agente do Usuário:" + +#: administrator/components/com_admin/admin.admin.html.php:167 +msgid "Relevant PHP Settings:" +msgstr "Configurações Relevantes do PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:174 +msgid "Safe Mode:" +msgstr "Safe Mode:" + +#: administrator/components/com_admin/admin.admin.html.php:182 +msgid "Open basedir:" +msgstr "Open basedir:" + +#: administrator/components/com_admin/admin.admin.html.php:190 +msgid "Display Errors:" +msgstr "Mostrar Erros:" + +#: administrator/components/com_admin/admin.admin.html.php:198 +msgid "Short Open Tags:" +msgstr "Short Open Tags:" + +#: administrator/components/com_admin/admin.admin.html.php:206 +msgid "File Uploads:" +msgstr "Envio de Arquivos:" + +#: administrator/components/com_admin/admin.admin.html.php:214 +msgid "Magic Quotes" +msgstr "Magic Quotes" + +#: administrator/components/com_admin/admin.admin.html.php:222 +msgid "Register Globals:" +msgstr "Register Globals:" + +#: administrator/components/com_admin/admin.admin.html.php:230 +msgid "Output Buffering:" +msgstr "Buffer de Saída:" + +#: administrator/components/com_admin/admin.admin.html.php:238 +msgid "Session save path:" +msgstr "Caminho para salvar sessões:" + +#: administrator/components/com_admin/admin.admin.html.php:246 +msgid "Session auto start:" +msgstr "Início Automático de Sessão:" + +#: administrator/components/com_admin/admin.admin.html.php:254 +msgid "XML enabled:" +msgstr "XML habilitado:" + +#: administrator/components/com_admin/admin.admin.html.php:262 +msgid "Zlib enabled:" +msgstr "Zlib habilitado:" + +#: administrator/components/com_admin/admin.admin.html.php:270 +msgid "Disabled Functions:" +msgstr "Funções Desabilitadas:" + +#: administrator/components/com_admin/admin.admin.html.php:285 +msgid "WYSIWYG Editor:" +msgstr "Editor WYSIWYG:" + +#: administrator/components/com_admin/admin.admin.html.php:297 +msgid "Configuration File:" +msgstr "Arquivo de Configuração:" + +#: administrator/components/com_admin/admin.admin.html.php:323 +msgid "PHP Info" +msgstr "Infos do PHP" + +#: administrator/components/com_admin/admin.admin.html.php:328 +msgid "PHP Information" +msgstr "Informações do PHP" + +#: administrator/components/com_admin/admin.admin.html.php:350 +msgid "Permissions" +msgstr "Permissões" + +#: administrator/components/com_admin/admin.admin.html.php:354 +msgid "Directory Permissions" +msgstr "Permissões de Diretórios" + +#: administrator/components/com_admin/admin.admin.html.php:358 +msgid "" +"For all Mambo functions and features to work ALL of the following " +"directories should be writeable:" +msgstr "" +"Para que TODAS as funções e funcionalidades do Mambo funcionem, os seguintes " +"direórios devem permitir escrita:" + +#: administrator/components/com_admin/admin.admin.html.php:432 +msgid "Help" +msgstr "Ajuda" + +#: administrator/components/com_admin/admin.admin.html.php:440 +msgid "Search:" +msgstr "Pesquisa:" + +#: administrator/components/com_admin/admin.admin.html.php:443 +msgid "Go" +msgstr "Vai" + +#: administrator/components/com_admin/admin.admin.html.php:444 +msgid "Clear Results" +msgstr "Limpar Resultados" + +#: administrator/components/com_admin/admin.admin.html.php:451 +#: administrator/components/com_admin/admin.admin.html.php:462 +msgid "Glossary" +msgstr "Glossário" + +#: administrator/components/com_admin/admin.admin.html.php:454 +#: administrator/components/com_admin/admin.admin.html.php:465 +msgid "Credits" +msgstr "Créditos" + +#: administrator/components/com_admin/admin.admin.html.php:457 +#: administrator/components/com_admin/admin.admin.html.php:468 +msgid "Support" +msgstr "Suporte" + +#: administrator/components/com_admin/admin.admin.html.php:474 +msgid "License" +msgstr "Licença" + +#: administrator/components/com_admin/admin.admin.html.php:488 +msgid "Index" +msgstr "Índice" + +#: administrator/components/com_admin/admin.admin.html.php:530 +msgid "Site Preview" +msgstr "Pré-visualização do site" + +#: administrator/components/com_admin/admin.admin.html.php:534 +msgid "Open in new window" +msgstr "Abrir em uma nova janela" + +#: administrator/components/com_admin/admin.admin.php:20 +msgid "There is no link associated with this item" +msgstr "Não existe um link associado com este item" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:42 +#, php-format +msgid "XML ERROR in %s: %s at line %d" +msgstr "ERRO DE XML em %s: %s na linha %d" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:48 +#, php-format +msgid "Unable to open XML file %s" +msgstr "Impossível abrir arquivo XML %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:51 +#, php-format +msgid "XML error in %s - unclosed tag(s) (%s) at end of file" +msgstr "Erro XML em %s: - tags não fechadas (%s) no fim do arquivo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:78 +#, php-format +msgid "XML error in %s: %s is not a valid containing element" +msgstr "Erro XML em %s: %s não é um elemento contido válido" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:79 +#, php-format +msgid "XML error in %s: %s not permitted within %s" +msgstr "Erro XML em %s: %s não é permitido dentro de %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:88 +#, php-format +msgid "XML error in %s: expected MOSINSTALL but found %s" +msgstr "Erro XML em %s: esperado MOSINSTALL mas foi encontrado %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:94 +#, php-format +msgid "XML error in %s: last open tag was %s, but found end of %s" +msgstr "" +"Erro XML em %s: a última tag aberta foi %s, mas foi encontrado o fim de %s" + +#. Should be overridden by inheriting class +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:106 +msgid "XML handler error - no method provided to deal with character data" +msgstr "" +"Erro no cabeçalho de XML - nenhum método provido para trabalhar com dados " +"dos caracteres" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:111 +#, php-format +msgid "XML error in %s: mosinstall does not have type attribute" +msgstr "Erro XML em %s: mosinstall não tem um atributo de tipo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:280 +msgid "Handler not defined for type" +msgstr "Cabeçalho não definido para o tipo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:293 +msgid "There are no Parameters for this item" +msgstr "Não existem parâmetros para este item" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:43 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:78 +#, php-format +msgid "Please make a selection from the list to %s" +msgstr "Por favor faça uma seleção na lista para %s" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:108 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:128 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:55 +msgid "New" +msgstr "Novo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:166 +msgid "Publish" +msgstr "Publicar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:171 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:102 +msgid "Please make a selection from the list to publish" +msgstr "Por favor selecione um item da lista para publicar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:185 +msgid "Default" +msgstr "Padrão" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:190 +msgid "Please select an item to make default" +msgstr "Por favor selecione um item da lista para torná-lo padrão" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:204 +msgid "Assign" +msgstr "Atribuir" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:209 +msgid "Please select an item to assign" +msgstr "Por favor selecione um item para atribuir" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:223 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:242 +msgid "Unpublish" +msgstr "Despublicar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:247 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:142 +msgid "Please make a selection from the list to unpublish" +msgstr "Por favor selecione um item da lista para despublicar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:261 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:150 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:155 +msgid "Archive" +msgstr "Arquivar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:266 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:162 +msgid "Please make a selection from the list to archive" +msgstr "Por favor faça uma seleção na lista para desarquivar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:280 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:175 +msgid "Unarchive" +msgstr "Desarquivar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:285 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:182 +msgid "Please select a news story to unarchive" +msgstr "Por favor, selecione uma notícia para desarquivar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:299 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:319 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:195 +msgid "Edit" +msgstr "Editar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:304 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:324 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:343 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:363 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:382 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:402 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:202 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:221 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:240 +msgid "Please select an item from the list to edit" +msgstr "Por favor selecione um item da lista para editar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:338 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:358 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:215 +msgid "Edit HTML" +msgstr "Editar HTML" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:377 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:397 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:234 +msgid "Edit CSS" +msgstr "Editar CSS" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:417 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:438 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:254 +msgid "Delete" +msgstr "Remover" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:422 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:443 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:261 +msgid "Are you sure you want to delete selected items?" +msgstr "Você tem certeza que deseja remover os itens selecionados?" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:422 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:443 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:261 +msgid "Please make a selection from the list to delete" +msgstr "Por favor selecione um item da lista para remover" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:455 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:79 +msgid "Trash" +msgstr "Lixeira" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:474 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:475 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:80 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:277 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:278 +msgid "Preview" +msgstr "Pré-Visualizar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:540 +msgid "Apply" +msgstr "Aplicar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:560 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:294 +msgid "Save" +msgstr "Salvar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:611 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:344 +msgid "Cancel" +msgstr "Cancelar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:629 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:239 +msgid "Back" +msgstr "Voltar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:664 +msgid "Upload" +msgstr "Enviar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:669 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:670 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:391 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:392 +msgid "Upload Image" +msgstr "Enviar Imagem" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:86 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:410 +msgid "" +"New items default to the last place. Ordering can be changed after this item " +"is saved." +msgstr "" +"Novos itens são adicionados no fim por padrão. A ordem pode ser alterada " +"depois que o item for salvo." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:181 +msgid "Parent Window With Browser Navigation" +msgstr "Mesma Janela com Botões de Navegação" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:182 +msgid "New Window With Browser Navigation" +msgstr "Nova Janela com Botões de Navegação" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:183 +msgid "New Window Without Browser Navigation" +msgstr "Nova Janela sem Botões de Navegação" + +#. prepare an array with 'all' as the first item +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:242 +msgid "All" +msgstr "Tudo" + +#. prepare an array with 'all' as the first item +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:248 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:451 +msgid "None" +msgstr "Nenhum" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:304 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:503 +msgid "- All Sections -" +msgstr "- Todas as Seções -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:390 +msgid "- Select Image -" +msgstr "- Selecione uma Imagem -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:408 +msgid "" +"New items default to the first place. Ordering can be changed after this " +"item is saved." +msgstr "" +"Novos itens são adicionados no início por padrão. A ordem pode ser alterada " +"depois que o item for salvo." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:435 +msgid "- No User -" +msgstr "- Sem Usuário -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:454 +msgid "Center" +msgstr "Centro" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:457 +msgid "Left" +msgstr "Esquerda" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:460 +msgid "Right" +msgstr "Direita" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:482 +msgid "- All Categories -" +msgstr "- Todas as Categorias -" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/mosAdminMenus.php:489 +msgid "You must create a category first." +msgstr "Você deve criar uma categoria primeiro." + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:73 +#, php-format +msgid "Results %d to %d of %d" +msgstr "Resultados de %d para %d de %d" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:75 +msgid "No records found." +msgstr "Nenhum registro encontrado" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:102 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:105 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:105 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:108 +msgid "Start" +msgstr "Iniciar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:102 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:105 +msgid "first page" +msgstr "primeira página" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:103 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:106 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:106 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:109 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:226 +msgid "Previous" +msgstr "Anterior" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:103 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:106 +msgid "previous page" +msgstr "página anterior" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:121 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:124 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:124 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:127 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:217 +msgid "Next" +msgstr "Próxima" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:121 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:124 +msgid "next page" +msgstr "próxima página" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:122 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:125 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:125 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:128 +msgid "End" +msgstr "Fim" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/pageNavigation.php:122 +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:125 +msgid "end page" +msgstr "fim da página" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:65 +msgid "Control Panel" +msgstr "Painel de Controle" + +#. Site Sub-Menu +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:69 +msgid "Site" +msgstr "Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:69 +msgid "Site Management" +msgstr "Gerenciamento do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:72 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:292 +msgid "Configuration" +msgstr "Configuração" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:72 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:115 +msgid "Global Configuration" +msgstr "Configuração Global" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:76 +msgid "Language Manager" +msgstr "Gerenciador de Idiomas" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:76 +msgid "Manage languages" +msgstr "Gerenciar idiomas" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:79 +msgid "Manage Media Files" +msgstr "Gereciar Arquivos de Mídia" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:79 +msgid "Media Manager" +msgstr "Gerenciador de Mídia" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:81 +msgid "In New Window" +msgstr "Em Nova Janela" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:82 +msgid "Inline" +msgstr "Em Linha" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:83 +msgid "Inline with Positions" +msgstr "Em Linha com Posições" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:85 +msgid "Site Statistics" +msgstr "Estatísticas do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:85 +msgid "Statistics" +msgstr "Estatísticas" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:88 +msgid "Browser, OS, Domain" +msgstr "Nagvegadores, SO, Domínios" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:89 +msgid "Page Impressions" +msgstr "Visitas à Páginas" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:92 +msgid "Search Text" +msgstr "Texto de Busca" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:96 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:97 +msgid "Change site template" +msgstr "Alterar template do site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:96 +msgid "Template Manager" +msgstr "Gerenciador de Templates" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:97 +msgid "Site Templates" +msgstr "Templates do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:98 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:101 +msgid "Install" +msgstr "Instalar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:98 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Install Site Templates" +msgstr "Instalar Templates do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:100 +msgid "Administrator Templates" +msgstr "Administrador de Templates" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:100 +msgid "Change admin template" +msgstr "Alterar Template do Admin" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:101 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Install Administrator Templates" +msgstr "Instalar Templates do Admin" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:103 +msgid "Module Positions" +msgstr "Posições de Módulos" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:103 +msgid "Template positions" +msgstr "Posições de Templates" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:108 +msgid "Manage Trash" +msgstr "Gerenciar Lixeira" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:108 +msgid "Trash Manager" +msgstr "Gerenciador de Lixeira" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:112 +msgid "Manage users" +msgstr "Gerenciar Usuários" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:112 +msgid "User Manager" +msgstr "Gerenciador de Usuários" + +#. Menu Sub-Menu +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:119 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_stats.php:24 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:438 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:517 +msgid "Menu" +msgstr "Menu" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:119 +msgid "Menu Management" +msgstr "Gerenciamento de Menus" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:122 +msgid "Menu Manager" +msgstr "Gerenciador de Menus" + +#. Content Sub-Menu +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:134 +msgid "Content" +msgstr "Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:134 +msgid "Content Management" +msgstr "Gerenciamento de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:137 +msgid "Content Managers" +msgstr "Gerenciadores de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:137 +msgid "Content by Section" +msgstr "Conteúdo por Seção" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:144 +msgid "Items" +msgstr "Itens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:147 +msgid "Add/Edit" +msgstr "Adicionar/Editar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:58 +msgid "Categories" +msgstr "Categorias" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:161 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:28 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:137 +msgid "All Content Items" +msgstr "Todos os Itens da Categoria" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:161 +msgid "Manage Content Items" +msgstr "Gerenciar Itens de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:162 +msgid "Manage Typed Content Items" +msgstr "Gerenciar Tipos de Itens de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:162 +msgid "Static Content Manager" +msgstr "Gerenciador de Conteúdo Estático" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:164 +msgid "Manage Content Sections" +msgstr "Gerenciar Seções de Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:164 +msgid "Section Manager" +msgstr "Gerenciador de Seções" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:167 +msgid "Category Manager" +msgstr "Gerenciador de Categorias" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:167 +msgid "Manage Content Categories" +msgstr "Gerenciar Conteúdo de Categorias" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:171 +msgid "Frontpage Manager" +msgstr "Gerenciador de Página Principal" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:171 +msgid "Manage Frontpage Items" +msgstr "Gerenciar Itens da Página Principal" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:172 +msgid "Archive Manager" +msgstr "Gerenciador de Itens Arquivados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:172 +msgid "Manage Archive Items" +msgstr "Gerenciar Itens Arquivados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:178 +msgid "Component Management" +msgstr "Gerenciador de Componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:178 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:281 +msgid "Components" +msgstr "Componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install/Uninstall" +msgstr "Instalar/Remover" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +msgid "Install/Uninstall components" +msgstr "Instalar/Remover componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:223 +msgid "More Components" +msgstr "Mais Componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:223 +msgid "More Components..." +msgstr "Mais Componentes..." + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:231 +msgid "Module Management" +msgstr "Gerenciador de Módulos" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:231 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Modules" +msgstr "Módulos" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +msgid "Install custom modules" +msgstr "Instalar Módulos Customizados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:239 +msgid "Manage Site modules" +msgstr "Gerenciar Módulos do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:239 +msgid "Site Modules" +msgstr "Módulos do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:240 +msgid "Administrator Modules" +msgstr "Módulos do Administrador" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:240 +msgid "Manage Administrator modules" +msgstr "Gerenciador de Módulos do Administrador" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:250 +msgid "Mambot Management" +msgstr "Gerenciador de Mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:250 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Mambots" +msgstr "Mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install custom mambot" +msgstr "Instalar Mambots Customizados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:258 +msgid "Manage Site Mambots" +msgstr "Gerenciar Mambots do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:258 +msgid "Site Mambots" +msgstr "Mambots do Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:269 +msgid "Installer List" +msgstr "Lista de Instaladores" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:269 +msgid "Installers" +msgstr "Instaladores" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Templates - Site" +msgstr "Templates - Site" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Templates - Admin" +msgstr "Templates - Admin" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:277 +msgid "Install Languages" +msgstr "Instalar Idiomas" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:277 +msgid "Languages" +msgstr "Idiomas" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:281 +msgid "Install/Uninstall Components" +msgstr "Instalar/Remover Componentes" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Install/Uninstall Modules" +msgstr "Instalar/Remover Módulos" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Install/Uninstall Mambots" +msgstr "Instalar/Remover Mambots" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:290 +msgid "Messages" +msgstr "Mensagens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:290 +msgid "Messaging Management" +msgstr "Gerenciamento de Mensagens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:291 +msgid "Inbox" +msgstr "Caixa de Entrada" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:291 +msgid "Private Messages" +msgstr "Mensagens Privadas" + +#. System Sub-Menu +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:297 +msgid "System" +msgstr "Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:297 +msgid "System Management" +msgstr "Gerenciamento do Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:300 +msgid "Check-in all checked-out items" +msgstr "Verificados todos os itens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:300 +msgid "Global Checkin" +msgstr "Verificação Global" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:301 +msgid "View System Information" +msgstr "Ver Informações do Sistema" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:304 +msgid "Clean Cache" +msgstr "Limpar Cache" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:304 +msgid "Clean the content items cache" +msgstr "Limpar os itens de conteúdo do cache" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_latest.php:27 +msgid "Most Recently Added Content" +msgstr "Conteúdos Adicioandos Recentemente" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_latest.php:43 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:64 +msgid "Edit User" +msgstr "Editar Usuário" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:56 +msgid "Currently Logged in Users" +msgstr "Usuários Atualmente Logados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:84 +msgid "Force Logout User" +msgstr "Forçar logout do Usuário" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_logged.php:84 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:62 +msgid "Logout" +msgstr "Logout" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_online.php:22 +msgid "Users Online" +msgstr "Usuários Online" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:27 +msgid "Most Popular Items" +msgstr "Itens Mais Populares" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:30 +msgid "Created" +msgstr "Criado" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_popular.php:33 +msgid "Hits" +msgstr "Acessos" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:35 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:144 +msgid "Static Content" +msgstr "Conteúdo Estático" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:42 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:152 +msgid "Frontpage" +msgstr "Página Principal" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:51 +msgid "Sections" +msgstr "Seções" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:65 +msgid "Media" +msgstr "Mídia" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:89 +msgid "Menus" +msgstr "Menus" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_quickicon.php:102 +msgid "Users" +msgstr "Usuários" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_stats.php:27 +msgid "# Items" +msgstr "# Itens" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_unread.php:17 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_unread.php:19 +msgid "Mail" +msgstr "E-mail" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:22 +msgid "Content Preview" +msgstr "Pré-Visualização do Conteúdo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:60 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/modulewindow.php:68 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:49 +msgid "Close" +msgstr "Fechar" + +#. Print Preview button - used when viewing page +#. Print Button - used in pop-up window +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/contentwindow.php:61 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:276 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:278 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:285 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:294 +msgid "Print" +msgstr "Imprimir" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/modulewindow.php:40 +msgid "Module Preview" +msgstr "P're-Visualização de Módulo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:25 +msgid "Poll Preview" +msgstr "P're-Visualização de Enquete" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:46 +msgid "Results" +msgstr "Resultados" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/pollwindow.php:46 +msgid "Vote" +msgstr "Votar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:25 +msgid "Please select an image to upload" +msgstr "Por favor selecione uma imagem para enviar" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:31 +msgid "File must only contain alphanumeric characters and no spaces please." +msgstr "" +"O nome do arquivo deve conter somente caracteres alfanuméricos e sem espaços" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:36 +#, php-format +msgid "Image %s already exists." +msgstr "Imagem %s já existe" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:41 +msgid "The file must be gif, png, jpg, bmp, swf, doc, xls or ppt" +msgstr "O arquivo deve ser gif, png, jpg, bmp, swf, doc, xls ou ppt" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:48 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:56 +msgid "Upload of $userfile_name failed" +msgstr "Envio do arquivo $userfile_name falhou" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:52 +msgid "Upload of $userfile_name to $media_path successful" +msgstr "Envio do arquivo $userfile_name para $media_path correto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:60 +msgid "Upload of $userfile_name to $base_Dir successful" +msgstr "Envio do arquivo $userfile_name para $base_dir correto" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:84 +msgid "File Upload :" +msgstr "Enviar Arquivo:" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:94 +msgid "Max size" +msgstr "Tamanho Máx" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/index.php:50 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:34 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:50 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:88 +msgid "Mambo Logo" +msgstr "Logo do Mambo" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:19 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/index.php:22 +msgid "Administration" +msgstr "Administração" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:40 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:49 +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin_blue/login.php:40 +msgid "Login" +msgstr "Login" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:43 +msgid "Username" +msgstr "Nome de Usuário" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:45 +msgid "Password" +msgstr "Senha" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:55 +msgid "Welcome to Mambo!" +msgstr "Bem-Vindo ao Mambo!" + +#: D:/releases/svn/mambo/branches/4.6/administrator/templates/mambo_admin/login.php:56 +msgid "" +"Use a valid username and password to gain access to the administration " +"console." +msgstr "" +"Use um nome de usuário e uma senha válidos para obter acesso a área " +"administrativa." + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:36 +msgid "Please make a selection from the list to" +msgstr "Por favor faça uma seleção na lista para" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:75 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:95 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:473 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:560 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:653 +msgid "Published" +msgstr "Publicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:115 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:135 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:653 +msgid "Unpublished" +msgstr "Descuplicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:312 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:313 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:327 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:328 +msgid "save" +msgstr "salvar" + +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:363 +#: D:/releases/svn/mambo/branches/4.6/includes/HTML_toolbar.php:364 +msgid "back" +msgstr "voltar" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:35 +msgid "Please complete the username and password fields." +msgstr "Por favor, complete os campos de nome de usuário e senha." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:41 +msgid "Logins are not permitted. There is no authentication check active." +msgstr "" +"Logins não são permitidos. A verificação de autenticação não está ativa." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:72 +msgid "Your login has been blocked. Please contact the administrator." +msgstr "" +"Sua conta foi bloqueada. Por favor entre em contato com o administrador." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:103 +msgid "Incorrect username or password. Please try again." +msgstr "Nome de Usuário ou Senha Inválidos. Tente Novamente." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:147 +msgid "Please enter a password" +msgstr "Digite uma senha" + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:166 +msgid "You cannot login. There are no administrators set up." +msgstr "Você não pode se logar. Não existem administradores configurados." + +#: D:/releases/svn/mambo/branches/4.6/includes/authenticator.php:172 +msgid "Incorrect Username, Password, or Access Level. Please try again" +msgstr "Nome de Usuário, Senha ou Nível de Acesso incorretos. Tente novamente" + +#: D:/releases/svn/mambo/branches/4.6/includes/cmtclasses.php:348 +msgid "Your Module must contain a title." +msgstr "Seu Módulo deve conter um título" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:21 +msgid "Unwriteable" +msgstr "Somente Leitura" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:21 +msgid "Writeable" +msgstr "Escrita" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:95 +msgid "January" +msgstr "Janeiro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:96 +msgid "February" +msgstr "Fevereiro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:97 +msgid "March" +msgstr "Março" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:98 +msgid "April" +msgstr "Abril" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:99 +msgid "May" +msgstr "Maio" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:100 +msgid "June" +msgstr "Junho" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:101 +msgid "July" +msgstr "Julho" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:102 +msgid "August" +msgstr "Agosto" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:103 +msgid "September" +msgstr "Setembro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:104 +msgid "October" +msgstr "Outubro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:105 +msgid "November" +msgstr "Novembro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:106 +msgid "December" +msgstr "Dezembro" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:121 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:171 +msgid "Yes" +msgstr "Sim" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:122 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:170 +msgid "No" +msgstr "Não" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:195 +msgid "No Sorting" +msgstr "Sem Ordenamento" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:196 +msgid "Sort Ascending" +msgstr "Ordem Ascendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:197 +msgid "Sort Descending" +msgstr "Ordem Decrescente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:222 +msgid "Close Window" +msgstr "Fechar Janela" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:350 +msgid "" +"This email address is being protected from spam bots, you need Javascript " +"enabled to view it" +msgstr "" +"Este endereço de e-mail está protegido de spam bots. Você precisa ter o " +"Javascript habilitado para vê-lo." + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:375 +msgid "Pending" +msgstr "Pendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:378 +msgid "Published, but is Pending" +msgstr "Publicado mas está Pendente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:381 +msgid "Visible" +msgstr "Visível" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:384 +msgid "Published and is Current" +msgstr "Pendente e é o Corrente" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:387 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:393 +msgid "Finished" +msgstr "Finalizado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:390 +msgid "Published, but has Expired" +msgstr "Publicado mas Expirou" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:396 +msgid "Not Published" +msgstr "Não Publicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:401 +msgid "Click on icon to toggle state." +msgstr "Clique no ícone para alterar o estado." + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:441 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:520 +msgid "Go to Menu" +msgstr "Vai para o Menu" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:448 +msgid "Link Name" +msgstr "Nome do Link" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:452 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:539 +msgid "Go to Menu Item" +msgstr "Vai para o Item de Menu" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:460 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:547 +msgid "State" +msgstr "Estado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:466 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:553 +msgid "Trashed" +msgstr "Lixo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:469 +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:556 +msgid "UnPublished" +msgstr "Despublicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:527 +msgid "Type" +msgstr "Tipo" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:535 +msgid "Item Name" +msgstr "Nome do Item" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:584 +msgid "Checked Out" +msgstr "Verificado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:654 +msgid "Publish item" +msgstr "Item Publicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:654 +msgid "Unpublish Item" +msgstr "Item Despublicado" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:21 +#, php-format +msgid "User Submitted '%s'" +msgstr "Usuário Enviou '%s'" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:22 +#, php-format +msgid "" +"Hello %s,\\n\\n\\nA user submitted %s:\\n [ %s ]\\n has been just been " +"submitted by user:\\n [ %s ]\\n" +msgstr "" +"Olá %s,\\n\\n\\nUm usuário enviou %s:\\n [ %s ]\\nfoi enviado pelo usuário:" +"\\n [ %s ]\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:23 +msgid " for %.\\n\\n\\n\\n" +msgstr "para %.\\n\\n\\n\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:24 +#, php-format +msgid "Please go to %s/administrator to view and approve this %s.\\n\\n" +msgstr "Por favor, vá até o %s/administrador para ver e aprovar %s.\\n\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:25 +msgid "" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only\\n" +msgstr "" +"Por favor não responda esta mensagem. Ela é automaticamente gerada e serve " +"somente para informação\\n" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:48 +msgid "You are not authorized to view this resource." +msgstr "Você não possui autorização para ver este recurso." + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:50 +msgid "You need to login." +msgstr "Você precisa se autenticar." + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:334 +msgid "Mambo Warning" +msgstr "Aviso do Mambo" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:67 +#, php-format +msgid "Results %d - %d of %d" +msgstr "Resultados %d - %d de %d" + +#: D:/releases/svn/mambo/branches/4.6/includes/pageNavigation.php:79 +#, php-format +msgid "Page %d of %d" +msgstr "Página %d de %d" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:67 +msgid "Powered by Mambo" +msgstr "Provido por Mambo" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:68 +msgid "Generated:" +msgstr "Gerado:" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:95 +msgid "Written by" +msgstr "Escrito por" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:97 +msgid "Contributed by" +msgstr "Contribuições de" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:103 +msgid "Last Updated" +msgstr "Última Atualização" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:121 +msgid "OFF" +msgstr "Desligado" + +#: D:/releases/svn/mambo/branches/4.6/includes/pdf.php:121 +msgid "ON" +msgstr "Ligado" + +#: D:/releases/svn/mambo/branches/4.6/includes/phpgettext/phpgettext.includes.php:283 +msgid "Text Domains" +msgstr "Domínios de Textos" + +#: D:/releases/svn/mambo/branches/4.6/includes/phpgettext/phpgettext.includes.php:290 +msgid "Main" +msgstr "Principal" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:58 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:183 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:194 +msgid "Page" +msgstr "Página" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:142 +msgid "Article Index" +msgstr "Índice de Artigos" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:215 +msgid "Next >>" +msgstr "Próximo >>" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:224 +msgid "<<Previous" +msgstr " >>Anterior" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:39 +msgid "User Rating" +msgstr "Votação do Usuário" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:47 +msgid "Poor" +msgstr "Pobre" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:48 +msgid "vote 1 star" +msgstr "Voto 1 Estrela" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:49 +msgid "vote 2 star" +msgstr "Voto 2 Estrelas" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:50 +msgid "vote 3 star" +msgstr "Voto 3 Estrelas" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:51 +msgid "vote 4 star" +msgstr "Voto 4 Estrelas" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:52 +msgid "vote 5 star" +msgstr "Voto 5 Estrelas" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:53 +msgid "Best" +msgstr "Melhor" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:54 +msgid "Rate" +msgstr "Ranking" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/categories.searchbot.php:70 +msgid "Category List" +msgstr "Lista de Categorias" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/categories.searchbot.php:74 +msgid "Category Blog" +msgstr "Lista de Blog" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/contacts.searchbot.php:32 +msgid "Contact" +msgstr "Contato" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/sections.searchbot.php:66 +msgid "Section List" +msgstr "Lista de Seção" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/sections.searchbot.php:70 +msgid "Section Blog" +msgstr "Lista de Blog" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/weblinks.searchbot.php:31 +msgid "Web Links" +msgstr "Links Web" + +#: administrator/modules/mod_fullmenu.php:176 +#: administrator/modules/mod_fullmenu.php:231 +#: administrator/modules/mod_fullmenu.php:250 +msgid "Review/Uninstall" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:267 +msgid "Install Any Plugin" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:267 +msgid "Universal" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:269 +msgid "Install from The Source" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:269 +msgid "The Source" +msgstr "" + +#: administrator/modules/mod_latest.xml +msgid "Latest News" +msgstr "" + +#: administrator/modules/mod_latest.xml +msgid "" +"This module shows a list of the most recently published Items that are still " +"current (some may have expired even though they are the most recent). Items " +"that are displayed on the Front Page Component are not included in the list." +msgstr "" + +#: administrator/modules/mod_logged.xml +msgid "Logged in Users" +msgstr "" + +#: administrator/modules/mod_logged.xml +msgid "This module shows a list of the currently logged in users" +msgstr "" + +#: administrator/modules/mod_popular.xml administrator/modules/mod_stats.xml +msgid "Popular Items" +msgstr "" + +#: administrator/modules/mod_popular.xml +msgid "" +"This module shows a list of the popular published Items that are still " +"current (some may have expired even though they are the most recent). Items " +"that are displayed on the Front Page Component are not included in the list." +msgstr "" + +#: administrator/modules/mod_stats.xml +msgid "" +"This module shows stats of Items that are still current (some may have " +"expired even though they are the most recent). Items that are displayed on " +"the Front Page Component are not included in the list." +msgstr "" + +#: administrator/popups/uploadimage.php:50 +#: administrator/popups/uploadimage.php:58 +#, php-format +msgid "Upload of %s failed" +msgstr "" + +#: administrator/popups/uploadimage.php:54 +#: administrator/popups/uploadimage.php:62 +#, php-format +msgid "Upload of %s to %s successful" +msgstr "" + +#: administrator/templates/mambo_admin/templateDetails.xml +msgid "Mambo Admin" +msgstr "" + +#: administrator/templates/mambo_admin_blue/templateDetails.xml +msgid "Mambo Admin Blue" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:29 +msgid "Banner Manager" +msgstr "Gerenciador de Banners" + +#: administrator/components/com_banners/admin.banners.html.php:43 +msgid "Banner Name" +msgstr "Nome do Banner" + +#: administrator/components/com_banners/admin.banners.html.php:49 +msgid "Impressions Made" +msgstr "Impressões Feitas" + +#: administrator/components/com_banners/admin.banners.html.php:52 +msgid "Impressions Left" +msgstr "Impressões Faltantes" + +#: administrator/components/com_banners/admin.banners.html.php:55 +#: administrator/components/com_banners/admin.banners.html.php:58 +#: administrator/components/com_banners/admin.banners.html.php:256 +msgid "Clicks" +msgstr "Clqiues" + +#: administrator/components/com_banners/admin.banners.html.php:99 +msgid "Edit Banner" +msgstr "Editar Banner" + +#: administrator/components/com_banners/admin.banners.html.php:159 +msgid "You must provide a banner name" +msgstr "Você deve informar um nome para o banner" + +#: administrator/components/com_banners/admin.banners.html.php:161 +msgid "Please select a client" +msgstr "Por favor selecione um cliente" + +#: administrator/components/com_banners/admin.banners.html.php:163 +msgid "Please select an image." +msgstr "Por favor selecione uma imagem" + +#: administrator/components/com_banners/admin.banners.html.php:165 +msgid "Please fill in the URL for the banner." +msgstr "Por favor preencha a URL para o banner" + +#: administrator/components/com_banners/admin.banners.html.php:176 +msgid "Banner:" +msgstr "Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:187 +#: administrator/components/com_banners/admin.banners.html.php:433 +msgid "Details" +msgstr "Detalhes" + +#: administrator/components/com_banners/admin.banners.html.php:192 +msgid "Banner Name:" +msgstr "Nome do Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:200 +#: administrator/components/com_banners/admin.banners.html.php:438 +msgid "Client Name:" +msgstr "Nome do Cliente:" + +#: administrator/components/com_banners/admin.banners.html.php:208 +msgid "Impressions Purchased:" +msgstr "Impressões Adquiridas:" + +#: administrator/components/com_banners/admin.banners.html.php:219 +msgid "Unlimited" +msgstr "Ilimitadas" + +#: administrator/components/com_banners/admin.banners.html.php:224 +msgid "Banner URL" +msgstr "URL do Banner" + +#: administrator/components/com_banners/admin.banners.html.php:232 +msgid "Show Banner :" +msgstr "Mostrar Banner :" + +#: administrator/components/com_banners/admin.banners.html.php:240 +msgid "Click URL:" +msgstr "URL para Clique:" + +#: administrator/components/com_banners/admin.banners.html.php:248 +msgid "Custom banner code:" +msgstr "Código Customizado para o Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:258 +msgid "Reset Clicks" +msgstr "Reiniciar Cliques" + +#: administrator/components/com_banners/admin.banners.html.php:270 +msgid "Banner Image:" +msgstr "Imagem do Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:320 +msgid "Banner Client Manager" +msgstr "Gerenciador de Clientes de Banners" + +#: administrator/components/com_banners/admin.banners.html.php:334 +msgid "Client Name" +msgstr "Nome do Cliente" + +#: administrator/components/com_banners/admin.banners.html.php:340 +msgid "No. of Active Banners" +msgstr "N. de Banners Ativos" + +#: administrator/components/com_banners/admin.banners.html.php:366 +msgid "Edit Banner Client" +msgstr "Editar Cliente do Banner" + +#: administrator/components/com_banners/admin.banners.html.php:407 +msgid "Please fill in the Client Name." +msgstr "Por favor preencha o Nome do Cliente." + +#: administrator/components/com_banners/admin.banners.html.php:409 +msgid "Please fill in the Contact Name." +msgstr "Por favor preencha o Nome do Contato." + +#: administrator/components/com_banners/admin.banners.html.php:411 +msgid "Please fill in the Contact Email." +msgstr "Por favor preencha o E-mail do Cliente." + +#: administrator/components/com_banners/admin.banners.html.php:421 +msgid "Banner Client:" +msgstr "Cliente do Banner:" + +#: administrator/components/com_banners/admin.banners.html.php:446 +msgid "Contact Name:" +msgstr "Nome de Contato:" + +#: administrator/components/com_banners/admin.banners.html.php:454 +msgid "Contact Email:" +msgstr "E-mail de Contato:" + +#: administrator/components/com_banners/admin.banners.html.php:462 +msgid "Extra Info:" +msgstr "Informações Extras:" + +#: administrator/components/com_banners/admin.banners.php:165 +msgid "Saved Banner info" +msgstr "Informações do Banner Salvas" + +#: administrator/components/com_banners/admin.banners.php:168 +msgid "Reset Banner clicks" +msgstr "Reiniciar cliques do Banner" + +#: administrator/components/com_banners/admin.banners.php:201 +msgid "publish" +msgstr "publicado" + +#: administrator/components/com_banners/admin.banners.php:201 +msgid "unpublish" +msgstr "não publicado" + +#: administrator/components/com_banners/admin.banners.php:202 +#, php-format +msgid "Select an item to %s" +msgstr "Selecione um item para %s" + +#: administrator/components/com_banners/admin.banners.php:276 +#, php-format +msgid "The client [ %s ] is currently being edited by another person." +msgstr "O cliente [ %s ] está sendo editado por outra pessoa." + +#: administrator/components/com_banners/admin.banners.php:334 +msgid "Cannot delete client at this time as they have a banner still running" +msgstr "" +"Não é possível apagar o cliente enquanto existem banners sendo executados" + +#: administrator/components/com_banners/banners.xml +msgid "Banners" +msgstr "Banners" + +#: administrator/components/com_banners/banners.xml +msgid "This component manages banners and banner clients" +msgstr "Este componente gerencia banners e seus clientes" + +#: components/com_banners/banners.class.php:35 +msgid "You must select a name for the client." +msgstr "Você deve selecionar um nome para o cliente." + +#: components/com_banners/banners.class.php:41 +msgid "You must select a contact for the client." +msgstr "Você deve selecionar um contato para o cliente." + +#: components/com_banners/banners.class.php:47 +msgid "You must select a valid email for the client." +msgstr "Você deve selecionar um e-mail válido para o cliente." + +#: components/com_banners/banners.class.php:102 +msgid "You must select a client." +msgstr "Você deve selecionar um cliente." + +#: components/com_banners/banners.class.php:107 +msgid "You must select a name for the banner." +msgstr "Você deve selecionar um nome para o banner." + +#: components/com_banners/banners.class.php:112 +msgid "You must select a image for the banner." +msgstr "Você deve selecionar uma imagem para o banner." + +#: components/com_banners/banners.class.php:116 +msgid "You must select a URL/Custom banner code for the banner." +msgstr "Você deve selecionar uma URL/Código Customizado para o banner." + +#: administrator/components/com_banners/admin.banners.html.php:335 +msgid "Client ID" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:37 +msgid "Content: All" +msgstr "Conteúdo: Todo" + +#: administrator/components/com_categories/admin.categories.html.php:72 +msgid "Category Name" +msgstr "Nome da Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:81 +msgid "Reorder" +msgstr "Reordenar" + +#: administrator/components/com_categories/admin.categories.html.php:87 +msgid "Order" +msgstr "Ordem" + +#: administrator/components/com_categories/admin.categories.html.php:90 +msgid "Save Order" +msgstr "Salvar Ordem" + +#: administrator/components/com_categories/admin.categories.html.php:93 +msgid "Access" +msgstr "Acesso" + +#: administrator/components/com_categories/admin.categories.html.php:99 +msgid "Section" +msgstr "Seção" + +#: administrator/components/com_categories/admin.categories.html.php:105 +msgid "Category ID" +msgstr "Id da Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:111 +msgid "Active" +msgstr "Ativa" + +#: administrator/components/com_categories/admin.categories.html.php:183 +msgid "Edit Section" +msgstr "Editar Seção" + +#: administrator/components/com_categories/admin.categories.html.php:262 +msgid "Please select a Menu" +msgstr "Por favor, selecione um Menu" + +#: administrator/components/com_categories/admin.categories.html.php:265 +msgid "Please select a menu type" +msgstr "Por favor selecione um tipo de menu" + +#: administrator/components/com_categories/admin.categories.html.php:268 +msgid "Please enter a Name for this menu item" +msgstr "Por favor digite um nome para este item de menu" + +#: administrator/components/com_categories/admin.categories.html.php:274 +msgid "Category must have a name" +msgstr "Categorias devem ter um nome" + +#: administrator/components/com_categories/admin.categories.html.php:322 +msgid "Category:" +msgstr "Categoria:" + +#: administrator/components/com_categories/admin.categories.html.php:336 +msgid "Show Advanced Details" +msgstr "Mostrar Detalhes Avançados" + +#: administrator/components/com_categories/admin.categories.html.php:339 +msgid "Hide Advanced Details" +msgstr "Esconder Detalhes Avançados" + +#: administrator/components/com_categories/admin.categories.html.php:350 +msgid "Category Details" +msgstr "Detalhes da Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:355 +msgid "Category Title:" +msgstr "Título da Categoria:" + +#: administrator/components/com_categories/admin.categories.html.php:358 +msgid "A short name to appear in menus" +msgstr "Um nome pequeno usado nos menus" + +#: administrator/components/com_categories/admin.categories.html.php:363 +msgid "Category Name:" +msgstr "Nome da Categoria:" + +#: administrator/components/com_categories/admin.categories.html.php:366 +msgid "A long name to be displayed in headings" +msgstr "Um nome longo para ser usado nos cabeçalhos" + +#: administrator/components/com_categories/admin.categories.html.php:371 +msgid "Section:" +msgstr "Seção:" + +#: administrator/components/com_categories/admin.categories.html.php:379 +msgid "Image:" +msgstr "Imagem:" + +#: administrator/components/com_categories/admin.categories.html.php:397 +msgid "Image Position:" +msgstr "Posição da Imagem:" + +#: administrator/components/com_categories/admin.categories.html.php:405 +msgid "Ordering:" +msgstr "Ordenação:" + +#: administrator/components/com_categories/admin.categories.html.php:413 +msgid "Access Level:" +msgstr "Nível de Acesso:" + +#: administrator/components/com_categories/admin.categories.html.php:421 +msgid "Published:" +msgstr "Publicado:" + +#: administrator/components/com_categories/admin.categories.html.php:429 +msgid "Description:" +msgstr "Descrição:" + +#: administrator/components/com_categories/admin.categories.html.php:450 +#: administrator/components/com_categories/admin.categories.html.php:487 +msgid "Link to Menu" +msgstr "Link para o Menu" + +#: administrator/components/com_categories/admin.categories.html.php:455 +msgid "This will create a new menu item in the menu you select" +msgstr "Isto irá criar um novo item de menu no menu selecionado" + +#: administrator/components/com_categories/admin.categories.html.php:461 +msgid "Select a Menu" +msgstr "Selecione um Menu" + +#: administrator/components/com_categories/admin.categories.html.php:469 +msgid "Select Menu Typ" +msgstr "Selecione um Tipo de Menu" + +#: administrator/components/com_categories/admin.categories.html.php:477 +msgid "Menu Item Name" +msgstr "Nome do Item de Menu" + +#: administrator/components/com_categories/admin.categories.html.php:492 +msgid "Existing Menu Links" +msgstr "Links do Menu Existentes" + +#: administrator/components/com_categories/admin.categories.html.php:518 +msgid "Menu links available when saved" +msgstr "Links dos Menu estarão disponíveis depois de salvos" + +#: administrator/components/com_categories/admin.categories.html.php:555 +msgid "Move Category" +msgstr "Mover Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:565 +msgid "Move to Section:" +msgstr "Mover para a Seção:" + +#: administrator/components/com_categories/admin.categories.html.php:571 +msgid "Categories being moved:" +msgstr "Categorias a serem movidas:" + +#: administrator/components/com_categories/admin.categories.html.php:582 +msgid "Content Items being moved:" +msgstr "Itens de conteúdo a serem movidos:" + +#: administrator/components/com_categories/admin.categories.html.php:593 +msgid "" +"This will move the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"Isto irá mover as categorias listadas\n" +"\t\t\t
      \n" +"\t\t\te todos os itens desta categoria (também listados)\n" +"\t\t\t
      \n" +"\t\t\tpara a seção selecionada." + +#: administrator/components/com_categories/admin.categories.html.php:628 +msgid "Copy Category" +msgstr "Copiar Categoria" + +#: administrator/components/com_categories/admin.categories.html.php:638 +msgid "Copy to Section:" +msgstr "Copiar para a Seção:" + +#: administrator/components/com_categories/admin.categories.html.php:644 +msgid "Categories being copied:" +msgstr "Categorias a serem copiadas:" + +#: administrator/components/com_categories/admin.categories.html.php:655 +msgid "Content Items being copied:" +msgstr "Itens de Conteúdo a serem copiados:" + +#: administrator/components/com_categories/admin.categories.html.php:666 +msgid "" +"\n" +"\t\t\tThis will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"\n" +"\t\t\tIsto irá copiar as categorias listadas\n" +"\t\t\t
      \n" +"\t\t\te todos os itens contidos nas categorias (também listados)\n" +"\t\t\t
      \n" +"\t\t\tpara a seção selecionada." + +#: administrator/components/com_categories/admin.categories.php:142 +msgid "Component: " +msgstr "Componente:" + +#: administrator/components/com_categories/admin.categories.php:251 +msgid "The category %s is currently being edited by another administrator" +msgstr "A categoria %s está sendo editada por outro administrador" + +#: administrator/components/com_categories/admin.categories.php:270 +msgid "Category Table" +msgstr "Tabela de Categoria" + +#: administrator/components/com_categories/admin.categories.php:278 +msgid "Category Blog Archive" +msgstr "Arquivo de Blog de Categoria" + +#: administrator/components/com_categories/admin.categories.php:322 +msgid "Select Type" +msgstr "Selecione o Tipo" + +#: administrator/components/com_categories/admin.categories.php:324 +#: administrator/components/com_categories/admin.categories.php:797 +msgid "Contact Category Table" +msgstr "Tabela de Contato de Categoria" + +#: administrator/components/com_categories/admin.categories.php:327 +#: administrator/components/com_categories/admin.categories.php:802 +msgid "Newsfeed Category Table" +msgstr "Tabela de Categorias de Feeds de Notícias" + +#: administrator/components/com_categories/admin.categories.php:330 +#: administrator/components/com_categories/admin.categories.php:807 +msgid "Weblink Category Table" +msgstr "Tabela de Categorias de Links Web" + +#: administrator/components/com_categories/admin.categories.php:332 +#: administrator/components/com_categories/admin.categories.php:782 +msgid "Content Category Table" +msgstr "Tabela de Categorias de Conteúdo" + +#: administrator/components/com_categories/admin.categories.php:333 +#: administrator/components/com_categories/admin.categories.php:787 +msgid "Content Category Blog" +msgstr "Categoria de Conteúdo de Blog" + +#: administrator/components/com_categories/admin.categories.php:334 +msgid "Content Category Archive Blog" +msgstr "Categoria de Conteúdo de Blog Arquivado" + +#: administrator/components/com_categories/admin.categories.php:447 +msgid "Select a category to delete" +msgstr "Selecione uma categoria para remover" + +#: administrator/components/com_categories/admin.categories.php:524 +msgid "Select a category to %s" +msgstr "Selecionar uma categoria para %s" + +#: administrator/components/com_categories/admin.categories.php:585 +#: administrator/components/com_categories/admin.categories.php:655 +msgid "Select an item to move" +msgstr "Selecione um item para mover" + +#: administrator/components/com_categories/admin.categories.php:741 +msgid "%d Category copied to %s" +msgid_plural "%d Categories copied to %s" +msgstr[0] "%d Categorias copiadas para %s" +msgstr[1] "" + +#: administrator/components/com_categories/admin.categories.php:792 +msgid "Content Category Blog Archive" +msgstr "Categoria de Conteúdo de Blog Arquivado" + +#: administrator/components/com_categories/admin.categories.php:833 +msgid "%s ( %s ) in menu: %s successfully created" +msgstr "%s ( %s ) no menu: %s foi criado com sucesso" + +#: administrator/components/com_categories/admin.categories.php:872 +msgid "New ordering saved" +msgstr "Nova ordem salva" + +#: administrator/components/com_categories/toolbar.categories.html.php:80 +msgid "Move" +msgstr "mover" + +#: administrator/components/com_categories/toolbar.categories.html.php:82 +msgid "Copy" +msgstr "Copiar" + +#: administrator/components/com_categories/admin.categories.php:329 +#: administrator/components/com_categories/admin.categories.php:804 +msgid "News Feed Category Table" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:332 +#: administrator/components/com_categories/admin.categories.php:809 +msgid "Web Link Category Table" +msgstr "" + +#: administrator/components/com_checkin/admin.checkin.php:20 +msgid "Global Check-in" +msgstr "Verificação Global" + +#: administrator/components/com_checkin/admin.checkin.php:25 +msgid "Database Table" +msgstr "Tabela da Base" + +#: administrator/components/com_checkin/admin.checkin.php:26 +msgid "# of Items" +msgstr "# de Itens" + +#: administrator/components/com_checkin/admin.checkin.php:27 +msgid "Checked-In" +msgstr "Verificado" + +#: administrator/components/com_checkin/admin.checkin.php:74 +#: administrator/components/com_checkin/admin.checkin.php:81 +msgid "Checking table" +msgstr "Verificando tabela" + +#: administrator/components/com_checkin/admin.checkin.php:75 +#: administrator/components/com_checkin/admin.checkin.php:82 +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "Verificado em %d itens" +msgstr[1] "" + +#: administrator/components/com_checkin/admin.checkin.php:93 +msgid "Checked out items have now been all checked in" +msgstr "Itens verificados e agora todos ok" + +#: includes/cmtclasses.php:143 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s in %s" +msgstr "" + +#: includes/cmtclasses.php:165 +#, php-format +msgid "Component %s error: attempt to use non-existent method %s in %s" +msgstr "" + +#: includes/cmtclasses.php:167 includes/cmtclasses.php:173 +#: includes/cmtclasses.php:231 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s" +msgstr "" + +#: includes/cmtclasses.php:210 +#, php-format +msgid "MOS error in %s: method %s not found in class %s" +msgstr "" + +#: includes/cmtclasses.php:212 +#, php-format +msgid "MOS error in %s: class not found %s" +msgstr "" + +#: includes/core.classes.php:351 +msgid "Impossible to determine the name of this server" +msgstr "" + +#: includes/mamboHTML.php:384 +msgid "Published, but is Pending" +msgstr "" + +#: includes/mambofunc.php:22 +msgid "" +"Hello %s,\n" +"\n" +"\n" +"A user submitted %s:\n" +"[ %s ]\n" +"\n" +"has been just been submitted by user:\n" +"[ %s ]\n" +"\n" +"\n" +"for %\n" +"\n" +"Please go to %s/administrator to view and approve this %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only." +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon" +msgstr "Ícone" + +#: administrator/components/com_containers/admin.containers.html.php:45 +msgid "Display number" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:49 +msgid "Show Descendants?" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:64 +msgid "Parent container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:81 +msgid "Mambo " +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:190 +msgid "Title" +msgstr "Título" + +#: administrator/components/com_containers/admin.containers.html.php:134 +msgid "Top level container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:135 +msgid "Immediate container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:188 +#: administrator/components/com_containers/containers.xml +msgid "Containers" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:248 +msgid "Edit Container details" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:250 +msgid "Container name" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description" +msgstr "Descrição" + +#: administrator/components/com_containers/admin.containers.html.php:251 +msgid "Up to 500 characters" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:252 +msgid "Keywords" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:253 +msgid "Window title" +msgstr "" + +#: administrator/components/com_containers/containers.xml +msgid "Nested container system for Mambo" +msgstr "" + +#: components/com_containers/containers.class.php:143 +msgid "No parent" +msgstr "" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:44 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:28 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:28 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:180 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:48 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:302 +msgid "Mambo - Web Installer" +msgstr "Instalador Web - Mambo" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:67 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:52 +msgid "Please read/accept license to continue installation" +msgstr "Por favor, leia/aceite a licença para continuar com a instalação" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:79 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:63 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:62 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:203 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:110 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:309 +msgid "Mambo Installation" +msgstr "Instalação do Mambo" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:86 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:96 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:70 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:69 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:217 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:123 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:316 +msgid "pre-installation check" +msgstr "Verificação de pré-instalação" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:87 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:71 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:78 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:70 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:218 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:124 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:317 +msgid "license" +msgstr "Licença" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:88 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:72 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:71 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:219 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:125 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:318 +msgid "step 1" +msgstr "Passo 1" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:89 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:73 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:72 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:220 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:230 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:126 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:319 +msgid "step 2" +msgstr "Passo 2" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:90 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:74 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:73 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:221 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:127 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:131 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:320 +msgid "step 3" +msgstr "Passo 3" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:91 +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:75 +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:74 +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:222 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:128 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:321 +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:324 +msgid "step 4" +msgstr "Passo 4" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:103 +msgid "Pre-installation check for:" +msgstr "Verificação de pré-instalação para:" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:104 +msgid "" +"\n" +"If any of these items are highlighted\n" +"in red then please take actions to correct them. Failure to do so\n" +"could lead to your Mambo installation not functioning\n" +"correctly." +msgstr "" +"\n" +"Se qualquer um destes itens estão destacados\n" +"em vermelho é necessário executar algumas ações para corrigí-los. Falhas " +"aqui podem fazer com que seu Mambo não funcione\n" +"corretamente." + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:118 +msgid "PHP version" +msgstr "Versão do PHP" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:126 +msgid "zlib compression support" +msgstr "suporte à compressão zlib" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:129 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:137 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:145 +msgid "Available" +msgstr "Disponível" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:129 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:137 +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:145 +msgid "Unavailable" +msgstr "Não Disponível" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:134 +msgid "XML support" +msgstr "Suporte a XML" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:142 +msgid "MySQL support" +msgstr "Suporte a MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:159 +msgid "" +"You can still continue the install as the configuration will be displayed at " +"the end, just copy & paste this and upload." +msgstr "" +"Você ainda pode continuar com a instalação. Como a configuração é mostrada " +"no final, somente copie e cole e faça o upload do arquivo." + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:165 +msgid "Session save path" +msgstr "Caminho de sessões salvas" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:177 +msgid "Recommended settings:" +msgstr "Configurações recomendadas:" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:179 +msgid "" +"These settings are recommended for PHP in order to ensure full\n" +"compatibility with Mambo.\n" +"However, Mambo will still operate if your settings do not quite match the " +"recommended." +msgstr "" +"Estas configurações são recomendadas para completa compatibilidade \n" +"do PHP com o Mambo.\n" +"Entretanto o Mambo ainda pode funcionar se estas configurações não estiverem " +"como recomendado." + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:195 +msgid "Directive" +msgstr "Diretiva" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:198 +msgid "Recommended" +msgstr "Recomendado" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:201 +msgid "Actual" +msgstr "Atual" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:243 +msgid "Directory and File Permissions:" +msgstr "Permissões de Arquivos e Diretórios:" + +#: D:/releases/svn/mambo/branches/4.6/installation/index.php:245 +msgid "" +"In order for Mambo to function\n" +"correctly it needs to be able to access or write to certain files\n" +"or directories. If you see \"Unwriteable\" you need to change the\n" +"permissions on the file or directory to allow Mambo\n" +"to write to it." +msgstr "" +"Para o bom funcionamento do Mambo\n" +"é necessário permitir o acesso de leitura e escrita em certos arquivos\n" +" ou diretórios. Se você encontrar \"Somente Leitura\", você precisa alterar " +"as permissões do arquivo ou diretório para permitir\n" +"que o Mambo escreva neles." + +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:83 +msgid "GNU/GPL License:" +msgstr "Licença GNU/GPL:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:85 +msgid "" +"Mambo is Free Software released " +"under the GNU/GPL License .\n" +"\t\t\t\t
      *** To continue installing Mambo you must check " +"the box under the license ***
      " +msgstr "" +"
      Mambo é um Software Livre " +"disponível sob a Licença " +"GNU/GPL.\n" +"\t\t\t\t
      *** Para continuar instalando o Mambo você deve " +"clicar na caixa abaixo da licença ***
      " + +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:100 +msgid "I understand that this software is released under the GNU/GPL License" +msgstr "Eu entendo que este software está disponível sob a Licença GNU/GPL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:40 +msgid "Please enter a Host name" +msgstr "Por favor, digite um nome de Host" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:44 +msgid "Please enter a Database User Name" +msgstr "Por favor, digite um nome de usuário para o Banco de Dados" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:48 +msgid "Please enter a Name for your new Database" +msgstr "Por favor, digite um nome para sua nova Base de Dados" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:51 +msgid "" +"Are you sure these settings are correct? \\nMambo will now attempt to " +"populate a Database with the settings you have supplied" +msgstr "" +"Você tem certeza que estas configurações estão corretas? \\nO Mambo pode " +"agora popular a base de dados com as configurações escolhidas por você" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:82 +msgid "MySQL database configuration:" +msgstr "Configuração do MySQL:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:83 +msgid "" +"\n" +" \t \t\t\t

      Setting up Mambo to run on your server involves 4 simple " +"steps...

      \n" +" \t \t\t\t

      Please enter the hostname of the server Mambo is to be " +"installed on.

      \n" +"\t\t\t\t

      Enter the MySQL username, password and database name you wish to " +"use with Mambo.

      \n" +"\t\t\t\t

      Enter the table name prefix to be used by this Mambo instance and " +"select how\n" +"\t\t\t\t to do with in case existing tables from former installations.\n" +"\t\t\t\t

      Install the samples unless you are experianced Mamber wanting to " +"start with a completely empty site.

      \n" +"\t\t\t\t" +msgstr "" +"\n" +" \t \t\t\t

      Configurar o Mambo para rodar em seu servidor envolve 4 " +"passos simples...

      \n" +" \t \t\t\t

      Por favor, digite o nome do host do servidor onde o Mambo " +"será instalado.

      \n" +"\t\t\t\t

      Digite o nome de usuário do MySQL, a senha e o nome da base de " +"dados que voc6e deseja usar com o Mambo.

      \n" +"\t\t\t\t

      Digite o prefixo das tabelas para ser usado com esta instância do " +"Mambo e selecione o que fazer\n" +"\t\t\t\t no caso de existirem tabelas de outras instalações.

      \n" +"\t\t\t\t

      Não instale os dados de exemplo a menos que seja um Mamber " +"experiente ou queira um site completamente limpo e vazio.

      \n" +"\t\t\t\t" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:101 +msgid "Host Name" +msgstr "Nome do Host" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:102 +msgid "This is usually \"localhost\"" +msgstr "Usualmente \"localhost\"" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:105 +msgid "MySQL User Name" +msgstr "Nome de Usuário do MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:106 +msgid "Either something as \"root\" or a username given by the hoster" +msgstr "" +"Alguma coisa como \"root\" or um nome de usuário fornecido pelo seu hosting" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:109 +msgid "MySQL Password" +msgstr "Senha do MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:110 +msgid "For site security using a password for the mysql account in mandatory" +msgstr "" +"Para segurança do site o uso de uma senha para a conta do MySQL é mandatória" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:113 +msgid "Verify MySQL Password" +msgstr "Redigite a Senha do MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:114 +msgid "Retype password for verification" +msgstr "Redigite a senha para verificação" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:117 +msgid "MySQL Database Name" +msgstr "Nome da Base MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:118 +msgid "" +"Some hosts allow only a certain DB name per site. Use table prefix in this " +"case for distinct mambo sites." +msgstr "" +"Alguns hosts permitem somente uma base de dados por site. Use os prefixos de " +"tabelas neste caso para separar sites do Mambo." + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:121 +msgid "MySQL Table Prefix" +msgstr "Prefixo das Tabelas do MySQL" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:122 +msgid "Dont use \"old_\" since this is used for backup tables" +msgstr "Não use \"old_\" pois é usado para backup de tabelas" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:126 +msgid "Drop Existing Tables" +msgstr "Apagar Tabelas Existentes" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:131 +msgid "Backup Old Tables" +msgstr "Backup de Tabelas Antigas" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:132 +msgid "" +"Any exiting backup tables from former mambo installations will be replaced" +msgstr "" +"Quaisquer tabelas de backup existentes de instalações anteriores do Mambo " +"podem ser trocadas" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:136 +msgid "Install Sample Data" +msgstr "Instalar Dados de Exemplo" + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:137 +msgid "Dont uncheck this unless you are experienced with mambo!" +msgstr "Não desative isso a menos que tenha experiência com o Mambo!" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:35 +msgid "The database details provided are incorrect and/or empty." +msgstr "" +"Os detalhes informados para o banco de dados estão incorretos e/ou vazios." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:39 +msgid "The database passwords provided do not match. Please try again." +msgstr "" +"A senha do banco de dados informada não bate. Por favor, tente novamente." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:43 +msgid "The password and username provided are incorrect." +msgstr "A senha e o nome de usuário informados estão incorretos." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:47 +msgid "The database name provided is empty." +msgstr "O nome da base de dados informado está vazio." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:62 +msgid "A database error occurred: " +msgstr "Ocorreu um erro na base de dados: " + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:191 +msgid "Please enter a Site Name" +msgstr "Por favor, digite um nome para o site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:233 +msgid "Enter the name of your Mambo site:" +msgstr "Digite o nome do seu site Mambo:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:236 +msgid "" +"Looks like there have been some errors with inserting data into your " +"database!
      \n" +" \t\t\tYou cannot continue." +msgstr "" +"Existem alguns erros com a inserção de dados em seu banco de dados!
      \n" +" \t\t\tNão é possível continuar." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:239 +msgid "SUCCESS!" +msgstr "SUCESSO!" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:242 +msgid "" +"Type in the name for your Mambo site. This\n" +"\t\t\tname is used in email messages so make it something meaningful." +msgstr "" +"Digite um nome para seu site Mambo. Este\n" +"\t\t\tnome é usado em mensagens de e-mail, então coloque algo de fácil " +"entendimento." + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:253 +msgid "Error log:" +msgstr "Log de Erros:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:264 +msgid "Site name" +msgstr "Nome do site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install2.php:269 +msgid "e.g. The Home of Mambo" +msgstr "por ex. A Casa do Mambo" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:39 +msgid "The sitename has not been provided" +msgstr "O nome do site não foi informado" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:59 +msgid "Please enter Site URL" +msgstr "Por favor, digite a URL do Site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:63 +msgid "Please enter the absolute path to your site" +msgstr "Por favor, digite o caminho absoluto para seu site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:67 +msgid "Please enter an email address to contact your administrator" +msgstr "" +"Por favor, digite um endereço de e-mail para contato com seu administrador" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:71 +msgid "Please enter a password for you administrator" +msgstr "Por favor, digite uma senha para seu administrador" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:136 +msgid "Confirm the site URL, path, admin e-mail and file/directory chmods" +msgstr "" +"Confirme a URL do site, caminho, e-mail do administrador e chmods de " +"arquivos/diretórios" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:137 +msgid "" +"\n" +"\t\t\t\t

      If URL and Path looks correct then please do not change.\n" +"\t\t\t\t If you are not sure then please contact your ISP or administrator. " +"Usually\n" +"\t\t\t\t the values displayed will work for your site.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t Enter your e-mail address, this will be the e-mail address of the " +"site\n" +"\t\t\t\t SuperAdministrator.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t The permission settings will be used while installing mambo " +"itself, by\n" +"\t\t\t\t the mambo addon-installers and by the media manager. If you are " +"unsure\n" +"\t\t\t\t what flags shall be set, leave the default settings at the " +"moment.\n" +"\t\t\t\t You can still change these flags later in the site global " +"configuration.

      " +msgstr "" +"\n" +"\t\t\t\t

      Se a URl e o caminho informados parecem corretos, não os " +"altere.\n" +"\t\t\t\t Se você não está certo disso, então contate seu provedor ou " +"administrador. Usualmente\n" +"\t\t\t\t os valores mostrados funcionam com seu site.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t Digite seu endereço de e-mail. Este pode ser o endereço de e-mail " +"do \n" +"\t\t\t\t administrador do site.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t As configurações de permissões usadas pelo Mambo são também usadas " +"por\n" +"\t\t\t\t instaladores adicionais e pelo gerenciador de mídia. Se você não " +"sabe\n" +"\t\t\t\t quais são as configurações a serem feitas neste momento,\n" +"\t\t\t\t você pode depois alterá-las nas configurações globais do site.

      " + +#. if +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:200 +msgid "File Permissions" +msgstr "Permissões de Arquivos" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:204 +msgid "Dont CHMOD files (use server defaults)" +msgstr "Não faça CHMOD nos arquivos (usar padrão do servidor)" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:208 +msgid "CHMOD files to:" +msgstr "CHMOD de arquivos para:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:215 +msgid "User:" +msgstr "Usuário:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:217 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:226 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:235 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:275 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:284 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:293 +msgid "read" +msgstr "leitura" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:219 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:228 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:237 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:277 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:286 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:295 +msgid "write" +msgstr "escrita" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:221 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:230 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:239 +msgid "execute" +msgstr "execução" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:224 +msgid "Group:" +msgstr "Grupo:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:233 +msgid "World:" +msgstr "Todos:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:262 +msgid "Dont CHMOD directories (use server defaults)" +msgstr "Não faça CHMOD nos diretórios (usar padrão do servidor)" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:266 +msgid "CHMOD directories to:" +msgstr "CHMOD de diretórios para:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:279 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:288 +#: D:/releases/svn/mambo/branches/4.6/installation/install3.php:297 +msgid "search" +msgstr "procurar" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:68 +msgid "You must provide a valid admin email address." +msgstr "Você deve informar um endereço de e-mail válido para o admin." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:94 +msgid "The database details provided are incorrect and/or empty" +msgstr "" +"Os detalhes informados para o banco de dados estão incorretos e/ou vazios." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:156 +msgid "This site is down for maintenance.
      Please check back again soon." +msgstr "" +"Este site está parado para manuntenção.
      Por favor, verifique mais tarde." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:157 +msgid "" +"This site is temporarily unavailable.
      Please notify the System " +"Administrator" +msgstr "" +"Este site está temporariamente indisponível.
      Por favor, notifique o " +"administrador do sistema." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:160 +msgid "Mambo - the dynamic portal engine and content management system" +msgstr "" +"Mambo - a ferramenta dinâmica de portais e sistema de gerenciamento de " +"conteúdo" + +#. chmod files and directories if desired +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:234 +msgid "Directory and file permissions left unchanged." +msgstr "Permissões de arquivos e diretórios deixadas intactas." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:273 +msgid "File and directory permissions successfully changed." +msgstr "Permissões de arquivos e diretórios alteradas com sucesso." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:275 +msgid "File and directory permissions could not be changed.
      " +msgstr "Permissões de arquivos e diretórios não podem ser alteradas.
      " + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:276 +msgid "Please CHMOD mambo files and directories manually." +msgstr "Por favor, altere o CHMOD de arquivos e diretórios manualmente." + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:294 +msgid "The site url has not been provided" +msgstr "A URL do site não foi informada" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:326 +msgid "View Site" +msgstr "Ver o Site" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:344 +msgid "Congratulations! Mambo is installed" +msgstr "Parabéns! O Mambo está instalado" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:345 +msgid "" +"\n" +"\t\t\t\t

      Click the \"View Site\" button to start Mambo site or " +"\"Administration\"\n" +"\t\t\t\t to take you to administrator login.

      " +msgstr "" +"\n" +"\t\t\t\t

      Clique no botão \"Ver o Site\" para iniciar o Mambo ou " +"\"Administração\"\n" +"\t\t\t\t para entrar no logind e administração.

      " + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:352 +msgid "PLEASE REMEMBER TO COMPLETELY
      REMOVE THE INSTALLATION DIRECTORY" +msgstr "" +"POR FAVOR, LEMBRE-SE DE REMOVER COMPLETAMENTE
      O DIRETÓRIO DE INSTALAÇÃO " +"(INSTALLATION)" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:353 +msgid "Administration Login Details" +msgstr "Detalhes de Login de Administração" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:354 +msgid "Username :" +msgstr "Nome de Usuário:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:355 +msgid "Password :" +msgstr "Senha:" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:360 +msgid "" +"\n" +"\t\t\t\t\t\t\t\tYour configuration file or directory is not writeable,\n" +"\t\t\t\t\t\t\t\tor there was a problem creating the configuration file. " +"You'll have to\n" +"\t\t\t\t\t\t\t\tupload the following code by hand. Click in the textarea to " +"highlight\n" +"\t\t\t\t\t\t\t\tall of the code." +msgstr "" +"\n" +"\t\t\t\t\t\t\t\tSuas configuração de arquivos e diretórios é somente " +"leitura,\n" +"\t\t\t\t\t\t\t\tou existe um problema na criação do arquivo de configuração. " +"Você precisa fazer o\n" +"\t\t\t\t\t\t\t\tupload do seguinte código manualmente. Clique na área de " +"texto para selecionar\n" +"\t\t\t\t\t\t\t\ttodo o código." + +#: installation/install.php:87 +msgid "" +"Mambo is Free Software " +"released under the GNU/GPL " +"License .\n" +"\t\t\t\t
      *** To continue installing Mambo you must check " +"the box under the license ***
      " +msgstr "" + +#: installation/install1.php:112 +msgid "For site security using a password for the mysql account is mandatory" +msgstr "" + +#: installation/install4.php:352 +msgid "" +"\n" +"\t\t\t\t

      Click the \"View Site\" button to start Mambo site or " +"\"Administration\"\n" +"\t\t\t\t to take you to administrator login. Please take a moment to fill " +"out the form below.

      " +msgstr "" + +#: administrator/components/com_languages/actions/publish.action.php:25 +msgid "Configuration succesfully updated!" +msgstr "Configuração alterada com sucesso!" + +#: administrator/components/com_languages/actions/publish.action.php:27 +msgid "Error! Make sure that configuration.php is writeable." +msgstr "" +"Erro! Confirme a permissão de escrita em seu arquivo configuration.php." + +#: administrator/components/com_languages/toolbar.languages.php:44 +msgid "Extract" +msgstr "Extrair" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:9 +msgid "Compile Catalog?" +msgstr "Compilar Catálogo?" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:10 +msgid "yes" +msgstr "sim" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:11 +msgid "no" +msgstr "não" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:22 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:35 +msgid "MsgId" +msgstr "ID" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:24 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:37 +msgid "MsgId Plural" +msgstr "ID Plural" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:25 +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:54 +msgid "MsgStr" +msgstr "Str" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:27 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:41 +msgid "Plural form" +msgstr "Forma de Plural" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:43 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:58 +msgid "Fuzzy Entry" +msgstr "Entrada Fuzzy" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Catalog dump" +msgstr "Cópia do Catálogo" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Comments" +msgstr "Comentários" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Headers" +msgstr "Cabeçalhos" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Strings" +msgstr "Strings" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:11 +msgid "PHPGettext Example" +msgstr "Exemplo de PHPGettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:21 +msgid "PHPGettext" +msgstr "PHPGettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:22 +msgid "Gettext for PHP" +msgstr "Gettext para PHP" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:25 +msgid "Current language is:" +msgstr "Idioma atual:" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:34 +msgid "Change language" +msgstr "Alterar idioma" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:41 +msgid "Gettext is enabled!" +msgstr "Gettext está habilitado!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:43 +msgid "Gettext is disabled!" +msgstr "Gettext está desabilitado!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:55 +msgid "Disable Gettext" +msgstr "Desabilitar Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:56 +msgid "Enable Gettext" +msgstr "Habilitar Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:57 +msgid "Extract Strings" +msgstr "Extrair Strings" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:58 +msgid "Run Unit Tests" +msgstr "Executar Testes de Unidades" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:59 +msgid "Clear Tests" +msgstr "Limpar Testes" + +#: administrator/components/com_languages/views/templates/table.tpl.php:23 +msgid "Version" +msgstr "Versão" + +#: administrator/components/com_languages/views/templates/table.tpl.php:26 +msgid "Date" +msgstr "Data" + +#: administrator/components/com_languages/views/templates/table.tpl.php:29 +msgid "Author" +msgstr "Autor" + +#: administrator/components/com_languages/views/templates/table.tpl.php:32 +msgid "Author Email" +msgstr "E-mail do Autor" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:10 +msgid "Create Translation for:" +msgstr "Tradução Criada por:" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:20 +msgid "Delete This Template" +msgstr "Apagar Esta Template" + +#: administrator/components/com_languages/actions/default.action.php:25 +msgid "Default Language succesfully updated!" +msgstr "" + +#: administrator/components/com_languages/toolbar.languages.php:42 +msgid "Translate Strings" +msgstr "" + +#: administrator/components/com_languages/toolbar.languages.php:45 +msgid "Auto Translate" +msgstr "" + +#: administrator/components/com_languages/toolbar.languages.php:67 +msgid "Export" +msgstr "" + +#: components/com_user/user.php:29 +msgid "Update" +msgstr "Atualizar" + +#: administrator/components/com_languages/views/edit.view.php:28 +#: administrator/components/com_languages/views/edit.view.php:43 +#: administrator/components/com_languages/views/templates/langform.tpl.php:106 +#: administrator/components/com_languages/views/templates/langform.tpl.php:153 +#: administrator/components/com_languages/views/templates/languages.tpl.php:21 +msgid "Language" +msgstr "" + +#: administrator/components/com_languages/views/edit.view.php:28 +msgid "New language" +msgstr "" + +#: administrator/components/com_languages/views/edit.view.php:43 +msgid "Edit language" +msgstr "" + +#: administrator/components/com_languages/views/edit.view.php:71 +#, php-format +msgid "Translate Catalog: %s [%s]" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:21 +msgid "Language File" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:22 +msgid "% Translated" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:23 +msgid "Total Strings" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:24 +msgid "Translated Strings" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:25 +msgid "Fuzzy" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:11 +msgid "You must provide a Language Name." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:13 +msgid "You must provide a Language Identifier." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:15 +msgid "You must provide a locale." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:17 +msgid "You must provide a character encoding." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:19 +msgid "You must provide a date format." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:33 +msgid "New Language" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:43 +msgid "Language Identifier" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:46 +msgid "" +"The identifier for this language. This is used for naming the language xml " +"file and translations directory." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:50 +msgid "Language Name" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:53 +msgid "The official name for this language" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:57 +msgid "Locale" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:60 +msgid "" +"The locale list for this language. \\nLocale names must be comma separated." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:64 +msgid "Encoding" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:67 +msgid "The character encoding for this language. Ex. utf-8" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:71 +msgid "Direction" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:74 +msgid "Left-to-Right" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:75 +msgid "Right-to-Left" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:77 +msgid "Text direction." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:81 +#: administrator/components/com_languages/views/templates/langform.tpl.php:231 +msgid "Date Format" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:84 +#: administrator/components/com_languages/views/templates/langform.tpl.php:234 +msgid "Date format for strftime()." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:88 +msgid "Plural forms" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:91 +msgid "Plural forms for gettext." +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:23 +msgid "Verified" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:26 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:114 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:121 +msgid "Original" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:29 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:116 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:125 +msgid "Translation" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:32 +msgid "Ref" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:55 +msgid "Translation OK" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:55 +msgid "Verify Translation" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:122 +msgid "Singular" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:123 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:132 +msgid "Plural" +msgstr "" + +#: administrator/components/com_languages/views/templates/form.tpl.php:39 +msgid "Mambo Language Editor" +msgstr "" + +#: administrator/components/com_languages/views/templates/form.tpl.php:44 +msgid "Select Language" +msgstr "" + +#. +#: administrator/components/com_languages/views/templates/form.tpl.php:54 +msgid "No content to display." +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:10 +msgid "You must choose a language." +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:12 +msgid "You must choose a character set." +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:33 +#: administrator/components/com_languages/views/templates/langform.tpl.php:109 +msgid "choose language" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:40 +#: administrator/components/com_languages/views/templates/langform.tpl.php:120 +msgid "choose territory" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:41 +msgid "choose character set" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:117 +#: administrator/components/com_languages/views/templates/langform.tpl.php:161 +msgid "Territory" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:125 +#: administrator/components/com_languages/views/templates/langform.tpl.php:169 +#: administrator/components/com_languages/views/templates/languages.tpl.php:24 +msgid "Character Set" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:128 +msgid "choose charset" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:175 +msgid "Convert to" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:205 +msgid "Author Url" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:211 +msgid "Text Direction" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:214 +msgid "left to right" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:215 +msgid "right to left" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:220 +msgid "Plural Forms" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:223 +msgid "plural forms" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:238 +msgid "Locales" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:241 +msgid "" +"The locale list for setlocale(). \\nLocale names must be comma separated." +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:245 +msgid "Days" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:259 +msgid "Months" +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:6 +msgid "You cannot delete English." +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:22 +msgid "Country - Region" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" +"Uma pequena imagem que deve ser colocada à esquerda ou à direita de seu item " +"de menu. As imagens devem estar em images/stories/" + +#: administrator/components/com_login/login.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" +"Um sufixo de classe CSS que deve ser aplicado. Isso permite estilos " +"individuais de páginas" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Login Image" +msgstr "Alinhamento para Imagem de Login" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Logout Image" +msgstr "Alinhamento para Imagem de Logout" + +#: administrator/components/com_login/login.xml +msgid "Back Button" +msgstr "Botão Voltar" + +#: administrator/components/com_login/login.xml +msgid "Contact Items" +msgstr "Itens de Contato" + +#: administrator/components/com_login/login.xml +msgid "Hide" +msgstr "Esconder" + +#: administrator/components/com_login/login.xml +msgid "Image for the Login Page" +msgstr "Imagem para a Página de Login" + +#: administrator/components/com_login/login.xml +msgid "Image for the Logout Page" +msgstr "Imagem para a Página de Logout" + +#: administrator/components/com_login/login.xml +msgid "Login Description" +msgstr "Descrição de Login" + +#: administrator/components/com_login/login.xml +msgid "Login Description Text" +msgstr "Texto de Descrição de Login" + +#: administrator/components/com_login/login.xml +msgid "Login Image" +msgstr "Imagem de Login" + +#: administrator/components/com_login/login.xml +msgid "Login Image Align" +msgstr "Alinhamento de Imagem de Login" + +#: administrator/components/com_login/login.xml +msgid "Login JS Message" +msgstr "Mensagem de Login em Javascript" + +#: administrator/components/com_login/login.xml +msgid "Login Page Title" +msgstr "Título da Página de Login" + +#: administrator/components/com_login/login.xml +msgid "Login Redirection URL" +msgstr "URL de Redirecionamento de Login" + +#: administrator/components/com_login/login.xml +msgid "Logout Description" +msgstr "Descrição de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Description Text" +msgstr "Texto de Descrição de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Image" +msgstr "Imagem de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Image Align" +msgstr "Alinhamento de Imagem de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout JS Message" +msgstr "Mensagem de Logout em Javascript" + +#: administrator/components/com_login/login.xml +msgid "Logout Page Title" +msgstr "Título da Página de Logout" + +#: administrator/components/com_login/login.xml +msgid "Logout Redirection URL" +msgstr "URL de Redirecionamento de Logout" + +#: administrator/components/com_login/login.xml +msgid "Menu Image" +msgstr "Imagem de Menu" + +#: administrator/components/com_login/login.xml +msgid "Page Class Suffix" +msgstr "Sufixo de Classe CSS" + +#: administrator/components/com_login/login.xml +msgid "Page Title" +msgstr "Título da Página" + +#: administrator/components/com_login/login.xml +msgid "Parameters for individual Contact Items" +msgstr "Parâmetros para itens de contato individuais" + +#: administrator/components/com_login/login.xml +msgid "Show" +msgstr "Mostrar" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "Mostra/Esconde um botão Voltar que retorna para a página anterior" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Login Description below" +msgstr "Mostrar/Esconder a Descrição de Login abaixo" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Logout Description below" +msgstr "Mostrar/Esconder a Descrição de Logout abaixo" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Login Success" +msgstr "Mostrar/Esconder o pop-up em Javascript indicando sucesso no Login" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Logout Success" +msgstr "Mostrar/Esconder o pop-up em Javascript indicando sucesso no Logout" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the pages Title" +msgstr "Mostrar/Esconder os Títulos das Páginas" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" +"Texto para ser mostrado no topo da página. Se deixado em branco, o nome do " +"menu pode ser usado" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the login Page, if left blank _LOGIN_DESCRIPTION will be " +"used" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the logout Page, if left blank _LOGOUT_DESCRIPTION will " +"be used" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Use Global" +msgstr "Usar Global" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will be redirected to after logout, if let blank will load front " +"page" +msgstr "" +"Para qual página o usuário deve ser redirecionado depois do logout. Se for " +"deixado em branco será redirecionado para a página principal" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will the login redirect to after login, if let blank will load " +"front page" +msgstr "" +"Para qual página o usuário deve ser redirecionado depois do login. Se for " +"deixado em branco será redirecionado para a página principal" + +#: components/com_login/login.html.php:77 +msgid "Remember me" +msgstr "Lembre-me" + +#: components/com_login/login.html.php:81 +msgid "Password Reminder" +msgstr "Lembrar Senha" + +#: components/com_login/login.html.php:87 +msgid "No account yet?" +msgstr "Sem conta?" + +#: components/com_login/login.html.php:89 +msgid "Create one" +msgstr "Crie Uma" + +#: components/com_login/login.html.php:109 +msgid "!Warning! Javascript must be enabled for proper operation." +msgstr "!Atenção! O Javascript deve estar habilitado para efetiva operação." + +#: components/com_login/login.php:38 +msgid "To access the Private areas of this site please Login" +msgstr "Para cesso as áreas reservadas do site, por favor, autentique-se" + +#: components/com_login/login.php:39 +msgid "You are now Logged in to a private area of this site" +msgstr "Você agora está autenticado em uma área privada deste site" + +#: administrator/components/com_mambots/admin.mambots.html.php:34 +#: administrator/components/com_mambots/admin.mambots.php:224 +msgid "Administrator" +msgstr "Administrador" + +#: administrator/components/com_mambots/admin.mambots.html.php:34 +msgid "Mambot Manager" +msgstr "Gerenciador de Mambots" + +#: administrator/components/com_mambots/admin.mambots.html.php:37 +msgid "Filter:" +msgstr "Filtro:" + +#: administrator/components/com_mambots/admin.mambots.html.php:55 +msgid "Mambot Name" +msgstr "Nome do Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:76 +msgid "File" +msgstr "Arquivo" + +#: administrator/components/com_mambots/admin.mambots.html.php:179 +msgid "Mambot must have a name" +msgstr "O Mambot deve ter um nome" + +#: administrator/components/com_mambots/admin.mambots.html.php:181 +msgid "Mambot must have a filename" +msgstr "O Mambot deve ter um nome de arquivo" + +#: administrator/components/com_mambots/admin.mambots.html.php:190 +msgid "Site Mambot:" +msgstr "Mambot do Site:" + +#: administrator/components/com_mambots/admin.mambots.html.php:206 +msgid "Mambot Details" +msgstr "Detalhes do Mambot" + +#: administrator/components/com_mambots/admin.mambots.html.php:211 +msgid "Name:" +msgstr "Nome:" + +#: administrator/components/com_mambots/admin.mambots.html.php:219 +msgid "Folder:" +msgstr "Pasta:" + +#: administrator/components/com_mambots/admin.mambots.html.php:227 +msgid "Mambot file:" +msgstr "Arquivo do Mambot:" + +#: administrator/components/com_mambots/admin.mambots.html.php:235 +msgid "Mambot Order:" +msgstr "Ordem do Mambot:" + +#: administrator/components/com_mambots/admin.mambots.html.php:276 +msgid "Parameters" +msgstr "Parâmetros:" + +#: administrator/components/com_mambots/admin.mambots.html.php:285 +msgid "No Parameters" +msgstr "Sem Parâmetros" + +#: administrator/components/com_mambots/admin.mambots.php:137 +msgid "- All Types -" +msgstr "- Todos os Tipos - " + +#: administrator/components/com_mambots/admin.mambots.php:184 +#, php-format +msgid "Successfully Saved changes to Mambot: %s" +msgstr "Alterações salvas com sucesso para o Mambot: %s" + +#: administrator/components/com_mambots/admin.mambots.php:189 +#, php-format +msgid "Successfully Saved Mambot: %s" +msgstr "Mambot salvo com sucesso: %s" + +#: administrator/components/com_mambots/admin.mambots.php:212 +#, php-format +msgid "The module %s is currently being edited by another administrator" +msgstr "O módulo %s está sendo editado por outro administrador" + +#: administrator/components/com_mambots/admin.mambots.php:247 +msgid "This mambot cannot be reordered" +msgstr "Este mambot não pdoe ser reordenado" + +#: administrator/components/com_mambots/admin.mambots.php:290 +msgid "Select a module to delete" +msgstr "Selecione um módulo para apagar" + +#: administrator/components/com_mambots/admin.mambots.php:307 +#, php-format +msgid "Select a mambot to %s" +msgstr "Selecione um mambost para %s" + +#: administrator/components/com_massmail/admin.massmail.html.php:30 +msgid "Please fill in the subject" +msgstr "Por favor, preencha o assunto" + +#: administrator/components/com_massmail/admin.massmail.html.php:32 +msgid "Please select a group" +msgstr "Por favor selecione um grupo" + +#: administrator/components/com_massmail/admin.massmail.html.php:34 +msgid "Please fill in the message" +msgstr "Por favor preencha a mensagem" + +#: administrator/components/com_massmail/admin.massmail.html.php:45 +#: administrator/components/com_massmail/massmail.xml +msgid "Mass Mail" +msgstr "E-mail em Massa" + +#: administrator/components/com_massmail/admin.massmail.html.php:66 +msgid "Mail to Child Groups:" +msgstr "E-mail para Grupos Filhos:" + +#: administrator/components/com_massmail/admin.massmail.html.php:74 +msgid "Send in HTML mode:" +msgstr "Enviar em modo HTML:" + +#: administrator/components/com_massmail/admin.massmail.html.php:82 +msgid "Subject" +msgstr "Assunto" + +#: administrator/components/com_massmail/admin.massmail.html.php:90 +msgid "Message:" +msgstr "Mensagem:" + +#: administrator/components/com_massmail/admin.massmail.php:39 +msgid "- All User Groups -" +msgstr "- Todos os Grupos de Usuários -" + +#: administrator/components/com_massmail/admin.massmail.php:69 +msgid "Please fill in the form correctly" +msgstr "Por favor preencha o formulário corretamente" + +#. Build e-mail message format +#: administrator/components/com_massmail/admin.massmail.php:92 +#, php-format +msgid "" +"This is an email from '%s'\n" +"\n" +"Message:\n" +msgstr "" +"Este é um e-mail de '%s'\n" +"\n" +"Mensagem:\n" + +#: administrator/components/com_massmail/admin.massmail.php:105 +#, php-format +msgid "E-mail sent to %d user." +msgid_plural "E-mail sent to %d users." +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_massmail/massmail.xml +msgid "This component allows you to send a mass email to certain user groups" +msgstr "" +"Este componente permite que você envie e-mails em massa para certos grupos " +"de usuários" + +#: administrator/components/com_massmail/toolbar.massmail.html.php:24 +msgid "Send Mail" +msgstr "Enviar E-mail" + +#: administrator/components/com_media/admin.media.html.php:91 +msgid "Directory" +msgstr "Diretório" + +#: administrator/components/com_media/admin.media.html.php:119 +#: administrator/components/com_media/admin.media.html.php:212 +#: administrator/components/com_media/admin.media.html.php:281 +msgid "Code" +msgstr "Código" + +#: administrator/components/com_media/admin.media.html.php:123 +msgid "Create Directory" +msgstr "Criar Dire'torio" + +#: administrator/components/com_media/admin.media.html.php:163 +msgid "No Images Found" +msgstr "Nenhuma Imagem Encontrada" + +#: administrator/components/com_media/admin.media.html.php:174 +#, php-format +msgid "Configuration Problem: " %s " does not exist." +msgstr "Problema de Configuração: " %s " não existem." + +#: administrator/components/com_media/admin.media.html.php:270 +msgid "Insert your text here" +msgstr "Digite seu texto aqui" + +#: administrator/components/com_media/admin.media.html.php:369 +msgid "\"Delete file \\\"\"+file+\"\\\"?\"" +msgstr "\"Apagar arquivo \\\"\"+file+\"\\\"?\"" + +#: administrator/components/com_media/admin.media.html.php:377 +msgid "" +"\"There are \"+numFiles+\" files/folders in \\\"\"+folder+\"\\\".\\n" +"\\nPlease delete all files/folder in \\\"\"+folder+\"\\\" first.\"" +msgstr "" +"\"Aqui existem \"+numFiles+\" arquivos/pastas em \\\"\"+folder+\"\\\".\\n" +"\\nPor favor remova todos os arquivos/pastas em \\\"\"+folder+\"\\\" " +"primeiro.\"" + +#: administrator/components/com_media/admin.media.html.php:381 +msgid "\"Delete folder \\\"\"+folder+\"\\\"?\"" +msgstr "\"Apagar pasta \\\"\"+folder+\"\\\"?\"" + +#: administrator/components/com_media/admin.media.php:33 +msgid "NO HACKING PLEASE" +msgstr "NÃO HACKEIE POR FAVOR" + +#: administrator/components/com_media/admin.media.php:45 +msgid "" +"Directory creation not allowed while running in SAFE MODE as this can cause " +"problems." +msgstr "" +"A criação de diretórios não é permitida enquanto o site está rodando em SAFE " +"MODE pois isso pode causar problemas." + +#: administrator/components/com_media/admin.media.php:89 +msgid "" +"Directory name must only contain alphanumeric characters and no spaces " +"please." +msgstr "" +"Nome de diretórios devem conter somente caracteres alfanuméricos e não pode " +"conter espaços." + +#: administrator/components/com_media/admin.media.php:125 +msgid "Unable to delete: not empty!" +msgstr "Impossível apagar: não está vazio!" + +#: administrator/components/com_media/admin.media.php:157 +msgid "Upload FAILED. File already exists" +msgstr "Envio FALHOU. Arquivo já existe" + +#: administrator/components/com_media/admin.media.php:161 +msgid "" +"Only files of type gif, png, jpg, bmp, pdf, swf, doc, xls or ppt can be " +"uploaded" +msgstr "" +"Somente arquivos dos tipos gif, png, jpg, bmp, pdf, swf, doc, xls ou ppt " +"pode ser enviados" + +#: administrator/components/com_media/admin.media.php:165 +msgid "Upload FAILED" +msgstr "Envio FALHOU" + +#: administrator/components/com_media/admin.media.php:169 +msgid "Upload complete" +msgstr "Envio completo" + +#: administrator/components/com_media/media.xml +msgid "This component manages site media" +msgstr "Este componente gerencia mídia dos sites" + +#: administrator/components/com_media/toolbar.media.html.php:27 +msgid "Create" +msgstr "Criar" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:53 +msgid "Menu Name" +msgstr "Nome do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:56 +msgid "Menu Items" +msgstr "Itens do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:59 +msgid "# Published" +msgstr "# Publicados" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:62 +msgid "# Unpublished" +msgstr "# Não Publicados" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:65 +msgid "# Trash" +msgstr "# Apagados" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:68 +msgid "# Modules" +msgstr "# Módulos" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:94 +msgid "Edit Menu Name" +msgstr "Editar Nome do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:99 +msgid "Edit Menu Items" +msgstr "Editar Itens do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:156 +msgid "Please enter a menu name" +msgstr "Por favor, digite um nome para o menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:164 +msgid "Please enter a module name for your menu" +msgstr "Por favor digite um nome para seu menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:182 +msgid "Menu Details" +msgstr "Detalhes do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:190 +msgid "Menu Name:" +msgstr "Nome do Menu:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:195 +msgid "" +"This is the identification name used by mambo to identify this menu within " +"the code - it must be unique. It is recommended that you do not have any " +"spaces in your Menu Name" +msgstr "" +"Este é um nome de identificação usado pelo Mambo para identificar este menu " +"dentro do código - ele deve ser único. É recomendado que você não coloque " +"nenhum espaço nos nomes de menus" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:210 +msgid "Title of the mod_mainmenu module required to show this Menu" +msgstr "Título do módulo mod_mainmenu necessário para mostrar este menu." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:216 +msgid "" +"A new mod_mainmenu module, with the Title you have entered above will " +"automatically be created when you save this menu." +msgstr "" +"Um novo módulo mod_mainmenu com o título informado acima será criado " +"automaticamente quando este menu for salvo." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:218 +msgid "" +"Parameters for the module created are to be edited through the \"Modules " +"Manager [site]\": Modules -> Site Modules" +msgstr "" +"Os parâmetros do módulo criado podem ser editados em \"Gerenciador de " +"Módulos [site]\": Módulos -> Módulos do Site" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:266 +#, php-format +msgid "Delete Menu: %s" +msgstr "Apagar Menu: %s" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:279 +msgid "Module(s) being Deleted:" +msgstr "Módulos a serem Apagados:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:301 +msgid "Menu Items being Deleted:" +msgstr "Itens de Menu a serem Apagados:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:319 +msgid "" +"This will Delete this " +"Menu,
      ALL its Menu Items and the Module(s) associated with it" +msgstr "" +"Isto irá Apagar este " +"menu, todos os itens de menu dentro dele
      e o(s) módulo(s) associados à " +"ele." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:322 +msgid "" +"Are you sure you want to Delete this menu? \\nThis will Delete the Menu, its " +"Items and the Module(s)." +msgstr "" +"Você tem certeza que deseja apagar este menu? \\nIsto irá apagar o menu, " +"seus itens e o Módulo." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:354 +msgid "Please enter a name for the copy of the Menu" +msgstr "Por favor digite um nome para a cópia do Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:357 +msgid "Please enter a name for the new Module" +msgstr "Por favor digite um nome para o novo Módulo" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:371 +msgid "Copy Menu" +msgstr "Copiar Menu" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:381 +msgid "New Menu Name:" +msgstr "Novo Nome de Menu:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:385 +msgid "New Module Name:" +msgstr "Novo Nome de Módulo:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:392 +msgid "Menu being copied:" +msgstr "Menu a ser copiado:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:402 +msgid "Menu Items being copied:" +msgstr "Itens de menu a ser copiados:" + +#: administrator/components/com_menumanager/admin.menumanager.php:207 +msgid "" +"You cannot rename the \"mainmenu\" Menu as this will disrupt the proper " +"operation of Mambo" +msgstr "" +"Você não pode renomear o menu \"mainmenu\" pois isso altera o funcionamento " +"do Mambo" + +#: administrator/components/com_menumanager/admin.menumanager.php:223 +msgid "" +"A menu already exists with that name - you must enter a unique Menu Name" +msgstr "" +"Já existe um menu com este nome - você deve informar um nome de Menu único" + +#: administrator/components/com_menumanager/admin.menumanager.php:258 +#, php-format +msgid "New Menu created [ %s ]" +msgstr "Novo Menu criado [%s]" + +#: administrator/components/com_menumanager/admin.menumanager.php:312 +msgid "Menu Items & Modules updated" +msgstr "Itens de Menu e Módulos atualizados" + +#: administrator/components/com_menumanager/admin.menumanager.php:326 +#: administrator/components/com_menumanager/admin.menumanager.php:376 +msgid "You cannot delete the \"mainmenu\" menu as it is a core menu" +msgstr "" +"VocVocê não pode apagar o menu \"mainmenu\" pois ele é um menu obrigatório" + +#: administrator/components/com_menumanager/admin.menumanager.php:467 +msgid "" +"A menu with that name already exists - you must enter a unique Menu Name" +msgstr "" +"Já existe um menu com este nome - você deve informar um nome de Menu único" + +#: administrator/components/com_menumanager/admin.menumanager.php:527 +#, php-format +msgid "Copy of Menu `%s` created, consisting of %d item" +msgid_plural "Copy of Menu `%s` created, consisting of %d items" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_menumanager/menumanager.xml +msgid "This component manages your Menus." +msgstr "Este componente gerencia seus menus." + +#: administrator/components/com_messages/admin.messages.html.php:24 +msgid "Private Messaging" +msgstr "Mensagens Privadas" + +#: administrator/components/com_messages/admin.messages.html.php:36 +msgid "From" +msgstr "De" + +#: administrator/components/com_messages/admin.messages.html.php:39 +#: administrator/components/com_messages/admin.messages.html.php:55 +msgid "Read" +msgstr "Lido" + +#: administrator/components/com_messages/admin.messages.html.php:57 +msgid "Unread" +msgstr "Não Lido" + +#: administrator/components/com_messages/admin.messages.html.php:77 +msgid "Private Messaging Configuration" +msgstr "Configuração de Mensagens Privadas" + +#: administrator/components/com_messages/admin.messages.html.php:82 +msgid "General" +msgstr "Geral" + +#: administrator/components/com_messages/admin.messages.html.php:89 +msgid "Are you sure?" +msgstr "Você tem certeza?" + +#: administrator/components/com_messages/admin.messages.html.php:101 +msgid "Lock Inbox:" +msgstr "Travar Caixa:" + +#: administrator/components/com_messages/admin.messages.html.php:105 +msgid "Mail me on new Message:" +msgstr "Me informe sobre novas mensagens:" + +#: administrator/components/com_messages/admin.messages.html.php:123 +msgid "View Private Message" +msgstr "Ver Mensagens Privadas" + +#: administrator/components/com_messages/admin.messages.html.php:130 +msgid "From:" +msgstr "De:" + +#: administrator/components/com_messages/admin.messages.html.php:134 +msgid "Posted:" +msgstr "Postado:" + +#: administrator/components/com_messages/admin.messages.html.php:138 +#: administrator/components/com_messages/admin.messages.html.php:193 +msgid "Subject:" +msgstr "Assunto:" + +#: administrator/components/com_messages/admin.messages.html.php:169 +msgid "You must provide a subject." +msgstr "Você deve fornecer um assunto." + +#: administrator/components/com_messages/admin.messages.html.php:171 +msgid "You must provide a message." +msgstr "Você deve escrever uma mensagem." + +#: administrator/components/com_messages/admin.messages.html.php:173 +msgid "You must select a recipient." +msgstr "Você deve selecionar um destinatário." + +#: administrator/components/com_messages/admin.messages.html.php:182 +msgid "New Private Message" +msgstr "Nova Mensagem Privada" + +#: administrator/components/com_messages/admin.messages.html.php:189 +msgid "To:" +msgstr "Para:" + +#: administrator/components/com_messages/admin.messages.php:198 +msgid "Select an item to delete" +msgstr "Selecione um item para remover" + +#: administrator/components/com_messages/toolbar.messages.html.php:21 +msgid "Reply" +msgstr "Responder" + +#: administrator/components/com_messages/toolbar.messages.html.php:31 +msgid "Send" +msgstr "Enviar" + +#: components/com_messages/messages.class.php:76 +#: components/com_messages/messages.class.php:77 +msgid "A new private message has arrived" +msgstr "Uma nova mensagem privada foi recebida" + +#: components/com_messages/messages.class.php:84 +msgid "The user has locked their mailbox. Message failed." +msgstr "O usuário travou sua caixa de mensagens. Envio falhou." + +#: administrator/components/com_modules/admin.modules.html.php:34 +msgid "Module Manager" +msgstr "Gerenciador de Módulos" + +#: administrator/components/com_modules/admin.modules.html.php:60 +msgid "Module Name" +msgstr "Nome do Módulo" + +#: administrator/components/com_modules/admin.modules.html.php:84 +msgid "Position" +msgstr "Posição" + +#: administrator/components/com_modules/admin.modules.html.php:87 +msgid "Pages" +msgstr "Páginas" + +#: administrator/components/com_modules/admin.modules.html.php:90 +msgid "ID" +msgstr "ID" + +#: administrator/components/com_modules/admin.modules.html.php:156 +msgid "Varies" +msgstr "Várias" + +#: administrator/components/com_modules/admin.modules.html.php:166 +msgid "User" +msgstr "Usuário" + +#: administrator/components/com_modules/admin.modules.html.php:213 +msgid "Module must have a title" +msgstr "Módulo deve ter um título" + +#: administrator/components/com_modules/admin.modules.html.php:239 +msgid "Module:" +msgstr "Módulo:" + +#: administrator/components/com_modules/admin.modules.html.php:261 +msgid "Title:" +msgstr "Título:" + +#: administrator/components/com_modules/admin.modules.html.php:270 +msgid "Show title:" +msgstr "Mostrar título:" + +#: administrator/components/com_modules/admin.modules.html.php:278 +msgid "Position:" +msgstr "Posição:" + +#: administrator/components/com_modules/admin.modules.html.php:286 +msgid "Module Order:" +msgstr "Ordem do Módulo:" + +#: administrator/components/com_modules/admin.modules.html.php:318 +msgid "ID:" +msgstr "ID:" + +#: administrator/components/com_modules/admin.modules.html.php:351 +msgid "Pages / Items" +msgstr "Páginas / Itens" + +#: administrator/components/com_modules/admin.modules.html.php:356 +msgid "Menu Item Link(s):" +msgstr "Link(s) de Itens de Menu:" + +#: administrator/components/com_modules/admin.modules.html.php:372 +msgid "Custom Output" +msgstr "Saída Customizada" + +#: administrator/components/com_modules/admin.modules.html.php:377 +msgid "Content:" +msgstr "Conteúdo:" + +#: administrator/components/com_modules/admin.modules.php:149 +msgid "- All Positions -" +msgstr "- Todas as Posições -" + +#: administrator/components/com_modules/admin.modules.php:211 +#, php-format +msgid "Module Copied [%s]" +msgstr "Módulo Copiado [%s]" + +#: administrator/components/com_modules/admin.modules.php:268 +#, php-format +msgid "Successfully Saved changes to Module: %s" +msgstr "Alterações do Módulo Salvas com Sucesso: %s" + +#: administrator/components/com_modules/admin.modules.php:274 +#, php-format +msgid "Successfully Saved Module: %s" +msgstr "Módulo Salvo com Sucesso: %s" + +#: administrator/components/com_modules/admin.modules.php:377 +#: administrator/components/com_modules/admin.modules.php:378 +#: administrator/components/com_modules/admin.modules.php:381 +#: administrator/components/com_modules/admin.modules.php:382 +msgid "N/A" +msgstr "N/A" + +#: administrator/components/com_modules/admin.modules.php:440 +msgid "" +"You cannot delete mod_mainmenu module that displays the \"mainmenu\" as it " +"is a core Menu" +msgstr "" +"Você não pode apagar o módulo mod_mainmenu que mostra o \"mainmenu\" como um " +"menu do núcleo do sistema" + +#: administrator/components/com_modules/admin.modules.php:466 +#, php-format +msgid "" +"Module(s): \"%s\" cannot be deleted they can only be un-installed as they " +"are Mambo modules." +msgstr "" +"Módulo(s): \"%s\" não podem ser apagados mas somente desinstalados pois são " +"módulos do Mambo." + +#: administrator/components/com_modules/admin.modules.php:482 +#, php-format +msgid "Select a module to %s" +msgstr "Selecione um módulo para %s" + +#: administrator/components/com_modules/toolbar.modules.html.php:41 +msgid "You can only preview typed modules." +msgstr "Você só pode pré-visualizar módulos." + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "" +"

      Admin component for the MOStlyCE Editor mambot.

      Please refer to the " +"changelog and other information in the 'Admin Info' tab in the Admin " +"component. 

      " +msgstr "" +"

      Componente administrativo para o mambot do Editor MOStlyCE.

      Por " +"favor veja o changelog e outras informações na tab 'Info Admin' no " +"administrador do componente. 

      " + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "mostlyce" +msgstr "mostlyce" + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "" +"

      Admin component for the MOStlyCE editor mambot. Helps customize your " +"MOStlyCE editor installation.

      " +msgstr "" + +#: administrator/components/com_mostlydbadmin/mostlydbadmin.xml +msgid "" +"

      MOStlyDBAdmin is used for easy back up/restore of your database.

      " +"It is a revival \r\n" +"\tof the dbadmin component for use in the Mambo 4.6+ core. The dbadmin \r\n" +"\tcomponent stopped working with Mambo 4.5.3h and development appears to " +"have ceased.

      \n" +msgstr "" + +#: administrator/components/com_mostlydbadmin/mostlydbadmin.xml +msgid "MOStlyDBAdmin" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:29 +msgid "Newsfeed Manager" +msgstr "Gerenciador de Feeds de Notícias" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:46 +msgid "News Feed" +msgstr "Feeds de Notícias" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:55 +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:196 +msgid "Category" +msgstr "Categoria" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:58 +#: components/com_newsfeeds/newsfeeds.html.php:107 +msgid "# Articles" +msgstr "# Artigos" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:61 +msgid "Cache time" +msgstr "Tempo de Cache" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:95 +msgid "Edit Newsfeed" +msgstr "Editar Feed de Notícias" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:114 +msgid "Edit Category" +msgstr "Editar Categoria" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:154 +msgid "Please fill in the newsfeed name." +msgstr "Por favor preencha o nome do feed." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:156 +msgid "Please select a Category." +msgstr "Por favor selecione uma categoria" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:158 +msgid "Please fill in the newsfeed link." +msgstr "Por favor preencha o link do feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:160 +msgid "Please select a category." +msgstr "Por favor selecione uma categoria" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:162 +msgid "Please fill in the number of articles to display." +msgstr "Por favor preencha o número de artigos para mostrar" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:164 +msgid "Please fill in the cache refresh time." +msgstr "Por favor preencha o tempo de atualização" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:175 +msgid "Newsfeed:" +msgstr "Feed de Notícias:" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:188 +msgid "Name" +msgstr "Nome" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:204 +msgid "Link" +msgstr "Link" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:212 +msgid "Number of Articles" +msgstr "Número de Artigos" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:220 +msgid "Cache time (in seconds)" +msgstr "Tempo de Cache (em segundos)" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:228 +msgid "Ordering" +msgstr "Ordenamento" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Articles Column" +msgstr "# Coluna de Artigos" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Category Items" +msgstr "# Itens da Categoria" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Alignment of the image" +msgstr "Alinhamento da Imagem" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Allows you to limit the amount of visible item description text. 0 will show " +"all the text" +msgstr "" +"Permite você limitar a quantidade de texto de descrição visível. 0 mostra " +"todo o texto." + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category Description" +msgstr "Descrição da Categoria" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category List - Category" +msgstr "Lista da Categoria - Categoria" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category List - Section" +msgstr "Lista da Categoria - Seção" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description Text" +msgstr "Texto de Descrição" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description for page" +msgstr "Descrição para a Página" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Description" +msgstr "Descrição do Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Image" +msgstr "Imagem do Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Image" +msgstr "Imagem" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Image Align" +msgstr "Alinhamento da Imagem" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Image for page, must be located in the /images/stories folder. Default will " +"load web_links.jpg, No image will mean an image is not loaded" +msgstr "" +"Imagem para a página. Deve estar localizada na pasta /images/stories. Por " +"padrão é usada a imagem web_links.jpg. Se não for escolhida uma imagem, " +"nenhuma imagem será carregada" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Item Description" +msgstr "Descrição do Item" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Link Column" +msgstr "Coluna do Link" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Name Column" +msgstr "Nome da Coluna" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Newsfeeds" +msgstr "Feeds de Notícias" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the # of articles in the feed" +msgstr "Mostrar/Esconder o N. de artigos no feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Description below" +msgstr "Mostrar/Esconder a descrição abaixo" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Description for the list of other catgeories" +msgstr "Mostrar/Esconder a descrição para a lista de outras categorias" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Link column" +msgstr "Mostrar/Esconder a coluna de link do feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Name column" +msgstr "Mostrar/Esconder a coluna de nome do feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "" +"Mostrar/Esconder a lista de categorias na visualização de página em lista" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "" +"Mostrar/Esconder a lista de categorias na visualização de página em tabela" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Table Headings" +msgstr "Mostrar/Esconder o cabeçalho de tabelas" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description or intro text of an item" +msgstr "Mostrar/Esconder a descrição ou texto de introdução de um item" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description text of the feed" +msgstr "Mostrar/Esconder a descrição do texto do feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the image of the feed" +msgstr "Mostrar/Esconder a imagem do feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the number of items in each category" +msgstr "Mostrar/Esconder o número de itens em cada categoria" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Table Headings" +msgstr "Cabeçalhos da Tabela" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "This component manages RSS/RDF newsfeeds" +msgstr "Este componente gerencia feeds de notícias RSS/RDF" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Word Count" +msgstr "Contar Palavras" + +#: components/com_newsfeeds/newsfeeds.html.php:98 +msgid "Feed Name" +msgstr "Nome do Feed" + +#: components/com_newsfeeds/newsfeeds.html.php:116 +msgid "Feed Link" +msgstr "Link do Feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:27 +msgid "News Feed Manager" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:93 +msgid "Edit News Feed" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:152 +msgid "Please fill in the news feed name." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:156 +msgid "Please fill in the news feed link." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:173 +msgid "News Feed:" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:28 +msgid "Poll Manager" +msgstr "Gerenciador de Enquetes" + +#: administrator/components/com_poll/admin.poll.html.php:41 +msgid "Poll Title" +msgstr "Título da Enquete" + +#: administrator/components/com_poll/admin.poll.html.php:47 +msgid "Options" +msgstr "Opções" + +#: administrator/components/com_poll/admin.poll.html.php:50 +msgid "Lag" +msgstr "Lag" + +#: administrator/components/com_poll/admin.poll.html.php:74 +msgid "Edit Poll" +msgstr "Editar Enquete" + +#: administrator/components/com_poll/admin.poll.html.php:118 +msgid "Poll must have a title" +msgstr "A enquete deve ter um nome" + +#: administrator/components/com_poll/admin.poll.html.php:120 +msgid "Poll must have a non-zero lag time" +msgstr "A enquete deve ter um valor diferente de zero para o tempo de lag" + +#: administrator/components/com_poll/admin.poll.html.php:134 +msgid "Poll:" +msgstr "Enquete:" + +#: administrator/components/com_poll/admin.poll.html.php:159 +msgid "Show on menu items:" +msgstr "Mostrar nos itens de menu:" + +#: administrator/components/com_poll/admin.poll.html.php:166 +msgid "Lag:" +msgstr "Lag:" + +#: administrator/components/com_poll/admin.poll.html.php:175 +msgid "Options:" +msgstr "Opções" + +#: administrator/components/com_poll/admin.poll.php:106 +#, php-format +msgid "The poll %s is currently being edited by another administrator." +msgstr "A enquete %s está sendo editada por outro admnistrador" + +#: administrator/components/com_poll/poll.class.php:44 +msgid "Your Poll must contain a title." +msgstr "Sua Enquete deve conter um título." + +#: administrator/components/com_poll/poll.class.php:50 +#, fuzzy +msgid "Your Poll must have a non-zero lag time." +msgstr "Sua Enquete não " + +#: administrator/components/com_poll/poll.class.php:59 +msgid "There is a module already with that name, please try again." +msgstr "Existe um outro módulo com este nome. Por favor, tente novamente." + +#: administrator/components/com_poll/poll.xml +msgid "Poll" +msgstr "Enquete" + +#: administrator/components/com_poll/poll.xml +msgid "This component shows Polls/Surveys" +msgstr "Este componente mostra Enquete/Pesquisas" + +#: components/com_poll/poll.html.php:51 +msgid "Select Poll:" +msgstr "Selecionar Enquete:" + +#: components/com_poll/poll.html.php:83 +msgid "There are no results for this poll." +msgstr "Não existem resultados para esta enquete." + +#: components/com_poll/poll.html.php:193 +msgid "Number of Voters" +msgstr "Número de Votos" + +#: components/com_poll/poll.html.php:202 +msgid "First Vote" +msgstr "Primeiro Voto" + +#: components/com_poll/poll.html.php:211 +msgid "Last Vote" +msgstr "Último Voto" + +#: components/com_poll/poll.php:48 +msgid "Cookies must be enabled!" +msgstr "Cookies devem estar habilitados!" + +#: components/com_poll/poll.php:49 components/com_poll/poll.php:56 +#: components/com_poll/poll.php:65 components/com_poll/poll.php:72 +msgid "Continue" +msgstr "Continuar" + +#: components/com_poll/poll.php:64 +msgid "You already voted for this poll today!" +msgstr "Você já votou nesta enquete hoje!" + +#: components/com_poll/poll.php:71 +msgid "No selection has been made, please try again" +msgstr "Nenhuma seleção foi feita. Tente novamente" + +#: components/com_poll/poll.php:93 components/com_poll/poll.php:95 +msgid "Thanks for your vote!" +msgstr "Obrigado pelo seu voto!" + +#: components/com_poll/poll.php:112 components/com_poll/poll.php:154 +msgid "Select Poll from the list" +msgstr "Selecionar Enquete da lista" + +#: administrator/components/com_poll/admin.poll.html.php:39 +msgid "Poll Question" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:148 +msgid "Question:" +msgstr "" + +#: components/com_registration/registration.html.php:23 +#: components/com_registration/registration.php:40 +msgid "Lost your Password?" +msgstr "Perdeu sua senha?" + +#: components/com_registration/registration.html.php:28 +#, php-format +msgid "" +"Please enter your Username and e-mail address then click on the Send " +"Password button.%s You will receive a new password shortly. Use the new " +"password to access the site." +msgstr "" +"Digite seu Nome de Usuário e endereço de e-mail e clique no botão Enviar " +"Senha. %s Você irá receber uma nova senha em breve. Use a nova senha para " +"acessar o site." + +#: components/com_registration/registration.html.php:31 +#: components/com_registration/registration.html.php:94 +msgid "Username:" +msgstr "Nome de Usuário:" + +#: components/com_registration/registration.html.php:35 +msgid "E-mail Address:" +msgstr "Endereço de E-mail:" + +#: components/com_registration/registration.html.php:40 +msgid "Send Password" +msgstr "Enviar Senha" + +#: components/com_registration/registration.html.php:58 +msgid "Please enter your name." +msgstr "Por favor digite seu nome." + +#: components/com_registration/registration.html.php:60 +#: components/com_registration/registration.html.php:62 +msgid "Please enter a user name." +msgstr "Por favor digite um nome de usuário." + +#: components/com_registration/registration.html.php:62 +#: components/com_registration/registration.html.php:72 +#, php-format +msgid "" +"Please enter a valid %s. No spaces, more than %d characters and containing " +"only the characters 0-9,a-z, or A-Z" +msgstr "" +"Por favor digite um %s válido. Sem espaços, mais que %d caracteres e " +"contendo somente caracteres dos conjuntos 0-9,a-z, or A-Z" + +#: components/com_registration/registration.html.php:64 +msgid "Please enter a valid e-mail address." +msgstr "Por favor digite um endereço de e-mail válido." + +#: components/com_registration/registration.html.php:66 +msgid "" +"Please enter a valid password -- more than 6 characters with no spaces and " +"containing only the characters 0-9, a-z, or A-Z" +msgstr "" +"Por favor digite uma senha válida. Sem espaços, mais que 6 caracteres e " +"contendo somente caracteres dos conjuntos 0-9,a-z, or A-Z" + +#: components/com_registration/registration.html.php:68 +msgid "Please verify the password." +msgstr "Por favor verifique sua senha." + +#: components/com_registration/registration.html.php:70 +msgid "Password and verification do not match, please try again." +msgstr "Senha e sua verificação não coincidem. Por favor tente novamente." + +#: components/com_registration/registration.html.php:72 +#: components/com_registration/registration.html.php:103 +msgid "Password:" +msgstr "Senha:" + +#: components/com_registration/registration.html.php:80 +#: components/com_registration/registration.php:109 +msgid "Registration" +msgstr "Registro" + +#: components/com_registration/registration.html.php:85 +msgid "Fields marked with an asterisk (*) are required." +msgstr "Campos marcados com asterisco (*) são de preenchimento obrigatórios." + +#: components/com_registration/registration.html.php:98 +msgid "E-mail:" +msgstr "E-mail:" + +#: components/com_registration/registration.html.php:108 +msgid "Verify Password:" +msgstr "Verificar Senha:" + +#: components/com_registration/registration.html.php:126 +msgid "Send Registration" +msgstr "Enviar Registro" + +#: components/com_registration/registration.php:62 +msgid "Sorry, no corresponding user was found" +msgstr "Nenhum usuário correspondente foi encontrado" + +#: components/com_registration/registration.php:74 +#, php-format +msgid "" +"The user account %s has this email associated with it.\n" +"\n" +"A web user from %s has just requested that a new password be sent.\n" +"\n" +"\n" +"Your New Password is: %s\n" +"\n" +"\n" +"If you didn't ask for this, don't worry. You are seeing this message, not " +"them. \n" +"If this was an error just login with your new password and then change your " +"password to what you would like it to be." +msgstr "" +"A conta de usuário %s está associada neste e-mail.\n" +"\n" +"Um usuário web de %s requisitou que uma nova senha fosse enviada.\n" +"\n" +"\n" +"Sua nova senha é: %s\n" +"\n" +"\n" +"Se você não solicitou isso, não se preocupe. \n" +"Se foi um erro, autentique-se no site com a nova senha e altere-a para uma " +"que deseja." + +#. eval ("\$message = \"$message\";"); +#: components/com_registration/registration.php:81 +#, php-format +msgid "%s :: New password for - %s" +msgstr "%s :: Nova senha para - %s" + +#: components/com_registration/registration.php:97 +msgid "New User Password created and sent!" +msgstr "Nova senha criada e enviada!" + +#. Send notification to all administrators +#: components/com_registration/registration.php:160 +#: components/com_registration/registration.php:208 +#, php-format +msgid "Account details for %s at %s" +msgstr "Detalhes da conta de %s em %s" + +#: components/com_registration/registration.php:165 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s. Your account has been created but, as a " +"precaution, it must be activated by you before you can use it.\n" +"To activate the account click on the following link or copy and paste it in " +"your browser:\n" +"%s\n" +"\n" +"After activation you may login to %s using the following username and " +"password:\n" +"\n" +"Username - %s\n" +"Password - %s" +msgstr "" +"Olá %s,\n" +"\n" +"Obrigado pelo seu registro em %s. Sua conta foi criada mas como precaução " +"precisa ser ativada antes de usá-la.\n" +"Para ativar sua conta, clique no link a seguir ou cipie-o e cole no seu " +"navegador:\n" +"%s\n" +"\n" +"Depois da ativação voc6e pode se autenticar em %s usando os senguintes nome " +"de usuário e senha:\n" +"\n" +"Nome de Usuário - %s\n" +"Senha - %s" + +#: components/com_registration/registration.php:180 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s.\n" +"\n" +"You may now login to %s using the username and password you registered with." +msgstr "" +"Olá %s,\n" +"\n" +"Obrigado pelo seu registro em %s.\n" +"\n" +"Agora você pode se autenticar em %s usando o nome de usuário e senha que " +"você escolheu no registro." + +#: components/com_registration/registration.php:209 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"A new user has registered at %s.\n" +"This email contains their details:\n" +"\n" +"Name - %s\n" +"e-mail - %s\n" +"Username - %s\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"Olá %s,\n" +"\n" +"Um novo usuário se registrou em %s.\n" +"Este e-mail contém seus detalhes:\n" +"\n" +"Nome - %s\n" +"E-mail - %s\n" +"Nome de Usuário - %s\n" +"\n" +"Por favor não responda este mensagem. Ela foi gerada automaticamente somente " +"com caráter informativo." + +#: components/com_registration/registration.php:239 +#: components/com_registration/registration.php:242 +msgid "Registration Complete" +msgstr "Registro Completo" + +#: components/com_registration/registration.php:240 +msgid "" +"Your account has been created and an activation link has been sent to the e-" +"mail address you entered. Note that you must activate the account by " +"clicking on the activation link before you can login." +msgstr "" +"Sua conta foi criada e um link de ativação foi enviado para o endereço de e-" +"mail informado por você. Note que você deve ativar sua conta clicando neste " +"link de ativação antes de voc6e se registrar no site." + +#: components/com_registration/registration.php:243 +msgid "You may now login." +msgstr "Agora você pode se autenticar." + +#: components/com_registration/registration.php:261 +#: components/com_registration/registration.php:282 +msgid "Invalid Activation Link!" +msgstr "Link de Ativação Inválido!" + +#: components/com_registration/registration.php:262 +#: components/com_registration/registration.php:283 +msgid "" +"There is no such account in our database or the account has already been " +"activated." +msgstr "Não existe esta conta em nosso banco de dados ou ela já foi ativada." + +#: components/com_registration/registration.php:275 +msgid "Activation Complete!" +msgstr "Ativação Completa!" + +#: components/com_registration/registration.php:276 +msgid "" +"Your account has been activated successfully. You can now login using the " +"username and password you chose during registration." +msgstr "" +"Sua conta foi ativada com sucesso. Agora você pode fazer seu login usando o " +"nome de usuário e senha que você escolheu durante o registro." + +#: components/com_registration/registration.php:64 +msgid "" +"Sorry, no corresponding user was found. Please make sure you entered a " +"valid username and a valid email address. Both are required." +msgstr "" + +#: administrator/components/com_search/search.xml +#: components/com_search/search.html.php:43 +#: components/com_search/search.php:35 components/com_search/search.php:41 +#: components/com_search/search.php:143 +msgid "Search" +msgstr "Procurar" + +#: administrator/components/com_search/search.xml +msgid "This component manages the Search functionality." +msgstr "Este componente gerencia a funcionalidade de pesquisa." + +#: components/com_search/search.html.php:37 +#: components/com_search/search.html.php:67 +msgid "Search Keyword" +msgstr "Termos de Busca" + +#. number of matches found +#: components/com_search/search.html.php:98 +#, php-format +msgid "returned %d match" +msgid_plural "returned %d matches" +msgstr[0] "" +msgstr[1] "" + +#: components/com_search/search.php:55 +msgid "Newest first" +msgstr "Mais novos em primeiro" + +#: components/com_search/search.php:56 +msgid "Oldest first" +msgstr "Antigos em primeiro" + +#: components/com_search/search.php:57 +msgid "Most popular" +msgstr "Mais populares" + +#: components/com_search/search.php:58 +msgid "Alphabetical" +msgstr "Alfabética" + +#: components/com_search/search.php:59 +msgid "Section/Category" +msgstr "Seção/Categoria" + +#: components/com_search/search.php:69 +msgid "Any words" +msgstr "Qualquer palavra" + +#: components/com_search/search.php:74 +msgid "All words" +msgstr "Todas as palavras" + +#: components/com_search/search.php:79 +msgid "Exact phrase" +msgstr "Palavra exata" + +#. html output +#. no matches found +#: components/com_search/search.php:91 +msgid "No results were found" +msgstr "Nenhum resultado foi encontrado" + +#: components/com_search/search.php:96 +msgid "One or more common words were ignored in the search" +msgstr "Uma ou mais palavras comuns foram ignoradas na sua pesquisa" + +#: administrator/components/com_sections/admin.sections.html.php:47 +msgid "Section Name" +msgstr "Nome da Seção" + +#: administrator/components/com_sections/admin.sections.html.php:65 +msgid "Section ID" +msgstr "ID da Seção" + +#: administrator/components/com_sections/admin.sections.html.php:68 +msgid "# Categories" +msgstr "# Categorias" + +#: administrator/components/com_sections/admin.sections.html.php:71 +msgid "# Active" +msgstr "# Ativas" + +#: administrator/components/com_sections/admin.sections.html.php:175 +msgid "New Section" +msgstr "Nova Seção" + +#: administrator/components/com_sections/admin.sections.html.php:203 +msgid "Section must have a name" +msgstr "Seção deve ter um nome" + +#: administrator/components/com_sections/admin.sections.html.php:205 +msgid "Section must have a title" +msgstr "Seção deve ter um título" + +#: administrator/components/com_sections/admin.sections.html.php:281 +msgid "Section Details" +msgstr "Detalhes da Seção" + +#: administrator/components/com_sections/admin.sections.html.php:286 +msgid "Scope:" +msgstr "Escopo:" + +#: administrator/components/com_sections/admin.sections.html.php:401 +msgid "Select Menu Type" +msgstr "Selecione o Tipo de Menu" + +#: administrator/components/com_sections/admin.sections.html.php:489 +msgid "Copy Section" +msgstr "Copiar Seção" + +#: administrator/components/com_sections/admin.sections.html.php:501 +msgid "The new Section name" +msgstr "O novo nome da Seção" + +#: administrator/components/com_sections/admin.sections.html.php:529 +msgid "" +"This will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the new Section created." +msgstr "" +"Isto irá copiar as Categorias listadas\n" +"\t\t\t
      \n" +"\t\t\te todos os itens dentro das categorias (também listados)\n" +"\t\t\t
      \n" +"\t\t\tpara a nova Seção criada." + +#: administrator/components/com_sections/admin.sections.php:189 +#, php-format +msgid "The section %s is currently being edited by another administrator" +msgstr "A seção %s está sendo editada por outro administrador" + +#: administrator/components/com_sections/admin.sections.php:207 +#: administrator/components/com_sections/admin.sections.php:624 +msgid "Section Table" +msgstr "Tabela de Seção" + +#: administrator/components/com_sections/admin.sections.php:215 +#: administrator/components/com_sections/admin.sections.php:634 +msgid "Section Blog Archive" +msgstr "Arquivo de Blog de Seção" + +#: administrator/components/com_sections/admin.sections.php:232 +msgid "Section Archive Blog" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:306 +msgid "Changes to Section saved" +msgstr "Alterações Salvas para a Seção" + +#: administrator/components/com_sections/admin.sections.php:312 +msgid "Section saved" +msgstr "Seção salva" + +#: administrator/components/com_sections/admin.sections.php:327 +msgid "Select a section to delete" +msgstr "Selecione uma seção para apagar" + +#: administrator/components/com_sections/admin.sections.php:365 +#, php-format +msgid "Sections(s): %s cannot be removed as they contain categories" +msgstr "Seção(ões): %s não podem ser removidas pois contém categorias" + +#: administrator/components/com_sections/admin.sections.php:370 +#, php-format +msgid "Section(s): %s successfully deleted" +msgstr "Seção(ões): %s apagadas com sucesso" + +#: administrator/components/com_sections/admin.sections.php:388 +msgid "Select a section to " +msgstr "Selecione uma seção para" + +#: administrator/components/com_sections/admin.sections.php:396 +msgid "Cannot Publish an Empty Section" +msgstr "Não é possível publicar uma seção vazia" + +#: administrator/components/com_sections/admin.sections.php:585 +#, php-format +msgid "Section %s and all its Categories and Items have been copied as %s" +msgstr "" +"Seção %s, todas as suas Categorias e todos os Itens foram copiados para %s" + +#: administrator/components/com_statistics/admin.statistics.html.php:35 +msgid "Browser, OS, Domain Statistics" +msgstr "Navegador, SO, Estatísticas de Domínios" + +#: administrator/components/com_statistics/admin.statistics.html.php:41 +msgid "Browsers" +msgstr "Navegadores" + +#: administrator/components/com_statistics/admin.statistics.html.php:45 +msgid "Browser" +msgstr "Navegador" + +#: administrator/components/com_statistics/admin.statistics.html.php:84 +msgid "OS Stats" +msgstr "Stats de SO" + +#: administrator/components/com_statistics/admin.statistics.html.php:88 +msgid "Operating System" +msgstr "Sistema Operacional" + +#: administrator/components/com_statistics/admin.statistics.html.php:127 +msgid "Domain Stats" +msgstr "Stats de Domínios" + +#: administrator/components/com_statistics/admin.statistics.html.php:131 +msgid "Domain" +msgstr "Domínio" + +#: administrator/components/com_statistics/admin.statistics.html.php:182 +msgid "Page Impression Statistics" +msgstr "Estatísticas de Visualizações de Páginas" + +#: administrator/components/com_statistics/admin.statistics.html.php:228 +msgid "Search Engine Text :" +msgstr "Texto de Ferramenta de Busca:" + +#: administrator/components/com_statistics/admin.statistics.html.php:229 +msgid "logging is :" +msgstr "Login é:" + +#: administrator/components/com_statistics/admin.statistics.html.php:230 +msgid "Disabled" +msgstr "Desabilitado" + +#: administrator/components/com_statistics/admin.statistics.html.php:230 +msgid "Enabled" +msgstr "Habilitado" + +#: administrator/components/com_statistics/admin.statistics.html.php:240 +msgid "Times Requested" +msgstr "Vezes Solicitadas" + +#: administrator/components/com_statistics/admin.statistics.html.php:241 +msgid "Results Returned" +msgstr "Resultados Retornados" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:28 +msgid "Syndication Settings" +msgstr "" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:51 +msgid "Manage Syndication Settings" +msgstr "" + +#: administrator/components/com_syndicate/admin.syndicate.php:95 +msgid "Settings successfully Saved" +msgstr "Configurações salvas com sucesso" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "ATOM 0.3" +msgstr "ATOM 0.3" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Activate support for Firefox Live Bookmarks functionality" +msgstr "Ativar suporte para funcionalidade de Live Bookmarks do Firefox" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Alt text for image" +msgstr "Texto ALT para imagem" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Author Alphabetical" +msgstr "Autor em ordem alfabética" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Author Reverse-Alphabetical" +msgstr "Autor em ordem alfabética reversa" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Bookmark file" +msgstr "Arquivo de Favoritos" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache" +msgstr "Cache" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache Time" +msgstr "Tempo de Cache" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache file will refresh every x seconds" +msgstr "Recarregar arquivo do cache a casa X segundos" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache the feed files" +msgstr "Fazer cache dos arquivos de feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Frontpage Ordering" +msgstr "Ordem na Página Principal" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image Alt" +msgstr "ALT da Imagem" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image to be included in feed" +msgstr "Imagem para ser incluída no feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Least Hits" +msgstr "Menos Vistos" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit Text" +msgstr "Limite de Texto" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit the article text to the value indicated below" +msgstr "Limite o texto do artigo para o valor indicado abaixo" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Live Bookmarks" +msgstr "Live Bookmarks" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Most Hits" +msgstr "Mais Vistos" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Most recent first" +msgstr "Mais recentes primeiro" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Number of Items to syndicate" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Off" +msgstr "Desligado" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Order that the items will be displayed" +msgstr "Ordem em que os itens deve ser mostrados" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 0.91" +msgstr "RSS 0.91" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 1.0" +msgstr "RSS 1.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 2.0" +msgstr "RSS 2.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Special file name, if empty the default will be used." +msgstr "Nome de arquivo especial. Se vazio o padrão será usado." + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndicate" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Description" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Title" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Text Length" +msgstr "Tamanho do Texto" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "The word length of the article text - 0 will show no text" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "This component controls the Syndication settings" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Title Alphabetical" +msgstr "Título Alfabético" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Title Reverse-Alphabetical" +msgstr "Título em ordem alfabética reversa" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "ATOM 1.0" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:42 +msgid "No preview available" +msgstr "Sem pré-visualização disponível" + +#: administrator/components/com_templates/admin.templates.html.php:58 +msgid "Preview Template" +msgstr "Pré-visualização de Template" + +#: administrator/components/com_templates/admin.templates.html.php:85 +#: administrator/components/com_templates/admin.templates.html.php:166 +msgid "Assigned" +msgstr "Atrelada" + +#: administrator/components/com_templates/admin.templates.html.php:100 +msgid "Author URL" +msgstr "URl do Autor" + +#: administrator/components/com_templates/admin.templates.html.php:223 +msgid "Template HTML Editor" +msgstr "Editor HTML de Template" + +#: administrator/components/com_templates/admin.templates.html.php:235 +#: administrator/components/com_templates/admin.templates.html.php:289 +msgid "Make unwriteable after saving" +msgstr "Configure como somente leitura depois de salvar" + +#: administrator/components/com_templates/admin.templates.html.php:242 +#: administrator/components/com_templates/admin.templates.html.php:296 +msgid "Override write protection while saving" +msgstr "Sobrescreva proteção de escrita quando salvar" + +#: administrator/components/com_templates/admin.templates.html.php:277 +msgid "Template CSS Editor" +msgstr "Editor CSS de Template" + +#: administrator/components/com_templates/admin.templates.html.php:328 +#, php-format +msgid "Assign template %s to menu items" +msgstr "Atrelar template %s para os itens de menu" + +#: administrator/components/com_templates/admin.templates.html.php:333 +msgid "Page(s):" +msgstr "Página(s):" + +#: administrator/components/com_templates/admin.templates.php:229 +msgid "You can not delete template in use." +msgstr "Você não pode recomer uma template em uso." + +#: administrator/components/com_templates/admin.templates.php:256 +#: administrator/components/com_templates/admin.templates.php:321 +#, php-format +msgid "Operation Failed: Could not open %s" +msgstr "Operação Falhou: Não é possível abrir %s" + +#: administrator/components/com_templates/admin.templates.php:268 +#: administrator/components/com_templates/admin.templates.php:332 +msgid "Operation failed: No template specified." +msgstr "Operação Falhou: Nenhuma template informada." + +#: administrator/components/com_templates/admin.templates.php:271 +#: administrator/components/com_templates/admin.templates.php:336 +msgid "Operation failed: Content empty." +msgstr "Operação Falhou: Conteúdo vazio." + +#: administrator/components/com_templates/admin.templates.php:286 +#, php-format +msgid "Operation failed: %s is not writable." +msgstr "Operação Falhou: %s não permite escrita." + +#: administrator/components/com_templates/admin.templates.php:301 +#: administrator/components/com_templates/admin.templates.php:366 +msgid "Operation failed: Failed to open file for writing." +msgstr "Operação Falhou: Falha em abrir o arquivo para escrita." + +#: administrator/components/com_templates/admin.templates.php:351 +msgid "Operation failed: The file is not writable." +msgstr "Operação Falhou: O arquivo não permite escrita." + +#: administrator/components/com_templates/admin.templates.php:448 +msgid "Positions saved" +msgstr "Posições salvas" + +#: administrator/components/com_trash/admin.trash.html.php:61 +#: administrator/components/com_trash/admin.trash.html.php:65 +msgid "Content Items" +msgstr "Itens de Conteúdo" + +#: administrator/components/com_trash/admin.trash.html.php:230 +msgid "Delete Items" +msgstr "Itens Apagados" + +#: administrator/components/com_trash/admin.trash.html.php:239 +#: administrator/components/com_trash/admin.trash.html.php:304 +msgid "Number of Items:" +msgstr "Número de Itens:" + +#: administrator/components/com_trash/admin.trash.html.php:245 +msgid "Items being Deleted:" +msgstr "Itens Removidos:" + +#: administrator/components/com_trash/admin.trash.html.php:256 +msgid "" +"This will Permanently Delete " +"
      these Items from the Database" +msgstr "" +"Isto pode Apagar Permanentemente
      estes itens da base de dados" + +#: administrator/components/com_trash/admin.trash.html.php:259 +msgid "" +"Are you sure you want to Deleted the listed items? \\nThis will Permanently " +"Delete them from the database." +msgstr "" +"Você tem certeza que deseja apagar os itens listados? \\nIsto irá Apagá-los " +"Permanentemente da base de dados." + +#: administrator/components/com_trash/admin.trash.html.php:295 +msgid "Restore Items" +msgstr "Itens Restaurados" + +#: administrator/components/com_trash/admin.trash.html.php:310 +msgid "Items being Restored:" +msgstr "Itens para Restaurar:" + +#: administrator/components/com_trash/admin.trash.html.php:321 +msgid "" +"This will Restore these " +"Items,
      they will be returned to their orignial places as Unpublished " +"items" +msgstr "" +"Isto irá Restaurar estes " +"itens,
      que irão retornar para seus locais originais como itens não " +"publicados" + +#: administrator/components/com_trash/admin.trash.html.php:324 +msgid "Are you sure you want to Restore the listed items?." +msgstr "Você tem certeza que deseja restaurar estes itens?" + +#: administrator/components/com_trash/admin.trash.html.php:325 +#: administrator/components/com_trash/admin.trash.html.php:326 +#: administrator/components/com_trash/toolbar.trash.html.php:21 +msgid "Restore" +msgstr "Restaurar" + +#: administrator/components/com_trash/admin.trash.php:182 +#, php-format +msgid "%s Item successfully Deleted" +msgid_plural "%s Items successfully Deleted" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/admin.trash.php:256 +#, php-format +msgid "%s Item successfully Restored" +msgid_plural "%s Items successfully Restored" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/trash.xml +msgid "This component manages the Trash functionality." +msgstr "Este componente gerencia a funcionalidade de lixeira." + +#: components/com_user/user.html.php:22 +msgid "Welcome!" +msgstr "Bem-vindo!" + +#: components/com_user/user.html.php:27 +msgid "Welcome to the user section of our site" +msgstr "Bem-vindo a seção de usuários de nosso site" + +#: components/com_user/user.html.php:61 +msgid "Edit Your Details" +msgstr "Edite Seus Detalhes" + +#: components/com_user/user.html.php:65 +msgid "Your Name:" +msgstr "Seu Nome:" + +#: components/com_user/user.html.php:69 +msgid "e-mail:" +msgstr "E-mail:" + +#: components/com_user/user.html.php:72 +msgid "User Name:" +msgstr "Nome de Usuário:" + +#: components/com_user/user.html.php:99 +msgid "Submission Success!" +msgstr "Envio com Sucesso!" + +#: components/com_user/user.html.php:103 +msgid "" +"Your item has been submitted to the site administrators. It will be reviewed " +"before being published on the site." +msgstr "" +"Seu item foi submetido para os administradores do site. Eles irão revisar " +"antes de publicar no site." + +#: components/com_user/user.php:56 +msgid "You cannot upload files greater than 15kb in size." +msgstr "Você não pode enviar arquivos maiores que 15kb." + +#: components/com_user/user.php:59 +#, php-format +msgid "Image %s already exists. Please rename the file and try again." +msgstr "Imagem %s já existe. Por favor renomeie o arquivo e tente novamente." + +#: components/com_user/user.php:65 +#, php-format +msgid "Failed to copy %s" +msgstr "Falha na cópia de %s" + +#: components/com_user/user.php:87 +msgid "You may only upload a gif or jpg image." +msgstr "Você somente pode enviar imagens gif ou jpg." + +#: components/com_user/user.php:129 +msgid "Passwords do not match" +msgstr "Senhas não coincidem" + +#: components/com_user/user.php:152 +msgid "Your settings have been saved." +msgstr "Sua configurações foram salvas." + +#: components/com_user/user.php:211 +#, php-format +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "" +msgstr[1] "" + +#: components/com_user/user.php:222 +msgid "All items checked out have now been checked in" +msgstr "Todos os itens verificados estão livres agora" + +#: administrator/components/com_users/admin.users.html.php:57 +#: administrator/components/com_users/admin.users.php:157 +msgid "Logged In" +msgstr "Autenticado" + +#: administrator/components/com_users/admin.users.html.php:63 +msgid "UserID" +msgstr "ID de Usuário" + +#: administrator/components/com_users/admin.users.html.php:66 +msgid "Group" +msgstr "Grupo" + +#: administrator/components/com_users/admin.users.html.php:69 +msgid "E-Mail" +msgstr "E-Mail" + +#: administrator/components/com_users/admin.users.html.php:72 +msgid "Last Visit" +msgstr "Última Visita" + +#: administrator/components/com_users/admin.users.html.php:154 +msgid "You must provide a name." +msgstr "Você deve informar um nome." + +#: administrator/components/com_users/admin.users.html.php:156 +msgid "You must provide a user login name." +msgstr "Você deve informar um nome de login." + +#: administrator/components/com_users/admin.users.html.php:158 +msgid "Your login name contains invalid characters or is too short." +msgstr "Seu nome de login contém caracteres inválidos ou é muito curto." + +#: administrator/components/com_users/admin.users.html.php:160 +msgid "You must provide an email address." +msgstr "Você deve informar um endereço de e-mail." + +#: administrator/components/com_users/admin.users.html.php:162 +msgid "You must assign user to a group." +msgstr "Você deve atrelar o usuário à um grupo." + +#: administrator/components/com_users/admin.users.html.php:164 +msgid "Passwords do not match." +msgstr "Senhas não coincidem." + +#: administrator/components/com_users/admin.users.html.php:166 +msgid "" +"Please Select another group as `Public Frontend` is not a selectable option" +msgstr "" +"Por favor selecione outro grupo como `Public Frontend`. Esta não é uma opção " +"selecionável" + +#: administrator/components/com_users/admin.users.html.php:168 +msgid "" +"Please Select another group as `Public Backend` is not a selectable option" +msgstr "" +"Por favor selecione outro grupo como `Public Backend`. Esta não é uma opção " +"selecionável" + +#: administrator/components/com_users/admin.users.html.php:185 +msgid "Add" +msgstr "Adicionar" + +#: administrator/components/com_users/admin.users.html.php:196 +msgid "User Details" +msgstr "Detalhes do Usuário" + +#: administrator/components/com_users/admin.users.html.php:216 +msgid "Email:" +msgstr "E-mail:" + +#: administrator/components/com_users/admin.users.html.php:224 +msgid "New Password:" +msgstr "Nova Senha:" + +#: administrator/components/com_users/admin.users.html.php:251 +msgid "Block User" +msgstr "Bloquear Usuário" + +#: administrator/components/com_users/admin.users.html.php:263 +msgid "Receive Submission Emails" +msgstr "Receber E-mails Submetidos" + +#: administrator/components/com_users/admin.users.html.php:275 +msgid "Register Date" +msgstr "Data de Registro" + +#: administrator/components/com_users/admin.users.html.php:283 +msgid "Last Visit Date" +msgstr "Data de Última Visita" + +#: administrator/components/com_users/admin.users.html.php:306 +#: administrator/components/com_users/admin.users.html.php:325 +msgid "Contact Information" +msgstr "Informação de Contato" + +#: administrator/components/com_users/admin.users.html.php:312 +msgid "No Contact details linked to this User:" +msgstr "Nenhum detalhe de contato atrelado para este usuário:" + +#: administrator/components/com_users/admin.users.html.php:314 +msgid "See \"Components -> Contact -> Manage Contacts\" for details." +msgstr "Veja \"Componentes -> Contato -> Gerenciar Contatos\" para detalhes." + +#: administrator/components/com_users/admin.users.html.php:350 +msgid "Telephone:" +msgstr "Telefone:" + +#: administrator/components/com_users/admin.users.html.php:360 +msgid "Fax:" +msgstr "Fax:" + +#: administrator/components/com_users/admin.users.html.php:391 +msgid "Change Contact Details" +msgstr "Alterar Detalhes de Contato" + +#: administrator/components/com_users/admin.users.html.php:394 +msgid "Components -> Contact -> Manage Contacts" +msgstr "Componentes -> Contato -> Gerenciar Contatos" + +#: administrator/components/com_users/admin.users.php:150 +msgid "- Select Group -" +msgstr "- Selecionar Grupo - " + +#. get list of Log Status for dropdown filter +#: administrator/components/com_users/admin.users.php:156 +msgid "- Select Log Status - " +msgstr "- Selecione Status de Log -" + +#: administrator/components/com_users/admin.users.php:158 +msgid "Not Logged In" +msgstr "Não Está Autenticado" + +#: administrator/components/com_users/admin.users.php:186 +msgid "Super Administrator" +msgstr "Super Administrador" + +#: administrator/components/com_users/admin.users.php:296 +msgid "New User Details" +msgstr "Detalhes de Novo Usuário" + +#: administrator/components/com_users/admin.users.php:297 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"\n" +"You have been added as a user to %s by an Administrator.\n" +"\n" +"This email contains your username and password to log into the %s\n" +"\n" +"Username - %s\n" +"Password - %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"Olá %s,\n" +"\n" +"\n" +"Você foi adicionado como usuário em %s por um Administrador.\n" +"\n" +"Este e-mail contém seu nome de usuário e senha para autenticação no %s\n" +"\n" +"Nome de Usuário - %s\n" +"Senha - %s\n" +"\n" +"\n" +"Por favor não responda esta mensagem. Ela foi gerada automaticamente somente " +"com caráter informativo." + +#: administrator/components/com_users/admin.users.php:326 +#, php-format +msgid "Successfully Saved changes to User: %s" +msgstr "Alterações Salvas com Sucesso para o Usuário: %s" + +#: administrator/components/com_users/admin.users.php:331 +#, php-format +msgid "Successfully Saved User: %s" +msgstr "Usuário Salvo com Sucesso: %s" + +#: administrator/components/com_users/admin.users.php:361 +msgid "You cannot delete a Super Administrator" +msgstr "Você não pode apagar um `Super Administrador`" + +#: administrator/components/com_users/admin.users.php:363 +msgid "You cannot delete Yourself!" +msgstr "Você não pode se Apagar!" + +#: administrator/components/com_users/admin.users.php:365 +msgid "" +"You cannot delete another `Administrator` only `Super Administrators` have " +"this power" +msgstr "" +"Você não pode apagar outro `Administrador`. Somente `Super " +"Administradores`tem este poder" + +#: administrator/components/com_users/admin.users.php:386 +msgid "block" +msgstr "bloquear" + +#: administrator/components/com_users/admin.users.php:386 +msgid "unblock" +msgstr "desbloquear" + +#: administrator/components/com_users/admin.users.php:413 +msgid "Please select a user" +msgstr "Por favor selecione um usuário" + +#: administrator/components/com_users/toolbar.users.html.php:49 +msgid "Force Logout" +msgstr "Forçar Logout" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:29 +msgid "Weblink Manager" +msgstr "Gerenciador de Links Web" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:58 +msgid "Approved" +msgstr "Aprovado" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:98 +msgid "Edit Weblinks" +msgstr "Editar Links Web" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:176 +#: components/com_weblinks/weblinks.html.php:249 +msgid "Weblink item must have a title" +msgstr "Links Web devem ter um Título" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:178 +#: components/com_weblinks/weblinks.html.php:251 +msgid "You must select a category." +msgstr "Você deve selecionar uma categoria." + +#: administrator/components/com_weblinks/admin.weblinks.html.php:180 +#: components/com_weblinks/weblinks.html.php:253 +msgid "You must have a url." +msgstr "Você deve informar uma URL." + +#: administrator/components/com_weblinks/admin.weblinks.html.php:190 +msgid "Weblink:" +msgstr "Link Web:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:225 +#: components/com_weblinks/weblinks.html.php:297 +msgid "URL:" +msgstr "URL:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:250 +msgid "Approved:" +msgstr "Aprovado:" + +#: administrator/components/com_weblinks/admin.weblinks.php:143 +#: components/com_weblinks/weblinks.php:183 +#, php-format +msgid "The module %s is currently being edited by another administrator." +msgstr "O módulo %s está sendo editada por outro administrador" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"Description for page, if left blank it will load _WEBLINKS_DESC from your " +"language file" +msgstr "" +"Descrição para a página. Se deixada em branco, será usada a configuração " +"_WEBLINKS_DESC existente em seu arquivo de idioma" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon to be used to the left of the url links in Table view" +msgstr "Ícone para ser usado à esquerda da URL do link na visão de tabela" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Link Descriptions" +msgstr "Descrições de Links" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Description text of the Links" +msgstr "Mostrar/Esconder a o texto de descrição dos Links" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Hits column" +msgstr "Mostrar/Esconder a coluna de acessos" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "This component shows a listing of Weblinks" +msgstr "Este componente motra uma lista de links web" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Weblinks" +msgstr "Links Web" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target" +msgstr "Destino" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target window when the link is clicked" +msgstr "Janela de Destino quando o link é clicado" + +#: components/com_weblinks/weblinks.class.php:70 +msgid "Please provide a valid URL" +msgstr "Por favor informe uma URL válida" + +#: components/com_weblinks/weblinks.class.php:76 +msgid "Your web link must be given a title." +msgstr "Seu Link Web deve ter um título." + +#: components/com_weblinks/weblinks.class.php:91 +msgid "There is already a web link that name, please try again." +msgstr "Já existe um link web com este note. Por favor tente novamente." + +#: components/com_weblinks/weblinks.html.php:109 +msgid "Web Link" +msgstr "Link Web" + +#: components/com_weblinks/weblinks.html.php:264 +msgid "Submit A Web Link" +msgstr "Enviar um Link Web" + +#: components/com_weblinks/weblinks.php:98 +msgid "" +"From the list below choose one of our web link categories, then select a URL " +"to visit the site." +msgstr "" +"Da lista abaixo escolha uma das categorias e depois a URL que deseja " +"conhecer." + +#: components/com_weblinks/weblinks.php:278 +msgid "" +"Thanks for your submission; it will be reviewed before being posted to the " +"site." +msgstr "" +"Obrigado pelo envio. Sua sugestão será analisada e depois postada no site." + +#: components/com_weblinks/weblinks.php:290 +msgid "User Submitted '%'" +msgstr "Usuário enviou '%'" + +#: components/com_weblinks/weblinks.php:292 +#, php-format +msgid " for %s.\\n\\n\\n\\n" +msgstr " para %s.\\n\\n\\n\\n" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:27 +msgid "Web Link Manager" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:188 +msgid "Web Link:" +msgstr "" + +#: components/com_weblinks/weblinks.html.php:247 +msgid "Web Link item must have a title" +msgstr "" + +#: components/com_wrapper/wrapper.html.php:55 +msgid "" +"This option will not work correctly. Unfortunately, your browser does not " +"support Inline Frames" +msgstr "" +"Esta opção pode não funcionar corretamente. Infelizmente, seu navegador não " +"suporta Frames Inline" + +#: administrator/components/com_admin/admin.admin.html.php:491 +msgid "Search Results" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/glossary/th_TH.utf-8.po 4.6-complete/uploadfiles/language/glossary/th_TH.utf-8.po --- 4.6rc2/uploadfiles/language/glossary/th_TH.utf-8.po 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/glossary/th_TH.utf-8.po 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,10414 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 09:23+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Akarawuth Tamrareang \n" +"Language-Team: MamboHub.com \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: components/com_wrapper/wrapper.html.php:53 +msgid "" +"This option will not work correctly. Unfortunately, your browser does not " +"support Inline Frames" +msgstr "เบราเซอร์ของคุณไม่สามารถแสดงแฟรมได้" + +#: administrator/components/com_admin/admin.admin.html.php:27 +msgid "Home" +msgstr "หน้าหลัก" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Advanced Mode" +msgstr "โหมดขั้นสูง" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Simple Mode" +msgstr "โหมดปกติ" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "selected" +msgstr "ใช้งานอยู่" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "unselected" +msgstr "ยังไม่ได้เลือก" + +#: administrator/components/com_admin/admin.admin.html.php:80 +msgid "Information" +msgstr "ข้อมูล" + +#: administrator/components/com_admin/admin.admin.html.php:86 +#: administrator/components/com_admin/admin.admin.html.php:482 +msgid "System Info" +msgstr "ข้อมูลระบบ" + +#: administrator/components/com_admin/admin.admin.html.php:91 +msgid "System Information" +msgstr "ข้อมูลระบบ" + +#: administrator/components/com_admin/admin.admin.html.php:97 +msgid "PHP built On:" +msgstr "PHP ทำงานในระบบ:" + +#: administrator/components/com_admin/admin.admin.html.php:107 +msgid "Database Version:" +msgstr "ฐานข้อมูลเวอร์ชัน:" + +#: administrator/components/com_admin/admin.admin.html.php:117 +msgid "PHP Version:" +msgstr "PHP เวอร์ชัน:" + +#: administrator/components/com_admin/admin.admin.html.php:127 +msgid "Web Server:" +msgstr "เว็บเซิร์ฟเวอร์:" + +#: administrator/components/com_admin/admin.admin.html.php:137 +msgid "WebServer to PHP interface:" +msgstr "จากเว็บเซิร์ฟเวอร์สู่รูปแบบพีเอชพี:" + +#: administrator/components/com_admin/admin.admin.html.php:147 +msgid "Mambo Version:" +msgstr "แมมโบ้เวอร์ชัน:" + +#: administrator/components/com_admin/admin.admin.html.php:157 +msgid "User Agent:" +msgstr "ตัวแทนผู้ใช้:" + +#: administrator/components/com_admin/admin.admin.html.php:167 +msgid "Relevant PHP Settings:" +msgstr "การตั้งค่าใน PHP:" + +#: administrator/components/com_admin/admin.admin.html.php:174 +msgid "Safe Mode:" +msgstr "Safe Mode:" + +#: administrator/components/com_admin/admin.admin.html.php:182 +msgid "Open basedir:" +msgstr "Open basedir:" + +#: administrator/components/com_admin/admin.admin.html.php:190 +msgid "Display Errors:" +msgstr "Display Errors:" + +#: administrator/components/com_admin/admin.admin.html.php:198 +msgid "Short Open Tags:" +msgstr "Short Open Tags:" + +#: administrator/components/com_admin/admin.admin.html.php:206 +msgid "File Uploads:" +msgstr "File Uploads:" + +#: administrator/components/com_admin/admin.admin.html.php:214 +msgid "Magic Quotes" +msgstr "Magic Quotes" + +#: administrator/components/com_admin/admin.admin.html.php:222 +msgid "Register Globals:" +msgstr "Register Globals:" + +#: administrator/components/com_admin/admin.admin.html.php:230 +msgid "Output Buffering:" +msgstr "Output Buffering:" + +#: administrator/components/com_admin/admin.admin.html.php:238 +msgid "Session save path:" +msgstr "Session save path:" + +#: administrator/components/com_admin/admin.admin.html.php:246 +msgid "Session auto start:" +msgstr "Session auto start:" + +#: administrator/components/com_admin/admin.admin.html.php:254 +msgid "XML enabled:" +msgstr "XML enabled:" + +#: administrator/components/com_admin/admin.admin.html.php:262 +msgid "Zlib enabled:" +msgstr "Zlib enabled:" + +#: administrator/components/com_admin/admin.admin.html.php:270 +msgid "Disabled Functions:" +msgstr "Disabled Functions:" + +#: administrator/components/com_admin/admin.admin.html.php:285 +msgid "WYSIWYG Editor:" +msgstr "WYSIWYG Editor:" + +#: administrator/components/com_admin/admin.admin.html.php:297 +msgid "Configuration File:" +msgstr "ไฟล์เก็บค่าคอนฟิค:" + +#: administrator/components/com_admin/admin.admin.html.php:323 +msgid "PHP Info" +msgstr "รายละเอียด PHP" + +#: administrator/components/com_admin/admin.admin.html.php:328 +msgid "PHP Information" +msgstr "รายละเอียด PHP" + +#: administrator/components/com_admin/admin.admin.html.php:350 +msgid "Permissions" +msgstr "การยินยอม" + +#: administrator/components/com_admin/admin.admin.html.php:354 +msgid "Directory Permissions" +msgstr "การยินยอมของไดเรกทอรี่่" + +#: administrator/components/com_admin/admin.admin.html.php:358 +msgid "" +"For all Mambo functions and features to work ALL of the following " +"directories should be writeable:" +msgstr "แมมโบ้สามารถทำงานได้อย่างสมบูรณ์ก็ต่อเมื่อทุกไดเรกทอรี่่ สามารถเขียนได้:" + +#: administrator/components/com_admin/admin.admin.html.php:434 +msgid "Help" +msgstr "ช่วยเหลือ" + +#: administrator/components/com_admin/admin.admin.html.php:442 +msgid "Search:" +msgstr "ค้นหา:" + +#: administrator/components/com_admin/admin.admin.html.php:445 +msgid "Go" +msgstr "หา" + +#: administrator/components/com_admin/admin.admin.html.php:446 +msgid "Clear Results" +msgstr "ล้างผลลัพธ์" + +#: administrator/components/com_admin/admin.admin.html.php:453 +#: administrator/components/com_admin/admin.admin.html.php:464 +msgid "Glossary" +msgstr "ภาคคำศัพท์" + +#: administrator/components/com_admin/admin.admin.html.php:456 +#: administrator/components/com_admin/admin.admin.html.php:467 +msgid "Credits" +msgstr "เครดิต" + +#: administrator/components/com_admin/admin.admin.html.php:459 +#: administrator/components/com_admin/admin.admin.html.php:470 +msgid "Support" +msgstr "เว็บรองรับ" + +#: administrator/components/com_admin/admin.admin.html.php:476 +msgid "License" +msgstr "ใบอนุญาต" + +#: administrator/components/com_admin/admin.admin.html.php:491 +msgid "Search Results" +msgstr "ผลการค้นหา" + +#: administrator/components/com_admin/admin.admin.html.php:493 +msgid "Index" +msgstr "ดัชนี" + +#: administrator/components/com_admin/admin.admin.html.php:536 +msgid "Site Preview" +msgstr "ดูตัวอย่างเว็บ" + +#: administrator/components/com_admin/admin.admin.html.php:540 +msgid "Open in new window" +msgstr "เปิดหน้าต่างใหม่" + +#: administrator/components/com_admin/admin.admin.php:22 +msgid "There is no link associated with this item" +msgstr "ไม่มีลิงก์สำหรับรายการนี้" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:27 +msgid "News Feed Manager" +msgstr "การจัดการ News Feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:44 +msgid "News Feed" +msgstr "News Feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:47 +msgid "Published" +msgstr "เผยแพร่" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:50 +msgid "Reorder" +msgstr "การจัดลำดับ" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:53 +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:194 +msgid "Category" +msgstr "ประเภท" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:56 +#: components/com_newsfeeds/newsfeeds.html.php:104 +msgid "# Articles" +msgstr "จำนวนเนื้อหา" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:59 +msgid "Cache time" +msgstr "เวลาแคช(วินาที)" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:89 +msgid "Checked Out" +msgstr "นำออก" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:93 +msgid "Edit News Feed" +msgstr "แก้ไข News Feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:112 +msgid "Edit Category" +msgstr "แก้ไขประเภท" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:152 +msgid "Please fill in the news feed name." +msgstr "กรุณาหาชื่อของ News Feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:154 +msgid "Please select a Category." +msgstr "เลือกประเภท." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:156 +msgid "Please fill in the news feed link." +msgstr "กรุณาหาลิงก์ของ News Feed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:158 +msgid "Please select a category." +msgstr "เลือกประเภท." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:160 +msgid "Please fill in the number of articles to display." +msgstr "โปรดระบุจำนวนเนื้อหาที่ต้องการแสดง." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:162 +msgid "Please fill in the cache refresh time." +msgstr "โปรดระบุเวลาการล้าง cache." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:173 +msgid "Edit" +msgstr "แก้ไข" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:173 +msgid "New" +msgstr "สร้างใหม่" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:173 +msgid "News Feed:" +msgstr "News Feed:" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:181 +msgid "Details" +msgstr "รายละเอียด" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:186 +msgid "Name" +msgstr "ชื่อ" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:202 +msgid "Link" +msgstr "ลิงก์" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:210 +msgid "Number of Articles" +msgstr "จำนวนของเนื้อหา" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:218 +msgid "Cache time (in seconds)" +msgstr "เวลา cache (ต่อวินาที)" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:226 +msgid "Ordering" +msgstr "การจัดเรียง" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:234 +msgid "Published:" +msgstr "เผยแพร่:" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:19 +msgid "You are not authorized to view this resource." +msgstr "ขออภัยข้อมูลส่วนนี้สำหรับสมาชิกเท่านั้น." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:204 +msgid "publish" +msgstr "เผยแพร่" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:204 +msgid "unpublish" +msgstr "ไม่เผยแพร่" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:205 +#, php-format +msgid "Select a module to %s" +msgstr "เลือกโมดูลไปยัง %s" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:238 +msgid "Select an item to delete" +msgstr "เลือกรายการที่จะลบ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Articles Column" +msgstr "จำนวนคอลัมน์" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Category Items" +msgstr "# จำนวนรายการหมวดของเนื้อหา" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" +"รูปภาพขนาดเล็กจะวางอยู่ในตำแหน่งซ้ายหรือขวาของรายการเมนู, " +"โดยรูปภาพนั้นจะต้องเก็บอยู่ในโฟลเดอร์ images/stories/" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "คำเสริมท้ายคลาส css ของแต่ละหน้า, สิ่งนี้จะทำงานในหน้าที่ต้องการ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Alignment of the image" +msgstr "การจัดเรียงรูปภาพ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Allows you to limit the amount of visible item description text. 0 will show " +"all the text" +msgstr "ความยามของข้อความที่ต้องการแสดง. ถ้าใส่ 0 จะแสดงทั้งหมด" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Back Button" +msgstr "ปุ่มย้อนกลับ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category Description" +msgstr "รายละเอียดหมวดของเนื้อหา" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category List - Category" +msgstr "รายการหมวด - ประเภท" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category List - Section" +msgstr "รายการหมวด - หมวด" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description" +msgstr "รายละเอียด" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description Text" +msgstr "ข้อความแสดงรายละเอียด" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description for page" +msgstr "รายละเอียดของเว็บเพจ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Description" +msgstr "คำอธิบาย Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Image" +msgstr "รูปภาพ Feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Hide" +msgstr "ซ่อน" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Image" +msgstr "รูป" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Image Align" +msgstr "ตำแหน่งรูปภาพ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Image for page, must be located in the /images/stories folder. Default will " +"load web_links.jpg, No image will mean an image is not loaded" +msgstr "" +"รูปภาพที่ต้องการแสดงบนหน้าเพจจะต้องถูกเก็บอยู่ในโฟลเดอร์ /images/stories. " +"โดยปกติระบบจะโหลดรูป web_links.jpg, หากไม่มีรูปภาพในโฟลเดอร์ จะไม่การโหลดรูปใดๆ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Item Description" +msgstr "รายละเอียด" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Left" +msgstr "ซ้าย" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Link Column" +msgstr "ลิงก์คอลัมน์" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Menu Image" +msgstr "รูปภาพของเมนู" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Name Column" +msgstr "ชื่อคอลัมน์" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Newsfeeds" +msgstr "Newsfeeds" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Page Class Suffix" +msgstr "คำเสริมท้ายคลาสของหน้า" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Page Title" +msgstr "หัวข้อหน้าเพจ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Right" +msgstr "ขวา" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show" +msgstr "แสดง" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "แสดง/ซ่อน ปุ่มย้อนกลับ เพื่อย้อนกลับไปยังเพจก่อนหน้านี้" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the # of articles in the feed" +msgstr "แสดง/ซ่อน บทความใน feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Description below" +msgstr "แสดง/ซ่อน รายละเอียดด้านล่างนี้" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Description for the list of other catgeories" +msgstr "แสดง/ซ่อน คำอธิบายสำหรับรายการของประเภทอื่นๆ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Link column" +msgstr "แสดง/ซ่อน Feed ลิงก์คอลัมน์" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Name column" +msgstr "แสดง/ซ่อน ชื่อของคอลัมน์" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "แสดง/ซ่อน รายการประเภทของเนื้อหาในหน้ามุมมองแบบลิสรายการ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "แสดง/ซ่อน รายการประเภทของเนื้อหาในหน้ามุมมองแบบตารางรายการ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Table Headings" +msgstr "แสดง/ซ่อน หัวข้อตาราง" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description or intro text of an item" +msgstr "แสดง/ซ่อน คำอธิบาย หรือข้อความส่วนต้นของรายการ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description text of the feed" +msgstr "แสดง/ซ่อน คำอธิบายข้อความของการป้อน" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the image of the feed" +msgstr "แสดง/ซ่อน รูปภาพสำหรับ feed" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the number of items in each category" +msgstr "แสดง/ซ่อน จำนวนรายการในแต่ละประเภทของเนื้อหา" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the pages Title" +msgstr "แสดง/ซ่อน หัวข้อหน้าเพจ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Table Headings" +msgstr "หัวข้อตาราง" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" +"ข้อความนี้จะแสดงยังส่วนบนของหน้าเพจ. หากไม่ระบุ ระบบจะกำหนดให้เป็นชื่อของเมนูโดยอัตโนมัติ" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "This component manages RSS/RDF newsfeeds" +msgstr "นี่คือคอมโพเน้นท์จัดการ RSS/RDF newsfeeds" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Use Global" +msgstr "ใช้ค่าพื้นฐาน" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Word Count" +msgstr "นับจำนวนคำ" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php:51 +msgid "Close" +msgstr "ปิด" + +#: components/com_newsfeeds/newsfeeds.html.php:37 +msgid "Web Links" +msgstr "เว็บลิงก์" + +#: components/com_newsfeeds/newsfeeds.html.php:95 +msgid "Feed Name" +msgstr "ชื่อ Feed" + +#: components/com_newsfeeds/newsfeeds.html.php:113 +msgid "Feed Link" +msgstr "ลิงก์ Feed" + +#: administrator/components/com_mostlydbadmin/mostlydbadmin.xml +msgid "" +"

      MOStlyDBAdmin is used for easy back up/restore of your database.

      " +"It is a revival \r\n" +"\tof the dbadmin component for use in the Mambo 4.6+ core. The dbadmin \r\n" +"\tcomponent stopped working with Mambo 4.5.3h and development appears to " +"have ceased.

      \n" +msgstr "" +"

      MOStlyDBAdmin จะใช้สำหรับการ back up หรือrestore ฐานข้อมูลได้โดยง่าย.

      " +"เป็นตัวที่พัฒนา \r\n" +"\tมาจากคอมโพเน้นท์ dbadmin เพื่อใช้งานกับ Mambo 4.6+. คอมโพเน้นท์ dbadmin \r\n" +"\tได้หยุดการทำงานบน Mambo 4.5.3h และไม่มีการพัฒนาต่อ.

      \n" + +#: administrator/components/com_mostlydbadmin/mostlydbadmin.xml +msgid "MOStlyDBAdmin" +msgstr "MOStlyDBAdmin" + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "" +"

      Admin component for the MOStlyCE editor mambot. Helps customize your " +"MOStlyCE editor installation.

      " +msgstr "" +"

      Admin คอมโพเน้นท์ สำหรับ MOStlyCE editor แมมบอท. ช่วยเหลือและปรับปรุง " +"MOStlyCE editor หลังจากได้ทำการติดตั้ง.

      " + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "mostlyce" +msgstr "mostlyce" + +#: administrator/components/com_modules/admin.modules.html.php:32 +#: administrator/components/com_modules/admin.modules.html.php:236 +#: administrator/components/com_modules/admin.modules.php:380 +msgid "Administrator" +msgstr "ผู้ดูแลระบบ" + +#: administrator/components/com_modules/admin.modules.html.php:32 +msgid "Module Manager" +msgstr "การจัดการโมดูล" + +#: administrator/components/com_modules/admin.modules.html.php:32 +#: administrator/components/com_modules/admin.modules.html.php:236 +msgid "Site" +msgstr "เว็บ" + +#: administrator/components/com_modules/admin.modules.html.php:43 +msgid "Filter:" +msgstr "ค้นหา:" + +#: administrator/components/com_modules/admin.modules.html.php:58 +msgid "Module Name" +msgstr "ชื่อโมดูล" + +#: administrator/components/com_modules/admin.modules.html.php:67 +msgid "Order" +msgstr "ลำดับ" + +#: administrator/components/com_modules/admin.modules.html.php:70 +msgid "Save Order" +msgstr "บันทึกการจัดลำดับ" + +#: administrator/components/com_modules/admin.modules.html.php:76 +msgid "Access" +msgstr "การเข้าถึง" + +#: administrator/components/com_modules/admin.modules.html.php:82 +msgid "Position" +msgstr "ตำแหน่ง" + +#: administrator/components/com_modules/admin.modules.html.php:85 +msgid "Pages" +msgstr "หน้า" + +#: administrator/components/com_modules/admin.modules.html.php:88 +msgid "ID" +msgstr "หมายเลข" + +#: administrator/components/com_modules/admin.modules.html.php:91 +msgid "Type" +msgstr "ประเภท" + +#: administrator/components/com_modules/admin.modules.html.php:152 +msgid "None" +msgstr "ไม่กำหนด" + +#: administrator/components/com_modules/admin.modules.html.php:154 +msgid "Varies" +msgstr "มาก" + +#: administrator/components/com_modules/admin.modules.html.php:156 +msgid "All" +msgstr "ทั้งหมด" + +#: administrator/components/com_modules/admin.modules.html.php:164 +msgid "User" +msgstr "ผู้ใช้" + +#: administrator/components/com_modules/admin.modules.html.php:211 +msgid "Module must have a title" +msgstr "กรุณาใส่หัวข้อของโมดูล" + +#: administrator/components/com_modules/admin.modules.html.php:237 +msgid "Module:" +msgstr "โมดูล:" + +#: administrator/components/com_modules/admin.modules.html.php:259 +msgid "Title:" +msgstr "ชื่อเรื่อง" + +#: administrator/components/com_modules/admin.modules.html.php:268 +msgid "Show title:" +msgstr "แสดงหัวเรื่อง:" + +#: administrator/components/com_modules/admin.modules.html.php:276 +msgid "Position:" +msgstr "ตำแหน่ง:" + +#: administrator/components/com_modules/admin.modules.html.php:284 +msgid "Module Order:" +msgstr "ลำดับโมดูล:" + +#: administrator/components/com_modules/admin.modules.html.php:296 +msgid "Access Level:" +msgstr "ระดับการเข้าถึง:" + +#: administrator/components/com_modules/admin.modules.html.php:316 +msgid "ID:" +msgstr "ID:" + +#: administrator/components/com_modules/admin.modules.html.php:324 +msgid "Description:" +msgstr "คำอธิบาย:" + +#: administrator/components/com_modules/admin.modules.html.php:335 +msgid "Parameters" +msgstr "พารามิเตอร์" + +#: administrator/components/com_modules/admin.modules.html.php:349 +msgid "Pages / Items" +msgstr "หน้า / รายการ" + +#: administrator/components/com_modules/admin.modules.html.php:354 +msgid "Menu Item Link(s):" +msgstr "เมนูรายการลิงก์:" + +#: administrator/components/com_modules/admin.modules.html.php:370 +msgid "Custom Output" +msgstr "เอาต์พุตทั้วไป" + +#: administrator/components/com_modules/admin.modules.html.php:375 +msgid "Content:" +msgstr "เนื้อหา:" + +#: administrator/components/com_modules/admin.modules.php:151 +msgid "- All Positions -" +msgstr "- เลือก ตำแหน่ง -" + +#: administrator/components/com_modules/admin.modules.php:163 +msgid "- All Types -" +msgstr "- เลือก ชนิด -" + +#: administrator/components/com_modules/admin.modules.php:213 +#, php-format +msgid "Module Copied [%s]" +msgstr "คัดลอกโมดูล [%s]" + +#: administrator/components/com_modules/admin.modules.php:270 +#, php-format +msgid "Successfully Saved changes to Module: %s" +msgstr "บันทึกการเปลี่ยนแปลงโมดูลสำเร็จ: %s" + +#: administrator/components/com_modules/admin.modules.php:276 +#, php-format +msgid "Successfully Saved Module: %s" +msgstr "บันทึกโมดูลสำเร็จ: %s" + +#: administrator/components/com_modules/admin.modules.php:297 +#, php-format +msgid "The module %s is currently being edited by another administrator" +msgstr "โมดูล %s กำลังถูกแก้ไขโดยผู้ดูแลท่านอื่น" + +#: administrator/components/com_modules/admin.modules.php:381 +#: administrator/components/com_modules/admin.modules.php:382 +#: administrator/components/com_modules/admin.modules.php:385 +#: administrator/components/com_modules/admin.modules.php:386 +msgid "N/A" +msgstr "N/A" + +#: administrator/components/com_modules/admin.modules.php:422 +msgid "Select a module to delete" +msgstr "เลือกโมดูลที่จะลบ" + +#: administrator/components/com_modules/admin.modules.php:445 +msgid "" +"You cannot delete mod_mainmenu module that displays the \"mainmenu\" as it " +"is a core Menu" +msgstr "คุณไม่สามารถลบโมดูล mod_mainmenu เนื่องจากใช้แสดง \"เมนูหลัก\" สำหรับหน้าเว็บไซต์" + +#: administrator/components/com_modules/admin.modules.php:471 +#, php-format +msgid "" +"Module(s): \"%s\" cannot be deleted they can only be un-installed as they " +"are Mambo modules." +msgstr "โมดูล: \"%s\" ไม่สามารถลบโมดูลได้ ต้องถอนโมดูลออกก่อน" + +#. foreach +#: administrator/components/com_modules/admin.modules.php:613 +msgid "New ordering saved" +msgstr "บันทึกการจัดลำดับใหม่แล้ว" + +#: administrator/components/com_modules/toolbar.modules.html.php:42 +msgid "Preview" +msgstr "แสดงตัวอย่าง" + +#: administrator/components/com_modules/toolbar.modules.html.php:42 +msgid "You can only preview typed modules." +msgstr "คุณสามารถเรียกดูโมดูลได้อย่างเดียว." + +#: administrator/components/com_modules/toolbar.modules.html.php:82 +msgid "Copy" +msgstr "คัดลอก" + +#: administrator/components/com_messages/admin.messages.html.php:22 +msgid "Private Messaging" +msgstr "ข้อความส่วนตัว" + +#: administrator/components/com_messages/admin.messages.html.php:33 +msgid "Subject" +msgstr "หัวข้อ" + +#: administrator/components/com_messages/admin.messages.html.php:34 +msgid "From" +msgstr "จาก" + +#: administrator/components/com_messages/admin.messages.html.php:36 +msgid "Date" +msgstr "วันที่" + +#: administrator/components/com_messages/admin.messages.html.php:37 +#: administrator/components/com_messages/admin.messages.html.php:53 +msgid "Read" +msgstr "อ่าน" + +#: administrator/components/com_messages/admin.messages.html.php:55 +msgid "Unread" +msgstr "ไม่ถูกอ่าน" + +#: administrator/components/com_messages/admin.messages.html.php:75 +msgid "Private Messaging Configuration" +msgstr "ตั้งค่า Configuration ของข้อความส่วนตัว" + +#: administrator/components/com_messages/admin.messages.html.php:80 +msgid "General" +msgstr "ทั่วไป" + +#: administrator/components/com_messages/admin.messages.html.php:87 +msgid "Are you sure?" +msgstr "คุณแน่ใจใช่ไหม?" + +#: administrator/components/com_messages/admin.messages.html.php:99 +msgid "Lock Inbox:" +msgstr "ล็อค Inbox:" + +#: administrator/components/com_messages/admin.messages.html.php:103 +msgid "Mail me on new Message:" +msgstr "ส่งอีเมลให้ฉันถ้ามีข้อความใหม่เข้ามา:" + +#: administrator/components/com_messages/admin.messages.html.php:121 +msgid "View Private Message" +msgstr "เรียกดูข้อความส่วนตัว" + +#: administrator/components/com_messages/admin.messages.html.php:128 +msgid "From:" +msgstr "จาก:" + +#: administrator/components/com_messages/admin.messages.html.php:132 +msgid "Posted:" +msgstr "ส่ง:" + +#: administrator/components/com_messages/admin.messages.html.php:136 +#: administrator/components/com_messages/admin.messages.html.php:191 +msgid "Subject:" +msgstr "หัวข้อ:" + +#: administrator/components/com_messages/admin.messages.html.php:140 +#: administrator/components/com_messages/admin.messages.html.php:197 +msgid "Message:" +msgstr "ข้อความ:" + +#: administrator/components/com_messages/admin.messages.html.php:167 +msgid "You must provide a subject." +msgstr "กรุณาใส่ชื่อเรื่อง." + +#: administrator/components/com_messages/admin.messages.html.php:169 +msgid "You must provide a message." +msgstr "กรุณาใส่ข้อความที่จะส่ง." + +#: administrator/components/com_messages/admin.messages.html.php:171 +msgid "You must select a recipient." +msgstr "กรุณาระบุผู้รับปลายทาง." + +#: administrator/components/com_messages/admin.messages.html.php:180 +msgid "New Private Message" +msgstr "ข้อความส่วนตัวใหม่" + +#: administrator/components/com_messages/admin.messages.html.php:187 +msgid "To:" +msgstr "ถึง:" + +#: administrator/components/com_messages/toolbar.messages.html.php:19 +msgid "Reply" +msgstr "ตอบกลับ" + +#: administrator/components/com_messages/toolbar.messages.html.php:29 +msgid "Send" +msgstr "ส่งข้อความ" + +#: components/com_messages/messages.class.php:74 +#: components/com_messages/messages.class.php:75 +msgid "A new private message has arrived" +msgstr "มีข้อความใหม่ส่งถึงคุณ" + +#: components/com_messages/messages.class.php:82 +msgid "The user has locked their mailbox. Message failed." +msgstr "ข้อความไม่สามารถส่งได้เนื่องจาก User ไม่ได้เปิดใช้งานเมลบ๊อกซ์" + +#: administrator/components/com_menus/admin.menus.html.php:27 +#, php-format +msgid "Menu Manager [ %s ]" +msgstr "การจัดการเมนู [ %s ]" + +#: administrator/components/com_menus/admin.menus.html.php:30 +msgid "Max Levels" +msgstr "ระดับสูงสุด" + +#: administrator/components/com_menus/admin.menus.html.php:47 +msgid "" +"You cannot `delete` this menu as it is required for the proper operation of " +"Mambo" +msgstr "คุณไม่สามารถ `ลบ` เมนูนี้ได้เพราะจำเป็นต้องมี" + +#: administrator/components/com_menus/admin.menus.html.php:50 +msgid "" +"The 1st Published item in this menu [mainmenu] is the default `Homepage` for " +"the site" +msgstr "[mainmenu] เป็นเมนูแรกที่ต้องมี " + +#: administrator/components/com_menus/admin.menus.html.php:68 +msgid "Menu Item" +msgstr "หมวดเมนู" + +#: administrator/components/com_menus/admin.menus.html.php:86 +msgid "Itemid" +msgstr "หมายเลข id" + +#: administrator/components/com_menus/admin.menus.html.php:92 +msgid "CID" +msgstr "CID" + +#: administrator/components/com_menus/admin.menus.html.php:182 +msgid "New Menu Item" +msgstr "สร้างเมนูใหม่" + +#. echo _MENU_GROUP; +#: administrator/components/com_menus/admin.menus.html.php:201 +msgid "Content" +msgstr "เนื้อหา" + +#: administrator/components/com_menus/admin.menus.html.php:233 +msgid "Miscellaneous" +msgstr "อื่นๆ" + +#: administrator/components/com_menus/admin.menus.html.php:264 +msgid "" +"Note that some menu types appear in more that one grouping, but they are " +"still the same menu type." +msgstr "หมายเหตุ:เมนูบางชนิดอาจจะอยู่หลายกลุ่ม แต่ยังคงเป็นเมนูชนิดเดียวกัน." + +#: administrator/components/com_menus/admin.menus.html.php:268 +msgid "Components" +msgstr "คอมโพเน้นท์" + +#: administrator/components/com_menus/admin.menus.html.php:300 +msgid "Links" +msgstr "ลิงก์" + +#: administrator/components/com_menus/admin.menus.html.php:357 +msgid "Move Menu Items" +msgstr "ย้ายหมวดเมนู" + +#: administrator/components/com_menus/admin.menus.html.php:367 +msgid "Move to Menu:" +msgstr "ย้ายไปหมวดเมนู:" + +#: administrator/components/com_menus/admin.menus.html.php:374 +msgid "Menu Items being moved:" +msgstr "กำลังย้ายหมวดเมนู:" + +#: administrator/components/com_menus/admin.menus.html.php:417 +msgid "Copy Menu Items" +msgstr "คัดลอกหมวดเมนู" + +#: administrator/components/com_menus/admin.menus.html.php:428 +msgid "Copy to Menu:" +msgstr "คัดลอกไปเมนู:" + +#: administrator/components/com_menus/admin.menus.html.php:436 +msgid "Menu Items being copied:" +msgstr "คัดลอกรายการเมนู:" + +#: administrator/components/com_menus/admin.menus.php:415 +#, php-format +msgid "Select an item to %s" +msgstr "เลือกรายการสำหรับ %s" + +#: administrator/components/com_content/admin.content.php:805 +msgid "%d Item sent to the Trash" +msgid_plural "%d Items sent to the Trash" +msgstr[0] "%d รายการที่จะส่งลงถังรีไซเคิล" +msgstr[1] "%d รายการที่จะส่งลงถังรีไซเคิล" + +#: administrator/components/com_menus/admin.menus.php:529 +#: administrator/components/com_menus/admin.menus.php:634 +msgid "Select an item to move" +msgstr "เลือกเนื้อหาเพื่อย้าย" + +#. if +#: administrator/components/com_menus/admin.menus.php:614 +#, php-format +msgid "%d Menu Item moved to %s" +msgid_plural "%d Menu Items moved to %s" +msgstr[0] "%d ย้ายเมนูไปที่ %s" +msgstr[1] "%d ย้ายเมนูไปที่ %s" + +#. foreach +#: administrator/components/com_menus/admin.menus.php:684 +#, php-format +msgid "%d Menu Item Copied to %s" +msgid_plural "%d Menu Items Copied to %s" +msgstr[0] "%d คัดลอกเมนูไปที่ %s" +msgstr[1] "%d คัดลอกเมนูไปที่ %s" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:35 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:35 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:41 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:42 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:35 +#: administrator/components/com_menus/url/url.menu.html.php:38 +msgid "Link must have a name" +msgstr "ลิงก์ต้องมีชื่อ" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:37 +msgid "You must select a Component to link to" +msgstr "คุณต้องเลือกคอมโพเน้นท์ที่จะเชื่อมต่อ" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:48 +#: administrator/components/com_menus/components/components.menu.html.php:72 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:66 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:50 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:68 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:70 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:64 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:64 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:68 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:56 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:68 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:57 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:66 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:50 +#: administrator/components/com_menus/separator/separator.menu.html.php:44 +#: administrator/components/com_menus/url/url.menu.html.php:51 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:66 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:59 +msgid "Add" +msgstr "เพิ่ม" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:48 +msgid "Menu Item :: Link - Component Item" +msgstr "รายการเมนู :: การเชื่อมโยง - รายการคอมโพเน้นท์" + +#. outputs item name, category & section instead of the select list +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:64 +#: administrator/components/com_menus/components/components.menu.html.php:87 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:82 +#: administrator/components/com_menus/contact_item_link/contact_item_link.class.php:59 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:66 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:83 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:85 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:79 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:79 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:84 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:72 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:83 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:73 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:82 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:66 +#: administrator/components/com_menus/url/url.menu.html.php:67 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:83 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:75 +msgid "Name:" +msgstr "ชื่อ:" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:72 +msgid "Component to Link:" +msgstr "คอมโพเน้นท์ที่จะลิงก์:" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:79 +#: administrator/components/com_menus/components/components.menu.html.php:99 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:105 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:102 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:104 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:100 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:100 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:107 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:87 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:102 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:105 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:106 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:91 +msgid "Url:" +msgstr "Url:" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:86 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:88 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:94 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:88 +#: administrator/components/com_menus/url/url.menu.html.php:83 +msgid "On Click, Open in:" +msgstr "เมื่อคลิกแล้วเปิดใน:" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:94 +#: administrator/components/com_menus/components/components.menu.html.php:105 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:113 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:96 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:108 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:110 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:106 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:106 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:115 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:102 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:108 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:103 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:113 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:96 +#: administrator/components/com_menus/separator/separator.menu.html.php:68 +#: administrator/components/com_menus/url/url.menu.html.php:91 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:114 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:99 +msgid "Parent Item:" +msgstr "หน้าต่างเดิม:" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:102 +#: administrator/components/com_menus/components/components.menu.html.php:112 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:121 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:104 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:114 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:116 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:112 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:112 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:123 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:110 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:114 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:111 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:121 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:104 +#: administrator/components/com_menus/separator/separator.menu.html.php:76 +#: administrator/components/com_menus/url/url.menu.html.php:99 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:122 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:107 +msgid "Ordering:" +msgstr "การเรียงลำดับ:" + +#: administrator/components/com_menus/component_item_link/component_item_link.xml +msgid "Creates a link to an existing Mambo Component" +msgstr "สร้างการเชื่อมโยงออกจากคอมโพเน้นท์ของแมมโบ้" + +#: administrator/components/com_menus/component_item_link/component_item_link.xml +msgid "Link - Component Item" +msgstr "การเชื่อมโยง - รายการคอมโพเน้นท์" + +#: administrator/components/com_menus/components/components.class.php:33 +#, php-format +msgid "\"The module %s is currently being edited by another administrator" +msgstr "โมดูล %s กำลังถูกแก้ไขโดยผู้ดูแลท่านอื่น" + +#: administrator/components/com_menus/components/components.menu.html.php:58 +msgid "Item must have a name" +msgstr "รายการจะต้องมีชื่อ" + +#: administrator/components/com_menus/components/components.menu.html.php:60 +msgid "Please select a Component" +msgstr "โปรดเลือกคอมโพเน้นท์" + +#: administrator/components/com_menus/components/components.menu.html.php:72 +#, php-format +msgid "Menu Item :: Component %s" +msgstr "รายการเมนู :: คอมโพเน้นท์ %s" + +#: administrator/components/com_menus/components/components.menu.html.php:93 +msgid "Component:" +msgstr "คอมโพเน้นท์:" + +#: administrator/components/com_menus/components/components.menu.html.php:148 +msgid "Parameter list will be available once you save this New menu item" +msgstr "สามารถตั้งค่าพารามิเตอร์หลังจากบันทึกเมนูนี้แล้ว" + +#: administrator/components/com_menus/components/components.xml +msgid "Component" +msgstr "คอมโพเน้นท์" + +#: administrator/components/com_menus/components/components.xml +msgid "Displays the frontend interface for a Component" +msgstr "หน้าแรกแสดงเป็นตัวประสานสำหรับคอมโพเน้นท์" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:39 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:39 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:39 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:39 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:39 +msgid "You must select a category" +msgstr "คุณต้องเลือกประเภท" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:53 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:55 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:56 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:40 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:49 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:40 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:49 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:55 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:52 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:53 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:53 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:35 +msgid "This Menu item must have a title" +msgstr "เมนูนี้ต้องมีชื่อ" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Contact Category" +msgstr "รายการเมนู :: ตาราง - ประเภทของผู้ติดต่อ" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:90 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:90 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:92 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:90 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:91 +msgid "If you leave this blank the Category name will be automatically used" +msgstr "ถ้าคุณเว้นว่างไว้ชื่อประเภทจะถูกใช้แทนโดยอัตโนมัติ" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:97 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:96 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:88 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:99 +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:73 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:97 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:98 +msgid "Category:" +msgstr "ประเภท:" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Email Column" +msgstr "คอลัมน์ อีเมล" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Fax Column" +msgstr "คอลัมน์ โทรสาร" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Other Categories" +msgstr "ประเภทอื่น ๆ" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Position Column" +msgstr "คอลัมน์ ตำแหน่ง" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Email column" +msgstr "แสดง/ซ่อน คอลัมน์อีเมล" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Fax column" +msgstr "แสดง/ซ่อน คอลัมน์โทรสาร" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Position column" +msgstr "แสดง/ซ่อน คอลัมน์ตำแหน่ง" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Telephone column" +msgstr "แสดง/ซ่อน คอลัมน์โทรศัพท์" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Shows a Table view of Contact items for a particular Category" +msgstr "แสดงมุมมองตารางของผู้ติดต่ออย่างละเอียดในแต่ละประเภทของเนื้อหา" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Table - Contact Category" +msgstr "ตาราง - ประเภทของผู้ติดต่อ" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Telephone Column" +msgstr "คอลัมน์ โทรศัพท์" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "When viewing a Category, Show/Hide the list of other Categories" +msgstr "เมื่อดูประเภท, แสดง/ซ่อน รายการอื่น ๆ" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.class.php:30 +#: administrator/components/com_menus/content_archive_category/content_archive_category.class.php:30 +#: administrator/components/com_menus/content_archive_section/content_archive_section.class.php:29 +#: administrator/components/com_menus/content_blog_category/content_blog_category.class.php:31 +#: administrator/components/com_menus/content_blog_section/content_blog_section.class.php:31 +#: administrator/components/com_menus/content_category/content_category.class.php:31 +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:30 +#: administrator/components/com_menus/content_section/content_section.class.php:30 +#: administrator/components/com_menus/content_typed/content_typed.class.php:27 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php:31 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php:30 +#: administrator/components/com_menus/separator/separator.class.php:30 +#: administrator/components/com_menus/url/url.class.php:31 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php:31 +#: administrator/components/com_menus/wrapper/wrapper.class.php:30 +msgid "The module % is currently being edited by another administrator" +msgstr "โมดูล % กำลังแก้ไขโดยผู้ดูแลท่านอื่นอยู่" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:37 +msgid "You must select a Contact to link to" +msgstr "คุณจะต้องเลือกการติดต่อที่จะลิงก์" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:50 +msgid "Menu Item :: Link - Contact Item" +msgstr "รายการเมนู :: การเชื่อมโยง - รายการในบัญชีผู้ติดต่อ" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:74 +msgid "Contact to Link:" +msgstr "การติดต่อที่จะลิงก์:" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +msgid "Creates a link to a Published Contact Item" +msgstr "สร้างการเชื่อมโยงหนึ่ง ประกาศรายการในบัญชีผู้ติดต่อ" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +msgid "Link - Contact Item" +msgstr "การเชื่อมโยง - รายการในบัญชีผู้ติดต่อ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:68 +msgid "Menu Item :: Blog - Content Category Archive" +msgstr "รายการเมนู :: บล๊อก - ประเภทเนื้อหาเอกสารสำคัญ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Intro" +msgstr "จำนวนรายการในส่วนของเนื้อหาแนะนำ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Leading" +msgstr "จำนวนรายการในส่วนของเนื้อหานำ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Links" +msgstr "จำนวนรายการลิงก์" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Author Alphabetical" +msgstr "ผู้เขียนเรียงตามอักษร" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Author Names" +msgstr "ชื่อผู้เขียน" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Author Reverse-Alphabetical" +msgstr "ผู้เขียนเรียงตามอักษรย้อนกลับ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Auto" +msgstr "อัตโนมัติ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Blog - Content Category Archive" +msgstr "บล๊อก - ประเภทเนื้อหาเอกสารสำคัญ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Columns" +msgstr "จำนวนคอลัมน์ในส่วนของเนื้อหาแนะนำ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Created Date and Time" +msgstr "วันที่และเวลาที่สร้างเนื้อหา" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Default" +msgstr "ค่าเริ่มต้น" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Display {mosimages}." +msgstr "แสดง {mosimages}." + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Email Icon" +msgstr "ไอคอนอีเมล" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Item Rating" +msgstr "อัตราการเข้าชมเนื้อหา" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Item Title" +msgstr "ชื่อเรื่อง" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Least Hits" +msgstr "มีผู้เข้าชมน้อยที่สุด" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Linked Titles" +msgstr "ชื่อเนื้อหาเป็นลิงก์" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "MOSImages" +msgstr "MOSImages" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Make the Section text a link to the actual section page" +msgstr "กำหนดให้ส่วนของเนื้อหาเป็นลิงก์ไปยังหน้าของส่วนของเนื้อหา" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Make your Item titles linkable" +msgstr "กำหนดให้หัวข้อเนื้อหาเป็นลิงก์" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Modified Date and Time" +msgstr "วันที่และเวลาที่แก้ไขเนื้อหา" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Most Hits" +msgstr "มีผู้เข้าชมมากที่สุด" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Most recent first" +msgstr "ล่าสุดที่มีผู้ชมมาก" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "No" +msgstr "ไม่" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Number of Items to display as Links." +msgstr "จำนวนหัวข้อเนื้อหาที่ต้องการให้แสดงรายการแบบลิงก์." + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "" +"Number of Items to display as a leading (full width) item. 0 will mean that " +"no items will be displayed as leading." +msgstr "" +"จำนวนของรายการที่ต้องการแสดงในส่วนของเนื้อหานำ (กว้างเต็ม 100%). " +"หากไม่ต้องการให้มีรายการแสดงในส่วนนี้ให้กำหนดค่านี้เท่ากับศูนย์ 0." + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Number of Items to display with the introduction text shown." +msgstr "จำนวนรายการในส่วนของเนื้อหาแนะนำ ซึ่งเป็นส่วนที่อยู่ถัดลงมาจากเนื้อหานำ." + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Oldest first" +msgstr "ให้ความสำคัญแก่เนื้อหาเก่าสุดเป็นอันดับแรก" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Order by" +msgstr "เรียงลำดับโดย" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "PDF Icon" +msgstr "ไอคอน PDF" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Pagination" +msgstr "การใส่เลขหน้า" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Pagination Results" +msgstr "ผลลัพธ์การใส่เลขหน้า" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Print Icon" +msgstr "ไอคอนพิมพ์" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Read More" +msgstr "อ่านต่อ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Section Name" +msgstr "ชื่อหมวด" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Section Name Linkable" +msgstr "กำหนดให้ส่วนของเนื้อหาเป็นลิงก์" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide Pagination Results info ( e.g 1-4 of 4 )" +msgstr "แสดง/ซ่อน ผลลัพธ์การใส่เลขหน้า ( ตัวอย่างเช่น 1-4 จาก 4 )" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide Pagination support" +msgstr "แสดง/ซ่อน ระบบสนับสนุนการใส่เลขหน้า" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Read More link" +msgstr "แสดง/ซ่อน ลิงก์อ่านต่อ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Show/Hide the Section the item belongs to" +msgstr "แสดง/ซ่อน ส่วนของเนื้อหาให้ขึ้นอยู่กับ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item author - only affects this page" +msgstr "แสดง/ซ่อน ชื่อผู้แต่ง - มีผลเฉพาะเนื้อหานี้เท่านั้น" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item creation date - only affects this page" +msgstr "แสดง/ซ่อน วันที่และเวลาที่สร้างเนื้อหา - มีผลเฉพาะเนื้อหานี้เท่านั้น" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item email button - only affects this page" +msgstr "แสดง/ซ่อน ปุ่มสำหรับส่งเนื้อหาผ่านทางอีเมล - มีผลเฉพาะเนื้อหานี้เท่านั้น" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item modification date - only affects this page" +msgstr "แสดง/ซ่อน วันที่และเวลาที่แก้ไขเนื้อหา - มีผลเฉพาะเนื้อหานี้เท่านั้น" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item pdf button - only affects this page" +msgstr "แสดง/ซ่อน ปุ่มสำหรับแปลงเนื้อหาให้เป็นเอกสาร PDF - มีผลเฉพาะเนื้อหานี้เท่านั้น" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "แสดง/ซ่อน ปุ่มพิมพ์ - ให้มีผลสำหรับหน้านี้" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item rating - only affects this page" +msgstr "แสดง/ซ่อน อัตราการเข้าชม - มีผลเฉพาะเนื้อหานี้เท่านั้น" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the items title" +msgstr "แสดง/ซ่อน หัวข้อเนื้อหา" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Shows a listing of Content items archived for a particular category" +msgstr "แสดงรายการของเนื้อหาเอกสารสำคัญสำหรับแบ่งแยกออกเป็นประเภทอย่างละเอียด" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Text to display at the top of the page" +msgstr "ข้อความที่ต้องการแสดงในส่วนบนของหน้าเว็บเพจ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "This overrides the ordering of the items." +msgstr "ผ่านข้ามการเรียงลำดับของรายการในบัญชี." + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Title Alphabetical" +msgstr "หัวเรื่องเรียงตามอักษร" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Title Reverse-Alphabetical" +msgstr "หัวเรื่องเรียงตามอักษรย้อนกลับ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "When displaying the intro text, how many columns to use per row" +msgstr "กำหนดจำนวนคอลัมน์ต่อแถวในส่วนของเนื้อหาแนะนำ" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Yes" +msgstr "ใช่" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:39 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:39 +msgid "You must select a Section" +msgstr "คุณต้องเลือกหมวด" + +#. build the html select list for section +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:45 +#: administrator/components/com_menus/content_blog_section/content_blog_section.class.php:62 +msgid "All Sections" +msgstr "เลือก หมวดหมู่" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:70 +msgid "Menu Item :: Blog - Content Section Archive" +msgstr "รายการเมนู :: บล๊อก - หมวดเนื้อหาสำคัญ" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:92 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:90 +msgid "If you leave this blank the Section name will be automatically used" +msgstr "ถ้าคุณเว้นว่างไว้ชื่อหมวดจะถูกใช้แทนโดยอัตโนมัติ" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:98 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:88 +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:81 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:96 +msgid "Section:" +msgstr "หมวด:" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Blog - Content Section Archive" +msgstr "บล๊อก - หมวดเนื้อหาสำคัญ" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Name" +msgstr "ชื่อประเภท" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Name Linkable" +msgstr "กำหนดให้หมวดของเนื้อหาเป็นลิงก์" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Order" +msgstr "เรียงลำดับตามหมวดของเนื้อหา" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Make the Category text a link to the actual Category page" +msgstr "กำหนดให้หมวดของเนื้อหาเป็นลิงก์ไปยังหน้าของหมวดของเนื้อหา" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "No, order by Primary Order only" +msgstr "เรียงลำดับตามการเรียงลำดับหลักเท่านั้น" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Order items by catgeory" +msgstr "การเรียงลำดับตามหมวดของเนื้อหา" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Order that the items will be displayed in." +msgstr "จัดเรียงรายการที่แสดงอยู่." + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Primary Order" +msgstr "การเรียงลำดับหลัก" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Category the item belongs to" +msgstr "แสดง/ซ่อน หมวดของเนื้อหาให้ขึ้นอยู่กับ" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Shows a listing of Content items archived for a particular section" +msgstr "แสดงรายการของเนื้อหา ให้ความสำคัญสำหรับประเภทของเนื้อหาอย่างละเอียด" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:64 +msgid "Menu Item :: Blog - Content Category" +msgstr "รายการเมนู :: บล๊อก - ประเภทเนื้อหา" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:95 +msgid "You can select multiple Categories" +msgstr "คุณสามารถเลือกหลายประเภท" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +msgid "Blog - Content Category" +msgstr "บล๊อก - ประเภทเนื้อหา" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Description Image" +msgstr "คำอธิบายรูปภาพ" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +msgid "" +"Displays a page of content items from multiple categories in a blog format" +msgstr "แสดงหน้าของเนื้อหาจากหลาย ๆ ประเภทในรูปแบบบล๊อก" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Item Titles" +msgstr "หัวข้อเนื้อหา" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Category Description" +msgstr "แสดง/ซ่อน คำอธิบายของแต่ละประเภท" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Show/Hide the Page title" +msgstr "แสดง/ซ่อน หัวข้อของหน้าเว็บเพจ" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:64 +msgid "Menu Item :: Blog - Content Section" +msgstr "รายการเมนู :: บล๊อก - หมวดเนื้อหา" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:95 +msgid "You can select multiple Sections" +msgstr "คุณสามารถเลือกหลายหมวด" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Blog - Content Section" +msgstr "บล๊อก - หมวดเนื้อหา" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "" +"Displays a page of content items from multiple sections in a blog format" +msgstr "แสดงหน้าของเนื้อหาจากหลาย ๆ หมวดในรูปแบบบล๊อก" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Section Description" +msgstr "แสดง/ซ่อน หมวดคำอธิบาย" + +#: administrator/components/com_menus/content_category/content_category.menu.html.php:68 +msgid "Menu Item :: Table - Content Category" +msgstr "รายการเมนู :: ตาราง - ประเภทของเนื้อหา" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "10" +msgstr "10" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "15" +msgstr "15" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "20" +msgstr "20" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "25" +msgstr "25" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "30" +msgstr "30" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "5" +msgstr "5" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "50" +msgstr "50" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Author" +msgstr "ผู้เขียน" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Author Column" +msgstr "คอลัมน์ผู้แต่ง" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Date Column" +msgstr "คอลัมน์วันที่" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Date Format" +msgstr "รูปแบบวันที่" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Display Number" +msgstr "การแสดงตัวเลข" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Display Select" +msgstr "การแสดงการเลือก" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Empty Categories" +msgstr "ประเภทเนื้อหาว่างเปล่า" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Filter" +msgstr "ค้นหา" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Filter Field" +msgstr "ขอบเขตการค้นหา" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "His" +msgstr "ผู้ชม" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Hits Column" +msgstr "คอลัมน์นิยม" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Navigation Bar" +msgstr "แถบนำทางไปยังที่ต่าง ๆ" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Number of items to be displayed by default" +msgstr "ตัวเลขในรายการจะแสดงเป็นค่าเริ่มต้น" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Order Select" +msgstr "ลำดับการเลือก" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide empty(no items) categories" +msgstr "แสดง/ซ่อน ว่างเปล่า(ไม่มีรายการ) ประเภทของเนื้อหา" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Author column" +msgstr "แสดง/ซ่อน คอลัมน์ผู้แต่ง" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "" +"Show/Hide the Category Description, it will appear below the Category Name" +msgstr "แสดง/ซ่อน คำอธิบายประเภทของเนื้อหา" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Date column" +msgstr "แสดง/ซ่อน คอลัมน์วันที่" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Display Select dropdown" +msgstr "แสดง/ซ่อน การแสดงการเลือกด้านล่าง" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Filter ability" +msgstr "แสดง/ซ่อน ความสามารถของการค้นหา" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Show/Hide the Hits column" +msgstr "แสดง/ซ่อน จำนวนครั้งที่กดของคอลัมน์" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Navigation bar" +msgstr "แสดง/ซ่อน แถบนำทางไปยังที่ต่าง ๆ" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Order Select dropdown" +msgstr "แสดง/ซ่อน ลำดับการเลือกดรอบดาวน์" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Show/Hide the listing of other Categories" +msgstr "แสดง/ซ่อน รายการของเนื้อหาประเภทอื่น" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Shows a Table view of Content items for a particular Category" +msgstr "แสดงมุมมองตารางของเนื้อหาสำหรับแบ่งแยกออกเป็นประเภทอย่างละเอียด" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Table - Content Category" +msgstr "ตาราง - ประเภทของเนื้อหา" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "" +"The format of the date displayed, using PHPs strftime Command Format - if " +"left blank it will load the format from your language file" +msgstr "" +"รูปแบบวันที่ที่แสดง, ใช้ PHP ใช้ PHPs สตริงค์ของเวลาที่มีรูปแบบน่าเชื่อถือ - " +"ถ้าด้านซ้ายของมันว่างจะโหลดรูปแบบจากไฟล์ภาษา" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Title" +msgstr "ชื่อเรื่อง" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Which field shall the filter apply to" +msgstr "ซึ่งเป็นขอบเขตของการค้นหาให้ได้ประโยชน์" + +#. outputs item name, category & section instead of the select list +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:66 +msgid "Edit Content Item" +msgstr "แก้ไขรายการเนื้อหา" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:43 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:44 +msgid "You must select a Content to link to" +msgstr "คุณจะต้องเลือกเนื้อหาที่จะลิงก์" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:56 +msgid "Menu Item :: Link - Content Item" +msgstr "รายการเมนู :: การเชื่อมโยง - เนื้อหาในรายการ" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:80 +msgid "Content to Link:" +msgstr "ข้อความที่จะลิงก์:" + +#: administrator/components/com_menus/content_item_link/content_item_link.xml +msgid "Creates a link to a published Content Item in full view" +msgstr "สร้างการเชื่อมโยง ประกาศเนื้อหาในรายการในมุมมองเต็ม" + +#: administrator/components/com_menus/content_item_link/content_item_link.xml +msgid "Link - Content Item" +msgstr "การเชื่อมโยง - เนื้อหาในรายการ" + +#: administrator/components/com_menus/content_section/content_section.menu.html.php:68 +msgid "Menu Item :: Table - Content Section" +msgstr "รายการเมนู :: ตาราง - หมวดเนื้อหา" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Creates a listing of Content categories for a particular section" +msgstr "สร้างรายการประเภทของเนื้อหาสำหรับหมวดอย่างละเอียด" + +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Hits" +msgstr "ผู้ชม" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Section Title" +msgstr "หมวดของชื่อเรื่อง" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Category Description Image" +msgstr "แสดง/ซ่อน คำอธิบายรูปภาพแต่ละประเภท" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/hide the section title" +msgstr "แสดง/ซ่อน หมวดของชื่อเรื่อง" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Table - Content Section" +msgstr "ตาราง - หมวดเนื้อหา" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:57 +msgid "Menu Item :: Link - Static Content" +msgstr "รายการเมนู :: การเชื่อมโยง - เนื้อหาสเตติก" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:81 +msgid "Static Content:" +msgstr "เนื้อหาสเตติก:" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:95 +msgid "On Click, open:" +msgstr "เมื่อคลิกแล้วเปิดใน:" + +#: administrator/components/com_menus/content_typed/content_typed.xml +msgid "Creates a link to Static Content Item" +msgstr "สร้างรายการเชื่อมโยงถึงการใช้ร่วมกันของรายการในบัญชี" + +#: administrator/components/com_menus/content_typed/content_typed.xml +msgid "Link - Static Content" +msgstr "การเชื่อมโยง - เนื้อหาสเตติก" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:66 +msgid "Menu Item :: Table - News Feed Category" +msgstr "รายการเมนู :: ตาราง - ประเภท News Feed" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in /images" +msgstr "รูปขนาดเล็กจะถูกวางด้านซ้ายหรือขวาของเมนูแต่ละอัน, รูปภาพมักจะอยู่ใน /images" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Articles Column" +msgstr "คอลัมน์เนื้อหา" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Articles column" +msgstr "แสดง/ซ่อน คอลัมน์เนื้อหา" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Link column" +msgstr "แสดง/ซ่อน ลิงก์คอลัมน์" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Name column" +msgstr "แสดง/ซ่อน ชื่อคอลัมน์" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Shows a Table view of News Feed items for a particular Category" +msgstr "แสดงแบบตารางของรายการ News Feed จากประเภทที่ต้องการแสดง" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Table - News Feed Category" +msgstr "ตาราง - ประเภท News Feed" + +#. outputs item name, category & section instead of the select list +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php:60 +msgid "Item:" +msgstr "รายการ:" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:37 +msgid "You must select a News Feed to link to" +msgstr "คุณต้องเลือก News Feed ที่ต้องการทำลิงก์เพื่อเชื่อมต่อ" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:50 +msgid "Menu Item :: Link - News Feed" +msgstr "รายการเมนู :: ลิงก์ - News Feed" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:74 +msgid "News Feed to Link:" +msgstr "News Feed ที่จะเชื่อมโยง:" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Creates a link to an individual Published Newsfeed" +msgstr "สร้างการเชื่อมโยงถึงแต่ละอันเพื่อเผยแพร่ Newsfeed" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Link - Newsfeed" +msgstr "การเชื่อมโยง - Newsfeed" + +#: administrator/components/com_menus/separator/separator.menu.html.php:44 +msgid "Menu Item :: Separator / Placeholder" +msgstr "รายการเมนู :: เส้นขั้น / ตำแหน่งว่าง" + +#: administrator/components/com_menus/separator/separator.menu.html.php:60 +msgid "Pattern/Name:" +msgstr "รูปแบบ/ชื่อ:" + +#: administrator/components/com_menus/separator/separator.xml +msgid "Creates a menu placeholder or separator" +msgstr "สร้างเมนูเพื่อเว้นช่อง หรือสร้างเส้นขั้น" + +#: administrator/components/com_menus/separator/separator.xml +msgid "Separator / Placeholder" +msgstr "เส้นขั้น / ตำแหน่งว่าง" + +#: administrator/components/com_menus/toolbar.menus.html.php:22 +msgid "Next" +msgstr "ต่อไป" + +#: administrator/components/com_menus/toolbar.menus.html.php:35 +#: administrator/components/com_menus/toolbar.menus.html.php:100 +msgid "Move" +msgstr "ย้าย" + +#: administrator/components/com_menus/toolbar.menus.html.php:72 +msgid "Back" +msgstr "ก่อนหน้า" + +#: administrator/components/com_menus/url/url.menu.html.php:40 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:41 +msgid "You must provide a url." +msgstr "คุณต้องให้ url." + +#: administrator/components/com_menus/url/url.menu.html.php:51 +msgid "Menu Item :: Link - URL" +msgstr "รายการเมนู :: การเชื่อมโยง - Url" + +#: administrator/components/com_menus/url/url.menu.html.php:75 +msgid "Link:" +msgstr "ลิงก์:" + +#: administrator/components/com_menus/url/url.xml +msgid "Creates url link" +msgstr "สร้าง url การเชื่อมโยง" + +#: administrator/components/com_menus/url/url.xml +msgid "Link - Url" +msgstr "การเชื่อมโยง - Url" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Web Link Category" +msgstr "รายการเมนู :: ตาราง - ประเภทเว็บลิงก์" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Link Descriptions" +msgstr "คำอธิบายของการเชื่อมโยง" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Show/Hide the Description text of the Links" +msgstr "แสดง/ซ่อน คำอธิบายข้อความของการเชื่อมโยง" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Shows a Table view of Weblink items for a particular Weblink Category" +msgstr "แสดงมุมมองตารางของการเชื่อมโยงประเภทเว็บในรายการสำหรับประเภทการเชื่อมโยงเว็บอย่างละเอียด" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Table - Weblink Category" +msgstr "ตาราง - การเชื่อมโยงประเภทเว็บ" + +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:59 +msgid "Menu Item :: Wrapper" +msgstr "รายการเมนู :: แร็บเปอร์" + +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:83 +msgid "Wrapper Link:" +msgstr "ลิงก์แร็บเปอร์:" + +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Creates an IFrame that will wrap an external page/site into Mambo" +msgstr "สร้างแบบ IFrame จะแสดงหน้าเว็บจากภายนอกไว้ในเว็บไซต์แมมโบ้" + +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Wrapper" +msgstr "แร็บเปอร์" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:42 +#: administrator/components/com_menumanager/menumanager.xml +msgid "Menu Manager" +msgstr "การจัดการเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:53 +msgid "Menu Name" +msgstr "ชื่อเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:56 +msgid "Menu Items" +msgstr "รายการเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:59 +msgid "# Published" +msgstr "# เผยแพร่" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:62 +msgid "# Unpublished" +msgstr "# ไม่เผยแพร่" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:65 +msgid "# Trash" +msgstr "# ถังขยะ" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:68 +msgid "# Modules" +msgstr "# โมดูล" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:94 +msgid "Edit Menu Name" +msgstr "แก้ไขชื่อเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:99 +msgid "Edit Menu Items" +msgstr "แก้ไขรายการเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:156 +msgid "Please enter a menu name" +msgstr "โปรดใส่ชื่อเมนูที่ต้องการ" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:164 +msgid "Please enter a module name for your menu" +msgstr "โปรดใส่ชื่อโมดูลที่ต้องการ" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:182 +msgid "Menu Details" +msgstr "รายละเอียดของเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:190 +msgid "Menu Name:" +msgstr "ชื่อเมนู:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:205 +msgid "Module Title:" +msgstr "ชื่อโมดูลเมนู:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:195 +msgid "" +"This is the identification name used by mambo to identify this menu within " +"the code - it must be unique. It is recommended that you do not have any " +"spaces in your Menu Name" +msgstr "นี่เป็นการพิสูจน์ชื่อที่ใช้โดยแมมโบ ดังนั้นชื่อไม่ควรมีช่องว่าง และไม่ซ้ำกับชื่ออื่น" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:210 +msgid "Title of the mod_mainmenu module required to show this Menu" +msgstr "ชื่อของโมดูล mod_mainmenu ต้องการแสดงในเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:216 +msgid "" +"A new mod_mainmenu module, with the Title you have entered above will " +"automatically be created when you save this menu." +msgstr "" +"โมดูล mod_mainmenu ใหม่, ที่อยู่ในชื่อโมดูลที่คุณกรอกไว้จะถูกบันทึกโดยอัตโนมัติเมื่อคุณบันทึกเมนู." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:218 +msgid "Parameters for the module created are to be edited through the "Modules Manager [site]": Modules -> Site Modules" +msgstr "พารามิเตอร์สำหรับโมดูลที่สร้างขึ้น จะสามารถแก้ไขได้จากเมนู "การจัดการโมดูล [เว็บ]": โมดูล -> โมดูลเว็บ" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:266 +#, php-format +msgid "Delete Menu: %s" +msgstr "ลบเมนู: %s" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:279 +msgid "Module(s) being Deleted:" +msgstr "โมดูลถูกลบ:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:301 +msgid "Menu Items being Deleted:" +msgstr "รายการเมนูถูกลบ:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:321 +msgid "" +"This will Delete this " +"Menu,
      ALL its Menu Items and the Module(s) associated with it" +msgstr "" +"นี่จะเป็นการ ลบ เมนูนี้, " +"
      โปรดระวัง เมนูนี้อาจเชื่อมโยงกับเมนูอื่นอยู่" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:324 +msgid "" +"Are you sure you want to Delete this menu? \\nThis will Delete the Menu, its " +"Items and the Module(s)." +msgstr "คุณต้องการที่จะลบเมนูนี้หรือไม่? \\nระบบจะลบรายการเมนู และโมดูลของเมนูนี้ทั้งหมด." + +#: administrator/components/com_menumanager/admin.menumanager.html.php:325 +#: administrator/components/com_menumanager/admin.menumanager.html.php:326 +#: administrator/components/com_menumanager/toolbar.menumanager.html.php:28 +msgid "Delete" +msgstr "ลบ" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:356 +msgid "Please enter a name for the copy of the Menu" +msgstr "โปรดใส่ชื่อสำเนาของเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:359 +msgid "Please enter a name for the new Module" +msgstr "โปรดใส่ชื่อโมดูลใหม่" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:373 +msgid "Copy Menu" +msgstr "คัดลอกเมนู" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:383 +msgid "New Menu Name:" +msgstr "ชื่อเมนูใหม่:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:387 +msgid "New Module Name:" +msgstr "ชื่อโมดูลใหม่:" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:394 +msgid "Menu being copied:" +msgstr "กำลังคัดลอกเมนู:" + +#: administrator/components/com_menumanager/admin.menumanager.php:209 +msgid "" +"You cannot rename the \"mainmenu\" Menu as this will disrupt the proper " +"operation of Mambo" +msgstr "คุณไม่สามารถเปลี่ยนชื่อ \"เมนูหลัก\" เนื่องจากจะทำให้ Mambo ทำงานผิดพลาด" + +#: administrator/components/com_menumanager/admin.menumanager.php:225 +msgid "" +"A menu already exists with that name - you must enter a unique Menu Name" +msgstr "ชื่อเมนูนี้มีอยู่ในระบบแล้ว - กรุณาตั้งชื่อที่ไม่ซ้ำกับชื่อเมนูที่มีอยู่" + +#: administrator/components/com_menumanager/admin.menumanager.php:260 +#, php-format +msgid "New Menu created [ %s ]" +msgstr "สร้างเมนูใหม่ [ %s ]" + +#: administrator/components/com_menumanager/admin.menumanager.php:314 +msgid "Menu Items & Modules updated" +msgstr "รายการเมนูและโมดูลถูกปรับปรุง" + +#: administrator/components/com_menumanager/admin.menumanager.php:328 +#: administrator/components/com_menumanager/admin.menumanager.php:378 +msgid "You cannot delete the \"mainmenu\" menu as it is a core menu" +msgstr "คุณไม่สามารถลบ \"เมนูหลัก\" เนื่องจากเป็นเมนูหลักของแมมโบ้" + +#: administrator/components/com_menumanager/admin.menumanager.php:469 +msgid "" +"A menu with that name already exists - you must enter a unique Menu Name" +msgstr "ชื่อเมนูนี้มีอยู่ในระบบแล้ว - กรุณาตั้งชื่อที่ไม่ซ้ำกับชื่อเมนูที่มีอยู่" + +#: administrator/components/com_menumanager/admin.menumanager.php:527 +#, php-format +msgid "Copy of Menu `%s` created, consisting of %d item" +msgid_plural "Copy of Menu `%s` created, consisting of %d items" +msgstr[0] "คัดลอกเมนู `%s` สร้าง, ประกอบกับ %d" +msgstr[1] "คัดลอกเมนู `%s` สร้าง, ประกอบกับ %d" + +#: administrator/components/com_menumanager/menumanager.xml +msgid "This component manages your Menus." +msgstr "คอมโพเน้นท์นี้ใช้จัดการเมนูของคุณ." + +#: administrator/components/com_menumanager/toolbar.menumanager.html.php:48 +msgid "Save" +msgstr "บันทึก" + +#: administrator/components/com_media/admin.media.html.php:86 +#: administrator/components/com_media/media.xml +msgid "Media Manager" +msgstr "การจัดการไฟล์มีเดีย" + +#: administrator/components/com_media/admin.media.html.php:93 +msgid "Directory" +msgstr "ไดเรกทอรี่่" + +#: administrator/components/com_media/admin.media.html.php:114 +#: administrator/components/com_media/toolbar.media.html.php:27 +msgid "Upload" +msgstr "อัพโหลด" + +#: administrator/components/com_media/admin.media.html.php:117 +msgid "Max size" +msgstr "ขนาดสูงสุด" + +#: administrator/components/com_media/admin.media.html.php:121 +#: administrator/components/com_media/admin.media.html.php:214 +#: administrator/components/com_media/admin.media.html.php:283 +msgid "Code" +msgstr "โคด" + +#: administrator/components/com_media/admin.media.html.php:125 +msgid "Create Directory" +msgstr "สร้างไดเรกทอรี่่" + +#: administrator/components/com_media/admin.media.html.php:165 +msgid "No Images Found" +msgstr "ไม่พบรูป" + +#: administrator/components/com_media/admin.media.html.php:176 +#, php-format +msgid "Configuration Problem: " %s " does not exist." +msgstr "ปัญหาการตั้งค่า: " %s " ไม่มีอยู่." + +#: administrator/components/com_media/admin.media.html.php:272 +msgid "Insert your text here" +msgstr "ใส่ข้อความที่นี่" + +#: administrator/components/com_media/admin.media.html.php:371 +msgid "\"Delete file \\\"\"+file+\"\\\"?\"" +msgstr "\"ลบไฟล์ \\\"\"+file+\"\\\"?\"" + +#: administrator/components/com_media/admin.media.html.php:379 +msgid "" +"\"There are \"+numFiles+\" files/folders in \\\"\"+folder+\"\\\".\\n" +"\\nPlease delete all files/folder in \\\"\"+folder+\"\\\" first.\"" +msgstr "" +"\"มี \"+numFiles+\" ไฟล์/โฟลเดอร์ใน \\\"\"+folder+\"\\\".\\n\\nโปรดลบทุกไฟล์/" +"โฟลเดอร์ใน \\\"\"+folder+\"\\\" ก่อน.\"" + +#: administrator/components/com_media/admin.media.html.php:383 +msgid "\"Delete folder \\\"\"+folder+\"\\\"?\"" +msgstr "\"ลบโฟลเดอร์ \\\"\"+folder+\"\\\"?\"" + +#: administrator/components/com_media/admin.media.php:37 +msgid "NO HACKING PLEASE" +msgstr "กรุณาอย่าแฮก" + +#: administrator/components/com_media/admin.media.php:49 +msgid "" +"Directory creation not allowed while running in SAFE MODE as this can cause " +"problems." +msgstr "การสร้างไดเรกทอรี่่ไม่สามารถทำได้ขณะที่อยู่ในเซพโหมด เนื่องจากจะก่อให้เกิดปัญหาได้." + +#: administrator/components/com_media/admin.media.php:93 +msgid "" +"Directory name must only contain alphanumeric characters and no spaces " +"please." +msgstr "ชื่อไดเรกทอรี่ต้องใช้ตัวอักษรตัวเลข และห้ามมีช่องว่าง." + +#: administrator/components/com_media/admin.media.php:129 +msgid "Unable to delete: not empty!" +msgstr "ไม่สามารถลบ: ไม่ว่าง!" + +#: administrator/components/com_media/admin.media.php:161 +msgid "Upload FAILED. File already exists" +msgstr "การอัพโหลดล้มเหลว. มีไฟล์อยู่แล้ว" + +#: administrator/components/com_media/admin.media.php:165 +msgid "" +"Only files of type gif, png, jpg, bmp, pdf, swf, doc, xls or ppt can be " +"uploaded" +msgstr "เฉพาะไฟล์ gif, png, jpg, bmp, pdf, swf, doc, xls หรือ ppt จึงจะอัพโหลดได้" + +#: administrator/components/com_media/admin.media.php:169 +msgid "Upload FAILED" +msgstr "การอัพโหลดล้มเหลว" + +#: administrator/components/com_media/admin.media.php:173 +msgid "Upload complete" +msgstr "อัพโหลเรียบร้อย" + +#: administrator/components/com_media/media.xml +msgid "This component manages site media" +msgstr "คอมโพเน้นท์นี้ใช้จัดการไฟล์มีเดีย" + +#: administrator/components/com_media/toolbar.media.html.php:29 +msgid "Create" +msgstr "สร้าง" + +#: administrator/components/com_massmail/admin.massmail.html.php:32 +msgid "Please fill in the subject" +msgstr "โปรดใส่หัวข้อ" + +#: administrator/components/com_massmail/admin.massmail.html.php:34 +msgid "Please select a group" +msgstr "โปรดเลือกกลุ่ม" + +#: administrator/components/com_massmail/admin.massmail.html.php:36 +msgid "Please fill in the message" +msgstr "โปรดใส่ข้อความ" + +#: administrator/components/com_massmail/admin.massmail.html.php:47 +#: administrator/components/com_massmail/massmail.xml +msgid "Mass Mail" +msgstr "เมลกลุ่ม" + +#: administrator/components/com_massmail/admin.massmail.html.php:60 +msgid "Group:" +msgstr "กลุ่ม:" + +#: administrator/components/com_massmail/admin.massmail.html.php:68 +msgid "Mail to Child Groups:" +msgstr "ส่งเมลไปยังกลุ่มย่อยด้วย:" + +#: administrator/components/com_massmail/admin.massmail.html.php:76 +msgid "Send in HTML mode:" +msgstr "ส่งในรูปแบบ HTML:" + +#: administrator/components/com_massmail/admin.massmail.php:41 +msgid "- All User Groups -" +msgstr "- ผู้ใช้ทุกกลุ่ม -" + +#: administrator/components/com_massmail/admin.massmail.php:71 +msgid "Please fill in the form correctly" +msgstr "โปรดกรอกฟอร์มให้ถูกต้อง" + +#. Build e-mail message format +#: administrator/components/com_massmail/admin.massmail.php:94 +#, php-format +msgid "" +"This is an email from '%s'\n" +"\n" +"Message:\n" +msgstr "" +"ได้รับอีเมลจาก '%s'\n" +"\n" +"ข้อความ:\n" + +#: administrator/components/com_massmail/admin.massmail.php:105 +#, php-format +msgid "E-mail sent to %d user." +msgid_plural "E-mail sent to %d users." +msgstr[0] "ส่งเมลไป %d สมาชิก." +msgstr[1] "ส่งเมลไป %d สมาชิก." + +#: administrator/components/com_massmail/massmail.xml +msgid "This component allows you to send a mass email to certain user groups" +msgstr "คอมโพเน้นท์นี้ยอมให้คุณส่งอีเมลถึงกลุ่มผู้ใช้จำนวนหนึ่ง" + +#: administrator/components/com_massmail/toolbar.massmail.html.php:22 +msgid "Send Mail" +msgstr "ส่งเมล" + +#: administrator/components/com_mambots/admin.mambots.html.php:32 +msgid "Mambot Manager" +msgstr "การจัดการแมมบอท" + +#: administrator/components/com_mambots/admin.mambots.html.php:53 +msgid "Mambot Name" +msgstr "ชื่อแมมบอท" + +#: administrator/components/com_mambots/admin.mambots.html.php:74 +msgid "File" +msgstr "ไฟล์" + +#: administrator/components/com_mambots/admin.mambots.html.php:177 +msgid "Mambot must have a name" +msgstr "แมมบอทจะต้องมีชื่อ" + +#: administrator/components/com_mambots/admin.mambots.html.php:179 +msgid "Mambot must have a filename" +msgstr "แมมบอทจะต้องมีชื่อไฟล์" + +#: administrator/components/com_mambots/admin.mambots.html.php:188 +msgid "Site Mambot:" +msgstr "แมมบอทเว็บ:" + +#: administrator/components/com_mambots/admin.mambots.html.php:204 +msgid "Mambot Details" +msgstr "รายละเอียดแมมบอท" + +#: administrator/components/com_mambots/admin.mambots.html.php:217 +msgid "Folder:" +msgstr "โฟลเดอร์:" + +#: administrator/components/com_mambots/admin.mambots.html.php:225 +msgid "Mambot file:" +msgstr "ไฟล์แมมบอท:" + +#: administrator/components/com_mambots/admin.mambots.html.php:233 +msgid "Mambot Order:" +msgstr "ลำดับแมมบอท:" + +#: administrator/components/com_mambots/admin.mambots.html.php:283 +msgid "No Parameters" +msgstr "ไม่มี การส่งค่าพารามิเตอร์" + +#: administrator/components/com_mambots/admin.mambots.php:186 +#, php-format +msgid "Successfully Saved changes to Mambot: %s" +msgstr "บันทึกการเปลี่ยนแปลงของแมมบอทเรียบร้อย: %s" + +#: administrator/components/com_mambots/admin.mambots.php:191 +#, php-format +msgid "Successfully Saved Mambot: %s" +msgstr "การบันทึกแมมบอทเรียบร้อย: %s" + +#: administrator/components/com_mambots/admin.mambots.php:249 +msgid "This mambot cannot be reordered" +msgstr "แมมบอทนี้ไม่สามารถจัดลำดับอีกครั้ง" + +#: administrator/components/com_mambots/admin.mambots.php:271 +msgid "" +"New items default to the last place. Ordering can be changed after this item " +"is saved." +msgstr "ค่าเริ่มต้นของรายการใหม่อยู่ลำดับสุดท้าย. ลำดับสามารถแก้ไขได้ภายหลังจากบันทึกแล้ว." + +#: administrator/components/com_mambots/admin.mambots.php:309 +#, php-format +msgid "Select a mambot to %s" +msgstr "เลือกแมมบอทเพื่อ %s" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Login Image" +msgstr "การจัดเรียงตำแหน่งรูปภาพหน้าเข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Logout Image" +msgstr "การจัดเรียงตำแหน่งรูปภาพหน้าออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Contact Items" +msgstr "รายการข้อมูลการติดต่อ" + +#: administrator/components/com_login/login.xml +msgid "Image for the Login Page" +msgstr "รูปภาพหน้าเข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Image for the Logout Page" +msgstr "รูปภาพหน้าออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Login Description" +msgstr "รายละเอียดหน้าเข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Login Description Text" +msgstr "ข้อความแสดงรายละเอียดหน้าเข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Login Image" +msgstr "รูปภาพหน้าเข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Login Image Align" +msgstr "ตำแหน่งรูปภาพหน้าเข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Login JS Message" +msgstr "ข้อความ JS เข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Login Page Title" +msgstr "หัวข้อหน้าเข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Login Redirection URL" +msgstr "URLของเพจที่ต้องการเมื่อผ่านการเข้าสู่ระบบ" + +#: administrator/components/com_login/login.xml +msgid "Logout Description" +msgstr "รายละเอียดการออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Logout Description Text" +msgstr "ข้อความแสดงรายละเอียดการออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Logout Image" +msgstr "รูปภาพหน้าออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Logout Image Align" +msgstr "ตำแหน่งรูปภาพหน้าออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Logout JS Message" +msgstr "ข้อความ JS ออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Logout Page Title" +msgstr "หัวข้อหน้าออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Logout Redirection URL" +msgstr "URLของเพจที่ต้องการเมื่อผ่านการออกจากระบบ" + +#: administrator/components/com_login/login.xml +msgid "Parameters for individual Contact Items" +msgstr "พารามิเตอร์สำหรับรายการการติดต่อ" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Login Description below" +msgstr "แสดง/ซ่อน รายละเอียดหน้าเข้าสู่ระบบด้านล่างนี้" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Logout Description below" +msgstr "แสดง/ซ่อน รายละเอียดการออกจากระบบด้านล่างนี้" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Login Success" +msgstr "แสดง/ซ่อน พ็อพอัพjavascript ที่แสดงว่าเข้าสู่ระบบสำเร็จ" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Logout Success" +msgstr "แสดง/ซ่อน พ็อพอัพjavascript ที่แสดงว่าออกจากระบบสำเร็จ" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the login Page, if left blank _LOGIN_DESCRIPTION will be " +"used" +msgstr "" +"ข้อความที่ต้องการแสดงในหน้าเข้าสู่ระบบหากไม่ระบุระบบจะโหลดข้อมูลมาจาก _LOGIN_DESCRIPTION" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the logout Page, if left blank _LOGOUT_DESCRIPTION will " +"be used" +msgstr "" +"ข้อความที่ต้องการแสดงในหน้าออกจากระบบ หากไม่ระบุระบบจะโหลดข้อมูลมาจาก " +"_LOGOUT_DESCRIPTION" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will be redirected to after logout, if let blank will load front " +"page" +msgstr "" +"กำหนดหน้าเพจที่ต้องการหลังจากออกจากระบบ หากไม่ระบุระบบจะเชื่อมกลับไปยังเว็บเพจหน้าแรก" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will the login redirect to after login, if let blank will load " +"front page" +msgstr "" +"กำหนดหน้าเพจที่ต้องการหลังจากเข้าสู่ระบบเข้าสู่ระบบ, " +"หากไม่ระบุระบบจะเชื่อมกลับไปยังเว็บเพจหน้าแรก" + +#: components/com_login/login.html.php:56 +msgid "Username" +msgstr "ชื่อสมาชิก" + +#: components/com_login/login.html.php:60 +msgid "Password" +msgstr "รหัสผ่าน" + +#: components/com_login/login.html.php:75 +msgid "Remember me" +msgstr "จำข้อมูลการล็อกอิน" + +#: components/com_login/login.html.php:79 +msgid "Password Reminder" +msgstr "ลืมรหัสผ่าน?" + +#: components/com_login/login.html.php:85 +msgid "No account yet?" +msgstr "ยังไม่ได้ลงทะเบียน?" + +#: components/com_login/login.html.php:87 +msgid "Create one" +msgstr "ลงทะเบียนใหม่" + +#: components/com_login/login.html.php:99 +msgid "Login" +msgstr "เข้าสู่ระบบ" + +#: components/com_login/login.html.php:107 +msgid "!Warning! Javascript must be enabled for proper operation." +msgstr "!คำเตือน! จาวาสคริป ไม่ได้เปิดใช้งาน." + +#: components/com_login/login.html.php:160 +msgid "Logout" +msgstr "ออกจากระบบ" + +#: components/com_login/login.php:40 +msgid "To access the Private areas of this site please Login" +msgstr "ส่วนนี้สำหรับสมาชิกเท่านั้น" + +#: components/com_login/login.php:41 +msgid "You are now Logged in to a private area of this site" +msgstr "คุณต้องการที่จะออกจากระบบแล้ว!" + +#: administrator/components/com_languages/actions/default.action.php:25 +msgid "Default Language succesfully updated!" +msgstr "ภาษาพื้นฐานถูกปรับปรุงเป็นผลสำเร็จ!" + +#: administrator/components/com_languages/actions/default.action.php:27 +#: administrator/components/com_languages/actions/publish.action.php:40 +msgid "Error! Make sure that configuration.php is writeable." +msgstr "ผิดพลาด! แน่ใจแล้วหรือยังว่า configuration.php สามารถเขียนได้" + +#: administrator/components/com_languages/actions/publish.action.php:38 +msgid "Configuration succesfully updated!" +msgstr "การตั้งค่าได้ถูกปรับปรุงแล้ว!" + +#: administrator/components/com_languages/toolbar.languages.php:42 +#: administrator/components/com_languages/toolbar.languages.php:67 +msgid "Translate Strings" +msgstr "แปลสตริง" + +#: administrator/components/com_languages/toolbar.languages.php:45 +msgid "Auto Translate" +msgstr "แปลอัตโนมัติ" + +#: administrator/components/com_languages/toolbar.languages.php:69 +msgid "Export" +msgstr "ส่งออก" + +#: administrator/components/com_languages/toolbar.languages.php:94 +msgid "Extract Strings" +msgstr "แยกสตริง" + +#. +#: administrator/components/com_languages/toolbar.languages.php:96 +msgid "Update" +msgstr "แก้ไข" + +#: administrator/components/com_languages/views/edit.view.php:28 +#: administrator/components/com_languages/views/edit.view.php:43 +#: administrator/components/com_languages/views/templates/langform.tpl.php:106 +#: administrator/components/com_languages/views/templates/langform.tpl.php:153 +#: administrator/components/com_languages/views/templates/languages.tpl.php:21 +msgid "Language" +msgstr "ภาษา" + +#: administrator/components/com_languages/views/edit.view.php:28 +msgid "New language" +msgstr "สร้างภาษาใหม่" + +#: administrator/components/com_languages/views/edit.view.php:43 +msgid "Edit language" +msgstr "แก้ไขภาษา" + +#: administrator/components/com_languages/views/edit.view.php:72 +#, php-format +msgid "Translate Catalog: %s [%s]" +msgstr "แปลสมุดรายชื่อ: %s [%s]" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:21 +msgid "Language File" +msgstr "ไฟล์ภาษา" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:22 +msgid "% Translated" +msgstr "แปลไปแล้ว %" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:23 +msgid "Total Strings" +msgstr "สตริงทั้งหมด" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:24 +msgid "Translated Strings" +msgstr "สตริงที่แปลแล้ว" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:25 +msgid "Fuzzy" +msgstr "อื่นๆ" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:11 +msgid "You must provide a Language Name." +msgstr "คุณต้องเลือกชื่อภาษา." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:13 +msgid "You must provide a Language Identifier." +msgstr "คุณต้องเลือกผู้ใช้งานภาษา." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:15 +msgid "You must provide a locale." +msgstr "คุณต้องเลือกประเทศ." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:17 +msgid "You must provide a character encoding." +msgstr "คุณต้องเลือกที่เข้ารหัสตัวอักษร." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:19 +msgid "You must provide a date format." +msgstr "คุณต้องเลือกรูปแบบวันที่." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:33 +msgid "New Language" +msgstr "สร้างภาษาใหม่" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:43 +msgid "Language Identifier" +msgstr "ผู้ใช้งานภาษา" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:46 +msgid "" +"The identifier for this language. This is used for naming the language xml " +"file and translations directory." +msgstr "ผู้ใช้ที่จะใช้งานภาษา. สิ่งนี้จะถูกตั้งเป็นชื่อไฟล์ xml และไดเรกทอรี่ที่เก็บไฟล์แปล." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:50 +msgid "Language Name" +msgstr "ชื่อภาษา" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:53 +msgid "The official name for this language" +msgstr "ชื่อเป็นทางการสำหรับภาษานี้" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:57 +msgid "Locale" +msgstr "ภาษา" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:60 +msgid "" +"The locale list for this language. \\nLocale names must be comma separated." +msgstr "รายการประเทศของภาษา. \\nชื่อประเทศจำเป็นต้องมีจุดจุลภาค." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:64 +msgid "Encoding" +msgstr "การเข้ารหัส" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:67 +msgid "The character encoding for this language. Ex. utf-8" +msgstr "ตัวอักษรที่เข้ารหัสสำหรับภาษานี้. เช่น. utf-8" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:71 +msgid "Direction" +msgstr "ทิศทาง" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:74 +msgid "Left-to-Right" +msgstr "ซ้าย-ไป-ขวา" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:75 +msgid "Right-to-Left" +msgstr "ขวา-ไป-ซ้าย" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:77 +msgid "Text direction." +msgstr "ทิศทางข้อความ." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:84 +#: administrator/components/com_languages/views/templates/langform.tpl.php:233 +msgid "Date format for strftime()." +msgstr "รูปแบบวันที่สำหรับ strftime()." + +#: administrator/components/com_languages/views/templates/edit.tpl.php:88 +msgid "Plural forms" +msgstr "รูปแบบพหูพจน์" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:91 +msgid "Plural forms for gettext." +msgstr "รูปแบบพหูพจน์สำหรับ gettext." + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:18 +msgid "Messages" +msgstr "ข้อความ" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:23 +msgid "Verified" +msgstr "พิสูจน์" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:26 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:114 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:121 +msgid "Original" +msgstr "ต้นฉบับ" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:29 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:116 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:125 +msgid "Translation" +msgstr "การแปล" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:32 +msgid "Ref" +msgstr "Ref" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:55 +msgid "Translation OK" +msgstr "ยืนยันการแปล" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:55 +msgid "Verify Translation" +msgstr "พิสูจน์การแปล" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:86 +msgid "Headers" +msgstr "หัวข้อ" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:100 +msgid "Comments" +msgstr "ข้อความ" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:122 +msgid "Singular" +msgstr "ยอดเยี่ยม" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:123 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:132 +msgid "Plural" +msgstr "พหูพจน์" + +#: administrator/components/com_languages/views/templates/form.tpl.php:39 +msgid "Mambo Language Editor" +msgstr "เอดิเตอร์ภาษาแมมโบ้" + +#: administrator/components/com_languages/views/templates/form.tpl.php:44 +msgid "Select Language" +msgstr "เลือกภาษา" + +#. +#: administrator/components/com_languages/views/templates/form.tpl.php:54 +msgid "No content to display." +msgstr "ไม่มีเนื้อหาที่จะแสดง." + +#: administrator/components/com_languages/views/templates/langform.tpl.php:10 +msgid "You must choose a language." +msgstr "คุณต้องเลือกภาษา." + +#: administrator/components/com_languages/views/templates/langform.tpl.php:12 +msgid "You must choose a character set." +msgstr "คุณต้องเลือกการตั้งค่าตัวอักษร" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:33 +#: administrator/components/com_languages/views/templates/langform.tpl.php:109 +msgid "choose language" +msgstr "เลือกภาษา" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:40 +#: administrator/components/com_languages/views/templates/langform.tpl.php:120 +msgid "choose territory" +msgstr "เลือกอาณาเขต" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:41 +msgid "choose character set" +msgstr "เลือกการตั้งค่าตัวอักษร" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:117 +#: administrator/components/com_languages/views/templates/langform.tpl.php:161 +msgid "Territory" +msgstr "อาณาเขต" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:125 +#: administrator/components/com_languages/views/templates/langform.tpl.php:169 +#: administrator/components/com_languages/views/templates/languages.tpl.php:24 +msgid "Character Set" +msgstr "การตั้งค่าตัวอักษร" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:128 +msgid "choose charset" +msgstr "เลือก charset" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:175 +msgid "Convert to" +msgstr "แปลงเป็น" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:199 +#: administrator/components/com_languages/views/templates/table.tpl.php:32 +msgid "Author Email" +msgstr "อีเมลผู้สร้าง" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:205 +msgid "Author Url" +msgstr "Url ผู้สร้าง" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:211 +msgid "Text Direction" +msgstr "ทิศทางข้อความ" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:214 +msgid "left to right" +msgstr "ซ้าย ไป ขวา" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:215 +msgid "right to left" +msgstr "ขวา ไป ซ้าย" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:220 +msgid "Plural Forms" +msgstr "รูปแบบพหูพจน์" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:237 +msgid "Locales" +msgstr "ประเทศ" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:240 +msgid "" +"The locale list for setlocale(). \\nLocale names must be comma separated." +msgstr "แสดงรายการประเทศสำหรับ setlocale(). \\nชื่อประเทศจำเป็นต้องตามด้วยจุดจุลภาค." + +#: administrator/components/com_languages/views/templates/langform.tpl.php:244 +msgid "Days" +msgstr "วัน" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:258 +msgid "Months" +msgstr "เดือน" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:6 +msgid "You cannot delete English." +msgstr "คุณไม่สามารถลบอังกฤษ." + +#: administrator/components/com_languages/views/templates/languages.tpl.php:22 +msgid "Country - Region" +msgstr "ประเทศ - บริเวณ" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:25 +#: administrator/components/com_languages/views/templates/table.tpl.php:23 +msgid "Version" +msgstr "เวอร์ชัน" + +#: administrator/components/com_languages/views/templates/table.tpl.php:4 +msgid "Language Manager" +msgstr "การจัดการภาษา" + +#: administrator/components/com_languages/views/templates/table.tpl.php:17 +msgid "Languages" +msgstr "ภาษา" + +#: administrator/components/com_installer/admin.installer.html.php:20 +msgid "Unwriteable" +msgstr "ไม่สามารถเขียนทับได้" + +#: administrator/components/com_installer/admin.installer.html.php:20 +msgid "Writeable" +msgstr "สามารถเขียนทับได้" + +#: administrator/components/com_installer/admin.installer.html.php:37 +#: administrator/components/com_installer/admin.installer.php:154 +msgid "Please select a directory" +msgstr "โปรดเลือกไดเรกทอรี่" + +#: administrator/components/com_installer/admin.installer.html.php:58 +msgid "Upload Package File" +msgstr "อัพโหลดแพคเกจไฟล์" + +#: administrator/components/com_installer/admin.installer.html.php:63 +msgid "Package File:" +msgstr "แพคเกจไฟล์:" + +#: administrator/components/com_installer/admin.installer.html.php:65 +msgid "Upload File & Install" +msgstr "อัพโหลดไฟล์ & ติดตั้ง" + +#: administrator/components/com_installer/admin.installer.html.php:85 +msgid "Install from directory" +msgstr "ติดตั้งจากไดเรกทอรี่" + +#: administrator/components/com_installer/admin.installer.html.php:90 +msgid "Install directory:" +msgstr "ติดตั้งไดเรกทอรี่:" + +#: administrator/components/com_installer/admin.installer.html.php:92 +msgid "Install" +msgstr "ติดตั้ง" + +#: administrator/components/com_installer/admin.installer.html.php:112 +msgid "Install from HTTP URL" +msgstr "ติดตั้งจาก HTTP URL" + +#: administrator/components/com_installer/admin.installer.html.php:117 +msgid "Install HTTP URL:" +msgstr "ติดตั้ง HTTP URL:" + +#: administrator/components/com_installer/admin.installer.html.php:119 +msgid "Upload URL & Install" +msgstr "อัพโหลด URL & ติดตั้ง" + +#: administrator/components/com_installer/admin.installer.html.php:136 +msgid "Sorry, it seems that The Source is not available" +msgstr "เสียใจ, ต้นฉบับของไฟล์ที่ให้มาไม่ถูกต้อง" + +#: administrator/components/com_installer/admin.installer.html.php:190 +msgid "Continue ..." +msgstr "ทำต่อ ..." + +#. * +#. * @package Mambo Open Source +#. * @subpackage Installer +#. * @copyright (C) 2005 - 2006 Mambo Foundation Inc. +#. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +#. * +#. * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure +#. * that Mambo remained free Open Source software owned and managed by the community. +#. * Mambo is Free Software +#. +#. * ensure this file is being included by a parent file +#: administrator/components/com_installer/admin.installer.php:14 +msgid "Direct Access to this location is not allowed." +msgstr "ไม่อนุญาตให้เข้าถึงตำแหน่งนี้โดยตรง." + +#: administrator/components/com_installer/admin.installer.php:67 +msgid "There was nothing selected to be uninstalled" +msgstr "คุณต้องเลือกก่อนรายการที่จะลบ" + +#: administrator/components/com_installer/admin.installer.php:69 +#, php-format +msgid "Uninstaller not found for element [%s]" +msgstr "การลบไม่สามารถค้นพบไฟล์ [%s]" + +#: administrator/components/com_installer/admin.installer.php:78 +#, php-format +msgid "Installer not found for element [%s]" +msgstr "การติดตั้งไม่สามารถค้นพบไฟล์ [%s]" + +#: administrator/components/com_installer/admin.installer.php:84 +#, php-format +msgid "Installer not available for element [%s]" +msgstr "ไม่มีส่วนประกอบที่จะติดตั้ง [%s]" + +#: administrator/components/com_installer/admin.installer.php:109 +msgid "" +"The installer can't continue before file uploads are enabled. Please use the " +"install from directory method." +msgstr "" +"การติดตั้งทำต่อไม่ได้ ต้องตั้งค่าการอัพโหลดไฟล์ให้ใช้ได้ก่อน. ควรใช้การติดตั้ง " +"จากไดเรกทอรี่ที่มีให้." + +#: administrator/components/com_installer/admin.installer.php:110 +#: administrator/components/com_installer/admin.installer.php:117 +#: administrator/components/com_installer/admin.installer.php:180 +#: administrator/components/com_installer/admin.installer.php:187 +msgid "Installer - Error" +msgstr "ติดตั้ง - ผิดพลาด" + +#: administrator/components/com_installer/admin.installer.php:116 +#: administrator/components/com_installer/admin.installer.php:173 +msgid "The installer can't continue before zlib is installed" +msgstr "การติดตั้งทำต่อไม่ได้ ต้องให้ zlib ถูกติดตั้งก่อน" + +#: administrator/components/com_installer/admin.installer.php:124 +msgid "No file selected" +msgstr "ไม่มีไฟล์ที่ถูกเลือก" + +#: administrator/components/com_installer/admin.installer.php:125 +msgid "Upload new module - error" +msgstr "อัพโหลดโมดูลใหม่ - ผิดพลาด" + +#: administrator/components/com_installer/admin.installer.php:135 +#, php-format +msgid "Upload %s - Upload Failed" +msgstr "อัพโหลด %s - อัพโหลด ไม่สำเร็จ" + +#: administrator/components/com_installer/admin.installer.php:140 +#: administrator/components/com_installer/admin.installer.php:193 +#: administrator/components/com_installer/admin.installer.php:198 +msgid "Failed" +msgstr "ไม่สำเร็จ" + +#: administrator/components/com_installer/admin.installer.php:140 +#: administrator/components/com_installer/admin.installer.php:163 +#: administrator/components/com_installer/admin.installer.php:198 +#: administrator/components/com_installer/admin.installer.php:297 +#: administrator/components/com_installer/admin.installer.php:310 +#: administrator/components/com_installer/admin.installer.php:344 +#: administrator/components/com_installer/admin.installer.php:387 +#: administrator/components/com_installer/admin.installer.php:413 +#: administrator/components/com_installer/admin.installer.php:432 +msgid "Success" +msgstr "สำเร็จ" + +#: administrator/components/com_installer/admin.installer.php:140 +#: administrator/components/com_installer/admin.installer.php:193 +#: administrator/components/com_installer/admin.installer.php:198 +#: administrator/components/com_installer/admin.installer.php:201 +msgid "Upload " +msgstr "อัพโหลด" + +#: administrator/components/com_installer/admin.installer.php:143 +#, php-format +msgid "Upload %s - Upload Error" +msgstr "อัพโหลด %s - อัพโหลด ผิดพลาด" + +#: administrator/components/com_installer/admin.installer.php:163 +#: administrator/components/com_installer/admin.installer.php:201 +#: administrator/components/com_installer/admin.installer.php:297 +#: administrator/components/com_installer/admin.installer.php:344 +#: administrator/components/com_installer/admin.installer.php:387 +#: administrator/components/com_installer/admin.installer.php:432 +msgid "Error" +msgstr "ผิดพลาด" + +#: administrator/components/com_installer/admin.installer.php:163 +msgid "Install new " +msgstr "ติดตั้ง" + +#: administrator/components/com_installer/admin.installer.php:179 +msgid "Please select an HTTP URL" +msgstr "โปรดเลือก HTTP URL" + +#: administrator/components/com_installer/admin.installer.php:186 +msgid "The URL did not define a file name" +msgstr "URL ไม่สามารถค้นพบชื่อไฟล์" + +#: administrator/components/com_installer/admin.installer.php:220 +#: administrator/components/com_installer/admin.installer.php:253 +msgid "Failed to change the permissions of the uploaded file." +msgstr "เกิดข้อผิดพลาดในการอัพโหลดไฟล์ ไม่ได้แก้ไขสิทธิ." + +#: administrator/components/com_installer/admin.installer.php:223 +msgid "Failed to move uploaded file to /media directory." +msgstr "ไม่สามารถย้ายไฟล์ไปยัง /media ไดเรกทอรี่." + +#: administrator/components/com_installer/admin.installer.php:226 +#: administrator/components/com_installer/admin.installer.php:259 +msgid "Upload failed as /media directory is not writable." +msgstr "อัพโหลดไม่สำเร็จ /media ไดเรกทอรี่ไม่สามารถเขียนทับได้." + +#: administrator/components/com_installer/admin.installer.php:229 +#: administrator/components/com_installer/admin.installer.php:261 +msgid "Upload failed as /media directory does not exist." +msgstr "อัพโหลดไม่สำเร็จ /media ไม่พบไดเรกทอรี่." + +#: administrator/components/com_installer/admin.installer.php:255 +msgid "Failed to open the local file from the URL." +msgstr "เกิดข้อผิดพลาดในการเปิดไฟล์ผ่านทาง URL." + +#: administrator/components/com_installer/admin.installer.php:257 +msgid "Failed to open the specified URL." +msgstr "ไม่สามารถเปิดผ่านทาง URL ได้." + +#: administrator/components/com_installer/admin.installer.php:278 +#: administrator/components/com_installer/admin.installer.php:362 +#: administrator/components/com_installer/admin.installer.php:368 +#: administrator/components/com_installer/admin.installer.php:373 +#: administrator/components/com_installer/admin.installer.php:437 +msgid "Uninstall - error" +msgstr "การลบ - มีข้อผิดพลาด" + +#: administrator/components/com_installer/admin.installer.php:282 +#, php-format +msgid "" +"Component %s is a core component, and can not be uninstalled.
      You need " +"to unpublish it if you don't want to use it" +msgstr "" +"คอมโพเน้นท์ %s คือคอมโพเน้นท์แกนหลัก, และไม่สามารถถูกลบออกได้.< br /" +">หากคุณไม่ต้องการใช้มัน คุณสามารถทำให้ไม่เผยแพร่ได้่" + +#: administrator/components/com_installer/admin.installer.php:297 +msgid "Uninstall component - " +msgstr "ลบคอมโพเน้นท์ - " + +#: administrator/components/com_installer/admin.installer.php:309 +msgid "Uninstaller could not find XML file, but cleaned database" +msgstr "การลบไฟล์ไม่สามารถค้นพบไฟล์ XML, เนื่องจากฐานข้อมูลว่างเปล่า" + +#: administrator/components/com_installer/admin.installer.php:310 +msgid "Uninstall " +msgstr "การลบ" + +#: administrator/components/com_installer/admin.installer.php:310 +msgid "component - " +msgstr "คอมโพเน้นท์ - " + +#: administrator/components/com_installer/admin.installer.php:328 +#, php-format +msgid "" +"%s is a core module, and can not be uninstalled.
      You need to unpublish " +"it if you don't want to use it" +msgstr "" +"%s คือโมดูลแกนหลัก, และไม่สามารถถูกลบออกได้.< br />หากคุณไม่ต้องการใช้มัน " +"คุณสามารถทำให้ไม่เผยแพร่ได้่" + +#: administrator/components/com_installer/admin.installer.php:344 +msgid "Uninstall module - " +msgstr "ลบโมดูล - " + +#: administrator/components/com_installer/admin.installer.php:367 +msgid "Invalid object id" +msgstr "id วัตถุไม่สมบูรณ์" + +#: administrator/components/com_installer/admin.installer.php:372 +msgid "Folder field empty, cannot remove files" +msgstr "ส่วนพื้นในโฟลเดอร์ว่างเปล่า, ไม่สามารถลบไฟล์ได้" + +#: administrator/components/com_installer/admin.installer.php:385 +msgid "Uninstaller did its best with no XML file present" +msgstr "การลบที่ดีที่สุดควรจะมีไฟล์ XML แสดงอยู่ด้วย" + +#: administrator/components/com_installer/admin.installer.php:387 +msgid "Uninstall mambot - " +msgstr "ลบแมมบอท - " + +#: administrator/components/com_installer/admin.installer.php:412 +msgid "Uninstall template - " +msgstr "ลบเทมเพลต - " + +#: administrator/components/com_installer/admin.installer.php:432 +msgid "Uninstall language - " +msgstr "ลบภาษา - " + +#: administrator/components/com_installer/admin.installer.php:436 +msgid "Language id empty, cannot remove files" +msgstr "ไม่มีภาษาติดตั้ง, ไม่สามารถลบไฟล์ได้" + +#: administrator/components/com_installer/component/component.html.php:28 +msgid "Installed Components" +msgstr "ติดตั้งคอมโพเน้นท์" + +#: administrator/components/com_installer/component/component.html.php:36 +msgid "Currently Installed" +msgstr "กำลังติดตั้ง" + +#: administrator/components/com_installer/component/component.html.php:39 +msgid "Component Menu Link" +msgstr "เมนูลิงก์ คอมโพเน้นท์" + +#: administrator/components/com_installer/component/component.html.php:54 +#: administrator/components/com_installer/mambot/mambot.html.php:67 +#: administrator/components/com_installer/module/module.html.php:63 +msgid "Author URL" +msgstr "URL ผู้สร้าง" + +#: administrator/components/com_installer/component/component.html.php:94 +msgid "There are no custom components installed" +msgstr "ไม่มีการติดตั้งคอมโพเน้นท์" + +#: administrator/components/com_installer/installer.class.php:58 +#, php-format +msgid "XML error in %s: no handler %s" +msgstr "พบข้อผิดพลาด XML ใน %s: ไม่สามารถจัดการ %s" + +#: administrator/components/com_installer/installer.class.php:60 +#, php-format +msgid "XML error in %s: mosinstall has no type" +msgstr "พบข้อผิดพลาด XML ใน %s: mosinstall ไม่รู้จักชนิด" + +#: administrator/components/com_installer/installer.class.php:65 +#, php-format +msgid "XML Error in %s: install has no name" +msgstr "พบข้อผิดพลาด XML ใน %s: ไม่มีชื่อที่ใช้่ติดตั้ง" + +#: administrator/components/com_installer/installer.class.php:92 +#, php-format +msgid "XML error in %s: MENU found, but this is not component XML" +msgstr "พบข้อผิดพลาด XML ใน %s: ไม่ค้นพบเมนู, โดยสิ่งนี้ไม่ใช่ส่วนประกอบ XML " + +#: administrator/components/com_installer/installer.class.php:129 +#, php-format +msgid "XML Error in %s: Mambot does not have a group specified" +msgstr "พบข้อผิดพลาด XML ใน %s: แมมบอทไม่เจอมีกลุ่มที่ต้องการ" + +#: administrator/components/com_installer/installer.class.php:160 +#, php-format +msgid "XML error in %s: no installer %s" +msgstr "พบข้อผิดพลาด XML ใน %s: ไม่สามารถติดตั้ง %s" + +#: administrator/components/com_installer/installer.class.php:178 +#, php-format +msgid "Installer error with %s: unable to create admin directory for %s %s" +msgstr "การติดตั้งข้อผิดพลาดด้วย %s: ไม่สามารถจัดการสร้างไดเรกทอรี่ผู้ดูแลเพื่อ %s %s" + +#: administrator/components/com_installer/installer.class.php:185 +#, php-format +msgid "Installer error with %s: unable to create user directory for %s %s" +msgstr "การติดตั้งข้อผิดพลาดด้วย %s: ไม่สามารถจัดการสร้างไดเรกทอรี่ผู้ใช้เพื่อ %s %s" + +#: administrator/components/com_installer/installer.class.php:211 +#, php-format +msgid "Installer error with %s: writing component menu SQL error %s" +msgstr "การติดตั้งข้อผิดพลาดด้วย %s: การเขียนเมนูส่วนประกอบ SQL เกิดข้อผิดพลาด %s" + +#: administrator/components/com_installer/installer.class.php:223 +#: administrator/components/com_installer/installer.class.php:270 +#: administrator/components/com_installer/installer.class.php:307 +#: administrator/components/com_installer/installer.class.php:335 +#: administrator/components/com_installer/installer.class.php:377 +#, php-format +msgid "Installer error with %s: %s %s already installed" +msgstr "การติดตั้งข้อผิดพลาดด้วย %s: %s %s ติดตั้งเสร็จเรียบร้อย" + +#: administrator/components/com_installer/installer.class.php:239 +#: administrator/components/com_installer/installer.class.php:292 +#: administrator/components/com_installer/installer.class.php:326 +#: administrator/components/com_installer/installer.class.php:388 +#, php-format +msgid "Installer error with %s: %s %s SQL error %s" +msgstr "การติดตั้งข้อผิดพลาดด้วย %s: %s %s SQL เกิดข้อผิดพลาด %s" + +#: administrator/components/com_installer/installer.class.php:261 +#: administrator/components/com_installer/installer.class.php:299 +#, php-format +msgid "Installer error with %s: no file identified as the %s" +msgstr "การติดตั้งข้อผิดพลาดด้วย %s: ไม่มีไฟล์ที่ระบุเป็น %s" + +#: administrator/components/com_installer/installer.class.php:400 +#, php-format +msgid "Patch install error with %s: cannot write %s" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: ไม่สามารถเขียน %s" + +#: administrator/components/com_installer/installer.class.php:406 +#, php-format +msgid "Patch install error with %s: cannot delete %s" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: ไม่สามารถลบ %s" + +#: administrator/components/com_installer/installer.class.php:411 +#, php-format +msgid "Patch install error with %s: file permissions prevent patch application" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: การยินยอมของไฟล์ป้องกันโปรแกรมแพ็ช" + +#: administrator/components/com_installer/installer.class.php:416 +#, php-format +msgid "Patch install error with %s: failed to delete %s" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: การลบล้มเหลว %s" + +#: administrator/components/com_installer/installer.class.php:422 +#, php-format +msgid "Patch install error with %s: failed to write %s" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: การเขียนล้มเหลว %s" + +#: administrator/components/com_installer/installer.class.php:426 +#, php-format +msgid "Patch install error with %s: check was OK, but application failed" +msgstr "การติดตั้งแพ็ชผิดพลาดจาก %s: เลือก ตกลง, แต่โปรแกรมล้มเหลว" + +#: administrator/components/com_installer/installer.class.php:427 +#, php-format +msgid "Patch install %s: completed successfully" +msgstr "ติดตั้งแพ็ช %s: ที่เสร็จสิ้นสมบูรณ์" + +#: administrator/components/com_installer/installer.class.php:495 +#, php-format +msgid "Uninstaller error with %s: no uninstaller %s" +msgstr "การถอนติดตั้งข้อผิดพลาดด้วย %s: ไม่ใช่สามารถถอนการติดตั้ง %s" + +#: administrator/components/com_installer/installer.class.php:535 +#, php-format +msgid "Uninstaller error with %s: %s %s SQL error %s" +msgstr "การถอนติดตั้งข้อผิดพลาดด้วย %s: %s %s SQL เกิดข้อผิดพลาด %s" + +#: administrator/components/com_installer/installer.class.php:545 +#: administrator/components/com_installer/installer.class.php:567 +#: administrator/components/com_installer/installer.class.php:586 +#, php-format +msgid "Uninstaller error with %s: %s %s not fully deleted from database" +msgstr "การถอนติดตั้งข้อผิดพลาดด้วย %s: %s %s ไม่สามารถลบจากฐานข้อมูล" + +#: administrator/components/com_installer/installer.class.php:558 +#, php-format +msgid "Uninstaller error with %s: no file identified as the %s" +msgstr "การถอนติดตั้งข้อผิดพลาดด้วย %s:ไม่มีไฟล์ที่ระบุเป็น %s" + +#: administrator/components/com_installer/installer.class.php:663 +#, php-format +msgid "Installer unrecoverable ZIP error %s in %s" +msgstr "การติดตั้งไม่ได้ ไม่สามารถทำให้กลับอย่างเดิม ZIP เกิดข้อผิดพลาด %s ใน %s" + +#: administrator/components/com_installer/installer.class.php:672 +#, php-format +msgid "Installer unrecoverable TAR error in %s" +msgstr "การติดตั้งไม่ได้ ไม่สามารถทำให้กลับอย่างเดิม TAR เกิดข้อผิดพลาดใน %s" + +#: administrator/components/com_installer/language/language.php:21 +msgid "Back to Language Manager" +msgstr "กลับไปที่การจัดการภาษา" + +#: administrator/components/com_installer/language/language.php:22 +msgid "Install new Language - Site" +msgstr "การติดตั้ง ภาษา - เว็บไซต์" + +#: administrator/components/com_installer/mambot/mambot.html.php:27 +msgid "Installed Mambots" +msgstr "แมมบอทที่ติดตั้ง" + +#: administrator/components/com_installer/mambot/mambot.html.php:32 +msgid "" +"Only those Mambots that can be uninstalled are displayed - some Core Mambots " +"cannot be removed." +msgstr "เฉพาะแมมบอทเหล่านี้ที่เอาออกได้ - บางแมมบอทหลักไม่สามารถย้ายได้." + +#: administrator/components/com_installer/mambot/mambot.html.php:43 +msgid "Mambot" +msgstr "แมมบอท" + +#: administrator/components/com_installer/mambot/mambot.html.php:122 +msgid "There are no non-core, custom mambots installed." +msgstr "ไม่มีแมมบอทที่เลือกไว้ ติดตั้งอยู่." + +#: administrator/components/com_installer/module/module.html.php:25 +msgid "Installed Modules" +msgstr "ติดตั้งโมดูล" + +#: administrator/components/com_installer/module/module.html.php:36 +msgid "" +"Only those Modules that can be uninstalled are displayed - some Core Modules " +"cannot be removed." +msgstr "บางโมดูลเท่านั้น ที่สามารถลบออกจากการแสดงผล - และบางอันไม่สามารถลบออกได้." + +#: administrator/components/com_installer/module/module.html.php:45 +msgid "Module File" +msgstr "ไฟล์โมดูล" + +#: administrator/components/com_installer/module/module.html.php:48 +msgid "Client" +msgstr "กลุ่มลูกค้า" + +#: administrator/components/com_installer/module/module.html.php:99 +msgid "No custom modules installed" +msgstr "ไม่มีโมดูลที่เลือกติดตั้งในระบบ" + +#: administrator/components/com_installer/module/module.php:33 +msgid "Site Modules" +msgstr "โมดูลเว็บ" + +#: administrator/components/com_installer/module/module.php:34 +msgid "Admin Modules" +msgstr "โมดูลของผู้ดูแล" + +#: administrator/components/com_installer/template/template.php:26 +msgid "Install new Template" +msgstr "ติดตั้งเทมเพลตใหม่" + +#: administrator/components/com_installer/template/template.php:28 +msgid "Back to Templates" +msgstr "กลับไปที่เทมเพลต" + +#: administrator/components/com_installer/toolbar.installer.html.php:27 +msgid "Uninstall" +msgstr "ลบ" + +#: administrator/components/com_installer/universal/universal.php:25 +msgid "" +"Install Mambo plugin (component, module, mambot, template, include, " +"parameter, composite)" +msgstr "" +"ติดตั้งแมมโบ้ปลั๊กอิน (คอมโพเน้นท์, โมดูล, แมมบอท, เทมเพลต, รวมถึง, " +"พารามิเตอร์, ส่วนประกอบ)" + +#: installation/index.php:30 installation/index.php:207 +#: installation/index.php:211 installation/index.php:212 +#: installation/index.php:213 installation/index.php:214 +msgid "OFF" +msgstr "ปิด" + +#: installation/index.php:30 installation/index.php:208 +#: installation/index.php:209 installation/index.php:210 +msgid "ON" +msgstr "เปิด" + +#: installation/index.php:46 installation/install.php:30 +#: installation/install1.php:30 installation/install2.php:182 +#: installation/install3.php:50 installation/install4.php:309 +msgid "Mambo - Web Installer" +msgstr "ระบบการติดตั้งแมมโบ้ ::" + +#: installation/index.php:69 installation/install.php:54 +msgid "Please read/accept license to continue installation" +msgstr "กรุณาอ่านและทำความเข้าใจกับลิขสิทธิ์ก่อนการติดตั้งครับ" + +#: installation/index.php:81 installation/install.php:65 +#: installation/install1.php:64 installation/install2.php:205 +#: installation/install3.php:112 installation/install4.php:316 +msgid "Mambo Installation" +msgstr "การติดตั้ง แมมโบ้ลายไทย" + +#: installation/index.php:88 installation/index.php:98 +#: installation/install.php:72 installation/install1.php:71 +#: installation/install2.php:219 installation/install3.php:125 +#: installation/install4.php:323 +msgid "pre-installation check" +msgstr "ตรวจสอบระบบก่อนการติดตั้ง" + +#: installation/index.php:89 installation/install.php:73 +#: installation/install.php:80 installation/install1.php:72 +#: installation/install2.php:220 installation/install3.php:126 +#: installation/install4.php:324 +msgid "license" +msgstr "ลิขสิทธิ์" + +#: installation/index.php:90 installation/install.php:74 +#: installation/install1.php:73 installation/install2.php:221 +#: installation/install3.php:127 installation/install4.php:325 +msgid "step 1" +msgstr "ขั้นที่ ๑" + +#: installation/index.php:91 installation/install.php:75 +#: installation/install1.php:74 installation/install2.php:222 +#: installation/install2.php:232 installation/install3.php:128 +#: installation/install4.php:326 +msgid "step 2" +msgstr "ขั้นที่ ๒" + +#: installation/index.php:92 installation/install.php:76 +#: installation/install1.php:75 installation/install2.php:223 +#: installation/install3.php:129 installation/install3.php:133 +#: installation/install4.php:327 +msgid "step 3" +msgstr "ขั้นที่ ๓" + +#: installation/index.php:93 installation/install.php:77 +#: installation/install1.php:76 installation/install2.php:224 +#: installation/install3.php:130 installation/install4.php:328 +#: installation/install4.php:331 +msgid "step 4" +msgstr "ขั้นที่ ๔" + +#: installation/index.php:105 +msgid "Pre-installation check for:" +msgstr "ตรวจสอบก่อนการติดตั้งสำหรับ:" + +#: installation/index.php:106 +msgid "" +"\n" +"If any of these items are highlighted\n" +"in red then please take actions to correct them. Failure to do so\n" +"could lead to your Mambo installation not functioning\n" +"correctly." +msgstr "" +"\n" +"หากมีหัวข้อใดถูกไฮไลท์ด้วยสีแดง กรุณาทำการแก้ไขข้อผิดพลาด ก่อนทำการติดตั้งครับ. \n" +"หากไม่ทำการแก้ไขอาจทำให้ การติดตั้ง Mambo มีปัญหาในภายหลัง หรือทำงานไม่ถูกต้อง." + +#: installation/index.php:120 +msgid "PHP version" +msgstr "PHP เวอร์ชัน" + +#: installation/index.php:128 +msgid "zlib compression support" +msgstr "สนับสนุน zlib compression" + +#: installation/index.php:131 installation/index.php:139 +#: installation/index.php:147 +msgid "Available" +msgstr "สนับสนุน" + +#: installation/index.php:131 installation/index.php:139 +#: installation/index.php:147 +msgid "Unavailable" +msgstr "ไม่สนับสนุน" + +#: installation/index.php:136 +msgid "XML support" +msgstr "สนับสนุน XML" + +#: installation/index.php:144 +msgid "MySQL support" +msgstr "สนับสนุน MySQL" + +#: installation/index.php:161 +msgid "" +"You can still continue the install as the configuration will be displayed at " +"the end, just copy & paste this and upload." +msgstr "" +"คุณสามารถดำเนินการ ติดตั้งต่อไปได้ครับ เมื่อเสร็จสิ้นกระบวนการ ระบบจะแสดงผลค่าตัวแปรต่าง ๆ " +"ที่ควรตั้งค่า ให้คุณเพียง copy แล้วนำไปวางไว้ใน text editor ทำการบันทึก " +"จากนั้นก็อัพโหลดขึ้นเซิร์ฟเวอร์" + +#: installation/index.php:167 +msgid "Session save path" +msgstr "Session save path" + +#: installation/index.php:179 +msgid "Recommended settings:" +msgstr "ค่าแนะนำในการติดตั้ง:" + +#: installation/index.php:181 +msgid "" +"These settings are recommended for PHP in order to ensure full\n" +"compatibility with Mambo.\n" +"However, Mambo will still operate if your settings do not quite match the " +"recommended." +msgstr "" +"ค่าต่อไปนี้เป็นค่าแนะนำสำหรับ PHP เพื่อให้ Mambo ทำงานได้ถูกต้อง\n" +"อย่างไรก็ตามถึงแม้ว่าค่าที่ท่าน ทำการติดตั้งไว้ในเซิร์ฟเวอร์ ของท่านอาจไม่ตรงตามนี้ทุกประการ " +"Mambo ก็อาจจะยังทำงานได้ครับ." + +#: installation/index.php:197 +msgid "Directive" +msgstr "ฟังก์ชัน" + +#: installation/index.php:200 +msgid "Recommended" +msgstr "ค่าแนะนำ" + +#: installation/index.php:203 +msgid "Actual" +msgstr "ปัจจุบัน" + +#: installation/index.php:245 +msgid "Directory and File Permissions:" +msgstr "สิทธิ์การอนุญาต (Permission) ของไดเรกทอรีและไฟล์:" + +#: installation/index.php:247 +msgid "" +"In order for Mambo to function\n" +"correctly it needs to be able to access or write to certain files\n" +"or directories. If you see \"Unwriteable\" you need to change the\n" +"permissions on the file or directory to allow Mambo\n" +"to write to it." +msgstr "" +"ท่านต้องตั้งค่าไดเรกทอรี หรือไฟล์ให้สามารถเขียนทับไฟล์ได้ \n" +"เมื่อใดก็ตามที่เห็นคำว่า \"เขียนลงไฟล์ไม่ได้\" ให้ท่านทำการแก้สิทธิ์ ของไฟล์หรือไดเรกทอรีดังกล่าว." + +#: installation/install.php:85 +msgid "GNU/GPL License:" +msgstr "ลิขสิทธิ์ GNU/GPL:" + +#: installation/install.php:87 +msgid "" +"Mambo is Free Software " +"released under the GNU/GPL " +"License .\n" +"\t\t\t\t
      *** To continue installing Mambo you must check " +"the box under the license ***
      " +msgstr "" +"แมมโบ้ เป็นซอฟท์แวร์ " +"เสรีภายใต้ลิขสิทธิ์ GNU/GPL.\n" +"\t\t\t\t
      *** เช็คที่กล่องสี่เหลี่ยมหากต้องการติดตั้ง Mambo ภายใต้ลิขสิทธิ์นี้ ***
      " + +#: installation/install.php:102 +msgid "I understand that this software is released under the GNU/GPL License" +msgstr "ข้าพเจ้าตกลงตามเงื่อนไขในลิขสิทธิ์ GNU/GPL" + +#: installation/install1.php:42 +msgid "Please enter a Host name" +msgstr "กรุณาใส่ชื่อโฮสต์ (เช่น Localhost)" + +#: installation/install1.php:46 +msgid "Please enter a Database User Name" +msgstr "กรุณาใส่ชื่อผู้ใช้ฐานข้อมูล (เช่น root )" + +#: installation/install1.php:50 +msgid "Please enter a Name for your new Database" +msgstr "กรุณาใส่ชื่อฐานข้อมูลใหม่ของคุณ" + +#: installation/install1.php:53 +msgid "" +"Are you sure these settings are correct? \\nMambo will now attempt to " +"populate a Database with the settings you have supplied" +msgstr "" +"กรุณาตรวจสอบให้แน่ใจว่าค่าดังกล่าวถูกต้อง \\n Mambo จะทำการสร้างฐานข้อมูลด้วยค่าที่ท่านระบุไว้นี้" + +#: installation/install1.php:84 +msgid "MySQL database configuration:" +msgstr "การตั้งค่าฐานข้อมูล MySQL :" + +#: installation/install1.php:85 +msgid "" +"\n" +" \t \t\t\t

      Setting up Mambo to run on your server involves 4 simple " +"steps...

      \n" +" \t \t\t\t

      Please enter the hostname of the server Mambo is to be " +"installed on.

      \n" +"\t\t\t\t

      Enter the MySQL username, password and database name you wish to " +"use with Mambo.

      \n" +"\t\t\t\t

      Enter the table name prefix to be used by this Mambo instance and " +"select how\n" +"\t\t\t\t to do with in case existing tables from former installations.\n" +"\t\t\t\t

      Install the samples unless you are experianced Mamber wanting to " +"start with a completely empty site.

      \n" +"\t\t\t\t" +msgstr "" +"\n" +" \t \t\t\t

      การติดตั้ง Mambo สามารถทำได้ง่าย ๆ ใน 4 ขั้นตอน...

      \n" +" \t \t\t\t

      กรุณาใส่ชื่อโฮสต์ที่ต้องการติดตั้ง Mambo ทั่วไปแล้วค่านี้จะเป็น 'localhost'." +"

      \n" +"\t\t\t\t

      ใส่ชื่อผู้ใช้ และรหัสผ่านของฐานข้อมูล MySQL ที่คุณต้องการใช้กับ Mambo

      \n" +"\t\t\t\t

      ใส่คำนำหน้าชื่อ (prefix) ของตารางที่จะใช้งานหากท่าน ทำการติดตั้ง " +"ซ้ำในฐานข้อมูลชื่อเดิมที่เคยติดตั้งแล้ว

      \n" +"\t\t\t\t

      ให้ติดตั้งตัวอย่างข้อมูล ยกเว้นท่าน มีความเชี่ยวชาญในการใช้งาน แมมโบ้ " +"หรือต้องการติดตั้ง แมมโบ้ แบบเริ่มต้นโดย ไม่ต้องการตัวอย่างข้อมูล

      \n" +"\t\t\t\t" + +#: installation/install1.php:103 +msgid "Host Name" +msgstr "ชื่อโฮสต์" + +#: installation/install1.php:104 +msgid "This is usually \"localhost\"" +msgstr "ค่าทั่วไปคือ \"localhost\"" + +#: installation/install1.php:107 +msgid "MySQL User Name" +msgstr "ชื่อผู้ใช้ฐานข้อมูล MySQL" + +#: installation/install1.php:108 +msgid "Either something as \"root\" or a username given by the hoster" +msgstr "ชื่อผู้ใช้งานดาต้าเบส อาจจะใส่เป็น \"root\" หรือชื่อผู้ใช้ที่ได้รับ จากผู้ให้บริการโฮสของท่าน" + +#: installation/install1.php:111 +msgid "MySQL Password" +msgstr "รหัสผ่านฐานข้อมูล MySQL" + +#: installation/install1.php:112 +msgid "For site security using a password for the mysql account is mandatory" +msgstr "เพื่อความปลอดภัย กรุณากำหนดรหัสผ่าน สำหรับการเข้าถึง mysql" + +#: installation/install1.php:115 +msgid "Verify MySQL Password" +msgstr "ยืนยันรหัสผ่าน MySQL อีกครั้ง" + +#: installation/install1.php:116 +msgid "Retype password for verification" +msgstr "ใส่รหัสผ่านอีกครั้งเพื่อเป็นการยืนยัน" + +#: installation/install1.php:119 +msgid "MySQL Database Name" +msgstr "ชื่อฐานข้อมูล MySQL" + +#: installation/install1.php:120 +msgid "" +"Some hosts allow only a certain DB name per site. Use table prefix in this " +"case for distinct mambo sites." +msgstr "" +"โฮสบางแห่งมีเพียงดาเบสเดียวให้ท่านใช้งาน กรณีนี้ท่านสามารถใช้ชื่อนำหน้า (prefix) " +"ตารางเพื่อติดตั้งมากกว่าหนึ่งไซต์." + +#: installation/install1.php:123 +msgid "MySQL Table Prefix" +msgstr "คำนำหน้า(Prefix) ชื่อตาราง" + +#: installation/install1.php:124 +msgid "Dont use \"old_\" since this is used for backup tables" +msgstr "ห้ามใช้ชื่อนำหน้าเป็น \"old_\" เนื่องจาก แมมโบ้ จะใช้ค่านี้ในการสร้างตารางสำรอง" + +#: installation/install1.php:128 +msgid "Drop Existing Tables" +msgstr "ต้องการลบตารางที่มีอยู่หรือไม่?" + +#: installation/install1.php:133 +msgid "Backup Old Tables" +msgstr "ต้องการสำรองข้อมูลตารางหรือไม่?" + +#: installation/install1.php:134 +msgid "" +"Any exiting backup tables from former mambo installations will be replaced" +msgstr "ข้อมูลสำรองเดิมจากการติดตั้งแมมโบ้ที่มีอยู่จะถูกลบทิ้ง" + +#: installation/install1.php:138 +msgid "Install Sample Data" +msgstr "ต้องการติดตั้งข้อมูลตัวอย่างหรือไม่?" + +#: installation/install1.php:139 +msgid "Dont uncheck this unless you are experienced with mambo!" +msgstr "กรุณาคลิกเลือกไว้หากท่าน ยังไม่มีความชำนาญในการใช้งาน!" + +#: installation/install2.php:37 +msgid "The database details provided are incorrect and/or empty." +msgstr "รายละเอียดของฐานข้อมูลที่กรอกไม่ถูกต้องหรือว่างไว้ครับ." + +#: installation/install2.php:41 +msgid "The database passwords provided do not match. Please try again." +msgstr "ท่านใส่รหัสผ่านสองครั้งไม่ตรงกัน. กรุณาใส่ใหม่." + +#: installation/install2.php:45 +msgid "The password and username provided are incorrect." +msgstr "ชื่อผู้ใช้และรหัสผ่านที่กรอกไม่ถูกต้องครับ." + +#: installation/install2.php:49 +msgid "The database name provided is empty." +msgstr "ไม่ได้ใส่ชื่อฐานข้อมูลครับ." + +#: installation/install2.php:64 +msgid "A database error occurred: " +msgstr "ฐานข้อมูลมีข้อผิดพลาดครับ: " + +#: installation/install2.php:193 +msgid "Please enter a Site Name" +msgstr "กรุณาใส่ชื่อเว็บไซต์ด้วยครับ" + +#: installation/install2.php:235 +msgid "Enter the name of your Mambo site:" +msgstr "กรุณาใส่ชื่อเว็บไซต์ของท่าน:" + +#: installation/install2.php:238 +msgid "" +"Looks like there have been some errors with inserting data into your " +"database!
      \n" +" \t\t\tYou cannot continue." +msgstr "" +"มีข้อผิดพลาดในการแทรกข้อมูลลงในฐานข้อมูล!
      \n" +" \t\t\tไม่สามารถทำการติดตั้งต่อได้." + +#: installation/install2.php:241 +msgid "SUCCESS!" +msgstr "สำเร็จแล้วครับ!" + +#: installation/install2.php:244 +msgid "" +"Type in the name for your Mambo site. This\n" +"\t\t\tname is used in email messages so make it something meaningful." +msgstr "" +"พิมพ์ชื่อเว็บไซต์ของท่านที่นี่.\n" +"\t\t\tระบบจะใช้ชื่อนี้ในการส่งอีเมล." + +#: installation/install2.php:255 +msgid "Error log:" +msgstr "บันทึกข้อผิดพลาด:" + +#: installation/install2.php:266 +msgid "Site name" +msgstr "ชื่อเว็บไซต์" + +#: installation/install2.php:271 +msgid "e.g. The Home of Mambo" +msgstr "เช่น เว็บไซต์การเรียนการสอนวิชาภาษาไทย" + +#: installation/install3.php:41 +msgid "The sitename has not been provided" +msgstr "ไม่ได้ใส่ชื่อเว็บไซต์" + +#: installation/install3.php:61 +msgid "Please enter Site URL" +msgstr "กรุณาใส่ชื่อ URL" + +#: installation/install3.php:65 +msgid "Please enter the absolute path to your site" +msgstr "กรุณาใส่ absolute path ของเว็บไซต์" + +#: installation/install3.php:69 +msgid "Please enter an email address to contact your administrator" +msgstr "กรุณาใส่ที่อยู่อีเมลในการติดต่อกับผู้ดูแลระบบ" + +#: installation/install3.php:73 +msgid "Please enter a password for you administrator" +msgstr "กรุณาใส่รหัสผ่านสำหรับผู้ดูแลระบบ" + +#: installation/install3.php:138 +msgid "Confirm the site URL, path, admin e-mail and file/directory chmods" +msgstr "ยืนยันที่อยู่ URL, path, อีเมลของผู้ดูแลระบบ และสิทธิ์การเข้าถึงไฟล์/ไดเรกทอรี่" + +#: installation/install3.php:139 +msgid "" +"\n" +"\t\t\t\t

      If URL and Path looks correct then please do not change.\n" +"\t\t\t\t If you are not sure then please contact your ISP or administrator. " +"Usually\n" +"\t\t\t\t the values displayed will work for your site.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t Enter your e-mail address, this will be the e-mail address of the " +"site\n" +"\t\t\t\t SuperAdministrator.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t The permission settings will be used while installing mambo " +"itself, by\n" +"\t\t\t\t the mambo addon-installers and by the media manager. If you are " +"unsure\n" +"\t\t\t\t what flags shall be set, leave the default settings at the " +"moment.\n" +"\t\t\t\t You can still change these flags later in the site global " +"configuration.

      " +msgstr "" +"\n" +"\t\t\t\t

      ไม่ต้องเปลี่ยนค่าใด ๆ ถ้าหากที่อยู่ URL และ Path ถูกต้องแล้ว.\n" +"\t\t\t\t ถ้าหากไม่มั่นใจ ให้ติดต่อผู้ให้บริการอินเทอร์เน็ท หรือผู้ดูแลระบบของท่าน.\n" +"\t\t\t\tโดยทั่วไปแล้วค่าที่แสดงอยู่นี้เป็นค่าที่ถูกต้องแล้วและน่าจะทำงานกับเว็บไซต์ของท่านได้.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t ใส่อีเมลที่ต้องการใช้สำหรับเว็บไซต์ของท่าน ทั่วไปแล้วคืออีเมลของผู้ดูแลระบบ
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t การยินยอมการตั้งค่าจะถูกใช้ขณะที่แมมโบ้ที่ติดตั้งเอง, โดย\n" +"\t\t\t\t การติดตั้งส่วนประกอบแมมโบ้เอง และโดยการจัดการมีเดียไฟล์. ถ้าคุณไม่แน่ใจ\n" +"\t\t\t\t ในรูปแบบการตั้งค่า, จะออกจากพื้นฐานการตั้งค่านี้.\n" +"\t\t\t\t โดยคุณสามารถที่จะเปลี่ยนแปลงการตั้งค่าทั่วไปได้ทีหลังในการตั้งค่าคอนฟิคหลัก.

      " + +#. if +#: installation/install3.php:202 +msgid "File Permissions" +msgstr "การเข้าถึงไฟล์" + +#: installation/install3.php:206 +msgid "Dont CHMOD files (use server defaults)" +msgstr "Dont CHMOD files (use server defaults)" + +#: installation/install3.php:210 +msgid "CHMOD files to:" +msgstr "CHMOD files to:" + +#: installation/install3.php:217 +msgid "User:" +msgstr "ผู้ใช้:" + +#: installation/install3.php:219 installation/install3.php:228 +#: installation/install3.php:237 installation/install3.php:277 +#: installation/install3.php:286 installation/install3.php:295 +msgid "read" +msgstr "อ่าน" + +#: installation/install3.php:221 installation/install3.php:230 +#: installation/install3.php:239 installation/install3.php:279 +#: installation/install3.php:288 installation/install3.php:297 +msgid "write" +msgstr "เขียน" + +#: installation/install3.php:223 installation/install3.php:232 +#: installation/install3.php:241 +msgid "execute" +msgstr "ทำงาน" + +#: installation/install3.php:235 +msgid "World:" +msgstr "ทั้งหมด:" + +#: installation/install3.php:264 +msgid "Dont CHMOD directories (use server defaults)" +msgstr "Dont CHMOD directories (use server defaults)" + +#: installation/install3.php:268 +msgid "CHMOD directories to:" +msgstr "CHMOD directories to:" + +#: installation/install3.php:281 installation/install3.php:290 +#: installation/install3.php:299 +msgid "search" +msgstr "ค้นหา" + +#: installation/install4.php:70 +msgid "You must provide a valid admin email address." +msgstr "กรุณาใส่อีเมลที่ถูกต้องด้วยครับ." + +#: installation/install4.php:96 +msgid "The database details provided are incorrect and/or empty" +msgstr "รายละเอียดของฐานข้อมูลไม่ถูกต้องหรือว่างไว้" + +#: installation/install4.php:158 +msgid "This site is down for maintenance.
      Please check back again soon." +msgstr "เว็บไซต์กำลังอยู่ในช่วงอัพเดทครับ.
      กรุณากลับมาใหม่ครับ." + +#: installation/install4.php:159 +msgid "" +"This site is temporarily unavailable.
      Please notify the System " +"Administrator" +msgstr "ไม่สามารถเข้าเว็บนี้ได้ครับ.
      กรุณาแจ้งผู้ดูแลระบบ" + +#: installation/install4.php:162 +msgid "Mambo - the dynamic portal engine and content management system" +msgstr "Mambo - ระบบการจัดการเนื้อหา" + +#. chmod files and directories if desired +#: installation/install4.php:238 +msgid "Directory and file permissions left unchanged." +msgstr "Directory and file permissions left unchanged." + +#: installation/install4.php:280 +msgid "File and directory permissions successfully changed." +msgstr "ไฟล์ และการยินยอมการเปลี่ยนไดเรกทอรี่สมบูรณ์." + +#: installation/install4.php:282 +msgid "File and directory permissions could not be changed.
      " +msgstr "ไฟล์ และการยินยอมการเปลี่ยนไดเรกทอรี่ไม่ถูกเปลี่ยน." + +#: installation/install4.php:283 +msgid "Please CHMOD mambo files and directories manually." +msgstr "กรุณา CHMOD ไฟล์แมมโบ้และไดเรกทอรี่ด้วยมือตัวเอง." + +#: installation/install4.php:301 +msgid "The site url has not been provided" +msgstr "ไม่ได้ใส่ชื่อเว็บไซต์" + +#: installation/install4.php:333 +msgid "View Site" +msgstr "ดูเว็บไซต์" + +#: installation/install4.php:341 +msgid "Administration" +msgstr "ผู้ดูแลระบบ" + +#: installation/install4.php:351 +msgid "Congratulations! Mambo is installed" +msgstr "ขอแสดงความยินดีด้วยครับ! การติดตั้อง Mambo สำเร็จแล้ว" + +#: installation/install4.php:352 +msgid "" +"\n" +"\t\t\t\t

      Click the \"View Site\" button to start Mambo site or " +"\"Administration\"\n" +"\t\t\t\t to take you to administrator login. Please take a moment to fill " +"out the form below.

      " +msgstr "" +"\n" +"\t\t\t\t

      คลิกที่ปุ่ม \"ดูเว็บไซต์\" เพื่อเข้าไปยังเว็บ Mambo ของท่าน หรือคลิกที่ " +"\"ผู้ดูแลระบบ\"\n" +"\t\t\t\t เพื่อเข้าไปยังหน้าล็อกอินเข้าจัดการระบบ.

      " + +#: installation/install4.php:359 +msgid "PLEASE REMEMBER TO COMPLETELY
      REMOVE THE INSTALLATION DIRECTORY" +msgstr "" +"เมื่อทำการติดตั้งเรียบร้อยแล้ว
      ให้ท่านลบแฟ้ม INSTALLATION ออกจากเซิร์ฟเวอร์ด้วยครับ" + +#: installation/install4.php:360 +msgid "Administration Login Details" +msgstr "รายละเอียดการเข้าสู่ระบบของผู้ดูแลระบบ" + +#: installation/install4.php:361 +msgid "Username :" +msgstr "ชื่อผู้ใช้ :" + +#: installation/install4.php:362 +msgid "Password :" +msgstr "รหัสผ่าน :" + +#: installation/install4.php:367 +msgid "" +"\n" +"\t\t\t\t\t\t\t\tYour configuration file or directory is not writeable,\n" +"\t\t\t\t\t\t\t\tor there was a problem creating the configuration file. " +"You'll have to\n" +"\t\t\t\t\t\t\t\tupload the following code by hand. Click in the textarea to " +"highlight\n" +"\t\t\t\t\t\t\t\tall of the code." +msgstr "" +"\n" +"\t\t\t\t\t\t\t\tไม่สามารถเขียนไฟล์ configuration ได้,\n" +"\t\t\t\t\t\t\t\tหรือมีปัญหาในการสร้างไฟล์ดังกล่าว. " +"ให้ท่านทำการ\n" +"\t\t\t\t\t\t\t\tคัดลอกโค้ดข้างล่างนี้ไว้ใน txt editor. จากนั้นให้บันทึกและอัพโหลดขึ้นเซิร์ฟเวอร์ " +"คลิกที่ textarea \n" +"\t\t\t\t\t\t\t\tเพื่อทำการไฮไลท์โค้ดทั้งหมด." + +#: administrator/components/com_frontpage/admin.frontpage.html.php:30 +msgid "Frontpage Manager" +msgstr "การจัดการเนื้อหาหน้าเว็บ" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:79 +msgid "Section" +msgstr "หมวด" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:107 +msgid "Expired" +msgstr "หมดอายุ" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:110 +msgid "Unpublished" +msgstr "ไม่เผยแพร่" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:116 +msgid "Always" +msgstr "เสมอ" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:116 +#: administrator/components/com_frontpage/admin.frontpage.html.php:118 +msgid "Start:" +msgstr "เริ่มต้น:" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:123 +#: administrator/components/com_frontpage/admin.frontpage.html.php:125 +msgid "Finish:" +msgstr "จบ:" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:123 +msgid "No Expiry" +msgstr "ไม่หมดอายุ" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:137 +msgid "Edit User" +msgstr "แก้ไขผู้ใช้" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:160 +msgid "Edit Content" +msgstr "แก้ไขเนื้อหา" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:171 +msgid "Publish Information" +msgstr "รายละเอียดการเผยแพร่" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:191 +msgid "Edit Section" +msgstr "แก้ไขหมวด" + +#: administrator/components/com_frontpage/admin.frontpage.php:154 +msgid "- All Categories -" +msgstr "- เลือก ประเภท -" + +#: administrator/components/com_frontpage/admin.frontpage.php:173 +msgid "- All Authors -" +msgstr "- เลือก ผู้แต่ง -" + +#: administrator/components/com_frontpage/admin.frontpage.php:190 +msgid "archive" +msgstr "คลังเนื้อหา" + +#: administrator/components/com_frontpage/admin.frontpage.php:191 +msgid "Select an item to %a" +msgstr "เลือกรายการที่จะ %a" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Frontpage" +msgstr "เนื้อหาหน้าเว็บ" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Frontpage Ordering" +msgstr "การจัดเรียงด้านหน้าเว็บ" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"This component shows all the published content items from your site marked " +"Show on Frontpage." +msgstr "คอมโพเน้นท์นี้ทำหน้าที่แสดงเนื้อหาที่เผยแพร่ทุกเนื้อหาไปยังเว็บเพจหน้าแรก." + +#: administrator/components/com_frontpage/toolbar.frontpage.html.php:25 +msgid "Remove" +msgstr "ย้าย" + +#: modules/custom.xml modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_login.xml modules/mod_mainmenu.xml +#: modules/mod_mostread.xml modules/mod_newsflash.xml modules/mod_poll.xml +#: modules/mod_random_image.xml modules/mod_related_items.xml +#: modules/mod_rssfeed.xml modules/mod_search.xml modules/mod_sections.xml +#: modules/mod_stats.xml modules/mod_templatechooser.xml +#: modules/mod_whosonline.xml modules/mod_wrapper.xml +msgid "" +"A suffix to be applied to the css class of the module (table.moduletable), " +"this allows individual module styling" +msgstr "" +"คำเสริมท้ายคลาส css ของโมดูล (table.moduletable), " +"โดยจะใช้แสดงเแพาะโมดูลนั้นๆ" + +#: modules/custom.xml +msgid "Custom Module" +msgstr "โมดูลพื้นฐาน" + +#: modules/custom.xml modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_mainmenu.xml +#: modules/mod_mostread.xml modules/mod_newsflash.xml modules/mod_poll.xml +#: modules/mod_related_items.xml modules/mod_rssfeed.xml +#: modules/mod_search.xml +msgid "Enable Cache" +msgstr "เปิดการทำงานของแคช" + +#: modules/custom.xml +msgid "Enter number of RSS items to display" +msgstr "ใส่จำนวนของรายการ RSS ที่ต้องการแสดง" + +#: modules/custom.xml +msgid "Enter the URL of the RSS/RDF feed" +msgstr "ใส่ URL สำหรับ RSS/RDF feed" + +#: modules/custom.xml +msgid "Items" +msgstr "รายการ" + +#: modules/custom.xml modules/mod_archive.xml modules/mod_banners.xml +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_login.xml modules/mod_mainmenu.xml modules/mod_mostread.xml +#: modules/mod_newsflash.xml modules/mod_poll.xml modules/mod_random_image.xml +#: modules/mod_related_items.xml modules/mod_rssfeed.xml +#: modules/mod_search.xml modules/mod_sections.xml modules/mod_stats.xml +#: modules/mod_templatechooser.xml modules/mod_whosonline.xml +#: modules/mod_wrapper.xml +msgid "Module Class Suffix" +msgstr "คำเสริมท้ายคลาสของโมดูล" + +#: modules/custom.xml +msgid "RSS URL" +msgstr "RSS URL" + +#: modules/custom.xml modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_mainmenu.xml +#: modules/mod_mostread.xml modules/mod_newsflash.xml modules/mod_poll.xml +#: modules/mod_related_items.xml modules/mod_rssfeed.xml +#: modules/mod_search.xml +msgid "Select whether to cache the content of this module" +msgstr "เลือกให้แคชของบทความทำงานจากโมดูล" + +#: modules/custom.xml +msgid "Show the description or intro text of individual news items" +msgstr "แสดงคำอธิบาย หรือ ข้อความส่วนต้นของรายการข่าวส่วนตัว" + +#: modules/custom.xml +msgid "Show the description text for the whole Feed" +msgstr "แสดงข้อความคำอธิบายสำหรับใส่ Feed ทั้งหมด" + +#: modules/custom.xml +msgid "Show the image associated with the whole Feed" +msgstr "แสดงรูปภาพที่เกี่ยวข้องกับ Feed ทั้งหมด" + +#: modules/mod_archive.xml +msgid "Archived Content" +msgstr "คลังเนื้อหา" + +#: modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_mostread.xml +#: modules/mod_sections.xml +msgid "Count" +msgstr "นับ" + +#: modules/mod_archive.xml +msgid "The number of items to display (default is 10)" +msgstr "จำนวนรายการที่ต้องการแสดงต่อหน้าเพจ ปกติกำหนดค่า = 10" + +#: modules/mod_archive.xml +msgid "" +"This module shows a list of the calendar months, which contain Archived " +"items. After you have changed the status of a Content Item to 'Archived' " +"this list will be automatically generated." +msgstr "" +"โมดูลแสดงรายการปฏิทินแบบเดือน, สิ่งซึ่งบรรจุรายการคลังเนื้อหา." +"หลังจากที่คุณได้เปลี่ยนสถาระของเนื้อหาที่ต้องการเป็น 'คลังเนื้อหา' " +"รายการนี้จะที่ถูกสร้างขึ้นโดยอัตโนมัติ." + +#: modules/mod_banners.php:75 +msgid "Advertisement" +msgstr "ป้ายโฆษณา" + +#: modules/mod_banners.xml +msgid "" +"A suffix to be aapplied to the css class of the module (table.moduletable), " +"this allows individual module styling" +msgstr "" +"คำเสริมท้ายคลาส css ของโมดูล (table.moduletable), " +"โดยจะใช้แสดงเแพาะโมดูลนั้นๆ" + +#: modules/mod_banners.xml +msgid "Banner" +msgstr "ป้ายโฆษณา" + +#: modules/mod_banners.xml +msgid "Banner client" +msgstr "เจ้าของป้ายโฆษณา" + +#: modules/mod_banners.xml +msgid "Reference to banner client id. Enter separated by ','!" +msgstr "กำหนดหมายเลข ID ของ เจ้าของป้ายโฆษณาแต่ละราย โดยแยกด้วยเครื่องหมาย ','!" + +#: modules/mod_banners.xml +msgid "" +"The banner module allows to show the active banners out of the component " +"within your site." +msgstr "" +"โมดูลแสดงป้ายโฆษณายอมเพื่อแสดงป้ายโฆษณาทำงานออกมาจากส่วนประกอบ" +"เพื่อแสดงในหน้าเว็บคุณ." + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Allows you to control which type of Content to display in the module" +msgstr "กำหนดชนิดของเนื้อหาที่ต้องการแสดงในโมดูล" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml modules/mod_whosonline.xml +msgid "Both" +msgstr "ทั้งคู่" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Category ID" +msgstr "หมายเลขประเภท" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Content Items only" +msgstr "หัวข้อของเนื้อหาเท่านั้น" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Display content item images" +msgstr "แสดงรูปภาพประจำเนื้อหา" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Frontpage Items" +msgstr "รายการเนื้อหาที่เว็บเพจหน้าแรก" + +#: modules/mod_latestcontent.xml modules/mod_mainmenu.xml +#: modules/mod_newsflash.xml +msgid "Horizontal" +msgstr "แนวนอน" + +#: modules/mod_latestcontent.xml +msgid "Latest Content" +msgstr "เนื้อหาล่าสุด" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Module Mode" +msgstr "โหมดโมดูล" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Section ID" +msgstr "หมวดลำดับที่" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "" +"Selects items from a specific Category or set of Categories (to specify more " +"than one Category, seperate with a comma , )." +msgstr "" +"เลือกรายการจากประเภทที่ต้องการ (หากต้องการ" +"มากกว่าหนึ่งประเภท ให้ใช้จุลภาคขั้น , )." + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "" +"Selects items from a specific Secion or set of Sections (to specify more " +"than one Category, seperate with a comma , )." +msgstr "" +"เลือกรายการจากหมวดที่ต้องการ (หากต้องการ" +"มากกว่าหนึ่งหมวด ให้ใช้จุลภาคขั้น , )." + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Show images" +msgstr "แสดงรูปภาพ" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Show item title" +msgstr "แสดงหัวข้อเนื้อเรื่อง" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "" +"Show/Hide items designated for the Frontpage - only works when in Content " +"Items only mode" +msgstr "" +"แสดง/ซ่อน รายการที่มีหมายเลขสำหรับด้านหน้าเว็บ - จะทำได้เมื่ออยู่ในโหมด" +"เนื้อหาเท่านั้น" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Show/Hide the Read More button" +msgstr "แสดง/ซ่อน ปุ่มอ่านต่อ" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Static Content only" +msgstr "เฉพาะเนื้อหาสเตติก" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Style" +msgstr "รูปแบบ" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +msgid "The number of items to display (default 5)" +msgstr "จำนวนรายการที่ต้องการแสดงต่อหน้าเพจ ปกติกำหนดค่า = 5" + +#: modules/mod_latestcontent.xml +msgid "The style to display the content" +msgstr "รูปแบบการแสดงเนื้อหา" + +#: modules/mod_latestcontent.xml +msgid "" +"This module shows a list of content with intro text in vertical or " +"horizontal of the most recently published Items that are still current (some " +"may have expired even though they are the most recent). Items that are " +"displayed on the Front Page Component are not included in the list." +msgstr "" +"โมดูลนี้ใช้แสดงรายการเนื้อหาจากเนื้อหาส่วนต้นในแนวตั้ง หรือ " +"แนวนอน จากเนื้อหาที่เพิ่งเผยแพร่เมื่อไม่นาน (บางครั้ง " +"อาจจะหมดเวลาในการแสดง ถึงแม้จะเพิ่งเผยแพร่เมื่อไม่นานมานี้เอง). รายการเหล่านี้ " +"จะถูกแสดงอยู่ด้านหน้าเว็บโดยไม่ถูกยึดติด." + +#: modules/mod_latestcontent.xml modules/mod_mainmenu.xml +#: modules/mod_newsflash.xml +msgid "Vertical" +msgstr "แนวตั้ง" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "hide" +msgstr "ซ่อน" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "show" +msgstr "แสดง" + +#: modules/mod_latestnews.xml +msgid "Latest News" +msgstr "ข่าวล่าสุด" + +#: modules/mod_latestnews.xml +msgid "" +"This module shows a list of the most recently published Items that are still " +"current (some may have expired even though they are the most recent). Items " +"that are displayed on the Front Page Component are not included in the list." +msgstr "" +"โมดูลนี้ใช้แสดงรายการจากเนื้อหาที่เพิ่งทำการเผยแพร่เมื่อไม่นานมานี้ " +"(บางครั้งอาจจะหมดเวลาในการแสดง ถึงแม้จะเพิ่งเผยแพร่เมื่อไม่นานมานี้เอง). " +"รายการเหล่านี้จะถูกแสดงอยู่ด้านหน้าเว็บโดยไม่ถูกยึดติด." + +#: modules/mod_login.php:44 +#, php-format +msgid "Hi, %s" +msgstr "สวัสดี, %s" + +#: modules/mod_login.php:70 +msgid "username" +msgstr "ชื่อสมาชิก" + +#: modules/mod_login.php:74 +msgid "password" +msgstr "รหัสผ่าน" + +#: modules/mod_login.php:76 +msgid "Remember Me" +msgstr "จำข้อมูลการล็อกอิน" + +#: modules/mod_login.xml +msgid "Greeting" +msgstr "แสดงความยินดี" + +#: modules/mod_login.xml +msgid "Login Form" +msgstr "ฟอร์มเข้าสู่ระบบ" + +#: modules/mod_login.xml +msgid "Login Message" +msgstr "ข้อความแสดงการเข้าสู่ระบบ" + +#: modules/mod_login.xml +msgid "Logout Message" +msgstr "ข้อความแสดงการออกจากระบบ" + +#: modules/mod_login.xml +msgid "Name/Username" +msgstr "ชื่อ/ชื่อผู้ใช้งาน" + +#: modules/mod_login.xml +msgid "Post-text" +msgstr "ข้อความหลังออกจากระบบ" + +#: modules/mod_login.xml +msgid "Pre-text" +msgstr "ข้อความก่อนเข้าสู่ระบบ" + +#: modules/mod_login.xml +msgid "Show/Hide the simple greeting text" +msgstr "แสดง/ซ่อน ข้อความแสดงความยินดี" + +#: modules/mod_login.xml +msgid "This is the Text or HTML that is displayed above the login form" +msgstr "ข้อความนี้จะปรากฎอยู่ด้านบนของแบบฟอร์มการเข้าสู่ระบบ" + +#: modules/mod_login.xml +msgid "This is the Text or HTML that is displayed below the login form" +msgstr "ข้อความนี้จะปรากฎอยู่ด้านล่างของแบบฟอร์มการเข้าสู่ระบบ" + +#: modules/mod_login.xml +msgid "" +"This module displays a Username and Password login form. It also displays a " +"link to retrieve a forgotten password. If user registration is enabled, " +"(refer to the Configuration settings), then another link will be shown to " +"invite users to self-register." +msgstr "" +"โมดูลที่แสดงชื่อผู้ใช้ และรหัสผ่านฟอร์มเข้าสู่ระบบ. มันจะแสดง" +"ลิงก์ไปยังการคืนรหัสผ่านให้เมื่อมีการลืม. ถ้าผู้ใช้ได้ลงทะเบียนถูกต้อง, " +"(อ้างถึงการตั้งค่าที่ได้ตั้งไว้), ต่อมาจะมีลิงอื่นๆ แสดง" +"ให้กับสมาชิก เพื่อให้ลงทะเบียนได้." + +#: modules/mod_mainmenu.xml +msgid "A suffix to be applied to the css class of the menu items" +msgstr "คำเสริมท้ายใช้กับคลาสของรายการเมนู" + +#: modules/mod_mainmenu.xml +msgid "Alignment of the Menu Icons" +msgstr "การเรียงไอคอนเมนู" + +#: modules/mod_mainmenu.xml +msgid "Choose which indent image system to utilise" +msgstr "เลือกเพื่อเปลี่ยนรูปภาพย่อหน้าเมนูที่ต้องการใช้" + +#: modules/mod_mainmenu.xml +msgid "Displays a menu." +msgstr "แสดงเมนู." + +#: modules/mod_mainmenu.xml +msgid "End Spacer" +msgstr "สิ้นสุดช่องว่าง" + +#: modules/mod_mainmenu.xml +msgid "End Spacer for Horizontal menu" +msgstr "สิ้นสุดช่องว่างสำหรับเมนูในแนวนอน" + +#: modules/mod_mainmenu.xml +msgid "Expand Menu" +msgstr "ขยายเมนู" + +#: modules/mod_mainmenu.xml +msgid "Expand the menu and make its sub-menus items always visible" +msgstr "ขยายส่วนของเมนูและจัดการให้เมนูย่อยสามารถมองเห็นได้ตลอดเวลา" + +#: modules/mod_mainmenu.xml +msgid "Flat List" +msgstr "เชื่อมโยงรายการ" + +#: modules/mod_mainmenu.xml +msgid "Image for the fifth sub-level" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 5" + +#: modules/mod_mainmenu.xml +msgid "Image for the first sub-level" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 1" + +#: modules/mod_mainmenu.xml +msgid "Image for the fourth sub-level" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 4" + +#: modules/mod_mainmenu.xml +msgid "Image for the second sub-level" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 2" + +#: modules/mod_mainmenu.xml +msgid "Image for the sixth sub-level" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 6" + +#: modules/mod_mainmenu.xml +msgid "Image for the third sub-level" +msgstr "รูปภาพสำหรับเมนูย่อยระดับที่ 3" + +#: modules/mod_mainmenu.xml +msgid "Indent Image" +msgstr "รูปภาพย่อหน้าเมนู" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 1" +msgstr "รูปภาพย่อหน้าเมนู 1" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 2" +msgstr "รูปภาพย่อหน้าเมนู 2" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 3" +msgstr "รูปภาพย่อหน้าเมนู 3" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 4" +msgstr "รูปภาพย่อหน้าเมนู 4" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 5" +msgstr "รูปภาพย่อหน้าเมนู 5" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 6" +msgstr "รูปภาพย่อหน้าเมนู 6" + +#: modules/mod_mainmenu.xml +msgid "Main Menu" +msgstr "เมนูหลัก" + +#: modules/mod_mainmenu.xml +msgid "Mambo default images" +msgstr "รูปภาพตั้งต้นที่กำหนดโดยแมมโบ้" + +#: modules/mod_mainmenu.xml +msgid "Menu Class Suffix" +msgstr "คำเสริมท้ายคลาสของเมนู" + +#: modules/mod_mainmenu.xml +msgid "Menu Icon Alignment" +msgstr "การเรียงไอคอนเมนู" + +#: modules/mod_mainmenu.xml +msgid "Menu Style" +msgstr "รูปแบบเมนู" + +#: modules/mod_mainmenu.xml +msgid "Show Menu Icons" +msgstr "แสดงไอคอนเมนู" + +#: modules/mod_mainmenu.xml +msgid "Show the Menu Icons you have selected for your menu items" +msgstr "แสดงไอคอนเมนูที่เลือกให้แก่รายการของเมนู" + +#: modules/mod_mainmenu.xml +msgid "Spacer" +msgstr "ช่องว่าง" + +#: modules/mod_mainmenu.xml +msgid "Spacer for Horizontal menu" +msgstr "ช่องว่างสำหรับเมนูในแนวนอน" + +#: modules/mod_mainmenu.xml +msgid "Template" +msgstr "เทมเพลท" + +#: modules/mod_mainmenu.xml +msgid "The menu style" +msgstr "รูปแบบเมนู" + +#: modules/mod_mainmenu.xml +msgid "The name of the menu (default is 'mainmenu')" +msgstr "ชื่อของเมนู (ค่าปกติคือ 'เมนูหลัก')" + +#: modules/mod_mainmenu.xml +msgid "Use params below" +msgstr "ใช้ค่าของตัวแปรด้านล่าง" + +#: modules/mod_mostread.xml +msgid "Most Read Content" +msgstr "เนื้อหาที่มีการอ่านมากที่สุด" + +#: modules/mod_mostread.xml modules/mod_sections.xml +msgid "The number of items to display (default is 5)" +msgstr "จำนวนรายการที่ต้องการแสดงต่อหน้าเพจ ปกติกำหนดค่า = 5" + +#: modules/mod_mostread.xml +msgid "" +"This module shows a list of the currently published Items that have been " +"viewed the most - determined by the number of times the page has been viewed." +msgstr "" +"โมดูลนี้แสดงรายการของรายการที่ได้เผยแพร่โดยมี" +"การแสดงมากที่สุด - ตัดสินโดยจำนวนของเวลาในการแสดงของหน้านั้น." + +#: modules/mod_newsflash.xml +msgid "A content category" +msgstr "ประเภทเนื้อหา" + +#: modules/mod_newsflash.xml +msgid "Make the Item titles linkable" +msgstr "กำหนดให้หัวข้อเป็นลิงก์" + +#: modules/mod_newsflash.xml +msgid "Newsflash" +msgstr "Newsflash" + +#: modules/mod_newsflash.xml +msgid "No of items to display" +msgstr "จำนวนเนื้อเรื่องที่ต้องการแสดงต่อครั้ง" + +#: modules/mod_newsflash.xml +msgid "No. of Items" +msgstr "จำนวนของเนื้อเรื่อง" + +#: modules/mod_newsflash.xml +msgid "Randomly choose one at a time" +msgstr "การเลือกแบบสุ่มจะเลือกเพียงรูปเดียวในแต่ละครั้ง" + +#: modules/mod_newsflash.xml +msgid "" +"The Newsflash module randomly selects one of the published items from a " +"category upon each page refresh. It may also dislpay multiple items in " +"horizontal or vertical configurations." +msgstr "" +"โมดูล Newsflash จะทำการสุ่มเลือกเพียงหนึ่ง จากรายการที่เผยแพร่ จาก" +"ประเภทเมื่อบนหน้าเว็บรีเฟรช. มันจะแสดงหลายรายการใน " +"แนวนอน หรือแนวตั้ง จากค่าที่ได้ตั้งไว้." + +#: modules/mod_newsflash.xml +msgid "The style to display the category" +msgstr "รูปแบบในการแสดงหมวดของเนื้อหา" + +#: modules/mod_poll.php:85 +msgid "Vote" +msgstr "โหวต" + +#: modules/mod_poll.php:86 +msgid "Results" +msgstr "ผลลัพธ์" + +#: modules/mod_poll.xml +msgid "Poll" +msgstr "โพลล์" + +#: modules/mod_poll.xml +msgid "" +"This module compliments the Polls component. It is used to display the " +"configured polls. The module differs from other modules in as much as the " +"Component supports linking between Menu Items and Polls. This means that the " +"module shows only those Polls, which are configured for a certain Menu Item." +msgstr "" +"โมดูลแสดงการลงคะแนนจากคอมโพเน้นท์โพลล์. มันถูกใช้แสดง " +"จากโพลล์ที่ตั้งไว้. โมดูลนี้แตกต่างจากโมดูลอื่น ถึงแม้ว่า " +"จะมีการทำเมนูเชื่อมโยงไปยังคอมโพเน้นท์โพลล์แล้ว. หมายความว่า " +"โมดูลแสดงเฉพาะให้ลงคะแนนเสียง, ซึ่งสิ่งนี้สามารถตั้งค่าได้จากรายการเมนู." + +#: modules/mod_random_image.xml +msgid "" +"A URL to redirect to if image is clicked on, eg: http://www.mambo-foundation." +"org" +msgstr "" +"URL ที่จะถูกเปลี่ยนเมื่อมีการคลิกที่ภาพ, เช่น: http://www.mambo-foundation." +"org" + +#: modules/mod_random_image.xml +msgid "Height (px)" +msgstr "สูง (px)" + +#: modules/mod_random_image.xml +msgid "Image Folder" +msgstr "โฟลเดอร์รูปภาพ" + +#: modules/mod_random_image.xml +msgid "Image Type" +msgstr "ประเภทของรูปภาพ" + +#: modules/mod_random_image.xml +msgid "Image height (forces all images to be displayed with the height)" +msgstr "ความสูงของรูป (ส่งผลให้ทุกรูปภาพถูกแสดงด้วยความสูงนี้)" + +#: modules/mod_random_image.xml +msgid "Image width (forces all images to be displayed with this width)" +msgstr "ความกว้างของรูป (ส่งผลให้ทุกรูปภาพถูกแสดงด้วยความกว้างนี้)" + +#: modules/mod_random_image.xml +msgid "Path to the image folder relative to the site url, eg: images/stories" +msgstr "พาทของโฟลเดอร์รูปภาพ, เช่น: images/stories " + +#: modules/mod_random_image.xml +msgid "Random Image" +msgstr "ระบบสุ่มเลือกรูปภาพ" + +#: modules/mod_random_image.xml +msgid "This module display a random image from your chosen directory" +msgstr "โมดูลที่แสดงการสุ่มแสดงภาพจากไดเรกทอรี่ที่เลือกไว้" + +#: modules/mod_random_image.xml +msgid "Type of image PNG/GIF/JPG etc. (default is JPG)" +msgstr "ประเภทของรูปภาพ เช่น PNG/GIF/JPG . (ค่าปกติคือ JPG)" + +#: modules/mod_random_image.xml +msgid "Width (px)" +msgstr "กว้าง (px)" + +#: modules/mod_related_items.xml +msgid "Related Items" +msgstr "หัวข้อที่เกี่ยวข้อง" + +#: modules/mod_related_items.xml +msgid "" +"This module displays other Content Items that are related to the Item " +"currently displayed. These are based on the keywords Metadata. All the " +"keywords of the current Content Item are searched against all the keywords " +"of all other published items. For example, you may have an Item on 'Breeding " +"Parrots' and you may have another on 'Hand Raising Black Cockatoos'. If you " +"include the keyword 'parrot' in both Items, then the Related Items module " +"will list the 'Breeding Parrots' Item when viewing 'Hand Raising Black " +"Cockatoos' and vice-versa." +msgstr "" +"โมดูลที่ใช้แสดงรายการเนื้อหาอื่นๆ ที่ผ่านมา จาก" +"รายการที่เคยแสดงมาแล้ว. สิ่งเหล่านี้คืออาศัยคำค้นเมต้าดาต้า. คำค้น" +"ทั้งหมดของรายการเนื้อหาเก่าๆ ที่มีการค้นหาอีกครั้งจากคำค้นทั้งหมด " +"จากรายการที่ถูกเผยแพร่ทั้งหมด. เป็นต้นว่า, คุณอาจจะมีรายการบน 'การเพาะพันธ์ " +"นกแก้ว' และ คุณอาจจะมีอื่นๆ บน 'มือที่ยาวของนกแก้วสีดำ'. ถ้าคุณ " +"ใส่คำค้นว่า 'นกแก้ว' ในรายการ, ต่อมาโมดูลแสดงรายการที่ผ่านมา " +"จะแสดงรายการของ 'การเพาะพันธุ์นกแก้ว' รายการจะแสดงส่วนของ 'มือที่ยาวของนกแก้ว" +"สีดำ' และรายการรองอื่นๆ." + +#: modules/mod_rssfeed.xml +msgid "Atom" +msgstr "Atom" + +#: modules/mod_rssfeed.xml +msgid "Atom Image" +msgstr "รูป Atom" + +#: modules/mod_rssfeed.xml +msgid "Choose the image to be used" +msgstr "เลือกรูปภาพที่ต้องการใช้" + +#: modules/mod_rssfeed.xml +msgid "Enter the text to be displayed along with the RSS links" +msgstr "กรุณาใส่ข้อความที่ต้องการให้แสดงกับลิงก์ RSS" + +#: modules/mod_rssfeed.xml +msgid "OPML" +msgstr "OPML" + +#: modules/mod_rssfeed.xml +msgid "OPML Image" +msgstr "รูป OPML" + +#: modules/mod_rssfeed.xml +msgid "RSS 0.91" +msgstr "RSS 0.91" + +#: modules/mod_rssfeed.xml +msgid "RSS 0.91 Image" +msgstr "รูป RSS 0.91" + +#: modules/mod_rssfeed.xml +msgid "RSS 1.0" +msgstr "RSS 1.0" + +#: modules/mod_rssfeed.xml +msgid "RSS 1.0 Image" +msgstr "รูป RSS 1.0" + +#: modules/mod_rssfeed.xml +msgid "RSS 2.0" +msgstr "RSS 2.0" + +#: modules/mod_rssfeed.xml +msgid "RSS 2.0 Image" +msgstr "รูป RSS 2.0" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide Atom 1.0 Link" +msgstr "แสดง/ซ่อนลิงก์ Atom 1.0" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide OPML Link" +msgstr "แสดง/ซ่อนลิงก์ OPML" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide RSS 0.91 Link" +msgstr "แสดง/ซ่อนลิงก์ RSS 0.91" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide RSS 1.0 Link" +msgstr "แสดง/ซ่อนลิงก์ RSS 1.0" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide RSS 2.0 Link" +msgstr "แสดง/ซ่อนลิงก์ RSS 2.0" + +#: modules/mod_rssfeed.xml +msgid "Syndicate" +msgstr "กระจายข่าว" + +#: modules/mod_rssfeed.xml modules/mod_search.xml +msgid "Text" +msgstr "ข้อความ" + +#: modules/mod_rssfeed.xml +msgid "" +"The Syndicate module will display a link whereby people can syndicate your " +"site for all your latest news. When you click on the RSS icon, you will be " +"redirected to a new page that will list all the latest news in XML format. " +"In order to use the Newsfeed in another Mambo site or a Newsfeed reader, you " +"need to cut and paste the URL." +msgstr "" +"โมดูลกระจายข่าวใช้แสดงลิงก์ของข่าวล่าสุดอยู่ในเว็บของเราเพื่อนำไปใช้ที่เว็บต่างๆ " +"ที่ต้องการนำไปแสดง. เมื่อคุณคลิกบนไปคอน RSS, คุณจะพบกับ " +"การแสดงหน้าใหม่ที่แสดงข่าวล่าสุดในรูปแบบของ XML. " +"โดยคุณสามารถเลือกแสดงข่าวที่มาจากเว็บที่ใช้ Mambo หรือใช้โปรแกรมอ่าน Newsfeed, " +"โดยทำการตัดและวาง URL ที่ได้มานำไปใช้." + +#: modules/mod_search.php:17 +msgid "Search" +msgstr "ค้นหา" + +#: modules/mod_search.php:19 +msgid "search..." +msgstr "ค้นหา..." + +#: modules/mod_search.xml +msgid "Bottom" +msgstr "ล่าง" + +#: modules/mod_search.xml +msgid "Box Width" +msgstr "ความกว้าง" + +#: modules/mod_search.xml +msgid "Button Position" +msgstr "ตำแหน่งปุ่ม" + +#: modules/mod_search.xml +msgid "Button Text" +msgstr "ข้อความด้านล่าง" + +#: modules/mod_search.xml +msgid "Display a Search Button" +msgstr "แสดงปุ่มค้นหา" + +#: modules/mod_search.xml +msgid "Position of the button relative to the search box" +msgstr "ตำแหน่งของปุ่มจะถูกปรับเปลี่ยนตามเท็กซ์บล๊อกค้นหา" + +#: modules/mod_search.xml +msgid "Search Button" +msgstr "ปุ่มค้นหา" + +#: modules/mod_search.xml +msgid "Search Module" +msgstr "โมดูลค้นหา" + +#: modules/mod_search.xml +msgid "Size of the search text box" +msgstr "ขนาดของเท็กซ์บล๊อกค้นหา" + +#: modules/mod_search.xml +msgid "" +"The text that appears in the search button, if left blank it will load " +"_SEARCH_TITLE from your language file" +msgstr "" +"ข้อความซึ่งปรากฏในปุ่มการค้นหา, ถ้าด้านซ้ายเว้นว่าง มันจะโหลด " +"_SEARCH_TITLE สตริงจากไฟล์ภาษาของคุณ" + +#: modules/mod_search.xml +msgid "" +"The text that appears in the search text box, if left blank it will load " +"_SEARCH_BOX from your language file" +msgstr "" +"ข้อความซึ่งปรากฏในกล่องข้อความการค้นหา, ถ้าด้านซ้ายเว้นว่าง มันจะโหลด " +"_SEARCH_BOX สตริงจากไฟล์ภาษาของคุณ" + +#: modules/mod_search.xml +msgid "This module will display a search box" +msgstr "นี่เป็นโมดูลที่จะแสดงกล่องการค้นหา" + +#: modules/mod_search.xml +msgid "Top" +msgstr "บน" + +#: modules/mod_sections.xml +msgid "Sections" +msgstr "หมวด" + +#: modules/mod_sections.xml +msgid "" +"The Section module shows a list of all Sections configured in your database. " +"The Sections refer here to the Item Sections only. If the configuration " +"'Show Unauthorized Links' is set to 'NO', the list will be limited to the " +"sections the user is allowed to see." +msgstr "" +"โมดูล หมวดหมู่ แสดงรายการของหมวดหมู่ทั้งหมดที่ปรับแต่งบนฐานข้อมูล. " +"เป็นการอ้างอิงจากรายการของหมวดหมู่เท่านั้น. ถ้าการกำหนดค่าเป็น " +"'แสดงลิงก์อย่างไม่เป็นทางการ' โดยตั้งค่าเป็น 'ไม่', " +"รายการจะถูกจำกัดการที่ผู้ใช้จะสามารถดูได้." + +#: modules/mod_stats.php:27 +msgid "Time" +msgstr "เวลา" + +#: modules/mod_stats.php:28 modules/mod_stats.php:30 +msgid "Disabled" +msgstr "ปิดการใช้งาน" + +#: modules/mod_stats.php:28 modules/mod_stats.php:30 +msgid "Enabled" +msgstr "เปิดการใช้งาน" + +#: modules/mod_stats.php:37 +msgid "Members" +msgstr "จำนวนสมาชิก" + +#: modules/mod_stats.php:41 +msgid "News" +msgstr "ข่าว" + +#: modules/mod_stats.php:59 modules/mod_stats.php:61 +msgid "Visitors" +msgstr "ผู้เยี่ยมชม" + +#: modules/mod_stats.xml +msgid "Display hit counter" +msgstr "แสดงตัวนับจำนวนผู้ชม" + +#: modules/mod_stats.xml +msgid "Display server information" +msgstr "แสดงข้อมูลเครื่องเซิร์ฟเวอร์" + +#: modules/mod_stats.xml +msgid "Display site information" +msgstr "แสดงข้อมูลเว็บไซต์" + +#: modules/mod_stats.xml +msgid "Enter the amount of hits to increase counter by" +msgstr "เพิ่มค่าตัวนับโดย" + +#: modules/mod_stats.xml +msgid "Hit Counter" +msgstr "ตัวนับจำนวนผู้ชม" + +#: modules/mod_stats.xml +msgid "Increase counter" +msgstr "เพิ่มค่าตัวนับ" + +#: modules/mod_stats.xml +msgid "Server Info" +msgstr "ข้อมูลเครื่องเซริฟเวอร์" + +#: modules/mod_stats.xml +msgid "Site Info" +msgstr "ข้อมูลเว็บไซต์" + +#: modules/mod_stats.xml +msgid "Statistics" +msgstr "สถิติ" + +#: modules/mod_stats.xml +msgid "" +"The Statistics module shows information about your server installation and " +"statistics on the web site users, number of contents in your database, and " +"number of web links you provide." +msgstr "" +"โมดูล สถิติ แสดงข้อมูลเกี่ยวกับการติดตั้งลงเซิร์ฟเวอร์ และ " +"สถิติบนเว็บไซต์ที่มีผู้เข้าชม, จำนวนของบทความในฐานข้อมูล, และ " +"จำนวนของเว็บลิงก์บนเว็บคุณ." + +#: modules/mod_templatechooser.php:77 +msgid "Select" +msgstr "เลือก" + +#: modules/mod_templatechooser.xml +msgid "Height" +msgstr "สูง" + +#: modules/mod_templatechooser.xml +msgid "Max. Name Length" +msgstr "ความยาวของชื่อสูงสุด" + +#: modules/mod_templatechooser.xml +msgid "Show Preview" +msgstr "แสดงตัวอย่าง" + +#: modules/mod_templatechooser.xml +msgid "Template Chooser" +msgstr "ตัวเลือกเทมเพลท" + +#: modules/mod_templatechooser.xml +msgid "Template preview is to be shown" +msgstr "แสดงพรีวิวเทมเพลท" + +#: modules/mod_templatechooser.xml +msgid "" +"The Template Chooser module allows the user (visitor) to change the template " +"on the fly from the front-end via a drop down selection list." +msgstr "" +"โมดูล เลือกเทมเพลต ยินยอมให้ผู้ใช้ (ผู้เยี่ยมชม) สามารถเปลี่ยนเทมเพลต " +"ของด้านหน้าเว็บจาก เมนูแบบดร็อปดาวน์." + +#: modules/mod_templatechooser.xml +msgid "This is the height of the preview image (default 90)" +msgstr "ความสูงรูปพรีวิวของเทมเพลท (ค่าปกติ = 90)" + +#: modules/mod_templatechooser.xml +msgid "This is the maximum length of the template name to display (default 20)" +msgstr "ความยาวของชื่อเทมเพลทสูงสุดที่จะถูกแสดง (ค่าปกติ = 20)" + +#: modules/mod_templatechooser.xml +msgid "This is the width of the preview image (default 140)" +msgstr "ความกว้างรูปพรีวิวของเทมเพลท (ค่าปกติ =140)" + +#: modules/mod_templatechooser.xml +msgid "Width" +msgstr "กว้าง" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:28 +msgid "We have %d guest online" +msgid_plural "We have %d guests online" +msgstr[0] "ขณะนี้มี %d บุคคลทั่วไปออนไลน์" +msgstr[1] "ขณะนี้มี %d บุคคลทั่วไปออนไลน์" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:32 +msgid "We have %d member online" +msgid_plural "We have %d members online" +msgstr[0] "ขณะนี้มี %d สมาชิกออนไลน์" +msgstr[1] "ขณะนี้มี %d สมาชิกออนไลน์" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:36 +msgid "We have %d guest online and " +msgid_plural "We have %d guests online and " +msgstr[0] "ขณะนี้มี %d บุคคลทั่วไปออนไลน์ และ" +msgstr[1] "ขณะนี้มี %d บุคคลทั่วไปออนไลน์ และ" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_whosonline.php:37 +msgid " %d member online" +msgid_plural " %d members online" +msgstr[0] " %d สมาชิกออนไลน์" +msgstr[1] " %d สมาชิกออนไลน์" + +#: modules/mod_whosonline.php:57 +msgid "No Users Online" +msgstr "ไม่มีสมาชิกออนไลน์" + +#: modules/mod_whosonline.xml +msgid "# of Guests/Members" +msgstr "# ผู้ชม/สมาชิก" + +#: modules/mod_whosonline.xml +msgid "Display" +msgstr "แสดง" + +#: modules/mod_whosonline.xml +msgid "Member Names" +msgstr "ชื่อสมาชิก" + +#: modules/mod_whosonline.xml +msgid "Select what shall be shown" +msgstr "เลือกรายการที่ต้องการแสดง" + +#: modules/mod_whosonline.xml +msgid "" +"The Who's Online module displays the number of anonymous (that is, Guest) " +"users and Registered users, (those that are logged in) that are currently " +"accessing the web site." +msgstr "" +"โมดูล ใครออนไลน์ แสดงจำนวนของผู้ที่ไม่ระบุชื่อ (ในที่นี้คือ, บุคคลทั่วไป) " +"สมาชิก และสมาชิกลงทะเบียน, (ต้องเข้าสู่ระบบ) เพื่อแสดง " +"การเข้าสู่เว็บไซต์." + +#: modules/mod_whosonline.xml +msgid "Who's Online" +msgstr "ใครออนไลน์" + +#: modules/mod_wrapper.xml +msgid "This module shows an IFrame window to specified location" +msgstr "นี่เป็นโมดูลที่ต้องการให้แสดงตำแหน่งหน้าต่าง IFrame" + +#: modules/mod_wrapper.xml +msgid "Url" +msgstr "Url" + +#: modules/mod_wrapper.xml +msgid "Url to site/file you wish to display within the Iframe" +msgstr "Url สำหรับ เว็บ/ไฟล์ ที่คุณต้องการแสดงภายในหน้าต่าง Iframe" + +#: modules/mod_wrapper.xml +msgid "Wrapper Module" +msgstr "โมดูลแร็บเปอร์" + +#: templates/waterandstone/templateDetails.xml +msgid "" +"The Water and Stone Grey Template optimized for 1024px width resolution for " +"use with any type of website with easy customization" +msgstr "" +"The Water and Stone Grey Template optimized for 1024px width resolution for " +"use with any type of website with easy customization" + +#: templates/waterandstone/templateDetails.xml +msgid "waterandstone" +msgstr "waterandstone" + +#: templates/waterandstone800/templateDetails.xml +msgid "" +"The Water and Stone Grey Template optimized for 800px width resolution for " +"use with any type of website with easy customization" +msgstr "" +"The Water and Stone Grey Template optimized for 800px width resolution for " +"use with any type of website with easy customization" + +#: templates/waterandstone800/templateDetails.xml +msgid "waterandstone800" +msgstr "waterandstone800" + +#: templates/waterandstone800_blue/templateDetails.xml +msgid "" +"The Water and Stone Blue Template optimized for 800px x 600px screen " +"resolution for use with any type of website with easy customization" +msgstr "" +"The Water and Stone Blue Template optimized for 800px x 600px screen " +"resolution for use with any type of website with easy customization" + +#: templates/waterandstone800_blue/templateDetails.xml +msgid "waterandstone800_blue" +msgstr "waterandstone800_blue" + +#: templates/waterandstone800_green/templateDetails.xml +msgid "" +"The Water and Stone Green Template optimized for 800px x 600px screen " +"resolution for use with any type of website with easy customization" +msgstr "" +"The Water and Stone Green Template optimized for 800px x 600px screen " +"resolution for use with any type of website with easy customization" + +#: templates/waterandstone800_green/templateDetails.xml +msgid "waterandstone800_green" +msgstr "waterandstone800_green" + +#: templates/waterandstone800_greenandblack/templateDetails.xml +msgid "" +"The Water and Stone Green and Black Template optimized for 800px x 600px " +"screen resolution for use with any type of website with easy customization" +msgstr "" +"The Water and Stone Green and Black Template optimized for 800px x 600px " +"screen resolution for use with any type of website with easy customization" + +#: templates/waterandstone800_greenandblack/templateDetails.xml +msgid "waterandstone800_greenandblack" +msgstr "waterandstone800_greenandblack" + +#: templates/waterandstone_blue/templateDetails.xml +msgid "" +"The Water and Stone Blue Template optimized for 1024px x 768px screen " +"resolution for use with any type of website with easy customization" +msgstr "" +"The Water and Stone Blue Template optimized for 1024px x 768px screen " +"resolution for use with any type of website with easy customization" + +#: templates/waterandstone_blue/templateDetails.xml +msgid "waterandstone_blue" +msgstr "waterandstone_blue" + +#: templates/waterandstone_green/templateDetails.xml +msgid "" +"The Water and Stone Green Template optimized for 1024px x 768px screen " +"resolution for use with any type of website with easy customization" +msgstr "" +"The Water and Stone Green Template optimized for 1024px x 768px screen " +"resolution for use with any type of website with easy customization" + +#: templates/waterandstone_green/templateDetails.xml +msgid "waterandstone_green" +msgstr "waterandstone_green" + +#: templates/waterandstone_greenandblack/templateDetails.xml +msgid "" +"The Water and Stone Green and Black Template optimized for 1024px x 768px " +"screen resolution for use with any type of website with easy customization" +msgstr "" +"The Water and Stone Green and Black Template optimized for 1024px x 768px " +"screen resolution for use with any type of website with easy customization" + +#: templates/waterandstone_greenandblack/templateDetails.xml +msgid "waterandstone_greenandblack" +msgstr "waterandstone_greenandblack" + +#: administrator/components/com_content/admin.content.html.php:35 +#: administrator/components/com_content/admin.content.html.php:39 +msgid "Content Items Manager" +msgstr "การจัดการเนื้อหา" + +#: administrator/components/com_content/admin.content.html.php:35 +msgid "Section: All" +msgstr "หมวด: ทั้งหมด" + +#: administrator/components/com_content/admin.content.html.php:85 +msgid "Front Page" +msgstr "หน้าแรกเว็บ" + +#: administrator/components/com_content/admin.content.html.php:287 +msgid "Please make a selection from the list to send to Trash" +msgstr "โปรดเลือกรายการที่ต้องการลบ" + +#: administrator/components/com_content/admin.content.html.php:288 +msgid "" +"Are you sure you want to Trash the selected items? \\nThis will not " +"permanently delete the items." +msgstr "คุณแน่ใจหรือไม่ ว่าจะโยนที่เลือกไว้ทิ้ง? \\n อันนี้จะไม่ได้ลบแบบสมบรูณ์ " + +#: administrator/components/com_content/admin.content.html.php:304 +#: administrator/components/com_content/admin.content.html.php:308 +msgid "Archive Manager" +msgstr "การจัดการคลังเนื้อหา" + +#: administrator/components/com_content/admin.content.html.php:498 +msgid "Please select a Menu" +msgstr "โปรดเลือกเมนู" + +#: administrator/components/com_content/admin.content.html.php:501 +msgid "Please enter a Name for this menu item" +msgstr "กรุณาใส่ชื่อเมนู" + +#: administrator/components/com_content/admin.content.html.php:519 +#: components/com_content/content.html.php:908 +msgid "Content item must have a title" +msgstr "เนื้อหาต้องมีหัวเรื่อง" + +#: administrator/components/com_content/admin.content.html.php:521 +msgid "You must select a Section." +msgstr "คุณต้องเลือกหมวด." + +#: administrator/components/com_content/admin.content.html.php:523 +#: administrator/components/com_content/admin.content.html.php:525 +msgid "You must select a Category." +msgstr "คุณต้องเลือกประเภท." + +#: administrator/components/com_content/admin.content.html.php:577 +msgid "Content Item:" +msgstr "รายการเนื้อหา:" + +#: administrator/components/com_content/admin.content.html.php:598 +msgid "Show Advanced Details" +msgstr "แสดงข้อมูลรายละเอียด" + +#: administrator/components/com_content/admin.content.html.php:601 +msgid "Hide Advanced Details" +msgstr "ซ่อนข้อมูลรายละเอียด" + +#: administrator/components/com_content/admin.content.html.php:616 +msgid "Item Details" +msgstr "รายละเอียดรายการ" + +#: administrator/components/com_content/admin.content.html.php:635 +msgid "Title Alias:" +msgstr "ชื่อแทนหัวเรื่อง:" + +#: administrator/components/com_content/admin.content.html.php:653 +msgid "Intro Text:" +msgstr "ข้อความส่วนต้น" + +#: administrator/components/com_content/admin.content.html.php:653 +msgid "required" +msgstr "ต้องการ" + +#. parameters : areaname, content, hidden field, width, height, rows, cols +#: administrator/components/com_content/admin.content.html.php:661 +msgid "Main Text:" +msgstr "ข้อความหลัก:" + +#: administrator/components/com_content/admin.content.html.php:661 +msgid "optional" +msgstr "ใส่เพิ่มเติม" + +#: administrator/components/com_content/admin.content.html.php:680 +#: components/com_content/content.html.php:1141 +msgid "Publishing" +msgstr "การเผยแพร่" + +#: administrator/components/com_content/admin.content.html.php:685 +msgid "Publishing Info" +msgstr "รายละเอียดการเผยแพร่" + +#: administrator/components/com_content/admin.content.html.php:690 +msgid "Show on Frontpage:" +msgstr "แสดงในหน้าแรก:" + +#: administrator/components/com_content/admin.content.html.php:713 +#: components/com_content/content.html.php:1167 +msgid "Author Alias:" +msgstr "ชื่อแทนผู้เขียน:" + +#: administrator/components/com_content/admin.content.html.php:721 +msgid "Change Creator:" +msgstr "เปลี่ยนผู้สร้าง:" + +#: administrator/components/com_content/admin.content.html.php:733 +msgid "Override Created Date" +msgstr "แก้ไขวันที่สร้าง" + +#: administrator/components/com_content/admin.content.html.php:742 +#: components/com_content/content.html.php:1183 +msgid "Start Publishing:" +msgstr "เริ่มเผยแพร่:" + +#: administrator/components/com_content/admin.content.html.php:751 +#: components/com_content/content.html.php:1192 +msgid "Finish Publishing:" +msgstr "สิ้นสุดการเผยแพร่:" + +#: administrator/components/com_content/admin.content.html.php:766 +msgid "Content ID:" +msgstr "หมายเลขเนื้อหา:" + +#: administrator/components/com_content/admin.content.html.php:777 +#: components/com_content/content.html.php:1149 +msgid "State:" +msgstr "สถานะ:" + +#: administrator/components/com_content/admin.content.html.php:780 +msgid "Archived" +msgstr "ตั้งเป็นคลังเนื้อหา" + +#: administrator/components/com_content/admin.content.html.php:780 +msgid "Draft Unpublished" +msgstr "ต้นฉบับยังไม่เผยแพร่" + +#: administrator/components/com_content/admin.content.html.php:792 +msgid "Reset Hit Count" +msgstr "เริ่มต้นนับใหม่" + +#: administrator/components/com_content/admin.content.html.php:799 +msgid "Revised" +msgstr "ทบทวน" + +#: administrator/components/com_content/admin.content.html.php:803 +msgid "times" +msgstr "ครั้ง" + +#: administrator/components/com_content/admin.content.html.php:809 +msgid "Created" +msgstr "สร้าง" + +#: administrator/components/com_content/admin.content.html.php:813 +#: administrator/components/com_content/admin.content.html.php:823 +msgid "By" +msgstr "โดย" + +#: administrator/components/com_content/admin.content.html.php:819 +msgid "Last Modified" +msgstr "แก้ไขครั้งสุดท้าย" + +#: administrator/components/com_content/admin.content.html.php:829 +#: components/com_content/content.html.php:1056 +msgid "Images" +msgstr "รูป" + +#: administrator/components/com_content/admin.content.html.php:834 +msgid "MOSImage Control" +msgstr "ควบคุมรูปแมมโบ" + +#: administrator/components/com_content/admin.content.html.php:838 +msgid "Sub-folder:" +msgstr "โฟลเดอร์ย่อย:" + +#: administrator/components/com_content/admin.content.html.php:842 +msgid "Gallery Images:" +msgstr "แกลลอรี่รูปภาพ:" + +#: administrator/components/com_content/admin.content.html.php:857 +msgid "Content Images:" +msgstr "รูปในเนื้อหา:" + +#: administrator/components/com_content/admin.content.html.php:867 +msgid "up" +msgstr "ขึ้น" + +#: administrator/components/com_content/admin.content.html.php:868 +msgid "down" +msgstr "ลง" + +#: administrator/components/com_content/admin.content.html.php:869 +msgid "remove" +msgstr "ย้าย" + +#: administrator/components/com_content/admin.content.html.php:874 +msgid "Edit the image selected:" +msgstr "แก้ไขรูปที่เลือก:" + +#: administrator/components/com_content/admin.content.html.php:878 +#: components/com_content/content.html.php:1091 +msgid "Source:" +msgstr "ที่มา:" + +#: administrator/components/com_content/admin.content.html.php:886 +msgid "Image Align:" +msgstr "จัดวางรูป:" + +#: administrator/components/com_content/admin.content.html.php:894 +#: components/com_content/content.html.php:1107 +msgid "Alt Text:" +msgstr "ข้อความของรูป" + +#: administrator/components/com_content/admin.content.html.php:902 +#: components/com_content/content.html.php:1115 +msgid "Border:" +msgstr "เส้นขอบ:" + +#: administrator/components/com_content/admin.content.html.php:910 +msgid "Caption:" +msgstr "หัวข้อ:" + +#: administrator/components/com_content/admin.content.html.php:918 +msgid "Caption Position:" +msgstr "ตำแหน่งหัวข้อ:" + +#: administrator/components/com_content/admin.content.html.php:926 +msgid "Caption Align:" +msgstr "การจัดวางหัวข้อ:" + +#: administrator/components/com_content/admin.content.html.php:934 +msgid "Width:" +msgstr "กว้าง:" + +#: administrator/components/com_content/admin.content.html.php:942 +#: components/com_content/content.html.php:1124 +msgid "Apply" +msgstr "ใช้งาน" + +#: administrator/components/com_content/admin.content.html.php:956 +msgid "Parameter Control" +msgstr "ควบคุมพารามิเตอร์" + +#: administrator/components/com_content/admin.content.html.php:961 +msgid "" +"These Parameters only control what you see when you click to view an item " +"fully" +msgstr "พารามิเตอร์เหล่านี้ควบคุมการแสดงผลเมื่อคุณดูเนื้อหา" + +#: administrator/components/com_content/admin.content.html.php:973 +msgid "Meta Info" +msgstr "รายละเอียดเมต้า" + +#: administrator/components/com_content/admin.content.html.php:978 +msgid "Meta Data" +msgstr "ข้อมูลเมต้า" + +#: administrator/components/com_content/admin.content.html.php:990 +#: components/com_content/content.html.php:1223 +msgid "Keywords:" +msgstr "คำสำคัญ:" + +#: administrator/components/com_content/admin.content.html.php:997 +msgid "Add Sect/Cat/Title" +msgstr "เพิ่มหมวด/ประเภท/หัวเรื่อง" + +#: administrator/components/com_content/admin.content.html.php:1003 +#: administrator/components/com_content/admin.content.html.php:1008 +#: administrator/components/com_content/admin.content.html.php:1037 +msgid "Link to Menu" +msgstr "ลิงก์เมนู" + +#: administrator/components/com_content/admin.content.html.php:1013 +msgid "This will create a 'Link - Content Item' in the menu you select" +msgstr "นี่จะเป็นการสร้างเมนูแบบ เชื่อมต่อ - รายการเนื้อหา ให้กับเมนูที่เลือก" + +#: administrator/components/com_content/admin.content.html.php:1019 +msgid "Select a Menu" +msgstr "เลือกเมนู" + +#: administrator/components/com_content/admin.content.html.php:1027 +msgid "Menu Item Name" +msgstr "ชื่อเมนู" + +#: administrator/components/com_content/admin.content.html.php:1042 +msgid "Existing Menu Links" +msgstr "ออกจากเมนูลิงก์" + +#: administrator/components/com_content/admin.content.html.php:1116 +msgid "Please select something" +msgstr "โปรดเลือกบางอย่าง" + +#: administrator/components/com_content/admin.content.html.php:1128 +msgid "Move Items" +msgstr "ย้ายรายการ" + +#: administrator/components/com_content/admin.content.html.php:1137 +msgid "Move to Section/Category:" +msgstr "ย้ายไปยัง หมวด/ประเภท" + +#: administrator/components/com_content/admin.content.html.php:1143 +msgid "Items being Moved:" +msgstr "รายการกำลังถูกย้าย" + +#: administrator/components/com_content/admin.content.html.php:1186 +msgid "Please select a Section/Category to copy the items to" +msgstr "โปรดเลือก หมวด/ประเภท ที่จะทำสำเนารายการไปไว้" + +#: administrator/components/com_content/admin.content.html.php:1197 +msgid "Copy Content Items" +msgstr "ทำสำเนาเนื้อหา" + +#: administrator/components/com_content/admin.content.html.php:1206 +msgid "Copy to Section/Category:" +msgstr "ทำสำเนาไป หมวด/ประเภท" + +#: administrator/components/com_content/admin.content.html.php:1212 +msgid "Items being copied:" +msgstr "รายการกำลังถูกทำสำเนา" + +#: administrator/components/com_content/admin.content.php:164 +msgid "All Content Items" +msgstr "เนื้อหาทั้งหมด" + +#: administrator/components/com_content/admin.content.php:385 +msgid "You cannot edit an archived item" +msgstr "ไม่สามารถลบคลังเนื้อหา" + +#: administrator/components/com_content/admin.content.php:426 +#: administrator/components/com_content/admin.content.php:458 +#: administrator/components/com_content/admin.content.php:598 +msgid "Never" +msgstr "ไมต้อง" + +#: administrator/components/com_content/admin.content.php:477 +msgid "Select Section" +msgstr "เลือกหมวด" + +#: administrator/components/com_content/admin.content.php:479 +msgid "Add Section(s) First" +msgstr "เพิ่มหมวดหมู่(s) เป็นอันดับแรก" + +#: administrator/components/com_content/admin.content.php:488 +#: administrator/components/com_content/admin.content.php:503 +#: administrator/components/com_content/admin.content.php:511 +msgid "Select Category" +msgstr "เลือกประเภท" + +#: administrator/components/com_content/admin.content.php:498 +msgid "Add Categories First" +msgstr "เพิ่มประเภทเป็นอันดับแรก" + +#: administrator/components/com_content/admin.content.php:681 +msgid "Successfully Saved changes to Item: " +msgstr "ได้ทำการบันทึกการเปลี่ยนแปลงรายการ: " + +#: administrator/components/com_content/admin.content.php:686 +msgid "Successfully Saved Item: " +msgstr "ได้ทำการบันทึกรายการ: " + +#: administrator/components/com_content/admin.content.php:723 +msgid "%d Item successfully Archived" +msgid_plural "%d Items successfully Archived" +msgstr[0] "%d รายการเอกสารสำคัญสมบูรณ์" +msgstr[1] "%d รายการเอกสารสำคัญสมบูรณ์" + +#: administrator/components/com_content/admin.content.php:725 +msgid "%d Item successfully Published" +msgid_plural "%d Items successfully Published" +msgstr[0] "%d รายการเผยแพร่สมบูรณ์" +msgstr[1] "%d รายการเผยแพร่สมบูรณ์" + +#: administrator/components/com_content/admin.content.php:727 +msgid "%d Item successfully Unpublished" +msgid_plural "%d Items successfully Unpublished" +msgstr[0] "%d รายการไม่เผยแพร่สมบูรณ์" +msgstr[1] "%d รายการไม่เผยแพร่สมบูรณ์" + +#: administrator/components/com_content/admin.content.php:757 +msgid "Select an item to toggle" +msgstr "เลือกรายการที่จะเปลี่ยน" + +#: administrator/components/com_content/admin.content.php:890 +#: administrator/components/com_content/admin.content.php:994 +msgid "An error has occurred" +msgstr "มีความผิดพลาดเกิดขึ้น" + +#: administrator/components/com_content/admin.content.php:935 +msgid "%d Item successfully moved to Section: %s, Category: %s" +msgid_plural "%d Items successfully moved to Section: %s, Category: %s" +msgstr[0] "%d รายการได้ถูกย้ายไปหมวด: %s, ประเภท: %s" +msgstr[1] "%d รายการได้ถูกย้ายไปหมวด: %s, ประเภท: %s" + +#: administrator/components/com_content/admin.content.php:1062 +msgid "%d Item successfully copied to Section: %s, Category: %s" +msgid_plural "%d Items successfully copied to Section: %s, Category: %s" +msgstr[0] "%d รายการได้ถูกทำสำเนาไปหมวด: %s, ประเภท: %s" +msgstr[1] "%d รายการได้ถูกทำสำเนาไปหมวด: %s, ประเภท: %s" + +#: administrator/components/com_content/admin.content.php:1083 +msgid "Successfully Reset Hit count" +msgstr "ได้ตั้งค่าการนับใหม่แล้ว" + +#: administrator/components/com_content/admin.content.php:1149 +#, php-format +msgid "%s (Link - Static Content) in menu: %s successfully created" +msgstr "%s (ลิงก์ เนื้อหาสเตติก) ในเมนู: %s ถูกสร้างเรียบร้อย" + +#: administrator/components/com_content/content.xml +msgid "Content Page" +msgstr "หน้าเนื้อหา" + +#: administrator/components/com_content/content.xml +#: components/com_content/content.html.php:1015 +msgid "Intro Text" +msgstr "ข้อความส่วนต้น" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the intro text" +msgstr "แสดง/ซ่อน ข้อความส่วนต้น" + +#: administrator/components/com_content/content.xml +msgid "This shows a single content page" +msgstr "แสดงเพียงหน้าเดียวของเนื้อหา" + +#: administrator/components/com_content/toolbar.content.html.php:45 +msgid "Trash" +msgstr "ถังรีไซเคิล" + +#: components/com_content/content.html.php:70 +msgid "This Category is currently empty" +msgstr "ไม่มีบทความในประเภทนี้" + +#: components/com_content/content.html.php:118 +msgid "%d item" +msgid_plural "%d items" +msgstr[0] "%d รายการ" +msgstr[1] "%d รายการ" + +#: components/com_content/content.html.php:132 +msgid "Registered Users Only" +msgstr "เฉพาะสมาชิกเท่านั้น" + +#: components/com_content/content.html.php:184 +msgid "Display #" +msgstr "แสดง #" + +#: components/com_content/content.html.php:268 +#: components/com_content/content.html.php:420 +msgid "Register to read more..." +msgstr "ลงทะเบียน เพื่ออ่านข้อมูลได้มากขึ้น..." + +#: components/com_content/content.html.php:348 +msgid "More..." +msgstr "ข้อมูลเพิ่มเติม..." + +#: components/com_content/content.html.php:415 +msgid "Read more..." +msgstr "อ่านข้อมูลเพิ่มเติม..." + +#: components/com_content/content.html.php:610 +#: components/com_content/content.html.php:612 +#: components/com_content/content.html.php:616 +msgid "PDF" +msgstr "PDF" + +#: components/com_content/content.html.php:635 +#: components/com_content/content.html.php:637 +#: components/com_content/content.html.php:641 +msgid "E-mail" +msgstr "อีเมล" + +#: components/com_content/content.html.php:716 +msgid "Contributed by" +msgstr "เขียนโดย" + +#: components/com_content/content.html.php:716 +msgid "Written by" +msgstr "เขียนโดย" + +#: components/com_content/content.html.php:788 +msgid "Last Updated" +msgstr "แก้ไขล่าสุดเมื่อ" + +#: components/com_content/content.html.php:828 +msgid "Previous" +msgstr "ก่อนหน้า" + +#: components/com_content/content.html.php:912 +msgid "Please select a category" +msgstr "กรุณาเลือกประเภทรายการ" + +#: components/com_content/content.html.php:914 +#: components/com_content/content.html.php:923 +msgid "Content item must have intro text" +msgstr "กรุณาใส่ข้อความเกริ่นนำเรื่องด้วยครับ" + +#: components/com_content/content.html.php:939 +msgid "Please either Cancel or Save the current change" +msgstr "กรุณาเลือกว่าจะยกเลิก หรือบันทึกสิ่งที่กำลังแก้ไขอยู่" + +#. $docinfo = "".T_('Subject:')." "; +#. $docinfo .= $row->title."
      "; +#: components/com_content/content.html.php:948 +msgid "Expiry Date:" +msgstr "วันหมดอายุ:" + +#: components/com_content/content.html.php:950 +msgid "Version:" +msgstr "เวอร์ชัน:" + +#: components/com_content/content.html.php:952 +msgid "Created:" +msgstr "เขียนเมื่อ:" + +#: components/com_content/content.html.php:954 +msgid "Last Modified:" +msgstr "แก้ไขล่าสุดเมื่อ:" + +#: components/com_content/content.html.php:956 +msgid "Hits:" +msgstr "จำนวนครั้งที่เข้าขม:" + +#: components/com_content/content.html.php:964 +msgid "Item Information" +msgstr "รายละเอียดเกี่ยวกับรายการ" + +#: components/com_content/content.html.php:965 +msgid "Info" +msgstr "ข้อมูล" + +#: components/com_content/content.html.php:1015 +#: components/com_content/content.html.php:1021 +msgid "Required" +msgstr "ต้องการ" + +#: components/com_content/content.html.php:1021 +#: components/com_content/content.html.php:1039 +msgid "Main Text" +msgstr "ข้อความหลัก" + +#: components/com_content/content.html.php:1039 +msgid "Optional" +msgstr "ข้อความเพิ่มเติม" + +#: components/com_content/content.html.php:1061 +msgid "Sub-folder" +msgstr "โฟลเดอร์ย่อย" + +#: components/com_content/content.html.php:1066 +msgid "Gallery Images" +msgstr "แกลลอรี่รูปภาพ" + +#: components/com_content/content.html.php:1069 +msgid "Content Images" +msgstr "รูปในเนื้อหา" + +#: components/com_content/content.html.php:1072 +msgid "Edit Image" +msgstr "แก้ไขรูปภาพ" + +#: components/com_content/content.html.php:1078 +msgid "Insert" +msgstr "แทรก" + +#: components/com_content/content.html.php:1083 +msgid "Up" +msgstr "ขึ้น" + +#: components/com_content/content.html.php:1084 +msgid "Down" +msgstr "ลง" + +#: components/com_content/content.html.php:1099 +msgid "Align:" +msgstr "จัดวาง:" + +#: components/com_content/content.html.php:1132 +#: components/com_content/content.html.php:1135 +msgid "No Image" +msgstr "ไม่มีรูปภาพ" + +#: components/com_content/content.html.php:1201 +msgid "Show on Front Page:" +msgstr "แสดงที่หน้าแรก:" + +#: components/com_content/content.html.php:1210 +msgid "Metadata" +msgstr "เมตาดาต้า" + +#: components/com_content/content.html.php:1260 +#: components/com_content/content.php:1446 +msgid "" +"You must enter valid e-mail addresses for both yourself and your recipient." +msgstr "กรุณาใส่อีเมลที่ถูกต้องของคุณรวมทั้งอีเมลของเพื่อนที่ต้องการส่ง." + +#: components/com_content/content.html.php:1274 +msgid "E-mail this to a friend." +msgstr "ส่งอีเมลข้อมูลนี้ให้เพื่อน." + +#: components/com_content/content.html.php:1282 +msgid "Your friend's E-mail:" +msgstr "อีเมลของเพื่อนคุณ:" + +#: components/com_content/content.html.php:1290 +msgid "Your Name:" +msgstr "ชื่อของคุณ:" + +#: components/com_content/content.html.php:1298 +msgid "Your E-mail:" +msgstr "อีเมลของคุณ:" + +#: components/com_content/content.html.php:1306 +msgid "Message subject:" +msgstr "หัวข้อ:" + +#: components/com_content/content.html.php:1317 +msgid "Send e-mail" +msgstr "ส่งอีเมล" + +#: components/com_content/content.html.php:1318 +msgid "Cancel" +msgstr "ยกเลิก" + +#: components/com_content/content.html.php:1338 +msgid "This item has been sent to %s" +msgstr "ข้อมูลนี้ได้จัดส่งไปยัง" + +#: components/com_content/content.html.php:1342 +msgid "Close Window" +msgstr "ปิดหน้าต่างนี้" + +#: components/com_content/content.php:435 +msgid "Date Asc" +msgstr "วันที่ เก่าก่อน" + +#: components/com_content/content.php:436 +msgid "Date Desc" +msgstr "วันที่ ใหม่ก่อน" + +#: components/com_content/content.php:440 +msgid "Title Asc" +msgstr "หัวข้อ เก่าก่อน" + +#: components/com_content/content.php:441 +msgid "Title Desc" +msgstr "หัวข้อ ใหม่ก่อน" + +#: components/com_content/content.php:445 +msgid "Hits Asc" +msgstr "ผู้ชม เก่าก่อน" + +#: components/com_content/content.php:446 +msgid "Hits Desc" +msgstr "ผู้ชม ใหม่ก่อน" + +#: components/com_content/content.php:450 +msgid "Author Asc" +msgstr "ผู้เขียน เก่าก่อน" + +#: components/com_content/content.php:451 +msgid "Author Desc" +msgstr "ผู้เขียน ใหม่ก่อน" + +#. if no archives for category, hides search and outputs empty message +#: components/com_content/content.php:648 +#: components/com_content/content.php:729 +msgid "There are currently no Archived Entries for this Category" +msgstr "ไม่มีเอกสารสำคัญในประเภทนี้กรุณาลองอีกครั้ง" + +#. Search Success message +#: components/com_content/content.php:827 +#, php-format +msgid "Here are the Archived entries for %s %s" +msgstr "มีเอกสารสำคัญใน %s %s" + +#. Search Failure message for Archives +#: components/com_content/content.php:961 +#, php-format +msgid "There are no Archived entries for %s %s" +msgstr "ไม่มีเอกสารสำคัญใน %s %s" + +#. Generic blog empty display +#: components/com_content/content.php:965 +msgid "There are no items to display" +msgstr "ไม่มีบทความ" + +#: components/com_content/content.php:1169 +#, php-format +msgid "The module [ %s ] is currently being edited by another person." +msgstr "โมดูล [ %s ] กำลังถูกแก้ไขโดยผู้ดูแลท่านอื่น." + +#: components/com_content/content.php:1374 +#, php-format +msgid "" +"A new content item has been submitted by [ %s ] titled [ %s ] from section " +"[ %s ] and category [ %s ]" +msgstr "" +"มีเนื้อหาใหม่ส่งมา โดย [ %s ] หัวข้อ [ %s ] จากหมวด [ %s ] และประเภท [ %s ]" + +#: components/com_content/content.php:1374 +msgid "New Item" +msgstr "รายการใหม่" + +#: components/com_content/content.php:1379 +msgid "Item saved successfully." +msgstr "บันทึกรายการเรียบร้อยแล้ว." + +#: components/com_content/content.php:1379 +msgid "" +"Thanks for your submission; it will be reviewed before being posted to the " +"site." +msgstr "" +"ขอขอบคุณสำหรับข้อมูลที่คุณส่งเข้ามา. เจ้าหน้าที่จะทำการตรวจสอบก่อนที่จะนำขึ้นแสดงในเว็บแห่งนี้" + +#: components/com_content/content.php:1437 +#, php-format +msgid "Item sent by %s" +msgstr "ข้อมูลนี้จัดส่งโดย %s" + +#. message text +#: components/com_content/content.php:1457 +#, php-format +msgid "" +" The following page from the \"%s\" website has been sent to you by %s ( %" +"s ).\n" +"\n" +"You can access it at the following url:\n" +"%s" +msgstr "" +"ข้อมูลที่คุณได้รับจากเว็บ \"%s\" ได้ถูกส่งมาให้คุณโดย %s ( %s ).\n" +"\n" +" คุณสามารถเข้าถึงมันที่ url ดังต่อไปนี้:\n" +"%s" + +#: components/com_content/content.php:1508 +msgid "You already voted for this poll today!" +msgstr "คุณได้ลงคะแนนไปแล้วสำหรับแบบสำรวจวันนี้!" + +#: components/com_content/content.php:1511 +msgid "Thanks for your vote!" +msgstr "ขอบคุณสำหรับการลงคะแนน!" + +#: administrator/components/com_containers/admin.containers.html.php:26 +msgid "Icon" +msgstr "ไอคอน" + +#: administrator/components/com_containers/admin.containers.html.php:45 +msgid "Display number" +msgstr "แสดงตัวเลข" + +#: administrator/components/com_containers/admin.containers.html.php:49 +msgid "Show Descendants?" +msgstr "แสดงนามสกุล?" + +#: administrator/components/com_containers/admin.containers.html.php:64 +msgid "Parent container" +msgstr "กลุ่มที่ใส่" + +#: administrator/components/com_containers/admin.containers.html.php:81 +msgid "Mambo " +msgstr "แมมโบ้ " + +#: administrator/components/com_containers/admin.containers.html.php:134 +msgid "Top level container" +msgstr "ที่ใส่ระดับบนสุด" + +#: administrator/components/com_containers/admin.containers.html.php:135 +msgid "Immediate container" +msgstr "ที่ใส่ใกล้ๆ" + +#: administrator/components/com_containers/admin.containers.html.php:188 +#: administrator/components/com_containers/containers.xml +msgid "Containers" +msgstr "ที่ใส่" + +#: administrator/components/com_containers/admin.containers.html.php:248 +msgid "Edit Container details" +msgstr "แก้ไขรายละเอียดที่ใส่" + +#: administrator/components/com_containers/admin.containers.html.php:250 +msgid "Container name" +msgstr "ชื่อที่ใส่" + +#: administrator/components/com_containers/admin.containers.html.php:251 +msgid "Up to 500 characters" +msgstr "สูงถึง 500 ตัวอักษร" + +#: administrator/components/com_containers/admin.containers.html.php:252 +msgid "Keywords" +msgstr "คำค้น" + +#: administrator/components/com_containers/admin.containers.html.php:253 +msgid "Window title" +msgstr "หัวเรื่องวินโดวส์" + +#: administrator/components/com_containers/containers.xml +msgid "Nested container system for Mambo" +msgstr "ระบบที่ใส่กลุ่มสำหรับแมมโบ้" + +#: components/com_containers/containers.class.php:143 +msgid "No parent" +msgstr "ไม่ใช่กลุ่ม" + +#: administrator/components/com_contact/admin.contact.html.php:27 +msgid "Contact Manager" +msgstr "การจัดการติดต่อ" + +#: administrator/components/com_contact/admin.contact.html.php:62 +msgid "Linked to User" +msgstr "เชื่อมโยงไปยังผู้ใช้งาน" + +#: administrator/components/com_contact/admin.contact.html.php:94 +msgid "Edit Contact" +msgstr "แก้ไขการติดต่อ" + +#: administrator/components/com_contact/admin.contact.html.php:160 +msgid "You must provide a name." +msgstr "คุณต้องใส่ชื่อ." + +#: administrator/components/com_contact/admin.contact.html.php:174 +msgid "Contact:" +msgstr "ติดต่อกับ:" + +#: administrator/components/com_contact/admin.contact.html.php:188 +msgid "Contact Details" +msgstr "รายละเอียดการติดต่อ" + +#: administrator/components/com_contact/admin.contact.html.php:201 +msgid "Linked to User:" +msgstr "เชื่อมโยงไปยังผู้ใช้งาน:" + +#: administrator/components/com_contact/admin.contact.html.php:217 +msgid "Contact's Position:" +msgstr "ตำแหน่งของผู้ติดต่อ:" + +#: administrator/components/com_contact/admin.contact.html.php:225 +msgid "E-mail:" +msgstr "อีเมล:" + +#: administrator/components/com_contact/admin.contact.html.php:233 +msgid "Street Address:" +msgstr "ที่อยู่ ถนน:" + +#: administrator/components/com_contact/admin.contact.html.php:241 +msgid "Town/Suburb:" +msgstr "ตำบล/อำเภอ:" + +#: administrator/components/com_contact/admin.contact.html.php:249 +msgid "State/County:" +msgstr "จังหวัด:" + +#: administrator/components/com_contact/admin.contact.html.php:257 +msgid "Country:" +msgstr "ประเทศ:" + +#: administrator/components/com_contact/admin.contact.html.php:265 +msgid "Postal Code/ZIP:" +msgstr "รหัสไปรษณีย์:" + +#: administrator/components/com_contact/admin.contact.html.php:273 +msgid "Telephone:" +msgstr "โทรศัพท์:" + +#: administrator/components/com_contact/admin.contact.html.php:281 +msgid "Fax:" +msgstr "แฟกซ์:" + +#: administrator/components/com_contact/admin.contact.html.php:289 +msgid "Miscellaneous Info:" +msgstr "รายละเอียดอื่นๆ:" + +#: administrator/components/com_contact/admin.contact.html.php:311 +msgid "Site Default:" +msgstr "ค่าเริ่มต้นของเว็บ:" + +#: administrator/components/com_contact/admin.contact.html.php:335 +msgid "Access:" +msgstr "การเข้าถึง:" + +#: administrator/components/com_contact/admin.contact.html.php:354 +msgid "Image Info" +msgstr "รายละเอียดรูป" + +#: administrator/components/com_contact/admin.contact.html.php:392 +msgid "" +"These Parameters only control what you see when you click to view a Contact " +"item" +msgstr "พารามิเตอร์เหล่านี้ควบคุมการแสดงผลเมื่อคุณดูการติดต่อ" + +#: administrator/components/com_contact/admin.contact.php:255 +#, php-format +msgid "Select a record to %s" +msgstr "เลือกรายการเพื่อ %s" + +#: administrator/components/com_contact/contact.xml +#: components/com_contact/contact.html.php:443 +msgid "Contact" +msgstr "การติดต่อ" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Description for page, if left blank it will load _WEBLINKS_DESC from your " +"language file" +msgstr "รายละเอียดของเว็บเพจ - หากไม่ระบุ ระบบจะโหลดข้อมูลมาจากไฟล์ภาษาโดยอัตโนมัติ" + +#: administrator/components/com_contact/contact.xml +msgid "This component shows a listing of Contact Information" +msgstr "คอมโพเน้นท์นี้ทำหน้าที่แสดงข้อมูลการติดต่อ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Address Icon" +msgstr "ไอคอนที่อยู่" + +#: administrator/components/com_contact/contact_items.xml +msgid "Country" +msgstr "ประเทศ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Description text" +msgstr "ข้อความแสดงรายละเอียด" + +#: administrator/components/com_contact/contact_items.xml +msgid "Drop Down" +msgstr "ดร๊อบดาวน์" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:106 +msgid "Email" +msgstr "อีเมล" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Copy" +msgstr "คัดลอกอีเมล" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Form" +msgstr "แบบฟอร์มอีเมล" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email description" +msgstr "รายละเอียดอีเมล" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:124 +msgid "Fax" +msgstr "โทรสาร" + +#: administrator/components/com_contact/contact_items.xml +msgid "Fax Icon" +msgstr "ไอคอนโทรสาร" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Address info" +msgstr "ไอคอนของที่อยู่" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Email info" +msgstr "ไอคอนของอีเมล" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Fax info" +msgstr "ไอคอนของโทรสาร" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Misc info" +msgstr "ไอคอนของข้อมูลอื่นๆ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Telephone info" +msgstr "ไอคอนของโทรศัพท์" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons" +msgstr "ไอคอน" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons/text" +msgstr "ไอคอน/ข้อความ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Icon" +msgstr "ไอคอนข้อมูลอื่นๆ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Info" +msgstr "ข้อมูลเพิ่มเติม" + +#: administrator/components/com_contact/contact_items.xml +msgid "Post/Zip Code" +msgstr "รหัสไปรษณีย์" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Description Text below" +msgstr "แสดง/ซ่อน ข้อความแสดงรายละเอียดด้านล่าง" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Drop Down select list in Contact view" +msgstr "แสดง/ซ่อน ดร๊อบดาวน์สำหรับเลือกรายการในข้อมูลการติดต่อ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Vcard" +msgstr "ซ่อน/แสดง วีการ์ด" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the checkbox to email a copy to the senders address" +msgstr "แสดง/ซ่อน เช็คบล๊อกสำหรับสำเนาอีเมลกลับไปยังผู้ส่ง" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the country info" +msgstr "แสดง/ซ่อน ประเทศ" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"Show/Hide the email info, if you set to show the address will be protected " +"from spambots by javascript cloaking" +msgstr "" +"แสดง/ซ่อน รายละเอียดของอีเมล, หากกำหนดให้แสดง ที่อยู่จะถูกป้องกันจากระบบสแปมบอทด้วย " +"javascript cloaking" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the email to form" +msgstr "แสดง/ซ่อน แบบฟอร์มอีเมล" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the fax info" +msgstr "แสดง/ซ่อน โทรสาร" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the image" +msgstr "แสดง/ซ่อน รูปภาพ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the misc info" +msgstr "แสดง/ซ่อน ข้อมูลเพิ่มเติม" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the name info" +msgstr "แสดง/ซ่อน ชื่อ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the position info" +msgstr "แสดง/ซ่อน ตำแหน่ง" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the post code info" +msgstr "แสดง/ซ่อน รหัสไปรษณีย์" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the state info" +msgstr "แสดง/ซ่อน จังหวัด" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the street address info" +msgstr "แสดง/ซ่อน ที่อยู่, ถนน" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the suburb info" +msgstr "แสดง/ซ่อน ตำบล, อำเภอ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the telephone info" +msgstr "แสดง/ซ่อน โทรศัพท์" + +#: administrator/components/com_contact/contact_items.xml +msgid "State" +msgstr "สถานะ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Street Address" +msgstr "ที่อยู่, ถนน" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone" +msgstr "โทรศัพท์" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone Icon" +msgstr "ไอคอนโทรศัพท์" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"The Description text for the Email form, if left blank it will use the " +"_EMAIL_DESCRIPTION language definition" +msgstr "ข้อความเหล่านี้สำหรับแบบฟอร์มอีเมล, หากไม่ระบุระบบจะดึงมาจาก _EMAIL_DESCRIPTION" + +#: administrator/components/com_contact/contact_items.xml +msgid "Town/Suburb" +msgstr "ตำบล, อำเภอ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Use Icons, text or nothing next to the contact information displayed" +msgstr "ระบุว่าจะใช้ไอคอน ข้อความ หรือปล่อยว่าง สำหรับการแสดงข้อมูลการติดต่อ" + +#: administrator/components/com_contact/contact_items.xml +msgid "Vcard" +msgstr "วีการ์ด" + +#: components/com_contact/contact.class.php:163 +#, php-format +msgid "Mambo vCard for %s" +msgstr "วีการ์ดสำหรับ %s" + +#: components/com_contact/contact.html.php:115 +msgid "Phone" +msgstr "โทรศัพท์" + +#: components/com_contact/contact.html.php:260 +#: components/com_contact/contact.php:51 +msgid "Please make sure the form is complete and valid." +msgstr "กรุณาตรวจสอบความถูกต้องของข้อมูลทั้งหมด." + +#: components/com_contact/contact.html.php:387 +msgid "Select Contact:" +msgstr "ต้องการติดต่อกับ:" + +#: components/com_contact/contact.html.php:631 +msgid "Download information as a" +msgstr "ดาวน์โหลดข้อมูลเป็น" + +#: components/com_contact/contact.html.php:633 +msgid "VCard" +msgstr "วีการ์ด" + +#: components/com_contact/contact.html.php:654 +msgid "Enter your name:" +msgstr "กรุณาใส่ชื่อคุณ:" + +#: components/com_contact/contact.html.php:658 +msgid "E-mail address:" +msgstr "กรุณาใส่อีเมลของคุณ:" + +#: components/com_contact/contact.html.php:666 +msgid "Enter your message:" +msgstr "ข้อความที่ต้องการติดต่อ:" + +#: components/com_contact/contact.html.php:674 +msgid "Email a copy of this message to your own address" +msgstr "สำเนาข้อความนี้ไปยังอีเมลคุณ" + +#: components/com_contact/contact.html.php:695 +msgid "There are no Contact Details listed." +msgstr "ไม่มีรายละเอียดการติดต่อ." + +#: components/com_contact/contact.php:43 +msgid "Enquiry" +msgstr "ติดต่อ/สอบถาม" + +#: components/com_contact/contact.php:348 +msgid "This is an enquiry e-mail via %s from:" +msgstr "นี่คืออีเมลข้อความ (ติดต่อ/สอบถาม) จาก:" + +#: components/com_contact/contact.php:354 +msgid "The following is a copy of the message you sent to %s via %s " +msgstr "นี้คือสำเนาข้อความของคุณที่ส่งถึงผู้ดูแล %s" + +#: components/com_contact/contact.php:62 +#, php-format +msgid "Copy of: %s" +msgstr "คัดลอกจาก: %s" + +#: components/com_contact/contact.php:67 +msgid "Thank you for your e-mail" +msgstr "ขอบคุณสำหรับ ข้อความของคุณ" + +#: components/com_contact/contact.php:166 +msgid "The Contact list for this Website." +msgstr "รายการติดต่อสำหรับเว็บไชต์." + +#: components/com_contact/contact.php:277 +msgid "Send an Email to this Contact:" +msgstr "ส่งขอความหาเราได้ที่นี้:" + +#. text +#: components/com_contact/contact.php:298 +msgid "Address: " +msgstr "บ้านเลขที่: " + +#: components/com_contact/contact.php:299 +msgid "Email: " +msgstr "อีเมล: " + +#: components/com_contact/contact.php:300 +msgid "Telephone: " +msgstr "เบอร์โทรศัพท์: " + +#: components/com_contact/contact.php:301 +msgid "Fax: " +msgstr "โทรสาร: " + +#: components/com_contact/contact.php:302 +msgid "Information: " +msgstr "ข้อมูลเพิ่มเติม: " + +#: components/com_contact/contact.php:382 +msgid "Contact Us" +msgstr "ติดต่อเรา" + +#: administrator/components/com_config/admin.config.html.php:102 +msgid "Global Configuration" +msgstr "ตั้งค่าคอนฟิคหลัก" + +#: administrator/components/com_config/admin.config.html.php:104 +msgid "configuration.php is :" +msgstr "configuration.php สถานะ :" + +#: administrator/components/com_config/admin.config.html.php:114 +msgid "Make unwriteable after saving" +msgstr "ทำให้ ไม่สามารถเขียนทับได้ หลังจากทำบันทึก" + +#: administrator/components/com_config/admin.config.html.php:121 +msgid "Override write protection while saving" +msgstr "ยกเลิกการป้องกันการเขียนทับขณะทำการบันทึก" + +#: administrator/components/com_config/admin.config.html.php:135 +msgid "Site Offline:" +msgstr "เว็บออฟไลน์:" + +#: administrator/components/com_config/admin.config.html.php:139 +msgid "Offline Message:" +msgstr "ข้อความออฟไลน์:" + +#: administrator/components/com_config/admin.config.html.php:141 +msgid "A message that displays if your site is offline" +msgstr "ข้อความที่จะแสดงเวลาเว็บออฟไลน์" + +#: administrator/components/com_config/admin.config.html.php:146 +msgid "System Error Message:" +msgstr "ข้อความผิดพลาดของระบบ:" + +#: administrator/components/com_config/admin.config.html.php:148 +msgid "A message that displays if Mambo could not connect to the database" +msgstr "ข้อความที่จะแสดงเมื่อติดต่อฐานข้อมูลไม่ได้" + +#: administrator/components/com_config/admin.config.html.php:153 +msgid "Site Name:" +msgstr "ชื่อเว็บ:" + +#: administrator/components/com_config/admin.config.html.php:157 +msgid "Use Captcha Authentication:" +msgstr "ใช้การตรวจสอบด้วยแค็ปช่า:" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "Captcha images assist in the reduction of automated entries and spam. Requires the GD image library" +msgstr "รูปภาพ แค็ปช่า จะช่วยในการกรองข้อความที่ถูกส่งมาอย่างไม่ต้องการโดยอัติโนมัติ และสแปมด้วย. ต้องการสนันสนุนการทำงานจาก GD image library" + +#: administrator/components/com_config/admin.config.html.php:157 +msgid "Show UnAuthorized Links:" +msgstr "แสดงลิงก์ที่ไม่มีสิทธิ์:" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "" +"If yes, will show links to content to registered content even if you are not " +"logged in. The user will need to login to see the item in full." +msgstr "" +"ถ้าใช่,จะแสดงลิงก์ไปข้อความที่ลงทะเบียนไว้ แม้ว่าคุณจะไม่ได้เข้าสู่ระบบก็ตาม. " +"ผู้ใช้จะต้องเข้าสู่ระบบเพื่อดูข้อความเต็ม." + +#: administrator/components/com_config/admin.config.html.php:164 +msgid "Allow User Registration:" +msgstr "อนุญาตให้ผู้ใช้ลงทะเบียน:" + +#: administrator/components/com_config/admin.config.html.php:166 +msgid "If yes, allows users to self-register" +msgstr "ถ้าใช่, ผู้ใช้จะสามารถลงทะเบียนได้เอง" + +#: administrator/components/com_config/admin.config.html.php:171 +msgid "Use New Account Activation:" +msgstr "ใช้การยืนยันลงทะเบียน:" + +#: administrator/components/com_config/admin.config.html.php:174 +msgid "" +"If yes, the user will be mailed a link to activate their account before they " +"can log in." +msgstr "ถ้าใช่, ผู้ใช้จะได้รับอีเมลที่มีลิงก์เพื่อยืนยันการสมัคร." + +#: administrator/components/com_config/admin.config.html.php:179 +msgid "Require Unique Email:" +msgstr "ห้ามมีอีเมลซ้ำกัน:" + +#: administrator/components/com_config/admin.config.html.php:181 +msgid "If yes, users cannot share the same email address" +msgstr "ถ้าใช่, ผู้ใช้จะไม่สามารถใช้ตำแหน่งที่อยู่อีเมล์เดียวกัน" + +#: administrator/components/com_config/admin.config.html.php:186 +msgid "Debug Site:" +msgstr "แก้ไขข้อผิดพลาดเว็บ:" + +#: administrator/components/com_config/admin.config.html.php:188 +msgid "If yes, displays diagnostic information and SQL errors if present" +msgstr "ถ้าใช่, จะแสดงข้อความวินิจฉัยและความผิดพลาด SQL เมื่อเกิดความผิดพลาด" + +#: administrator/components/com_config/admin.config.html.php:197 +msgid "List Length:" +msgstr "ความยาวรายการ:" + +#: administrator/components/com_config/admin.config.html.php:199 +msgid "Sets the default length of lists in the administrator for all users" +msgstr "ตั้งค่าความยาวของรายการในส่วนควบคุมระบบสำหรับผู้ใช้ทุกคน" + +#: administrator/components/com_config/admin.config.html.php:204 +msgid "Favorites Site Icon:" +msgstr "ไอคอนของเว็บไซต์:" + +#: administrator/components/com_config/admin.config.html.php:208 +msgid "" +"If left blank or the file cannot be found, the default favicon.ico will be " +"used." +msgstr "ถ้าปล่อยว่างไว้หรือหาไฟล์ไม่พบจะใช้ favicon.ico เป็นไอคอนพื้นฐาน." + +#: administrator/components/com_config/admin.config.html.php:209 +msgid "Favourite Icon" +msgstr "ไอคอนเว็บไซต์" + +#: administrator/components/com_config/admin.config.html.php:219 +msgid "Language:" +msgstr "ภาษา:" + +#: administrator/components/com_config/admin.config.html.php:223 +msgid "Time Offset:" +msgstr "ค่าเหลื่อมเวลา:" + +#: administrator/components/com_config/admin.config.html.php:227 +#, php-format +msgid "Current date/time configured to display: %s" +msgstr "ตั้งค่าเวลาปัจจุบันที่จะแสดง: %s" + +#: administrator/components/com_config/admin.config.html.php:232 +msgid "Debugging:" +msgstr "ดีบัก:" + +#: administrator/components/com_config/admin.config.html.php:236 +msgid "Use Gettext:" +msgstr "ใช้ Gettext:" + +#: administrator/components/com_config/admin.config.html.php:240 +msgid "Country Locale:" +msgstr "ประเทศ:" + +#: administrator/components/com_config/admin.config.html.php:250 +msgid "These Parameters control Output elements" +msgstr "พารามิเตอร์เหล่านี้ควบคุมการแสดงผล" + +#: administrator/components/com_config/admin.config.html.php:253 +msgid "Linked Titles:" +msgstr "ชื่อเนื้อหาเป็นลิงก์:" + +#: administrator/components/com_config/admin.config.html.php:256 +msgid "If yes, the title of content items will be hyperlinked to the item" +msgstr "ถ้าใช่, หัวเรื่องของรายการจะแสดงเป็นลิงก์เชื่อมโยงไปยังรายการ" + +#: administrator/components/com_config/admin.config.html.php:261 +msgid "Read More Link:" +msgstr "ลิงก์อ่านต่อ:" + +#: administrator/components/com_config/admin.config.html.php:264 +msgid "" +"If set to show, the read-more link will show if main-text has been provided " +"for the item" +msgstr "ถ้าตั้งค่าเป็นแสดง, จะมีข้อความ อ่านต่อคลิกที่นี่ เพื่อเชื่อมโยงไปอ่านเนื้อหาทั้งหมด" + +#: administrator/components/com_config/admin.config.html.php:269 +msgid "Item Rating/Voting:" +msgstr "โหวตให้คะแนน:" + +#: administrator/components/com_config/admin.config.html.php:272 +msgid "If set to show, a voting system will be enabled for content items" +msgstr "ถ้าตั้งค่าเป็นแสดง, จะมีการโหวตให้คะแนนเนื้อหา" + +#: administrator/components/com_config/admin.config.html.php:277 +msgid "Author Names:" +msgstr "ชื่อผู้เขียน:" + +#: administrator/components/com_config/admin.config.html.php:280 +msgid "" +"If set to show, the name of the author will be displayed. This a global " +"setting but can be changed at menu and item levels." +msgstr "ถ้าตั้งค่าเป็นแสดง, จะมีการแสดงชื่อผู้เขียน. สามารถปรับแต่งค่าในเมนูย่อยได้อีกที." + +#: administrator/components/com_config/admin.config.html.php:285 +msgid "Created Date and Time:" +msgstr "วันเวลาที่สร้าง:" + +#: administrator/components/com_config/admin.config.html.php:288 +msgid "" +"If set to show, the date and time an item was created will be displayed. " +"This a global setting but can be changed at menu and item levels." +msgstr "" +"ถ้าตั้งค่าเป็นแสดง, จะมีการแสดงวันเวลาที่สร้าง. สามารถปรับแต่งค่าในเมนูย่อยได้อีกครั้งหนึ่ง." + +#: administrator/components/com_config/admin.config.html.php:293 +msgid "Modified Date and Time:" +msgstr "วันเวลาที่แก้ไข:" + +#: administrator/components/com_config/admin.config.html.php:296 +msgid "" +"If set to show, the date and time an item was last modified will be " +"displayed. This a global setting but can be changed at menu and item levels." +msgstr "" +"ถ้าตั้งค่าเป็นแสดง, จะมีการแสดงวันเวลาที่แก้ไข. สามารถปรับแต่งค่าในเมนูย่อยได้อีกครั้งหนึ่ง." + +#: administrator/components/com_config/admin.config.html.php:304 +msgid "" +"If set to show, the hits for a particular item will be displayed. This a " +"global setting but can be changed at menu and item levels." +msgstr "" +"ถ้าตั้งค่าเป็นแสดง, จะมีการแสดงจำนวนครั้งที่เข้าขม. สามารถปรับแต่งค่าในเมนูย่อยได้อีกครั้งหนึ่ง." + +#: administrator/components/com_config/admin.config.html.php:309 +msgid "PDF Icon:" +msgstr "ไอคอน PDF:" + +#: administrator/components/com_config/admin.config.html.php:314 +msgid "Option not available as /media directory not writable" +msgstr "ตัวเลือกนี้ไม่สามารถใช้ได้เนื่องจากโฟลเดอร์ media ไม่สามารถเขียนได้" + +#: administrator/components/com_config/admin.config.html.php:322 +msgid "Print Icon:" +msgstr "ไอคอนพิมพ์:" + +#: administrator/components/com_config/admin.config.html.php:327 +msgid "Email Icon:" +msgstr "ไอคอนอีเมล:" + +#: administrator/components/com_config/admin.config.html.php:332 +msgid "Icons:" +msgstr "ไอคอน:" + +#: administrator/components/com_config/admin.config.html.php:334 +msgid "Print, PDF and Email will utilise Icons or Text" +msgstr "เลือกการใช้ไอคอนหรือตัวหนังสือสำหรับ PDF การพิมพ์หรืออีเมล" + +#: administrator/components/com_config/admin.config.html.php:337 +msgid "Table of Contents on multi-page items:" +msgstr "ตารางสารบัญสำหรับเนื้อหาที่มีหลายหน้า:" + +#: administrator/components/com_config/admin.config.html.php:342 +msgid "Back Button:" +msgstr "ปุ่มย้อนกลับ:" + +#: administrator/components/com_config/admin.config.html.php:347 +msgid "Content Item Navigation:" +msgstr "แผงนำทางเนื้อหา:" + +#: administrator/components/com_config/admin.config.html.php:362 +msgid "Database" +msgstr "ฐานข้อมูล" + +#: administrator/components/com_config/admin.config.html.php:366 +msgid "Hostname:" +msgstr "ชื่อโฮสต์:" + +#: administrator/components/com_config/admin.config.html.php:370 +msgid "MySQL Username:" +msgstr "ชื่อผู้ใช้ฐานข้อมูล MySQL:" + +#: administrator/components/com_config/admin.config.html.php:374 +msgid "MySQL Password:" +msgstr "รหัสผ่านฐานข้อมูล MySQL:" + +#: administrator/components/com_config/admin.config.html.php:378 +msgid "MySQL Database:" +msgstr "ชื่อฐานข้อมูล MySQL:" + +#: administrator/components/com_config/admin.config.html.php:382 +msgid "MySQL Database Prefix:" +msgstr "คำนำหน้า(Prefix)ชื่อตาราง:" + +#: administrator/components/com_config/admin.config.html.php:385 +msgid "" +"!! DO NOT CHANGE UNLESS YOU HAVE A DATABASE BUILT USING TABLES WITH THE " +"PREFIX YOU ARE SETTING !!" +msgstr "!! อย่าเปลี่ยนถ้าคุณไม่แน่ใจในการใช้คำนำหน้าชื่อตารางที่คุณต้องการสร้างขึ้น !!" + +#: administrator/components/com_config/admin.config.html.php:391 +msgid "Server" +msgstr "เซิร์ฟเวอร์" + +#: administrator/components/com_config/admin.config.html.php:395 +msgid "Absolute Path:" +msgstr "ค่าเต็มของพาธ:" + +#: administrator/components/com_config/admin.config.html.php:400 +msgid "Live Site:" +msgstr "ที่อยู่จริง:" + +#: administrator/components/com_config/admin.config.html.php:406 +msgid "Secret Word:" +msgstr "คำลับ:" + +#: administrator/components/com_config/admin.config.html.php:412 +msgid "GZIP Page Compression:" +msgstr "บีบอัดด้วย GZIP:" + +#: administrator/components/com_config/admin.config.html.php:415 +msgid "Compress buffered output if supported" +msgstr "บีบอัดบับเฟอร์ ถ้าสามารถทำได้" + +#: administrator/components/com_config/admin.config.html.php:420 +msgid "Login Session Lifetime:" +msgstr "เวลาเซสชั่นสำหรับการล็อกอิน:" + +#: administrator/components/com_config/admin.config.html.php:423 +#: administrator/components/com_config/admin.config.html.php:703 +msgid "seconds" +msgstr "วินาที" + +#: administrator/components/com_config/admin.config.html.php:424 +msgid "Auto logout after this time of inactivity" +msgstr "ล็อกเอาท์อัตโนมัติหลังจากเวลา" + +#: administrator/components/com_config/admin.config.html.php:429 +msgid "Error Reporting:" +msgstr "รายงานความผิดพลาด:" + +#: administrator/components/com_config/admin.config.html.php:434 +msgid "Register Globals Emulation:" +msgstr "จำลองค่า Register Globals:" + +#: administrator/components/com_config/admin.config.html.php:438 +msgid "" +"Register globals emulation. Some components may stop working if this option " +"is set to Off." +msgstr "จำลองค่า Register Globals (ตรวจสอบค่าในไฟล์ php.ini). บางคอมโพเน้นท์อาจหยุดทำงานเมื่อตั้งค่าตัวเลือกนี้เป็น Off." + +#: administrator/components/com_config/admin.config.html.php:444 +msgid "Help Server:" +msgstr "เซิร์ฟเวอร์ที่ให้ความช่วยเหลือ:" + +#. if +#: administrator/components/com_config/admin.config.html.php:456 +msgid "File Creation:" +msgstr "การสร้างไฟล์:" + +#: administrator/components/com_config/admin.config.html.php:462 +msgid "Dont CHMOD new files (use server defaults)" +msgstr "ไม่เปลี่ยน CHMOD ไฟล์ใหม่ (ใช้ค่าพื้นฐานเครื่องเซิร์ฟเวอร์)" + +#: administrator/components/com_config/admin.config.html.php:467 +msgid "CHMOD new files" +msgstr "เปลี่ยน CHMOD ไฟล์ใหม่" + +#: administrator/components/com_config/admin.config.html.php:469 +msgid "to:" +msgstr "เพื่อ:" + +#: administrator/components/com_config/admin.config.html.php:472 +msgid "Select this option to define permission flags for new created files" +msgstr "เลือกการตั้งค่านี้เพื่อกำหนดการเข้าถึงสำหรับไฟล์ที่สร้างใหม่" + +#: administrator/components/com_config/admin.config.html.php:500 +msgid "Apply to existing files" +msgstr "ทำกับไฟล์ที่มีอยู่" + +#: administrator/components/com_config/admin.config.html.php:503 +msgid "" +"Checking here will apply the permission flags to all existing files " +"of the site.
      " +msgstr "เลือกข้อนี้จะเปลี่ยนการเข้าถึงไฟล์ที่มีอยู่ทั้งหมด.
      " + +#: administrator/components/com_config/admin.config.html.php:504 +#: administrator/components/com_config/admin.config.html.php:582 +msgid "" +"INAPPROPRIATE USAGE OF THIS OPTION MAY RENDER THE SITE INOPERATIVE!" +msgstr "การใช้ตัวเลือกนี้อย่างไม่เหมาะสมอาจทำให้เว็บไม่ทำงาน!" + +#. if +#: administrator/components/com_config/admin.config.html.php:535 +msgid "Directory Creation:" +msgstr "การสร้างไดเรกทอรี่่:" + +#: administrator/components/com_config/admin.config.html.php:541 +msgid "Dont CHMOD new directories (use server defaults)" +msgstr "ไม่เปลี่ยน (CHMOD) การเข้าถึงไดเรกทอรี่่ใหม่ (ใช้ค่าพื้นฐานเครื่องเซิร์ฟเวอร์)" + +#: administrator/components/com_config/admin.config.html.php:546 +msgid "CHMOD new directories" +msgstr "เปลี่ยน(CHMOD)การเข้าถึงไดเรกทอรี่่ใหม่" + +#: administrator/components/com_config/admin.config.html.php:551 +msgid "" +"Select this option to define permission flags for new created directories" +msgstr "เลือกข้อนี้เพื่อตั้งค่าการเข้าถึงไดเรกทอรี่่ใหม่" + +#: administrator/components/com_config/admin.config.html.php:579 +msgid "Apply to existing directories" +msgstr "ทำกับไดเรกทอรี่่ที่มีอยู่" + +#: administrator/components/com_config/admin.config.html.php:581 +msgid "" +"Checking here will apply the permission flags to all existing " +"directories of the site.
      " +msgstr "เลือกข้อนี้จะเปลี่ยนการเข้าถึงไดเรกทอรี่่ที่มีอยู่ทั้งหมด.
      " + +#: administrator/components/com_config/admin.config.html.php:610 +msgid "Global Site Meta Description:" +msgstr "รายละเอียดค่าแท็กเมต้าของเว็บ:" + +#: administrator/components/com_config/admin.config.html.php:614 +msgid "Global Site Meta Keywords:" +msgstr "คำสำคัญในแท็กเมต้าของเว็บ:" + +#: administrator/components/com_config/admin.config.html.php:618 +msgid "Show Title Meta Tag:" +msgstr "แสดงชื่อเว็บในแท็กเมต้าของเว็บ:" + +#: administrator/components/com_config/admin.config.html.php:622 +msgid "Show the title meta tag when viewing content items" +msgstr "แสดงชื่อเว็บในแท็กเมต้าของเว็บเมื่ออ่านเนื้อหา" + +#: administrator/components/com_config/admin.config.html.php:626 +msgid "Show Author Meta Tag:" +msgstr "แสดงชื่อผู้เขียนในแท็กเมต้า:" + +#: administrator/components/com_config/admin.config.html.php:630 +msgid "Show the author meta tag when viewing content items" +msgstr "แสดงชื่อผู้เขียนในแท็กเมต้าของเว็บเมื่ออ่านเนื้อหา" + +#: administrator/components/com_config/admin.config.html.php:636 +msgid "Mail" +msgstr "เมล" + +#: administrator/components/com_config/admin.config.html.php:640 +msgid "Mailer:" +msgstr "ตัวส่งเมล:" + +#: administrator/components/com_config/admin.config.html.php:644 +msgid "Mail From:" +msgstr "ส่งเมลจาก:" + +#: administrator/components/com_config/admin.config.html.php:648 +msgid "From Name:" +msgstr "จากชื่อ:" + +#: administrator/components/com_config/admin.config.html.php:652 +msgid "Sendmail Path:" +msgstr "พาธการส่งเมล:" + +#: administrator/components/com_config/admin.config.html.php:656 +msgid "SMTP Auth:" +msgstr "SMTP Auth:" + +#: administrator/components/com_config/admin.config.html.php:660 +msgid "SMTP User:" +msgstr "SMTP User:" + +#: administrator/components/com_config/admin.config.html.php:664 +msgid "SMTP Pass" +msgstr "SMTP Pass" + +#: administrator/components/com_config/admin.config.html.php:668 +msgid "SMTP Host:" +msgstr "SMTP Host:" + +#: administrator/components/com_config/admin.config.html.php:674 +msgid "Cache" +msgstr "หน่วยความจำชั่วคราว" + +#: administrator/components/com_config/admin.config.html.php:681 +msgid "Caching:" +msgstr "มีการเก็บแคช:" + +#: administrator/components/com_config/admin.config.html.php:689 +msgid "Cache Folder:" +msgstr "โฟลเดอร์แคช:" + +#: administrator/components/com_config/admin.config.html.php:694 +msgid "Current cache is directory is Writeable" +msgstr "ไดเรกทอรี่่ที่เก็บแคชในตอนนี้คือ สามารถเขียนได้" + +#: administrator/components/com_config/admin.config.html.php:696 +msgid "" +"The cache directory is UNWRITEABLE - please set this directory to CHMOD755 " +"before turning on the cache" +msgstr "ไดเรกทอรี่่ที่เก็บแคช ไม่สามารถเขียนได้ - กรุณาตั้งค่าเป็น CHMOD755 ก่อนที่จะใช้แคช" + +#: administrator/components/com_config/admin.config.html.php:702 +msgid "Cache Time:" +msgstr "ระยะเวลาแคช:" + +#: administrator/components/com_config/admin.config.html.php:713 +msgid "Statistics:" +msgstr "สถิติ:" + +#: administrator/components/com_config/admin.config.html.php:715 +msgid "Enable/disable collection of site statistics" +msgstr "ตั้งค่าการเก็บสถิติของเว็บ" + +#: administrator/components/com_config/admin.config.html.php:718 +msgid "Log Content Hits by Date:" +msgstr "เก็บจำนวนการเข้าชมแต่ละวัน:" + +#: administrator/components/com_config/admin.config.html.php:720 +msgid "WARNING : Large amounts of data will be collected" +msgstr "คำเตือน: จะมีการเก็บข้อมูลจำนวนมาก" + +#: administrator/components/com_config/admin.config.html.php:723 +msgid "Log Search Strings:" +msgstr "เก็บคำค้นหา:" + +#: administrator/components/com_config/admin.config.html.php:730 +msgid "SEO" +msgstr "SEO" + +#: administrator/components/com_config/admin.config.html.php:734 +msgid "Search Engine Optimization" +msgstr "ปรับแต่งสำหรับเครื่องมือค้นหาเว็บ" + +#: administrator/components/com_config/admin.config.html.php:739 +msgid "Search Engine Friendly URLs:" +msgstr "ชื่อ URL แบบง่ายเหมาะกับเครื่องมือค้นหาเว็บ:" + +#: administrator/components/com_config/admin.config.html.php:741 +msgid "Apache only! Rename htaccess.txt to .htaccess before activating" +msgstr "สำหรับอาปาเช่เท่านั้น! ให้เปลี่ยนชื่อ htaccess.txt เป็น .htaccess ก่อนจะใช้งาน" + +#: administrator/components/com_config/admin.config.html.php:744 +msgid "Dynamic Page Titles:" +msgstr "ชื่อเว็บเปลี่ยนได้ตามเนื้อหา:" + +#: administrator/components/com_config/admin.config.html.php:746 +msgid "Dynamically changes the page title to reflect current content viewed" +msgstr "ชื่อเว็บเปลี่ยนได้ตามเนื้อหาที่แสดงผล" + +#: administrator/components/com_config/admin.config.php:346 +msgid "System Default" +msgstr "ค่าปกติของระบบ" + +#: administrator/components/com_config/admin.config.php:348 +msgid "Simple" +msgstr "ง่าย" + +#: administrator/components/com_config/admin.config.php:349 +msgid "Maximum" +msgstr "มากสุด" + +#: administrator/components/com_config/admin.config.php:353 +#: administrator/components/com_config/admin.config.php:357 +msgid "On" +msgstr "เปิด" + +#: administrator/components/com_config/admin.config.php:354 +#: administrator/components/com_config/admin.config.php:358 +msgid "Off" +msgstr "ปิด" + +#: administrator/components/com_config/admin.config.php:361 +#: administrator/components/com_config/admin.config.php:399 +msgid "Yes" +msgstr "ใช่" + +#: administrator/components/com_config/admin.config.php:362 +msgid "No" +msgstr "ไม่" + +#: administrator/components/com_config/admin.config.php:366 +msgid "PHP mail function" +msgstr "ใช้การส่งเมลของ PHP" + +#: administrator/components/com_config/admin.config.php:367 +msgid "Sendmail" +msgstr "ส่งเมล" + +#: administrator/components/com_config/admin.config.php:368 +msgid "SMTP Server" +msgstr "SMTP เซิร์ฟเวอร์" + +#: administrator/components/com_config/admin.config.php:412 +msgid "Remember to rename htaccess.txt to .htaccess" +msgstr "อย่าลืมเปลี่ยนชื่อ htaccess.txt เป็น .htaccess " + +#: administrator/components/com_config/admin.config.php:445 +msgid "Remember to install the MambelFish component." +msgstr "อย่าลืมติดตั้ง MambelFish คอมโพเน้นท์." + +#. if +#: administrator/components/com_config/admin.config.php:502 +msgid "The Configuration Details have been updated" +msgstr "The Configuration Details have been updated" + +#: administrator/components/com_config/admin.config.php:558 +msgid "An Error Has Occurred! Unable to open config file to write!" +msgstr "มีความผิดพลาด! ไม่สามารถเปิดไฟล์ระบบเพื่อเขียนได้!" + +#: administrator/includes/admin.php:45 +#, php-format +msgid "XML ERROR in %s: %s at line %d" +msgstr "XML ผิดพลาด ใน %s: %s ที่บรรทัด %d" + +#: administrator/includes/admin.php:51 +#, php-format +msgid "Unable to open XML file %s" +msgstr "ไม่สามารถเปิด XML ไฟล์ %s" + +#: administrator/includes/admin.php:54 +#, php-format +msgid "XML error in %s - unclosed tag(s) (%s) at end of file" +msgstr "XML ผิดพลาด ใน %s - ไม่สามารถปิดคำ (%s) ที่สิ้นสุดไฟล์" + +#: administrator/includes/admin.php:84 +#, php-format +msgid "XML error in %s: %s is not a valid containing element" +msgstr "XML ผิดพลาด ใน %s: %s หรือส่วนประกอบที่มีอยู่ไม่สมบูรณ์" + +#: administrator/includes/admin.php:85 +#, php-format +msgid "XML error in %s: %s not permitted within %s" +msgstr "XML ผิดพลาด ใน %s: %s ไม่ถูกยินยอมภายใน %s" + +#: administrator/includes/admin.php:95 +#, php-format +msgid "XML error in %s: expected MOSINSTALL but found %s" +msgstr "XML ผิดพลาด ใน %s: ซึ่ง MOSINSTALL ไม่สามารถค้นพบ %s" + +#: administrator/includes/admin.php:101 +#, php-format +msgid "XML error in %s: last open tag was %s, but found end of %s" +msgstr "XML ผิดพลาด ใน %s: ล่าสุดที่ถูกเปิดไว้ %s, ไม่สามารถค้นพบในส่วนสุดท้ายของ %s" + +#: administrator/includes/admin.php:121 +#, php-format +msgid "XML error in %s: mosinstall does not have type attribute" +msgstr "XML ผิดพลาด ใน %s: mosinstall ไม่สามารถกระทำภายใต้เงื่อนไขที่มีให้" + +#: administrator/includes/admin.php:273 +msgid "Handler not defined for type" +msgstr "ผู้ดูแลไม่ได้กำหนดสำหรับชนิดนี้" + +#: administrator/includes/admin.php:286 +msgid "There are no Parameters for this item" +msgstr "ไม่ได้ตั้งค่า พารามิเตอร์ สำหรับไอเทม" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:43 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:78 +msgid "Please make a selection from the list to %s" +msgstr "โปรดเลือกประเภทเพื่อ" + +#: administrator/includes/menubar.html.php:154 includes/HTML_toolbar.php:103 +msgid "Please make a selection from the list to publish" +msgstr "โปรดเลือกรายการเพื่อเผยแพร่" + +#: administrator/includes/menubar.html.php:164 +msgid "Please select an item to make default" +msgstr "โปรดเลือกรายการเพื่อกำหนดเป็นค่าเริ่มต้น" + +#: administrator/includes/menubar.html.php:174 +msgid "Please select an item to assign" +msgstr "โปรดเลือกเรื่องเพื่อกำหนด" + +#: administrator/includes/menubar.html.php:193 includes/HTML_toolbar.php:143 +msgid "Please make a selection from the list to unpublish" +msgstr "โปรดเลือกรายการเพื่อยุติการเผยแพร่" + +#: administrator/includes/menubar.html.php:203 includes/HTML_toolbar.php:163 +msgid "Please make a selection from the list to archive" +msgstr "โปรดเลือกรายการเพื่อจัดเก็บเป็นคลังเนื้อหา" + +#: administrator/includes/menubar.html.php:213 includes/HTML_toolbar.php:183 +msgid "Please select a news story to unarchive" +msgstr "โปรดเลือกรายการเพื่อยกเลิกเป็นคลังเนื้อหา" + +#: administrator/includes/menubar.html.php:223 +#: administrator/includes/menubar.html.php:234 +#: administrator/includes/menubar.html.php:244 +#: administrator/includes/menubar.html.php:255 +#: administrator/includes/menubar.html.php:265 +#: administrator/includes/menubar.html.php:276 includes/HTML_toolbar.php:203 +#: includes/HTML_toolbar.php:222 includes/HTML_toolbar.php:241 +msgid "Please select an item from the list to edit" +msgstr "โปรดเลือกรายการเพื่อแก้ไข" + +#: administrator/includes/menubar.html.php:287 +#: administrator/includes/menubar.html.php:299 includes/HTML_toolbar.php:262 +msgid "Please make a selection from the list to delete" +msgstr "โปรดเลือกรายการเพื่อลบ" + +#: administrator/includes/menubar.html.php:480 +#: administrator/includes/menubar.html.php:481 includes/HTML_toolbar.php:392 +#: includes/HTML_toolbar.php:393 +msgid "Upload Image" +msgstr "อัพโหลด รูปภาพ" + +#: administrator/includes/mosAdminMenus.php:162 +msgid "Parent Window With Browser Navigation" +msgstr "หน้าต่างเดียวกันกับโปรแกรมเบราว์เซอร์" + +#: administrator/includes/mosAdminMenus.php:163 +msgid "New Window With Browser Navigation" +msgstr "หน้าต่างใหม่กับโปรแกรมเบราว์เซอร์" + +#: administrator/includes/mosAdminMenus.php:164 +msgid "New Window Without Browser Navigation" +msgstr "หน้าต่างใหม่แยกออกจากโปรแกรมเบราว์เซอร์" + +#: administrator/includes/mosAdminMenus.php:285 +#: administrator/includes/mosAdminMenus.php:476 +msgid "- All Sections -" +msgstr "- เลือก หมวดหมู่ -" + +#: administrator/includes/mosAdminMenus.php:371 +msgid "- Select Image -" +msgstr "- เลือก รูปภาพ -" + +#: administrator/includes/mosAdminMenus.php:389 +msgid "" +"New items default to the first place. Ordering can be changed after this " +"item is saved." +msgstr "ข้อมูลใหม่มาก่อน. รายการที่เลือกนี้จะทำงานหลังจากมีการบันทึก." + +#: administrator/includes/mosAdminMenus.php:416 +msgid "- No User -" +msgstr "- ไม่มี สมาชิก -" + +#: administrator/includes/mosAdminMenus.php:435 +msgid "Center" +msgstr "ตรงกลาง" + +#: administrator/includes/mosAdminMenus.php:465 +msgid "You must create a category first." +msgstr "ท่านจะต้องทำการสร้างหมวดย่อยก่อน." + +#: administrator/includes/pageNavigation.php:74 +#, php-format +msgid "Results %d to %d of %d" +msgstr "ผลลัพธ์ %d ถึง %d จาก %d" + +#: administrator/includes/pageNavigation.php:76 +msgid "No records found." +msgstr "ไม่มีในบันทึก." + +#: administrator/includes/pageNavigation.php:103 +#: administrator/includes/pageNavigation.php:106 +#: includes/pageNavigation.php:106 includes/pageNavigation.php:109 +msgid "Start" +msgstr "เริ่ม" + +#: administrator/includes/pageNavigation.php:103 +#: includes/pageNavigation.php:106 +msgid "first page" +msgstr "หน้าแรก" + +#: administrator/includes/pageNavigation.php:104 +#: includes/pageNavigation.php:107 +msgid "previous page" +msgstr "หน้าก่อนหน้า" + +#: administrator/includes/pageNavigation.php:122 +#: includes/pageNavigation.php:125 +msgid "next page" +msgstr "หน้าต่อไป" + +#: administrator/includes/pageNavigation.php:123 +#: administrator/includes/pageNavigation.php:126 +#: includes/pageNavigation.php:126 includes/pageNavigation.php:129 +msgid "End" +msgstr "สุดท้าย" + +#: administrator/includes/pageNavigation.php:123 +#: includes/pageNavigation.php:126 +msgid "end page" +msgstr "หน้าสุดท้าย" + +#: administrator/includes/pageNavigation.php:154 +msgid "Move Up" +msgstr "ย้ายขึ้น" + +#: administrator/includes/pageNavigation.php:170 +msgid "Move Down" +msgstr "ย้ายลง" + +#: includes/HTML_toolbar.php:37 +msgid "Please make a selection from the list to" +msgstr "โปรดเลือกประเภทเพื่อ" + +#: includes/HTML_toolbar.php:156 +msgid "Archive" +msgstr "คลังเนื้อหา" + +#: includes/HTML_toolbar.php:176 +msgid "Unarchive" +msgstr "ยกเลิกคลังเนื้อหา" + +#: includes/HTML_toolbar.php:216 +msgid "Edit HTML" +msgstr "แก้ไข HTML" + +#: includes/HTML_toolbar.php:235 +msgid "Edit CSS" +msgstr "แก้ไข CSS" + +#: includes/HTML_toolbar.php:262 +msgid "Are you sure you want to delete selected items?" +msgstr "คุณแน่ใจไหมที่จะลบรายการนี้?" + +#: includes/HTML_toolbar.php:313 includes/HTML_toolbar.php:314 +#: includes/HTML_toolbar.php:328 includes/HTML_toolbar.php:329 +msgid "save" +msgstr "บันทึก" + +#: includes/HTML_toolbar.php:364 includes/HTML_toolbar.php:365 +msgid "back" +msgstr "ก่อนหน้า" + +#: includes/authenticator.php:35 +msgid "Please complete the username and password fields." +msgstr "กรุณาใส่ข้อมูลผู้ใช้และรหัสผ่านให้ครบถ้วน." + +#: includes/authenticator.php:42 +msgid "Logins are not permitted. There is no authentication check active." +msgstr "การเข้าใช้ไม่ถูกยินยอม. คุณยังไม่ถูกอนุญาตให้เข้าใช้งาน." + +#: includes/authenticator.php:72 +msgid "Your login has been blocked. Please contact the administrator." +msgstr "ล็อกอินของคุณ ถูกระงับการใช้งาน. กรุณาติดต่อผู้ดูแลระบบ." + +#: includes/authenticator.php:103 +msgid "Incorrect username or password. Please try again." +msgstr "ชื่อผู้ใช้หรือรหัสผ่าน ไม่ถูกต้อง กรุณาลองใหม่." + +#: includes/authenticator.php:151 +msgid "Please enter a password" +msgstr "กรุณาใส่รหัสผ่าน" + +#: includes/authenticator.php:167 +msgid "You cannot login. There are no administrators set up." +msgstr "คุณไม่สามารถล็อกอินได้. เนื่องจากผู้ดูแลระบบยังไม่ได้จัดเตรียมข้อมูลไว้." + +#: includes/authenticator.php:172 +msgid "Incorrect Username, Password, or Access Level. Please try again" +msgstr "ชื่อ, รหัสผ่าน, หรือ ระดับของผู้ใช้งานซ้ำหรือผิดพลาด. ลองใหม่อีกครั้ง" + +#: includes/cmtclasses.php:143 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s in %s" +msgstr "คอมโพเน้นท์ %s ผิดพลาด: พยายามเพื่อใช้ ไม่มี-ซึ่งมีอยู่ คลาส %s ใน %s" + +#: includes/cmtclasses.php:165 +#, php-format +msgid "Component %s error: attempt to use non-existent method %s in %s" +msgstr "คอมโพเน้นท์ %s ผิดพลาด: พยายามเพื่อใช้ ไม่มี-ซึ่งมีอยู่ วิธี %s ใน %s" + +#: includes/cmtclasses.php:167 includes/cmtclasses.php:173 +#: includes/cmtclasses.php:231 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s" +msgstr "คอมโพเน้นท์ %s ผิดพลาด: พยายามเพื่อใช้ ไม่มี-ซึ่งมีอยู่ คลาส %s" + +#: includes/cmtclasses.php:210 +#, php-format +msgid "MOS error in %s: method %s not found in class %s" +msgstr "MOS ผิดพลาด ใน %s: วิธี %s ไม่ถูกค้นพบในคลาส %s" + +#: includes/cmtclasses.php:212 +#, php-format +msgid "MOS error in %s: class not found %s" +msgstr "MOS ผิดพลาด ใน %s: คลาสไม่ค้นพบ %s" + +#: includes/cmtclasses.php:533 +msgid "Your Module must contain a title." +msgstr "โมดูลต้องมีหัวเรื่อง." + +#: includes/core.classes.php:351 +msgid "Impossible to determine the name of this server" +msgstr "เป็นไปไม่ได้ที่จะตัดสินใจชื่อของเครื่องเซิร์ฟเวอร์นี้" + +#: includes/mamboHTML.php:103 +msgid "January" +msgstr "มกราคม" + +#: includes/mamboHTML.php:104 +msgid "February" +msgstr "กุมภาพันธ์" + +#: includes/mamboHTML.php:105 +msgid "March" +msgstr "มีนาคม" + +#: includes/mamboHTML.php:106 +msgid "April" +msgstr "เมษายน" + +#: includes/mamboHTML.php:107 +msgid "May" +msgstr "พฤษภาคม" + +#: includes/mamboHTML.php:108 +msgid "June" +msgstr "มิถุนายน" + +#: includes/mamboHTML.php:109 +msgid "July" +msgstr "กรกฏาคม" + +#: includes/mamboHTML.php:110 +msgid "August" +msgstr "สิงหาคม" + +#: includes/mamboHTML.php:111 +msgid "September" +msgstr "กันยายน" + +#: includes/mamboHTML.php:112 +msgid "October" +msgstr "ตุลาคม" + +#: includes/mamboHTML.php:113 +msgid "November" +msgstr "พฤษจิกายน" + +#: includes/mamboHTML.php:114 +msgid "December" +msgstr "ธันวาคม" + +#: includes/mamboHTML.php:202 +msgid "No Sorting" +msgstr "ไม่ เรียงลำดับ" + +#: includes/mamboHTML.php:203 +msgid "Sort Ascending" +msgstr "เรียงจากน้อยไปมาก" + +#: includes/mamboHTML.php:204 +msgid "Sort Descending" +msgstr "เรียงจากมากมาน้อย" + +#. Print Preview button - used when viewing page +#. Print Button - used in pop-up window +#: includes/mamboHTML.php:282 includes/mamboHTML.php:284 +#: includes/mamboHTML.php:291 includes/mamboHTML.php:300 +msgid "Print" +msgstr "พิมพ์" + +#: includes/mamboHTML.php:356 +msgid "" +"This email address is being protected from spam bots, you need Javascript " +"enabled to view it" +msgstr "อีเมลนี้จะถูกป้องกันจากสแปมบอท, แต่คุณต้องเปิดการใช้งานจาวาสคริปก่อน" + +#: includes/mamboHTML.php:381 +msgid "Pending" +msgstr "รอ" + +#: includes/mamboHTML.php:384 +msgid "Published, but is Pending" +msgstr "รอการเผยแพร่" + +#: includes/mamboHTML.php:387 +msgid "Visible" +msgstr "มองเห็นได้" + +#: includes/mamboHTML.php:390 +msgid "Published and is Current" +msgstr "เผยแพร่แล้ว" + +#: includes/mamboHTML.php:393 includes/mamboHTML.php:399 +msgid "Finished" +msgstr "เสร็จสิ้น" + +#: includes/mamboHTML.php:396 +msgid "Published, but has Expired" +msgstr "เผยแพร่แล้วแต่หมดอายุ" + +#: includes/mamboHTML.php:402 +msgid "Not Published" +msgstr "ไม่เผยแพร่" + +#: includes/mamboHTML.php:407 +msgid "Click on icon to toggle state." +msgstr "คลิกที่ไอคอนเพื่อเปลี่ยนสถานะ" + +#: includes/mamboHTML.php:444 includes/mamboHTML.php:523 +msgid "Menu" +msgstr "เมนู" + +#: includes/mamboHTML.php:447 includes/mamboHTML.php:526 +msgid "Go to Menu" +msgstr "ไปที่เมนู" + +#: includes/mamboHTML.php:454 +msgid "Link Name" +msgstr "ชื่อลิงก์" + +#: includes/mamboHTML.php:458 includes/mamboHTML.php:545 +msgid "Go to Menu Item" +msgstr "ไปที่รายการเมนู" + +#: includes/mamboHTML.php:472 includes/mamboHTML.php:559 +msgid "Trashed" +msgstr "ลบ" + +#: includes/mamboHTML.php:475 includes/mamboHTML.php:562 +msgid "UnPublished" +msgstr "ไม่เผยแพร่" + +#: includes/mamboHTML.php:541 +msgid "Item Name" +msgstr "ชื่อรายการ" + +#: includes/mamboHTML.php:658 +msgid "Publish item" +msgstr "เผยแพร่รายการ" + +#: includes/mamboHTML.php:658 +msgid "Unpublish Item" +msgstr "ไม่เผยแพร่รายการ" + +#: includes/mambofunc.php:21 +#, php-format +msgid "User Submitted '%s'" +msgstr "สมาชิกส่ง '%s' มายังเว็บ" + +#: includes/mambofunc.php:22 +msgid "" +"Hello %s,\n" +"\n" +"\n" +"A user submitted %s:\n" +"[ %s ]\n" +"\n" +"has been just been submitted by user:\n" +"[ %s ]\n" +"\n" +"\n" +"for %\n" +"\n" +"Please go to %s/administrator to view and approve this %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only." +msgstr "" +"สวัสดี %s,\n" +"\n" +"\n" +"มีสมาชิกได้ส่ง %s:\n" +"[ %s ]\n" +"\n" +"โดย :\n" +"[ %s ]\n" +"\n" +"\n" +"เข้ามาในเว็บ %\n" +"\n" +"กรุณาเข้าไปยัง %s/administrator เพื่อตรวจสอบและอนุมัติ %s\n" +"\n" +"\n" +"ข้อความนี้ถูกส่งเข้ามาด้วยระบบอัตโนมัติ เพื่อแจ้งให้คุณทราบเท่านั้น " +"ไม่จำเป็นต้องตอบกลับ." + +#: includes/mambofunc.php:52 +msgid "You need to login." +msgstr "คุณต้องการล็อกอินเข้าใช้งาน ?" + +#: includes/mambofunc.php:338 +msgid "Mambo Warning" +msgstr "คำเตือนจากแมมโบ้" + +#: includes/pageNavigation.php:68 +#, php-format +msgid "Results %d - %d of %d" +msgstr "ผลลัพธ์ %d - %d จาก %d" + +#: includes/pageNavigation.php:80 +#, php-format +msgid "Page %d of %d" +msgstr "หน้า %d จาก %d" + +#: includes/pdf.php:66 +msgid "Powered by Mambo" +msgstr "ขับเคลื่อนโดยแมมโบ้" + +#: includes/pdf.php:67 +msgid "Generated:" +msgstr "ถูกสร้างขึ้น:" + +#: includes/phpgettext/phpgettext.includes.php:290 +msgid "Main" +msgstr "หลัก" + +#: administrator/components/com_checkin/admin.checkin.php:22 +msgid "Global Check-in" +msgstr "เช็คอินทั้งหมด" + +#: administrator/components/com_checkin/admin.checkin.php:27 +msgid "Database Table" +msgstr "ตารางฐานข้อมูล" + +#: administrator/components/com_checkin/admin.checkin.php:28 +msgid "# of Items" +msgstr "# จำนวนรายการ" + +#: administrator/components/com_checkin/admin.checkin.php:29 +msgid "Checked-In" +msgstr "เช็คอิน" + +#: administrator/components/com_checkin/admin.checkin.php:76 +#: administrator/components/com_checkin/admin.checkin.php:83 +msgid "Checking table" +msgstr "ตารางเช็คอิน" + +#: administrator/components/com_checkin/admin.checkin.php:75 +#: administrator/components/com_checkin/admin.checkin.php:82 +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "เช็คอิน %d รายการ" +msgstr[1] "เช็คอิน %d รายการ" + +#: administrator/components/com_checkin/admin.checkin.php:95 +msgid "Checked out items have now been all checked in" +msgstr "รายการที่เช็คเอาท์ได้ถูกเช็คอินทั้งหมดแล้ว" + +#: administrator/components/com_categories/admin.categories.html.php:35 +#: administrator/components/com_categories/admin.categories.html.php:53 +msgid "Category Manager" +msgstr "เพิ่ม/แก้ไข ประเภทของเนื้อหา" + +#: administrator/components/com_categories/admin.categories.html.php:35 +msgid "Content: All" +msgstr "เนื้อหา: ทั้งหมด" + +#: administrator/components/com_categories/admin.categories.html.php:109 +msgid "Active" +msgstr "จำนวนเนื้อหา" + +#: administrator/components/com_categories/admin.categories.html.php:263 +msgid "Please select a menu type" +msgstr "กรุณาเลือกเมนู" + +#: administrator/components/com_categories/admin.categories.html.php:272 +msgid "Category must have a name" +msgstr "กรุณาใส่ชื่อประเภท" + +#: administrator/components/com_categories/admin.categories.html.php:348 +msgid "Category Details" +msgstr "รายละเอียดประเภท" + +#: administrator/components/com_categories/admin.categories.html.php:353 +msgid "Category Title:" +msgstr "หัวข้อประเภท:" + +#: administrator/components/com_categories/admin.categories.html.php:356 +msgid "A short name to appear in menus" +msgstr "ชื่อที่ใช้สั้นเกินไป" + +#: administrator/components/com_categories/admin.categories.html.php:361 +msgid "Category Name:" +msgstr "ชื่อหมวด:" + +#: administrator/components/com_categories/admin.categories.html.php:364 +msgid "A long name to be displayed in headings" +msgstr "ชื่อที่ใช้ยาวเกินไป" + +#: administrator/components/com_categories/admin.categories.html.php:377 +msgid "Image:" +msgstr "รูป:" + +#: administrator/components/com_categories/admin.categories.html.php:395 +msgid "Image Position:" +msgstr "ตำแหน่งรูปภาพ:" + +#: administrator/components/com_categories/admin.categories.html.php:453 +msgid "This will create a new menu item in the menu you select" +msgstr "จะสร้างเมนูใหม่ในเมนูที่คุณเลือก" + +#: administrator/components/com_categories/admin.categories.html.php:467 +msgid "Select Menu Type" +msgstr "เลือกชนิดเมนู" + +#: administrator/components/com_categories/admin.categories.html.php:516 +msgid "Menu links available when saved" +msgstr "เมนูลิงก์ใช้งานได้ เมื่อถูกบันทึก" + +#: administrator/components/com_categories/admin.categories.html.php:553 +msgid "Move Category" +msgstr "ย้ายประเภท" + +#: administrator/components/com_categories/admin.categories.html.php:563 +msgid "Move to Section:" +msgstr "ย้ายไปหมวด:" + +#: administrator/components/com_categories/admin.categories.html.php:569 +msgid "Categories being moved:" +msgstr "กำลังย้ายประเภท:" + +#: administrator/components/com_categories/admin.categories.html.php:580 +msgid "Content Items being moved:" +msgstr "เนื้อหาที่ถูกย้าย:" + +#: administrator/components/com_categories/admin.categories.html.php:591 +msgid "" +"This will move the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"นี่จะเป็นการย้ายประเภท\n" +"\t\t\t
      \n" +"\t\t\tและเนื้อหาทั้งหมดในประเภทนี้ด้วย\n" +"\t\t\t
      \n" +"\t\t\tไปยังหมวดที่เลือกไว้." + +#: administrator/components/com_categories/admin.categories.html.php:626 +msgid "Copy Category" +msgstr "คัดลอกประเภท" + +#: administrator/components/com_categories/admin.categories.html.php:636 +msgid "Copy to Section:" +msgstr "คัดลอกไปหมวด:" + +#: administrator/components/com_categories/admin.categories.html.php:642 +msgid "Categories being copied:" +msgstr "กำลังคัดลอกประเภท:" + +#: administrator/components/com_categories/admin.categories.html.php:653 +msgid "Content Items being copied:" +msgstr "กำลังคัดลอกเนื้อหา:" + +#: administrator/components/com_categories/admin.categories.html.php:664 +msgid "" +"\n" +"\t\t\tThis will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" +"\n" +"\t\t\tนี่จะเป็นการคัดลอกประเภท\n" +"\t\t\t
      \n" +"\t\t\tและเนื้อหาทั้งหมดในประเภทนี้ด้วย\n" +"\t\t\t
      \n" +"\t\t\tไปยังหมวดที่เลือกไว้." + +#: administrator/components/com_categories/admin.categories.php:144 +msgid "Component: " +msgstr "คอมโพเน้นท์: " + +#: administrator/components/com_categories/admin.categories.php:253 +#, php-format +msgid "The category %s is currently being edited by another administrator" +msgstr "ประเภท %s กำลังแก้ไขโดยผู้ดูแลท่านอื่นอยู่" + +#: administrator/components/com_categories/admin.categories.php:272 +msgid "Category Table" +msgstr "ตารางประเภท" + +#: administrator/components/com_categories/admin.categories.php:276 +msgid "Category Blog" +msgstr "บล็อกประเภท" + +#: administrator/components/com_categories/admin.categories.php:280 +msgid "Category Blog Archive" +msgstr "ประเภทของบล็อกคลังเนื้อหา" + +#. build the html select list for category types +#: administrator/components/com_categories/admin.categories.php:324 +msgid "Select Type" +msgstr "เลือกชนิด" + +#: administrator/components/com_categories/admin.categories.php:326 +#: administrator/components/com_categories/admin.categories.php:799 +msgid "Contact Category Table" +msgstr "ตารางประเภทการติดต่อ" + +#: administrator/components/com_categories/admin.categories.php:329 +#: administrator/components/com_categories/admin.categories.php:804 +msgid "News Feed Category Table" +msgstr "ตารางประเภท News Feed" + +#: administrator/components/com_categories/admin.categories.php:332 +#: administrator/components/com_categories/admin.categories.php:809 +msgid "Web Link Category Table" +msgstr "ตารางประเภทเว็บลิงก์" + +#: administrator/components/com_categories/admin.categories.php:334 +#: administrator/components/com_categories/admin.categories.php:784 +msgid "Content Category Table" +msgstr "ตารางประเภทเนื้อหา" + +#: administrator/components/com_categories/admin.categories.php:335 +#: administrator/components/com_categories/admin.categories.php:789 +msgid "Content Category Blog" +msgstr "บล็อกประเภทเนื้อหา" + +#: administrator/components/com_categories/admin.categories.php:336 +msgid "Content Category Archive Blog" +msgstr "บล็อกประเภทคลังเนื้อหา" + +#: administrator/components/com_categories/admin.categories.php:449 +msgid "Select a category to delete" +msgstr "เลือกประเภทที่จะลบ" + +#: administrator/components/com_categories/admin.categories.php:526 +#, php-format +msgid "Select a category to %s" +msgstr "เลือกประเภทเพื่อ %s" + +#: administrator/components/com_categories/admin.categories.php:741 +msgid "%d Category copied to %s" +msgid_plural "%d Categories copied to %s" +msgstr[0] "ประเภทถูกทำสำเนาไปยัง" +msgstr[1] "ประเภทถูกทำสำเนาไปยัง" + +#: administrator/components/com_categories/admin.categories.php:794 +msgid "Content Category Blog Archive" +msgstr "บล็อกประเภทคลังเนื้อหา" + +#: administrator/components/com_categories/admin.categories.php:835 +#, php-format +msgid "%s ( %s ) in menu: %s successfully created" +msgstr "%s ( %s ) ในเมนู: %s สร้างเรียบร้อย" + +#: administrator/components/com_banners/admin.banners.html.php:27 +msgid "Banner Manager" +msgstr "การจัดการป้ายโฆษณา" + +#: administrator/components/com_banners/admin.banners.html.php:41 +msgid "Banner Name" +msgstr "ชื่อป้ายโฆษณา" + +#: administrator/components/com_banners/admin.banners.html.php:47 +msgid "Impressions Made" +msgstr "แสดงไปแล้ว" + +#: administrator/components/com_banners/admin.banners.html.php:50 +msgid "Impressions Left" +msgstr "จำนวนครั้งที่เหลือ" + +#: administrator/components/com_banners/admin.banners.html.php:53 +#: administrator/components/com_banners/admin.banners.html.php:56 +#: administrator/components/com_banners/admin.banners.html.php:254 +msgid "Clicks" +msgstr "คลิก" + +#: administrator/components/com_banners/admin.banners.html.php:97 +msgid "Edit Banner" +msgstr "แก้ไขป้ายโฆษณา" + +#: administrator/components/com_banners/admin.banners.html.php:157 +msgid "You must provide a banner name" +msgstr "กรุณาตั้งชื่อป้ายโฆษณา" + +#: administrator/components/com_banners/admin.banners.html.php:159 +msgid "Please select a client" +msgstr "กรุณาเลือกลูกค้า" + +#: administrator/components/com_banners/admin.banners.html.php:161 +msgid "Please select an image." +msgstr "กรุณาเลือกรูปภาพ." + +#: administrator/components/com_banners/admin.banners.html.php:163 +msgid "Please fill in the URL for the banner." +msgstr "กรุณาใส่ URL สำหรับป้ายโฆษณา." + +#: administrator/components/com_banners/admin.banners.html.php:174 +msgid "Banner:" +msgstr "ป้ายโฆษณา:" + +#: administrator/components/com_banners/admin.banners.html.php:190 +msgid "Banner Name:" +msgstr "ชื่อป้ายโฆษณา:" + +#: administrator/components/com_banners/admin.banners.html.php:198 +#: administrator/components/com_banners/admin.banners.html.php:442 +msgid "Client Name:" +msgstr "ชื่อลูกค้าโฆษณา:" + +#: administrator/components/com_banners/admin.banners.html.php:206 +msgid "Impressions Purchased:" +msgstr "จำนวนครั้งที่แสดง:" + +#: administrator/components/com_banners/admin.banners.html.php:217 +msgid "Unlimited" +msgstr "ไม่จำกัดจำนวนครั้ง" + +#: administrator/components/com_banners/admin.banners.html.php:222 +msgid "Banner URL" +msgstr "ที่อยู่ URL ของป้ายโฆษณา" + +#: administrator/components/com_banners/admin.banners.html.php:230 +msgid "Show Banner :" +msgstr "แสดงป้ายโฆษณา :" + +#: administrator/components/com_banners/admin.banners.html.php:238 +msgid "Click URL:" +msgstr "คลิก URL:" + +#: administrator/components/com_banners/admin.banners.html.php:246 +msgid "Custom banner code:" +msgstr "โค้ดในการเรียกป้ายโฆษณา:" + +#: administrator/components/com_banners/admin.banners.html.php:256 +msgid "Reset Clicks" +msgstr "เริ่มจำนวนคลิกใหม่" + +#: administrator/components/com_banners/admin.banners.html.php:268 +msgid "Banner Image:" +msgstr "ไฟล์รูปป้ายโฆษณา:" + +#: administrator/components/com_banners/admin.banners.html.php:318 +msgid "Banner Client Manager" +msgstr "การจัดการลูกค้าป้ายโฆษณา" + +#: administrator/components/com_banners/admin.banners.html.php:332 +msgid "Client Name" +msgstr "ชื่อลูกค้าโฆษณา" + +#: administrator/components/com_banners/admin.banners.html.php:335 +msgid "Client ID" +msgstr "ID เจ้าของ" + +#: administrator/components/com_banners/admin.banners.html.php:337 +msgid "Contact" +msgstr "การติดต่อ" + +#: administrator/components/com_banners/admin.banners.html.php:341 +msgid "No. of Active Banners" +msgstr "จำนวนแบนเนอร์ที่ทำการแสดง" + +#: administrator/components/com_banners/admin.banners.html.php:367 +msgid "Edit Banner Client" +msgstr "แก้ไขลูกค้าป้ายโฆษณา" + +#: administrator/components/com_banners/admin.banners.html.php:411 +msgid "Please fill in the Client Name." +msgstr "กรุณาระบุชื่อกลุ่มแบนเนอร์." + +#: administrator/components/com_banners/admin.banners.html.php:413 +msgid "Please fill in the Contact Name." +msgstr "กรุณาใส่ชื่อผู้ติดต่อ." + +#: administrator/components/com_banners/admin.banners.html.php:415 +msgid "Please fill in the Contact Email." +msgstr "กรุณาใส่อีเมลของผู้ติดต่อ." + +#: administrator/components/com_banners/admin.banners.html.php:425 +msgid "Banner Client:" +msgstr "ชื่อผู้ซื้อป้ายโฆษณา:" + +#: administrator/components/com_banners/admin.banners.html.php:450 +msgid "Contact Name:" +msgstr "ชื่อผู้ติดต่อ:" + +#: administrator/components/com_banners/admin.banners.html.php:458 +msgid "Contact Email:" +msgstr "อีเมลผู้ติดต่อ:" + +#: administrator/components/com_banners/admin.banners.html.php:466 +msgid "Extra Info:" +msgstr "ข้อมูลเพิ่มเติม:" + +#: administrator/components/com_banners/admin.banners.php:167 +msgid "Saved Banner info" +msgstr "บันทึกข้อมูลป้ายโฆษณา" + +#: administrator/components/com_banners/admin.banners.php:170 +msgid "Reset Banner clicks" +msgstr "เริ่มจำนวนคลิกป้ายโฆษณาใหม่" + +#: administrator/components/com_banners/admin.banners.php:278 +#, php-format +msgid "The client [ %s ] is currently being edited by another person." +msgstr "ลูกค้ารายนี้ [ %s ] กำลังมีการแก้ไขโดยผู้ดูแลท่านอื่นอยู่." + +#: administrator/components/com_banners/admin.banners.php:336 +msgid "Cannot delete client at this time as they have a banner still running" +msgstr "ไม่สามารถลบลูกค้าได้เนื่องจากยังมีแถบป้ายโฆษณาของลูกค้าอยู่" + +#: administrator/components/com_banners/banners.xml +msgid "Banners" +msgstr "ป้ายโฆษณา" + +#: administrator/components/com_banners/banners.xml +msgid "This component manages banners and banner clients" +msgstr "นี่คือคอมโพเน้นท์จัดการป้ายโฆษณาและลูกค้าป้ายโฆษณา" + +#: components/com_banners/banners.class.php:33 +msgid "You must select a name for the client." +msgstr "กรุณาใส่ชื่อลูกค้าป้ายโฆษณาด้วยครับ." + +#: components/com_banners/banners.class.php:39 +msgid "You must select a contact for the client." +msgstr "คุณไม่ได้ใส่รายละเอียดการติดต่อลูกค้า." + +#: components/com_banners/banners.class.php:45 +msgid "You must select a valid email for the client." +msgstr "กรุณาใส่อีเมลสำหรับติดต่อลูกค้า." + +#: components/com_banners/banners.class.php:100 +msgid "You must select a client." +msgstr "คุณไม่ได้เลือกหมวดลูกค้า." + +#: components/com_banners/banners.class.php:105 +msgid "You must select a name for the banner." +msgstr "กรุณาใส่ชื่อให้ป้ายโฆษณา." + +#: components/com_banners/banners.class.php:110 +msgid "You must select a image for the banner." +msgstr "กรุณาใส่รูปให้ป้ายโฆษณา." + +#: components/com_banners/banners.class.php:114 +msgid "You must select a URL/Custom banner code for the banner." +msgstr "กรุณาใส่การเชื่อมโยง(URL)." + +#: administrator/modules/mod_fullmenu.php:66 +msgid "Control Panel" +msgstr "แผงควบคุม" + +#: administrator/modules/mod_fullmenu.php:70 +msgid "Site Management" +msgstr "การบริหารจัดการเว็บ" + +#: administrator/modules/mod_fullmenu.php:73 +#: administrator/modules/mod_fullmenu.php:279 +msgid "Configuration" +msgstr "ตั้งค่าคอนฟิค" + +#: administrator/modules/mod_fullmenu.php:77 +msgid "Manage languages" +msgstr "เปลี่ยนภาษา" + +#: administrator/modules/mod_fullmenu.php:80 +msgid "Manage Media Files" +msgstr "การจัดการไฟล์มีเดีย" + +#: administrator/modules/mod_fullmenu.php:82 +msgid "In New Window" +msgstr "ในหน้าต่างใหม่" + +#: administrator/modules/mod_fullmenu.php:83 +msgid "Inline" +msgstr "ในหน้าต่างนี้" + +#: administrator/modules/mod_fullmenu.php:84 +msgid "Inline with Positions" +msgstr "ในหน้าต่างนี้และแสดงตำแหน่งของโมดูล" + +#: administrator/modules/mod_fullmenu.php:86 +msgid "Site Statistics" +msgstr "สถิติเว็บ" + +#: administrator/modules/mod_fullmenu.php:89 +msgid "Browser, OS, Domain" +msgstr "บราวเซอร์, โอเอส, โดเมน" + +#: administrator/modules/mod_fullmenu.php:90 +msgid "Page Impressions" +msgstr "สถิติการเข้าชมหน้าเพจ" + +#: administrator/modules/mod_fullmenu.php:93 +msgid "Search Text" +msgstr "สถิติคำค้น" + +#: administrator/modules/mod_fullmenu.php:97 +#: administrator/modules/mod_fullmenu.php:98 +msgid "Change site template" +msgstr "เปลี่ยนเทมเพลตเว็บไซต์" + +#: administrator/modules/mod_fullmenu.php:97 +msgid "Template Manager" +msgstr "การจัดการเทมเพลต" + +#: administrator/modules/mod_fullmenu.php:98 +msgid "Site Templates" +msgstr "เทมเพลตเว็บไซต์" + +#: administrator/modules/mod_fullmenu.php:99 +msgid "Administrator Templates" +msgstr "เทมเพลตผู้ดูแล" + +#: administrator/modules/mod_fullmenu.php:99 +msgid "Change admin template" +msgstr "เปลี่ยนเทมเพลตผู้ดูแล" + +#: administrator/modules/mod_fullmenu.php:100 +msgid "Module Positions" +msgstr "ตำแหน่งโมดูล" + +#: administrator/modules/mod_fullmenu.php:100 +msgid "Template positions" +msgstr "ตำแหน่งเทมเพลต" + +#: administrator/modules/mod_fullmenu.php:105 +msgid "Manage Trash" +msgstr "การจัดการถังรีไชเคิล" + +#: administrator/modules/mod_fullmenu.php:105 +msgid "Trash Manager" +msgstr "การจัดการถังรีไชเคิล" + +#: administrator/modules/mod_fullmenu.php:109 +msgid "Manage users" +msgstr "การจัดการสมาชิก" + +#: administrator/modules/mod_fullmenu.php:109 +msgid "User Manager" +msgstr "การจัดการสมาชิก" + +#: administrator/modules/mod_fullmenu.php:116 +msgid "Menu Management" +msgstr "การจัดการเมนู" + +#: administrator/modules/mod_fullmenu.php:131 +msgid "Content Management" +msgstr "การจัดการเนื้อหา" + +#: administrator/modules/mod_fullmenu.php:134 +msgid "Content Managers" +msgstr "การจัดการเนื้อหา" + +#: administrator/modules/mod_fullmenu.php:134 +msgid "Content by Section" +msgstr "เนื้อหาตามหมวด" + +#: administrator/modules/mod_fullmenu.php:144 +msgid "Add/Edit" +msgstr "เพิ่ม/แก้ไข" + +#: administrator/modules/mod_fullmenu.php:144 +#: administrator/modules/mod_quickicon.php:60 +msgid "Categories" +msgstr "ประเภท" + +#: administrator/modules/mod_fullmenu.php:158 +msgid "Manage Content Items" +msgstr "การจัดการรายการเนื้อหา" + +#: administrator/modules/mod_fullmenu.php:159 +msgid "Manage Typed Content Items" +msgstr "การจัดการรายการในเนื้อหา" + +#: administrator/modules/mod_fullmenu.php:159 +msgid "Static Content Manager" +msgstr "เนื้อหาสเตติก" + +#: administrator/modules/mod_fullmenu.php:161 +msgid "Manage Content Sections" +msgstr "การจัดการส่วนหลักของเนื้อหา" + +#: administrator/modules/mod_fullmenu.php:161 +msgid "Section Manager" +msgstr "เพิ่ม/แก้ไข หมวดของเนื้อหา" + +#: administrator/modules/mod_fullmenu.php:164 +msgid "Manage Content Categories" +msgstr "การจัดการประเภทของเนื้อหา" + +#: administrator/modules/mod_fullmenu.php:168 +msgid "Manage Frontpage Items" +msgstr "การจัดการรายการหน้าเว็บ" + +#: administrator/modules/mod_fullmenu.php:169 +msgid "Manage Archive Items" +msgstr "การจัดการรายการในคลังเนื้อหา" + +#: administrator/modules/mod_fullmenu.php:175 +msgid "Component Management" +msgstr "การจัดการคอมโพเน้นท์" + +#: administrator/modules/mod_fullmenu.php:176 +msgid "Install/Uninstall components" +msgstr "ติดตั้ง/ลบ คอมโพเน้นท์" + +#: administrator/modules/mod_fullmenu.php:176 +#: administrator/modules/mod_fullmenu.php:231 +#: administrator/modules/mod_fullmenu.php:250 +msgid "Review/Uninstall" +msgstr "แสดง/ลบ" + +#: administrator/modules/mod_fullmenu.php:220 +msgid "More Components" +msgstr "คอมโพเน้นท์อื่นๆ" + +#: administrator/modules/mod_fullmenu.php:220 +msgid "More Components..." +msgstr "คอมโพเน้นท์อื่น ๆ เพิ่มเติม..." + +#: administrator/modules/mod_fullmenu.php:228 +msgid "Module Management" +msgstr "การจัดการโมดูล" + +#: administrator/modules/mod_fullmenu.php:228 +msgid "Modules" +msgstr "โมดูล" + +#: administrator/modules/mod_fullmenu.php:231 +msgid "Install custom modules" +msgstr "ติดตั้งโมดูล" + +#: administrator/modules/mod_fullmenu.php:236 +msgid "Manage Site modules" +msgstr "การจัดการโมดูลเว็บ" + +#: administrator/modules/mod_fullmenu.php:237 +msgid "Administrator Modules" +msgstr "โมดูลของผู้ดูแล" + +#: administrator/modules/mod_fullmenu.php:237 +msgid "Manage Administrator modules" +msgstr "การจัดการโมดูลของผู้ดูแล" + +#: administrator/modules/mod_fullmenu.php:247 +msgid "Mambot Management" +msgstr "การจัดการแมมบอท" + +#: administrator/modules/mod_fullmenu.php:247 +msgid "Mambots" +msgstr "แมมบอท" + +#: administrator/modules/mod_fullmenu.php:250 +msgid "Install custom mambot" +msgstr "ติดตั้งแมมบอท" + +#: administrator/modules/mod_fullmenu.php:255 +msgid "Manage Site Mambots" +msgstr "การจัดการแมมบอทเว็บ" + +#: administrator/modules/mod_fullmenu.php:255 +msgid "Site Mambots" +msgstr "แมมบอทเว็บ" + +#: administrator/modules/mod_fullmenu.php:266 +msgid "Installer List" +msgstr "รายการที่จะติดตั้ง" + +#: administrator/modules/mod_fullmenu.php:266 +msgid "Installers" +msgstr "ติดตั้ง" + +#: administrator/modules/mod_fullmenu.php:267 +msgid "Install Any Plugin" +msgstr "ติดตั้งปลั๊กอินอย่างใดๆ" + +#: administrator/modules/mod_fullmenu.php:267 +msgid "Universal" +msgstr "ทั่วไป" + +#: administrator/modules/mod_fullmenu.php:269 +msgid "Install from The Source" +msgstr "ติดตั้งจากต้นกำเนิด" + +#: administrator/modules/mod_fullmenu.php:269 +msgid "The Source" +msgstr "ต้นกำเนิด" + +#: administrator/modules/mod_fullmenu.php:277 +msgid "Messaging Management" +msgstr "การจัดการส่งข้อความ" + +#: administrator/modules/mod_fullmenu.php:278 +msgid "Inbox" +msgstr "กล่องข้อความเข้า" + +#: administrator/modules/mod_fullmenu.php:278 +msgid "Private Messages" +msgstr "ข้อความส่วนบุคคล" + +#. System Sub-Menu +#: administrator/modules/mod_fullmenu.php:284 +msgid "System" +msgstr "ระบบ" + +#: administrator/modules/mod_fullmenu.php:284 +msgid "System Management" +msgstr "การจัดการระบบ" + +#: administrator/modules/mod_fullmenu.php:287 +msgid "Check-in all checked-out items" +msgstr "เช็คอินรายการเช็คเอาท์ทั้งหมด" + +#: administrator/modules/mod_fullmenu.php:287 +msgid "Global Checkin" +msgstr "ตรวจสอบรายละเอียดทั้งหมด" + +#: administrator/modules/mod_fullmenu.php:288 +msgid "View System Information" +msgstr "แสดงข้อมูลระบบ" + +#: administrator/modules/mod_fullmenu.php:291 +msgid "Clean Cache" +msgstr "ลบแคช" + +#: administrator/modules/mod_fullmenu.php:291 +msgid "Clean the content items cache" +msgstr "ล้างแคชของเนื้อหาทั้งหมด" + +#: administrator/modules/mod_latest.php:29 +msgid "Most Recently Added Content" +msgstr "เนื้อหาที่มีการเพิ่มมาล่าสุด" + +#: administrator/modules/mod_logged.php:58 +msgid "Currently Logged in Users" +msgstr "ผู้ใช้งานที่ล็อกอินอยู่" + +#: administrator/modules/mod_logged.php:86 +msgid "Force Logout User" +msgstr "เคลียร์ผู้ใช้งานออกจากระบบ" + +#: administrator/modules/mod_logged.xml +msgid "Logged in Users" +msgstr "ผู้ใช้งานที่ล็อกอินอยู่" + +#: administrator/modules/mod_logged.xml +msgid "This module shows a list of the currently logged in users" +msgstr "โมดูลนี้ใช้แสดงรายการผู้ใช้งานที่ล็อกอินอยู่" + +#: administrator/modules/mod_online.php:24 +msgid "Users Online" +msgstr "ผู้ใช้งานออนไลน์" + +#: administrator/modules/mod_popular.php:29 +msgid "Most Popular Items" +msgstr "มีคนให้ความสนใจมากที่สุด" + +#: administrator/modules/mod_popular.xml administrator/modules/mod_stats.xml +msgid "Popular Items" +msgstr "รายการที่ได้รับความนิยม" + +#: administrator/modules/mod_popular.xml +msgid "" +"This module shows a list of the popular published Items that are still " +"current (some may have expired even though they are the most recent). Items " +"that are displayed on the Front Page Component are not included in the list." +msgstr "" +"นี่เป็นโมดูลแสดงรายการที่ได้รับความนิยมที่สุด ที่ถูกแสดง" +"อยู่ในปัจจุบัน (บางบทความอาจหมดอายุแม้จะเพิ่งเพิ่มเข้ามา). รายการ" +"ที่แสดงอยู่บนคอมโพเน้นท์ด้านหน้าเว็บ จะไม่รวมอยู่ในรายการ." + +#: administrator/modules/mod_quickicon.php:37 +#: administrator/modules/mod_quickicon.php:146 +msgid "Static Content" +msgstr "เนื้อหาสเตติก" + +#: administrator/modules/mod_quickicon.php:67 +msgid "Media" +msgstr "ไฟล์มีเดีย" + +#: administrator/modules/mod_quickicon.php:91 +msgid "Menus" +msgstr "เมนู" + +#: administrator/modules/mod_quickicon.php:104 +msgid "Users" +msgstr "สมาชิก" + +#: administrator/modules/mod_stats.php:25 +msgid "# Items" +msgstr "จำนวนรายการ" + +#: administrator/modules/mod_stats.xml +msgid "" +"This module shows stats of Items that are still current (some may have " +"expired even though they are the most recent). Items that are displayed on " +"the Front Page Component are not included in the list." +msgstr "" +"นี่เป็นโมดูลที่แสดงสถิติของรายการ ที่ถูกแสดงอยู่ในปัจจุบัน (บางบทความ " +"อาจหมดอายุแม้จะเพิ่งเพิ่มเข้ามา). รายการที่แสดงอยู่บนคอมโพเน้นท์ด้านหน้าเว็บ " +"จะไม่รวมอยู่ในรายการ." + +#: administrator/popups/contentwindow.php:24 +msgid "Content Preview" +msgstr "แสดงเนื้อหา" + +#: administrator/popups/modulewindow.php:23 +msgid "Module Preview" +msgstr "แสดงโมดูล" + +#: administrator/popups/pollwindow.php:27 +msgid "Poll Preview" +msgstr "แสดงแบบสำรวจ" + +#: administrator/popups/uploadimage.php:27 +msgid "Please select an image to upload" +msgstr "กรุณาเลือกรูปที่ต้องการอับโหลดก่อน" + +#: administrator/popups/uploadimage.php:33 +msgid "File must only contain alphanumeric characters and no spaces please." +msgstr "ไม่สามารถใส่อักขระพิเศษหรือเว้นวรรคได้" + +#: administrator/popups/uploadimage.php:38 +#, php-format +msgid "Image %s already exists." +msgstr "รูป %s มีอยู่แล้ว" + +#: administrator/popups/uploadimage.php:43 +msgid "The file must be gif, png, jpg, bmp, swf, doc, xls or ppt" +msgstr "ไฟล์ที่ใช้ได้คือ gif, png, jpg, bmp, swf, doc, xls หรือ ppt" + +#: administrator/popups/uploadimage.php:50 +#: administrator/popups/uploadimage.php:58 +#, php-format +msgid "Upload of %s failed" +msgstr "อัพโหลด %s ล้มเหลว" + +#: administrator/popups/uploadimage.php:54 +#: administrator/popups/uploadimage.php:62 +#, php-format +msgid "Upload of %s to %s successful" +msgstr "อัพโหลด จาก %s ไป %s สมบูรณ์" + +#: administrator/popups/uploadimage.php:86 +msgid "File Upload :" +msgstr "อัพโหลดไฟล์ :" + +#: administrator/templates/mambo_admin/index.php:55 +#: administrator/templates/mambo_admin/login.php:36 +#: administrator/templates/mambo_admin_blue/index.php:55 +#: administrator/templates/mambo_admin_blue/index.php:93 +msgid "Mambo Logo" +msgstr "สัญลักษณ์แมมโบ้" + +#: administrator/templates/mambo_admin/login.php:57 +msgid "Welcome to Mambo!" +msgstr "ระบบบริหารจัดการเว็บไซต์!" + +#: administrator/templates/mambo_admin/login.php:58 +msgid "" +"Use a valid username and password to gain access to the administration " +"console." +msgstr "กรุณาใส่รายละเอียดเพื่อล็อกอิน หากคุณไม่มีหน้าที่เกี่ยวข้อง กรุณาปิดหน้าต่างนี้ด้วยครับ." + +#: administrator/templates/mambo_admin/templateDetails.xml +msgid "Mambo Admin" +msgstr "Mambo Admin" + +#: administrator/templates/mambo_admin_blue/templateDetails.xml +msgid "Mambo Admin Blue" +msgstr "Mambo Admin Blue" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:27 +msgid "Web Link Manager" +msgstr "การจัดการเว็บลิงก์" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:56 +msgid "Approved" +msgstr "อนุมัติ" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:96 +msgid "Edit Weblinks" +msgstr "แก้ไขเว็บน่าสนใจ" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:174 +msgid "Weblink item must have a title" +msgstr "คุณไม่ได้ใส่หัวเรื่อง" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:176 +#: components/com_weblinks/weblinks.html.php:249 +msgid "You must select a category." +msgstr "คุณไม่ได้เลือกหมวด." + +#: administrator/components/com_weblinks/admin.weblinks.html.php:178 +#: components/com_weblinks/weblinks.html.php:251 +msgid "You must have a url." +msgstr "คุณไม่ได้ใส่ URL." + +#: administrator/components/com_weblinks/admin.weblinks.html.php:188 +msgid "Web Link:" +msgstr "เว็บลิงก์:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:223 +#: components/com_weblinks/weblinks.html.php:295 +msgid "URL:" +msgstr "URL:" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:248 +msgid "Approved:" +msgstr "อนุมัติ:" + +#: administrator/components/com_weblinks/admin.weblinks.php:145 +#: components/com_weblinks/weblinks.php:184 +#, php-format +msgid "The module %s is currently being edited by another administrator." +msgstr "โมดูล %s กำลังมีการแก้ไขโดยผู้ดูแลท่านอื่น." + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon to be used to the left of the url links in Table view" +msgstr "ไอคอนจะถูกใช้อยู่ทางด้านซ้ายของที่อยู่ของการเชื่อมต่อในแต่ละหน้าของการแสดงผล" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "This component shows a listing of Weblinks" +msgstr "คอมโพเน้นท์ สำหรับแสดงรายการของการเชื่อมโยงเว็บ" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Weblinks" +msgstr "เว็บลิงก์" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target" +msgstr "ที่หมาย" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target window when the link is clicked" +msgstr "ที่หมายของหน้าต่างวินโดว์เมื่อคลิกที่การเชื่อมต่อ" + +#: components/com_weblinks/weblinks.class.php:70 +msgid "Please provide a valid URL" +msgstr "กรุณาใส่ URL ที่ถูกต้อง" + +#: components/com_weblinks/weblinks.class.php:76 +msgid "Your web link must be given a title." +msgstr "เว็บลิงก์ของคุณต้องมีหัวเรื่อง." + +#: components/com_weblinks/weblinks.class.php:91 +msgid "There is already a web link that name, please try again." +msgstr "ชื่อเว็บนี้มีอยู่แแล้ว, กรุณาลองใหม่." + +#: components/com_weblinks/weblinks.html.php:107 +msgid "Web Link" +msgstr "รวมเว็บน่าสนใจ" + +#: components/com_weblinks/weblinks.html.php:247 +msgid "Web Link item must have a title" +msgstr "รายการเว็บลิงก์ต้องมีหัวเรื่อง" + +#: components/com_weblinks/weblinks.html.php:262 +msgid "Submit A Web Link" +msgstr "ส่งข้อมูลแนะนำเว็บ" + +#: components/com_weblinks/weblinks.php:99 +msgid "" +"From the list below choose one of our web link categories, then select a URL " +"to visit the site." +msgstr "จากรายการข้างล่างท่านสามารถเลือกประเภทเว็บ และเลือก URL เพื่อเข้าชมเว็บ." + +#: components/com_weblinks/weblinks.php:291 +msgid "User Submitted '%'" +msgstr "สมาชิกส่งข้อมูลมายังเว็บ '%'" + +#: components/com_weblinks/weblinks.php:292 +#, php-format +msgid "" +"Hello %s,\\n\\n\\nA user submitted %s:\\n [ %s ]\\n has been just been " +"submitted by user:\\n [ %s ]\\n" +msgstr "สวัสดี %s,nnnมีสมาชิกได้ส่ง %s:n [ %s ]n โดย คุณ:n [ %s ]n" + +#: components/com_weblinks/weblinks.php:293 +#, php-format +msgid " for %s.\\n\\n\\n\\n" +msgstr " สำหรับ %s.\\n\\n\\n\\n" + +#: components/com_weblinks/weblinks.php:294 +#, php-format +msgid "Please go to %s/administrator to view and approve this %s.\\n\\n" +msgstr "กรุณาเข้าไปยัง %s/administrator เพื่อตรวจสอบและอนุมัติ %s.nn" + +#: components/com_weblinks/weblinks.php:295 +msgid "" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only\\n" +msgstr "ข้อความนี้ถูกส่งเข้ามาด้วยระบบอัตโนมัติ เพื่อแจ้งให้คุณทราบเท่านั้น ไม่จำเป็นต้องตอบกลับn" + +#: administrator/components/com_users/admin.users.html.php:55 +#: administrator/components/com_users/admin.users.php:159 +msgid "Logged In" +msgstr "ล็อกอิน" + +#: administrator/components/com_users/admin.users.html.php:61 +msgid "UserID" +msgstr "ชื่อผู้ใช้งาน" + +#: administrator/components/com_users/admin.users.html.php:64 +msgid "Group" +msgstr "กลุ่ม" + +#: administrator/components/com_users/admin.users.html.php:67 +msgid "E-Mail" +msgstr "อีเมล" + +#: administrator/components/com_users/admin.users.html.php:70 +msgid "Last Visit" +msgstr "เข้าใช้ล่าสุด" + +#: administrator/components/com_users/admin.users.html.php:154 +msgid "You must provide a user login name." +msgstr "กรุณาใส่ชื่อผู้ใช้." + +#: administrator/components/com_users/admin.users.html.php:156 +msgid "Your login name contains invalid characters or is too short." +msgstr "ชื่อที่ใช้ล็อกอิน สั้นเกินไป." + +#: administrator/components/com_users/admin.users.html.php:158 +msgid "You must provide an email address." +msgstr "กรุณาใส่อีเมล." + +#: administrator/components/com_users/admin.users.html.php:160 +msgid "You must assign user to a group." +msgstr "ใส่กลุ่มผู้ใช้." + +#: administrator/components/com_users/admin.users.html.php:162 +msgid "Passwords do not match." +msgstr "รหัสผ่านไม่ถูกต้อง." + +#: administrator/components/com_users/admin.users.html.php:164 +msgid "" +"Please Select another group as `Public Frontend` is not a selectable option" +msgstr "คุณเลือกกลุ่มไม่ถูกต้อง กรุณาเลือกกลุ่มอื่นที่เป็น `Public Frontend`" + +#: administrator/components/com_users/admin.users.html.php:166 +msgid "" +"Please Select another group as `Public Backend` is not a selectable option" +msgstr "คุณเลือกกลุ่มไม่ถูกต้อง กรุณาเลือกกลุ่มอื่นที่เป็น `Public Backend`" + +#: administrator/components/com_users/admin.users.html.php:194 +msgid "User Details" +msgstr "รายละเอียดผู้ใช้งาน" + +#: administrator/components/com_users/admin.users.html.php:207 +msgid "Username:" +msgstr "ชื่อสำหรับล็อกอิน:" + +#: administrator/components/com_users/admin.users.html.php:214 +msgid "Email:" +msgstr "อีเมล:" + +#: administrator/components/com_users/admin.users.html.php:222 +msgid "New Password:" +msgstr "รหัสผ่านใหม่:" + +#: administrator/components/com_users/admin.users.html.php:230 +msgid "Verify Password:" +msgstr "ยืนยันรหัสผ่าน:" + +#: administrator/components/com_users/admin.users.html.php:249 +msgid "Block User" +msgstr "ระงับการใช้งาน" + +#: administrator/components/com_users/admin.users.html.php:261 +msgid "Receive Submission Emails" +msgstr "ส่งอีเมลตอบรับ" + +#: administrator/components/com_users/admin.users.html.php:273 +msgid "Register Date" +msgstr "วันที่สมัคร" + +#: administrator/components/com_users/admin.users.html.php:281 +msgid "Last Visit Date" +msgstr "วันที่เข้าใช้ล่าสุด" + +#: administrator/components/com_users/admin.users.html.php:304 +#: administrator/components/com_users/admin.users.html.php:323 +msgid "Contact Information" +msgstr "ข้อมูลการติดต่อ" + +#: administrator/components/com_users/admin.users.html.php:310 +msgid "No Contact details linked to this User:" +msgstr "ไม่มีรายละเอียดการติดต่อของผู้ใช้งาน:" + +#: administrator/components/com_users/admin.users.html.php:312 +msgid "See \"Components -> Contact -> Manage Contacts\" for details." +msgstr "ดูที่ \"คอมโพเน้นท์ -> ติดต่อ -> จัดการติดต่อ\" สำหรับรายละเอียด." + +#: administrator/components/com_users/admin.users.html.php:389 +msgid "Change Contact Details" +msgstr "เปลี่ยนแปลงรายละเอียดข้อมูลติดต่อ" + +#: administrator/components/com_users/admin.users.html.php:392 +msgid "Components -> Contact -> Manage Contacts" +msgstr "คอมโพเน้นท์ -> การติดต่อ -> จัดการการติดต่อ" + +#: administrator/components/com_users/admin.users.php:152 +msgid "- Select Group -" +msgstr "- เลือกกลุ่ม -" + +#. get list of Log Status for dropdown filter +#: administrator/components/com_users/admin.users.php:158 +msgid "- Select Log Status - " +msgstr "- เลือกล็อคสถานะ - " + +#: administrator/components/com_users/admin.users.php:160 +msgid "Not Logged In" +msgstr "ไม่ได้เข้าสู่ระบบ" + +#: administrator/components/com_users/admin.users.php:188 +msgid "Super Administrator" +msgstr "ผู้ดูแลระบบ สูงสุด" + +#: administrator/components/com_users/admin.users.php:308 +msgid "New User Details" +msgstr "รายละเอียดสมาชิกใหม่" + +#: administrator/components/com_users/admin.users.php:309 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"\n" +"You have been added as a user to %s by an Administrator.\n" +"\n" +"This email contains your username and password to log into the %s\n" +"\n" +"Username - %s\n" +"Password - %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"สวัสดีคุณ %s,\n" +"\n" +"\n" +"คุณได้เพิ่มสมาชิกในเว็บ %s โดยผู้ดูแลระบบ.\n" +"\n" +"ในอีเมลฉบับนี้คุณจะได้รับชื่อผู้ใช้ รหัสผ่าน สำหรับ log ล็อกอินเข้าใช้งาน %s\n" +"\n" +"ชื่อผู้ใช้ - %s\n" +"รหัสผ่าน - %s\n" +"\n" +"\n" +"ข้อความนี้เป็นข้อความอัตโนมัติจากระบบ คุณไม่ต้องตอบกลับ" + +#: administrator/components/com_users/admin.users.php:338 +#, php-format +msgid "Successfully Saved changes to User: %s" +msgstr "บันทึกการเปลี่ยนแปลงชื่อผู้ใช้: %s เรียบร้อยแล้ว" + +#: administrator/components/com_users/admin.users.php:343 +#, php-format +msgid "Successfully Saved User: %s" +msgstr "บันทึกชื่อผู้ใช้: %s เรียบร้อยแล้ว" + +#: administrator/components/com_users/admin.users.php:374 +msgid "You cannot delete a Super Administrator" +msgstr "คุณไม่สามารถลบผู้ดูแลระบบได้" + +#: administrator/components/com_users/admin.users.php:376 +msgid "You cannot delete Yourself!" +msgstr "คุณไม่สามารถลบตัวเองได้!" + +#: administrator/components/com_users/admin.users.php:378 +msgid "" +"You cannot delete another `Administrator` only `Super Administrators` have " +"this power" +msgstr "คุณไม่สามารถลบ `ผู้ดูแลระบบ` นอกจากคุณจะเป็นระดับ `ผู้ดูแลระบบ สูงสุด`" + +#: administrator/components/com_users/admin.users.php:412 +msgid "block" +msgstr "ระงับ" + +#: administrator/components/com_users/admin.users.php:412 +msgid "unblock" +msgstr "ยกเลิก" + +#: administrator/components/com_users/admin.users.php:448 +msgid "Please select a user" +msgstr "กรุณาเลือกชื่อผู้ใช้" + +#: administrator/components/com_users/toolbar.users.html.php:48 +msgid "Force Logout" +msgstr "เอาออกจากระบบ" + +#: components/com_user/user.html.php:20 +msgid "Welcome!" +msgstr "ยินดีต้อนรับ!" + +#: components/com_user/user.html.php:25 +msgid "Welcome to the user section of our site" +msgstr "ขอต้อนรับเข้าสู่ ส่วนของสมาชิก" + +#: components/com_user/user.html.php:41 +msgid "Please enter your name." +msgstr "กรุณาใส่ชื่อ ของคุณ." + +#: components/com_user/user.html.php:43 +msgid "Please enter a user name." +msgstr "กรุณาใส่ชื่อสำหรับล็อกอิน." + +#: components/com_user/user.html.php:45 components/com_user/user.html.php:51 +#, php-format +msgid "" +"Please enter a valid %s. No spaces, more than %d characters and containing " +"only the characters 0-9,a-z, or A-Z" +msgstr "" +"กรุณาใส่ข้อมูล %s. ห้ามใช้ช่องว่าง (space), จำนวนไม่ต่ำกว่า %d ตัวอักษร และเป็นอักษร 0-9,a-" +"z,A-Z " + +#: components/com_user/user.html.php:47 +msgid "Please enter a valid e-mail address." +msgstr "กรุณาใส่อีเมลของคุณ." + +#: components/com_user/user.html.php:49 +msgid "Password and verification do not match, please try again." +msgstr "คุณใส่รหัส 2 ครั้งไม่เหมือนกัน, กรุณาใส่อีกครั้ง." + +#: components/com_user/user.html.php:51 components/com_user/user.html.php:74 +msgid "Password:" +msgstr "รหัสผ่าน:" + +#: components/com_user/user.html.php:59 +msgid "Edit Your Details" +msgstr "แก้ไขข้อมูลของคุณ" + +#: components/com_user/user.html.php:67 +msgid "e-mail:" +msgstr "อีเมล:" + +#: components/com_user/user.html.php:70 +msgid "User Name:" +msgstr "ชื่อในการล็อกอิน:" + +#: components/com_user/user.html.php:97 +msgid "Submission Success!" +msgstr "การส่งข้อมูลเสร็จเรียบร้อย!" + +#: components/com_user/user.html.php:101 +msgid "" +"Your item has been submitted to the site administrators. It will be reviewed " +"before being published on the site." +msgstr "" +"ข้อมูลของคุณถูกจัดส่งให้กับผู้ดูแลเว็บเป็นที่เรียบร้อย. เราจะตรวจสอบ " +"และนำขึ้นแสดงบนเว็บไซต์แห่งนี้โดยเร็ว." + +#: components/com_user/user.php:57 +msgid "You cannot upload files greater than 15kb in size." +msgstr "กรุณาใส่ภาพขนาดไม่เกิน 15kb." + +#: components/com_user/user.php:60 +#, php-format +msgid "Image %s already exists. Please rename the file and try again." +msgstr "รูป %s นี้มีอยู่แล้ว. กรุณาเปลี่ยนชื่อแล้วส่งขึ้นมาใหม่อีกครั้ง." + +#: components/com_user/user.php:66 +#, php-format +msgid "Failed to copy %s" +msgstr "การคัดลอก %s ไม่สำเร็จ" + +#: components/com_user/user.php:88 +msgid "You may only upload a gif or jpg image." +msgstr "รูปภาพควรจะเป็นภาพที่มีนามสกุล gif, หรือ jpg." + +#: components/com_user/user.php:130 +msgid "Passwords do not match" +msgstr "รหัสผ่านไม่เหมือนกันกรุณาตรวจสอบ" + +#: components/com_user/user.php:153 +msgid "Your settings have been saved." +msgstr "ได้บันทึกข้อมูลของคุณแล้ว." + +#: components/com_user/user.php:211 +#, php-format +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "ตรวจสอบ %d ข้อมูลรายการ" +msgstr[1] "ตรวจสอบ %d ข้อมูลรายการ" + +#: components/com_user/user.php:223 +msgid "All items checked out have now been checked in" +msgstr "ตรวจสอบ ว่า นำเข้าหมดแล้ว" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:32 +msgid "Static Content Manager" +msgstr "เนื้อหาสเตติก" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:35 +msgid "Filter:" +msgstr "ค้นหา:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:61 +msgid "Title" +msgstr "ชื่อเรื่อง" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:64 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:96 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:99 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:518 +msgid "Published" +msgstr "เผยแพร่" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:67 +msgid "Order:" +msgstr "ลำดับ:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:70 +msgid "Save Order" +msgstr "บันทึกการจัดลำดับ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:73 +msgid "Access" +msgstr "การเข้าถึง" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:76 +msgid "ID" +msgstr "ID" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:79 +msgid "Links" +msgstr "ลิงก์" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:82 +msgid "Author" +msgstr "ผู้เขียน" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:85 +msgid "Date" +msgstr "วันที่" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:102 +msgid "Expired" +msgstr "หมดอายุ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:105 +msgid "Unpublished" +msgstr "ไม่เผยแพร่" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:110 +msgid "Always" +msgstr "เสมอ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:110 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:112 +msgid "Start:" +msgstr "เริ่มต้น" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:117 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:119 +msgid "Finish:" +msgstr "สิ้นสุด" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:117 +msgid "No Expiry" +msgstr "ไม่หมดอายุ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:147 +msgid "Edit User" +msgstr "แก้ไขผู้ใช้" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:175 +msgid "Edit Static Content" +msgstr "แก้ไขเนื้อหาสเตติก" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:269 +msgid "" +"Are you sure you want to reset the Hits to Zero? \\nAny unsaved changes to " +"this content will be lost." +msgstr "" +"คุณแน่ใจหรือไม่ ที่จะตั้งค่าจำนวนครั้งให้เป็นศูนย์ \\nการเปลี่ยนแปลงที่ยังไม่ได้บันทึกจะหายไปด้วย." + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:300 +msgid "Content item must have a name" +msgstr "เนื้อหาต้องมีชื่อเรื่อง" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:351 +msgid "Static Content Item:" +msgstr "รายการเนื้อหาสเตติก:" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:400 +msgid "Text: (required)" +msgstr "ข้อความส่วนต้น: (ต้องการ)" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:545 +msgid "New document" +msgstr "เนื้อหาใหม่" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:553 +msgid "Not modified" +msgstr "ไม่แก้ไข" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:558 +msgid "Expires" +msgstr "หมดอายุ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:612 +msgid "Source" +msgstr "ที่มา" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:620 +msgid "Align" +msgstr "จัดวาง" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:628 +msgid "Alt Text" +msgstr "ข้อความของรูป" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:636 +msgid "Border" +msgstr "เส้นขอบ" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:734 +msgid "This will create a "Link - Static Content" in the menu you select" +msgstr "สิ่งนี้จะสร้าง "การเชื่อมโยง - เนื้อหาสเตติก" ในเมนูที่ คุณเลือก" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:157 +msgid "Ordering asc" +msgstr "การจัดเรียง เก่าก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:158 +msgid "Ordering desc" +msgstr "การจัดเรียง ใหม่ก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:159 +msgid "ID asc" +msgstr "ID เก่าก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:160 +msgid "ID desc" +msgstr "ID ใหม่ก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:161 +msgid "Title asc" +msgstr "หัวข้อ เก่าก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:162 +msgid "Title desc" +msgstr "หัวข้อ ใหม่ก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:163 +msgid "Date asc" +msgstr "วันที่ เก่าก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:164 +msgid "Date desc" +msgstr "วันที่ ใหม่ก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:165 +msgid "Author asc" +msgstr "ผู้เขียน เก่าก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:166 +msgid "Author desc" +msgstr "ผู้เขียน ใหม่ก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:167 +msgid "Published asc" +msgstr "เผยแพร่ เก่าก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:168 +msgid "Published desc" +msgstr "เผยแพร่ ใหม่ก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:169 +msgid "Access asc" +msgstr "การเข้าถึง เก่าก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:170 +msgid "Access desc" +msgstr "การเข้าถึง ใหม่ก่อน" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:358 +msgid "Typed Content Item saved" +msgstr "ประเภทเนื้อหาบันทึกสำเร็จ" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:364 +msgid "Changes to Typed Content Item saved" +msgstr "บันทึกการแก้ไขประเภทเนื้อหาสำเร็จ" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:475 +msgid "Successfully Reset Hit" +msgstr "ได้ตั้งค่าการนับใหม่แล้ว" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Typed Content Page" +msgstr "หน้าประเภทเนื้อหา" + +#: administrator/components/com_trash/admin.trash.html.php:67 +#: administrator/components/com_trash/admin.trash.html.php:71 +msgid "Content Items" +msgstr "รายการเนื้อหา" + +#: administrator/components/com_trash/admin.trash.html.php:247 +msgid "Delete Items" +msgstr "ลบรายการ" + +#: administrator/components/com_trash/admin.trash.html.php:256 +#: administrator/components/com_trash/admin.trash.html.php:321 +msgid "Number of Items:" +msgstr "หมายเลข:" + +#: administrator/components/com_trash/admin.trash.html.php:262 +msgid "Items being Deleted:" +msgstr "กำลังลบ" + +#: administrator/components/com_trash/admin.trash.html.php:273 +msgid "" +"This will Permanently Delete " +"
      these Items from the Database" +msgstr "" +"ทำการลบถาวร
      ไม่มีรายการในฐานข้อมูล" + +#: administrator/components/com_trash/admin.trash.html.php:276 +msgid "" +"Are you sure you want to Deleted the listed items? \\nThis will Permanently " +"Delete them from the database." +msgstr "คุณแน่ใจที่จะลบใช่หรือไม่? \\nลบออกจากฐานข้อมูลเรียบร้อยแล้ว." + +#: administrator/components/com_trash/admin.trash.html.php:312 +msgid "Restore Items" +msgstr "คืนค่ารายการ" + +#: administrator/components/com_trash/admin.trash.html.php:327 +msgid "Items being Restored:" +msgstr "คืนค่าสำเร็จ:" + +#: administrator/components/com_trash/admin.trash.html.php:338 +msgid "" +"This will Restore these " +"Items,
      they will be returned to their orignial places as Unpublished " +"items" +msgstr "" +"ทำการ คืนค่า
      กลับไปเป็นค่าปกติ ไม่มีการเผยแพร่" + +#: administrator/components/com_trash/admin.trash.html.php:341 +msgid "Are you sure you want to Restore the listed items?." +msgstr "คุณต้องการคืนค่ารายการนี้ใช่หรือไม่?." + +#: administrator/components/com_trash/admin.trash.html.php:342 +#: administrator/components/com_trash/admin.trash.html.php:343 +#: administrator/components/com_trash/toolbar.trash.html.php:19 +msgid "Restore" +msgstr "คืนค่า" + +#: administrator/components/com_trash/admin.trash.php:182 +#, php-format +msgid "%s Item successfully Deleted" +msgid_plural "%s Items successfully Deleted" +msgstr[0] "%s ทำการลบรายการสมบูรณ์" +msgstr[1] "%s ทำการลบรายการสมบูรณ์" + +#: administrator/components/com_trash/admin.trash.php:256 +#, php-format +msgid "%s Item successfully Restored" +msgid_plural "%s Items successfully Restored" +msgstr[0] "%s ทำการคืนค่ารายการสมบูรณ์" +msgstr[1] "%s ทำการคืนค่ารายการสมบูรณ์" + +#: administrator/components/com_trash/trash.xml +msgid "This component manages the Trash functionality." +msgstr "คอมโพเน้นท์นี้จัดการของไร้ค่าซึ่งสามารถนำกลับไปใช้งานได้." + +#: administrator/components/com_templates/admin.templates.html.php:40 +msgid "No preview available" +msgstr "ไม่สามารถแสดงได้" + +#: administrator/components/com_templates/admin.templates.html.php:56 +msgid "Preview Template" +msgstr "แสดงเทมเพลต" + +#: administrator/components/com_templates/admin.templates.html.php:83 +#: administrator/components/com_templates/admin.templates.html.php:164 +msgid "Assigned" +msgstr "กำหนดเทมเพลต" + +#: administrator/components/com_templates/admin.templates.html.php:221 +msgid "Template HTML Editor" +msgstr "แก้ไข HTML เทมเพลต" + +#: administrator/components/com_templates/admin.templates.html.php:275 +msgid "Template CSS Editor" +msgstr "แก้ไข CSS เทมเพลต" + +#: administrator/components/com_templates/admin.templates.html.php:326 +#, php-format +msgid "Assign template %s to menu items" +msgstr "กำหนดเทมเพลต %s ไปรายการเมนู" + +#: administrator/components/com_templates/admin.templates.html.php:331 +msgid "Page(s):" +msgstr "หน้า:" + +#: administrator/components/com_templates/admin.templates.php:231 +msgid "You can not delete template in use." +msgstr "ไม่สามารถลบได้ เนื่องจากเทมเพลตถูกใช้งาน." + +#: administrator/components/com_templates/admin.templates.php:258 +#: administrator/components/com_templates/admin.templates.php:323 +#, php-format +msgid "Operation Failed: Could not open %s" +msgstr "ผิดพลาด: ไม่สามารถเปิด %s" + +#: administrator/components/com_templates/admin.templates.php:270 +#: administrator/components/com_templates/admin.templates.php:334 +msgid "Operation failed: No template specified." +msgstr "ผิดพลาด: ระบุเทมเพลตไม่ได้." + +#: administrator/components/com_templates/admin.templates.php:273 +#: administrator/components/com_templates/admin.templates.php:338 +msgid "Operation failed: Content empty." +msgstr "ผิดพลาด: ไม่มีเนื้อหา." + +#: administrator/components/com_templates/admin.templates.php:288 +#, php-format +msgid "Operation failed: %s is not writable." +msgstr "ผิดพลาด: %s ไม่สามารถเขียนได้." + +#: administrator/components/com_templates/admin.templates.php:303 +#: administrator/components/com_templates/admin.templates.php:368 +msgid "Operation failed: Failed to open file for writing." +msgstr "ผิดพลาด: เปิดไฟล์สำหรับเขียนทับไม่ได้." + +#: administrator/components/com_templates/admin.templates.php:353 +msgid "Operation failed: The file is not writable." +msgstr "ผิดพลาด: ไฟล์ไม่สามารถเขียนได้." + +#: administrator/components/com_templates/admin.templates.php:450 +msgid "Positions saved" +msgstr "บันทึกสำเร็จ" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:26 +msgid "Syndication Settings" +msgstr "ตั้งค่าการกระจายข่าวสาร" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:49 +msgid "Manage Syndication Settings" +msgstr "จัดการการตั้งค่าการกระจายข่าวสาร" + +#: administrator/components/com_syndicate/admin.syndicate.php:97 +msgid "Settings successfully Saved" +msgstr "การตั้งค่าถูกบันทึกเรียบร้อย" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "ATOM 1.0" +msgstr "ATOM 1.0" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Activate support for Firefox Live Bookmarks functionality" +msgstr "กระตุ้นให้รองรับสำหรับ Firefox โดยอัตโนมัติ" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Alt text for image" +msgstr "ข้อความที่กำหนดให้อธิบายรูปภาพ" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Bookmark file" +msgstr "ไฟล์ Bookmark" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache Time" +msgstr "เวลาของหน่วยความจำชั่วคราว" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache file will refresh every x seconds" +msgstr "ไฟล์หน่วยความจำชั่วคราวจะทำใหม่ทุก ๆ x วินาที" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache the feed files" +msgstr "แคชของ feed ไฟล์" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image Alt" +msgstr "ข้อความภาพ" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image to be included in feed" +msgstr "รูปภาพที่ถูกแสดงอยู่ใน feed" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit Text" +msgstr "จำกัดข้อความ" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit the article text to the value indicated below" +msgstr "จำกัดข้อความในเนื้อหาแสดงถึงค่าข้างล่าง" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Live Bookmarks" +msgstr "Live Bookmarks" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Number of Items to syndicate" +msgstr "จำนวนรายการที่ต้องการทำการกระจายข่าว" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Order that the items will be displayed" +msgstr "รายการในบัญชีถูกเรียงตามลำดับในการแสดงผล" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Special file name, if empty the default will be used." +msgstr "ชื่อไฟล์แบบพิเศษ, ถ้าว่างเปล่า ค่าเริ่มต้นจะถูกใช้." + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Description" +msgstr "รายละเอียดกระจายข่าว" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Title" +msgstr "ชื่อเรื่องกระจายข่าว" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Text Length" +msgstr "ความยาวของข้อความ" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "The word length of the article text - 0 will show no text" +msgstr "ความยาวของคำในเนื้อหา - หากเป็น 0 จะไม่แสดงข้อความอีก" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "This component controls the Syndication settings" +msgstr "คอมโพเน้นท์นี้ใช้ควบคุมการทำงานของการกระจายข่าว" + +#: administrator/components/com_statistics/admin.statistics.html.php:33 +msgid "Browser, OS, Domain Statistics" +msgstr "เบราว์เซอร์, โอเอส, สถิติ โดเมน" + +#: administrator/components/com_statistics/admin.statistics.html.php:39 +msgid "Browsers" +msgstr "เบราว์เซอร์" + +#: administrator/components/com_statistics/admin.statistics.html.php:43 +msgid "Browser" +msgstr "เบราว์เซอร์" + +#: administrator/components/com_statistics/admin.statistics.html.php:82 +msgid "OS Stats" +msgstr "สถิติ ระบบปฏิบัติการ" + +#: administrator/components/com_statistics/admin.statistics.html.php:86 +msgid "Operating System" +msgstr "ระบบปฏิบัติการ" + +#: administrator/components/com_statistics/admin.statistics.html.php:125 +msgid "Domain Stats" +msgstr "สถิติ โดเมน" + +#: administrator/components/com_statistics/admin.statistics.html.php:129 +msgid "Domain" +msgstr "โดเมน" + +#: administrator/components/com_statistics/admin.statistics.html.php:180 +msgid "Page Impression Statistics" +msgstr "สถิติหน้าที่ถูกสนใจ" + +#: administrator/components/com_statistics/admin.statistics.html.php:226 +msgid "Search Engine Text :" +msgstr "สถิติของคำหรือข้อความที่ใช้ค้นหา :" + +#: administrator/components/com_statistics/admin.statistics.html.php:227 +msgid "logging is :" +msgstr "สถิติผู้เข้าระบบ :" + +#: administrator/components/com_statistics/admin.statistics.html.php:238 +msgid "Times Requested" +msgstr "จำนวนครั้งที่ค้นหา" + +#: administrator/components/com_statistics/admin.statistics.html.php:239 +msgid "Results Returned" +msgstr "ค้นพบทั้งหมด" + +#: administrator/components/com_sections/admin.sections.html.php:66 +msgid "# Categories" +msgstr "จำนวนประเภท" + +#: administrator/components/com_sections/admin.sections.html.php:69 +msgid "# Active" +msgstr "# จำนวนเนื้อหา" + +#: administrator/components/com_sections/admin.sections.html.php:173 +msgid "New Section" +msgstr "หมวดใหม่" + +#: administrator/components/com_sections/admin.sections.html.php:201 +msgid "Section must have a name" +msgstr "กรุณาใส่ชื่อหมวด" + +#: administrator/components/com_sections/admin.sections.html.php:203 +msgid "Section must have a title" +msgstr "กรุณาใส่ชื่อเรื่องหมวด" + +#: administrator/components/com_sections/admin.sections.html.php:279 +msgid "Section Details" +msgstr "รายละเอียดหมวด" + +#: administrator/components/com_sections/admin.sections.html.php:284 +msgid "Scope:" +msgstr "ขอบเขต:" + +#: administrator/components/com_sections/admin.sections.html.php:399 +msgid "Select Menu Type" +msgstr "เลือกรูปแบบเมนู" + +#: administrator/components/com_sections/admin.sections.html.php:487 +msgid "Copy Section" +msgstr "คัดลอกหมวด" + +#: administrator/components/com_sections/admin.sections.html.php:499 +msgid "The new Section name" +msgstr "ชื่อหมวดใหม่" + +#: administrator/components/com_sections/admin.sections.html.php:535 +msgid "" +"This will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the new Section created." +msgstr "" +"นี่จะเป็นการคัดลอกประเภท\n" +"\t\t\t
      \n" +"\t\t\tและรายการทั้งหมดในประเภท (ทุกอย่าง)\n" +"\t\t\t
      \n" +"\t\t\tไปในหมวดใหม่." + +#: administrator/components/com_sections/admin.sections.php:191 +#, php-format +msgid "The section %s is currently being edited by another administrator" +msgstr "หมวด %s กำลังแก้ไขโดยผู้ดูแลท่านอื่นอยู่" + +#: administrator/components/com_sections/admin.sections.php:209 +#: administrator/components/com_sections/admin.sections.php:626 +msgid "Section Table" +msgstr "ตารางหมวด" + +#: administrator/components/com_sections/admin.sections.php:213 +#: administrator/components/com_sections/admin.sections.php:233 +#: administrator/components/com_sections/admin.sections.php:631 +msgid "Section Blog" +msgstr "บล็อกหมวด" + +#: administrator/components/com_sections/admin.sections.php:217 +#: administrator/components/com_sections/admin.sections.php:636 +msgid "Section Blog Archive" +msgstr "บล็อกหมวดคลังเนื้อหา" + +#: administrator/components/com_sections/admin.sections.php:232 +msgid "Section List" +msgstr "รายการหมวด" + +#: administrator/components/com_sections/admin.sections.php:234 +msgid "Section Archive Blog" +msgstr "บล็อกหมวดคลังเนื้อหา" + +#: administrator/components/com_sections/admin.sections.php:308 +msgid "Changes to Section saved" +msgstr "หมวดที่แก้ไขถูกบันทึกแล้ว" + +#: administrator/components/com_sections/admin.sections.php:314 +msgid "Section saved" +msgstr "บันทึกหมวด" + +#: administrator/components/com_sections/admin.sections.php:329 +msgid "Select a section to delete" +msgstr "เลือกหมวดที่ต้องการลบ" + +#: administrator/components/com_sections/admin.sections.php:367 +#, php-format +msgid "Sections(s): %s cannot be removed as they contain categories" +msgstr "หมวด: %s ไม่สามารถลบได้ เนื่องจากมีประเภทเชื่อมโยงอยู่" + +#: administrator/components/com_sections/admin.sections.php:372 +#, php-format +msgid "Section(s): %s successfully deleted" +msgstr "หมวด: %s ลบได้สำเร็จ" + +#: administrator/components/com_sections/admin.sections.php:390 +msgid "Select a section to " +msgstr "เลือกหมวดไปยัง " + +#: administrator/components/com_sections/admin.sections.php:398 +msgid "Cannot Publish an Empty Section" +msgstr "ไม่สามารถเผยแพร่ได้ ไม่มีเนื้อหาในหมวด" + +#: administrator/components/com_sections/admin.sections.php:587 +#, php-format +msgid "Section %s and all its Categories and Items have been copied as %s" +msgstr "หมวด %s และ ประเภท/รายการทั้งหมดถูกคัดลอก %s" + +#: administrator/components/com_search/search.xml +msgid "This component manages the Search functionality." +msgstr "คอมโพเน้นท์นี้จัดการการค้นหาซึ่งสามารถทำงานได้ดี" + +#: components/com_search/search.html.php:35 +#: components/com_search/search.html.php:65 +msgid "Search Keyword" +msgstr "คำที่ใช้ค้นหา" + +#. number of matches found +#: components/com_search/search.html.php:98 +#, php-format +msgid "returned %d match" +msgid_plural "returned %d matches" +msgstr[0] "พบ %d ข้อความ" +msgstr[1] "พบ %d ข้อความ" + +#: components/com_search/search.php:56 +msgid "Newest first" +msgstr "ใหม่ก่อน" + +#: components/com_search/search.php:58 +msgid "Most popular" +msgstr "สุดฮอต" + +#: components/com_search/search.php:59 +msgid "Alphabetical" +msgstr "ตามลำดับอักษร" + +#: components/com_search/search.php:60 +msgid "Section/Category" +msgstr "หมวดหมู่ /ประเภท" + +#: components/com_search/search.php:70 +msgid "Any words" +msgstr "บางคำ" + +#: components/com_search/search.php:75 +msgid "All words" +msgstr "ทุกคำ" + +#: components/com_search/search.php:80 +msgid "Exact phrase" +msgstr "ทุกตัวอักษร" + +#. html output +#. no matches found +#: components/com_search/search.php:92 +msgid "No results were found" +msgstr "ไม่พบข้อมูล" + +#: components/com_search/search.php:97 +msgid "One or more common words were ignored in the search" +msgstr "หนึ่งหรือหลายคำในนี้ไม่สามารถค้นหาได้" + +#: components/com_registration/registration.html.php:21 +#: components/com_registration/registration.php:42 +msgid "Lost your Password?" +msgstr "ลืมรหัสผ่าน?" + +#: components/com_registration/registration.html.php:26 +#, php-format +msgid "" +"Please enter your Username and e-mail address then click on the Send " +"Password button.%s You will receive a new password shortly. Use the new " +"password to access the site." +msgstr "" +"กรุณาใส่ ชื่อสำหรับล็อกอิน และอีเมล ของคุณ แล้วคลิกที่ปุ่ม ส่งรหัสผ่านคุณจะได้รับรหัสผ่านทางอีเมล " +"และให้ใช้รหัสใหม่ที่ได้รับนี้ ในการล็อกอินเข้าใช้งาน" + +#: components/com_registration/registration.html.php:33 +msgid "E-mail Address:" +msgstr "อีเมล:" + +#: components/com_registration/registration.html.php:38 +msgid "Send Password" +msgstr "ส่งรหัสผ่าน" + +#: components/com_registration/registration.html.php:64 +msgid "" +"Please enter a valid password -- more than 6 characters with no spaces and " +"containing only the characters 0-9, a-z, or A-Z" +msgstr "ใส่รหัสผ่านไม่ต้องเว้นวรรค, ตัวอักษรต้องมากกว่า 6 ตัว และเป็นอักษร 0-9,a-z,A-Z" + +#: components/com_registration/registration.html.php:66 +msgid "Please verify the password." +msgstr "ยืนยันรหัสผ่านอีกครั้ง." + +#: components/com_registration/registration.html.php:78 +#: components/com_registration/registration.php:111 +msgid "Registration" +msgstr "ลงทะเบียน" + +#: components/com_registration/registration.html.php:83 +msgid "Fields marked with an asterisk (*) are required." +msgstr "กรุณาใส่ข้อมูลใน (*) ให้ครบถ้วน." + +#: components/com_registration/registration.html.php:124 +msgid "Send Registration" +msgstr "ส่ง การลงทะเบียน" + +#: components/com_registration/registration.php:64 +msgid "" +"Sorry, no corresponding user was found. Please make sure you entered a " +"valid username and a valid email address. Both are required." +msgstr "" +"ขออภัย, ไม่พบผู้ใช้นี้ในทะเบียน. กรุณาตรวจสอบให้แน่ใจ สิ่งที่คุณใส่ " +"ชื่อผู้ใช้สมบูรณ์ และตำแหน่งที่อยู่อีเมล์สมบูรณ์. เป็นสิ่งที่ต้องการ." + +#: components/com_registration/registration.php:76 +#, php-format +msgid "" +"The user account %s has this email associated with it.\n" +"\n" +"A web user from %s has just requested that a new password be sent.\n" +"\n" +"\n" +"Your New Password is: %s\n" +"\n" +"\n" +"If you didn't ask for this, don't worry. You are seeing this message, not " +"them. \n" +"If this was an error just login with your new password and then change your " +"password to what you would like it to be." +msgstr "" +"สมาชิกที่ใช้ชื่อ %s ในการสมัครเป็นสมาชิก.\n" +"\n" +"ของเว็บ %s ได้ลืมรหัสในการล็อกอินและได้ขอให้จัดส่งรหัสผ่านใหม่.\n" +"\n" +"\n" +"รหัสใหม่ของคุณคือ: %s\n" +"\n" +"\n" +"หากคุณไม่ได้ขอให้ระบบจัดส่งอีเมลนี้มาให้ไม่ต้องเป็นกังวล. \n" +"เพราะรหัสผ่านจะถูกส่งมาทางอีเมลของคุณเท่านั้น จะไม่มีคนอื่นทราบ คุณสามารถใช้ รหัสผ่านนี้ล็อกอิน " +"และเปลี่ยนเป็นรหัสที่คุณต้องการได้เอง." + +#. eval ("\$message = \"$message\";"); +#: components/com_registration/registration.php:83 +#, php-format +msgid "%s :: New password for - %s" +msgstr "%s :: รหัสประจำตัวสำหรับ - %s" + +#: components/com_registration/registration.php:99 +msgid "New User Password created and sent!" +msgstr "รหัสใหม่ได้บันทึกและถูกส่งไปแล้ว!" + +#. Send notification to all administrators +#: components/com_registration/registration.php:162 +#: components/com_registration/registration.php:210 +#, php-format +msgid "Account details for %s at %s" +msgstr "รายละเอียดสมาชิกใหม่ %s ใน %s" + +#: components/com_registration/registration.php:167 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s. Your account has been created but, as a " +"precaution, it must be activated by you before you can use it.\n" +"To activate the account click on the following link or copy and paste it in " +"your browser:\n" +"%s\n" +"\n" +"After activation you may login to %s using the following username and " +"password:\n" +"\n" +"Username - %s\n" +"Password - %s" +msgstr "" +"สวัสดีคุณ %s,\n" +"\n" +"ขอบคุณที่สมัครสมาชิก %s. คุณสามารถเข้าใช้งานได้ทันทีที่คุณยืนยันหากต้องการยืนยัน คลิ๊ก link หรือ " +"copy แล้ววาง ในช่อง address ในเบราซ์เซอร์ของคุณ:\n" +"%s\n" +"\n" +"หลังจากยืนยันแล้วกรุณาล็อกอินเข้าสู่ %s โดยใช้ ชื่อผู้ใช้ และรหัสผ่านตามนี้:\n" +"\n" +"ชื่อผู้ใช้ - %s\n" +"รหัสผ่าน - %s" + +#: components/com_registration/registration.php:182 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s.\n" +"\n" +"You may now login to %s using the username and password you registered with." +msgstr "" +"สวัสดีคุณ %s,\n" +"\n" +"ขอบคุณที่สมัครสมาชิก %s.\n" +"\n" +"คุณสามารถล็อกอินเข้าใช้งาน %s ด้วย ชื่อผู้ใช้ และ รหัสผ่าน ที่คุณได้ลงทะเบียนไว้." + +#: components/com_registration/registration.php:211 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"A new user has registered at %s.\n" +"This email contains their details:\n" +"\n" +"Name - %s\n" +"e-mail - %s\n" +"Username - %s\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" +"สวัสดี %s,\n" +"\n" +"มีสมาชิกใหม่ลงทะเบียนมายัง %s.\n" +"ด้านล่างนี้คือ รายละเอียดของสมาชิก:\n" +"\n" +"ชื่อ - %s\n" +"อีเมล - %s\n" +"ชื่อผู้ใช้ - %s\n" +"\n" +"ข้อความนี้เป็นข้อความอัตโนมัติจากระบบ คุณไม่จำเป็นต้องตอบกลับ" + +#: components/com_registration/registration.php:241 +#: components/com_registration/registration.php:244 +msgid "Registration Complete" +msgstr "ลงทะเบียนเสร็จแล้วครับ!" + +#: components/com_registration/registration.php:242 +msgid "" +"Your account has been created and an activation link has been sent to the e-" +"mail address you entered. Note that you must activate the account by " +"clicking on the activation link before you can login." +msgstr "คุณต้องยืนยันตัวคุณก่อนโดยเข้าไปเปิดอีเมลที่ลงทะเบียนไว้แล้วคลิ๊กลิ้งค์เพื่อยีนยันจากนันสามารถเข้าใช้งานได้." + +#: components/com_registration/registration.php:245 +msgid "You may now login." +msgstr "คุณสามารถเข้าใช้ได้ทันที." + +#: components/com_registration/registration.php:263 +#: components/com_registration/registration.php:284 +msgid "Invalid Activation Link!" +msgstr "การยืนยันไม่ผ่าน" + +#: components/com_registration/registration.php:264 +#: components/com_registration/registration.php:285 +msgid "" +"There is no such account in our database or the account has already been " +"activated." +msgstr "ไม่มีชื่อผู้ใช้นี้อยู่ในฐานข้อมูล." + +#: components/com_registration/registration.php:277 +msgid "Activation Complete!" +msgstr "การลงทะเบียนเสร็จสมบูรณ์!" + +#: components/com_registration/registration.php:278 +msgid "" +"Your account has been activated successfully. You can now login using the " +"username and password you chose during registration." +msgstr "" +"การยืนยันเสร็จสมบูรณ์คุณสามารถล็อกอินเข้าใช้งานด้วย ชื่อผู้ใช้ และ รหัสผ่าน ที่คุณได้ลงทะเบียนไว้" + +#: administrator/components/com_poll/admin.poll.html.php:26 +msgid "Poll Manager" +msgstr "การจัดการโพลล์" + +#: administrator/components/com_poll/admin.poll.html.php:39 +msgid "Poll Question" +msgstr "คำถามของโฟลล์" + +#: administrator/components/com_poll/admin.poll.html.php:45 +msgid "Options" +msgstr "ตัวเลือก" + +#: administrator/components/com_poll/admin.poll.html.php:48 +msgid "Lag" +msgstr "เวลา" + +#: administrator/components/com_poll/admin.poll.html.php:72 +msgid "Edit Poll" +msgstr "แก้ไขโพลล์" + +#: administrator/components/com_poll/admin.poll.html.php:116 +msgid "Poll must have a title" +msgstr "กรุณาใส่หัวข้อโพลล์" + +#: administrator/components/com_poll/admin.poll.html.php:118 +msgid "Poll must have a non-zero lag time" +msgstr "การตั้งค่าโพลล์ต้องใส่เลขมากกว่า 0" + +#: administrator/components/com_poll/admin.poll.html.php:132 +msgid "Poll:" +msgstr "โพลล์:" + +#: administrator/components/com_poll/admin.poll.html.php:148 +msgid "Question:" +msgstr "คำถาม:" + +#: administrator/components/com_poll/admin.poll.html.php:157 +msgid "Show on menu items:" +msgstr "แสดงรายการเมนู" + +#: administrator/components/com_poll/admin.poll.html.php:164 +msgid "Lag:" +msgstr "เวลา:" + +#: administrator/components/com_poll/admin.poll.html.php:173 +msgid "Options:" +msgstr "ตัวเลือก:" + +#: administrator/components/com_poll/admin.poll.php:108 +#, php-format +msgid "The poll %s is currently being edited by another administrator." +msgstr "โพลล์ %s กำลังแก้ไขโดยผู้ดูแลท่านอื่นอยู่" + +#: administrator/components/com_poll/poll.class.php:42 +msgid "Your Poll must contain a title." +msgstr "กรุณาใส่หัวข้อโพลล์." + +#: administrator/components/com_poll/poll.class.php:48 +msgid "Your Poll must have a non-zero lag time." +msgstr "การตั้งค่าโพลล์ต้องใส่เลขมากกว่า 0" + +#: administrator/components/com_poll/poll.class.php:57 +msgid "There is a module already with that name, please try again." +msgstr "โมดูลมีอยู่ในระบบแล้ว กรุณาลองใหม่." + +#: administrator/components/com_poll/poll.xml +msgid "This component shows Polls/Surveys" +msgstr "คอมดพเน้นท์นี้สำหรับแสดงการสำรวจ/โพลล์" + +#: components/com_poll/poll.html.php:49 +msgid "Select Poll:" +msgstr "เลือก โพลล์:" + +#: components/com_poll/poll.html.php:81 +msgid "There are no results for this poll." +msgstr "ยังไม่มีผลลัพธ์สำหรับโพลล์นี้." + +#: components/com_poll/poll.html.php:191 +msgid "Number of Voters" +msgstr "จำนวนผู้ลงคะแนน" + +#: components/com_poll/poll.html.php:200 +msgid "First Vote" +msgstr "ลงคะแนนครั้งแรก" + +#: components/com_poll/poll.html.php:209 +msgid "Last Vote" +msgstr "ลงคะแนนครั้งล่าสุด" + +#: components/com_poll/poll.php:49 +msgid "Cookies must be enabled!" +msgstr "คุณต้องกำหนดให้ Cookies ทำงานด้วย!" + +#: components/com_poll/poll.php:50 components/com_poll/poll.php:57 +#: components/com_poll/poll.php:66 components/com_poll/poll.php:73 +msgid "Continue" +msgstr "ต่อไป" + +#: components/com_poll/poll.php:72 +msgid "No selection has been made, please try again" +msgstr "คุยยังไม่ได้เลือกตัวเลือกที่ให้มา โปรดเลือกอีกครั้ง" + +#: components/com_poll/poll.php:113 components/com_poll/poll.php:155 +msgid "Select Poll from the list" +msgstr "เลือกรายการแบบสำรวจ" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/admin.php:106 +msgid "XML handler error - no method provided to deal with character data" +msgstr "XML ในส่วนจัดการข้อผิดพลาด - ไม่ใช่วิธีภายใต้เงื่อนไขที่เกี่ยวกับข้อมูลตัวอักษร" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:147 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:166 +msgid "Publish" +msgstr "เผยแพร่" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:204 +msgid "Assign" +msgstr "ระบุ" + +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:223 +#: D:/releases/svn/mambo/branches/4.6/administrator/includes/menubar.html.php:242 +msgid "Unpublish" +msgstr "ไม่เผยแพร่" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:98 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Install Site Templates" +msgstr "ติดตั้งเทมเพลตเว็บไซต์" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:101 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Install Administrator Templates" +msgstr "ติดตั้งเทมเพลตผู้ดูแล" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:179 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:234 +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:253 +msgid "Install/Uninstall" +msgstr "ติดตั้ง/ลบ" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:272 +msgid "Templates - Site" +msgstr "เทมเพลต - เว็บไซต์" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:273 +msgid "Templates - Admin" +msgstr "เทมเพลต - ผู้ดูแลระบบ" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:277 +msgid "Install Languages" +msgstr "ติดตั้งภาษา" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:281 +msgid "Install/Uninstall Components" +msgstr "ติดตั้ง/ลบ คอมโพเน้นท์" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:282 +msgid "Install/Uninstall Modules" +msgstr "ติดตั้ง/ลบ โมดูล" + +#: D:/releases/svn/mambo/branches/4.6/administrator/modules/mod_fullmenu.php:283 +msgid "Install/Uninstall Mambots" +msgstr "ติดตั้ง/ลบ แมมบอท" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:48 +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:56 +msgid "Upload of $userfile_name failed" +msgstr "อับโหลด %s ไม่สำเร็จ" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:52 +msgid "Upload of $userfile_name to $media_path successful" +msgstr "อับโหลด $userfile_name ไปยัง $media_path เสร็จแล้ว" + +#: D:/releases/svn/mambo/branches/4.6/administrator/popups/uploadimage.php:60 +msgid "Upload of $userfile_name to $base_Dir successful" +msgstr "อับโหลด $userfile_name ไปยัง $base_Dir เรียบร้อย" + +#: D:/releases/svn/mambo/branches/4.6/includes/mamboHTML.php:378 +msgid "Published, but is Pending" +msgstr "รอการเผยแพร่" + +#: D:/releases/svn/mambo/branches/4.6/includes/mambofunc.php:23 +msgid " for %.\\n\\n\\n\\n" +msgstr " เข้ามาในเว็บ %.nnnn" + +#: D:/releases/svn/mambo/branches/4.6/includes/phpgettext/phpgettext.includes.php:283 +msgid "Text Domains" +msgstr "ชื่อโดเมน" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:58 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:183 +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:194 +msgid "Page" +msgstr "หน้า" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:142 +msgid "Article Index" +msgstr "ดัชนีบทความ" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:215 +msgid "Next >>" +msgstr "ถัดไป >>" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mospaging.php:224 +msgid "<<Previous" +msgstr "<<ก่อนหน้า" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:39 +msgid "User Rating" +msgstr "ระดับผู้ใช้" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:47 +msgid "Poor" +msgstr "แย่จัง" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:48 +msgid "vote 1 star" +msgstr "โหวต 1 ดาว" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:49 +msgid "vote 2 star" +msgstr "โหวต 2 ดาว" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:50 +msgid "vote 3 star" +msgstr "โหวต 3 ดาว" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:51 +msgid "vote 4 star" +msgstr "โหวต 4 ดาว" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:52 +msgid "vote 5 star" +msgstr "โหวต 5 ดาว" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:53 +msgid "Best" +msgstr "ดีมาก" + +#: D:/releases/svn/mambo/branches/4.6/mambots/content/mosvote.php:54 +msgid "Rate" +msgstr "ให้คะแนน" + +#: D:/releases/svn/mambo/branches/4.6/mambots/search/categories.searchbot.php:70 +msgid "Category List" +msgstr "รายการหมวด" + +#: administrator/components/com_banners/admin.banners.html.php:232 +msgid "Show Banner:" +msgstr "แสดงป้ายโฆษณา:" + +#: administrator/components/com_categories/admin.categories.php:327 +#: administrator/components/com_categories/admin.categories.php:802 +msgid "Newsfeed Category Table" +msgstr "ตารางประเภทการให้ข่าว" + +#: administrator/components/com_categories/admin.categories.php:330 +#: administrator/components/com_categories/admin.categories.php:807 +msgid "Weblink Category Table" +msgstr "ตารางประเภทเว็บลิงก์" + +#: administrator/components/com_config/admin.config.html.php:206 +msgid "Favourites Site Icon:" +msgstr "ไอคอนของเว็บไซต์:" + +#: administrator/components/com_content/content.xml +msgid "A text key that an item may be referenced by (like a help reference)" +msgstr "ข้อความหรือคำที่สามารถใช้อ้างอิงมายังเนื้อหานี้" + +#: administrator/components/com_content/content.xml +msgid "Key Reference" +msgstr "คีย์ที่ใช้อ้างอิง" + +#: D:/releases/svn/mambo/branches/4.6/modules/mod_stats.php:43 +msgid "WebLinks" +msgstr "เว็บลิงก์" + +#: D:/releases/svn/mambo/branches/4.6/installation/install.php:85 +msgid "" +"Mambo is Free Software released " +"under the GNU/GPL License .\n" +"\t\t\t\t
      *** To continue installing Mambo you must check " +"the box under the license ***
      " +msgstr "" +"
      แมมโบ้เป็นซอฟท์แวร์เสรีภายใต้ลิขสิทธิ์ GNU/GPL พัฒนาภาษาไทย MamboHub.com.\n" +"\t\t\t\t
      *** เช็คที่กล่องสี่เหลี่ยมหากต้องการติดตั้ง Mambo " +"ภายใต้ลิขสิทธิ์นี้ ***
      " + +#: D:/releases/svn/mambo/branches/4.6/installation/install1.php:110 +msgid "For site security using a password for the mysql account in mandatory" +msgstr "เพื่อความปลอดภัย กรุณากำหนดรหัสผ่าน" + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:345 +msgid "" +"\n" +"\t\t\t\t

      Click the \"View Site\" button to start Mambo site or " +"\"Administration\"\n" +"\t\t\t\t to take you to administrator login.

      " +msgstr "" +"\n" +"\t\t\t\t

      คลิกที่ปุ่ม \"ดูเว็บไซต์\" เพื่อเข้าไปยังเว็บ Mambo ของท่าน หรือคลิกที่ \"ผู้ดูแลระบบ" +"\"\n" +"\t\t\t\t เพื่อเข้าไปยังหน้าล็อกอินเข้าจัดการระบบ

      " + +#: D:/releases/svn/mambo/branches/4.6/installation/install4.php:360 +msgid "" +"\t\t\t\t\t\t\t\tYour configuration file or directory is not writeable,\n" +"\t\t\t\t\t\t\t\tor there was a problem creating the configuration file. " +"You'll have to\n" +"\t\t\t\t\t\t\t\tupload the following code by hand. Click in the textarea to " +"highlight\n" +"\t\t\t\t\t\t\t\tall of the code." +msgstr "" +"ไม่สามารถเขียนไฟล์ configuration ได้ หรือมีปัญหาในการสร้างไฟล์ดังกล่าว,\n" +"\t\t\t\t\t\t\t\tให้ท่านทำการก้อปปี้โค้ดข้างล่างนี้ไว้ใน txt editor \n" +"\t\t\t\t\t\t\t\tจากนั้นให้บันทึกและอัพโหลดขึ้นเซิร์ฟเวอร์ คลิกที่ textarea " +"เพื่อทำการไฮไลท์โค้ดทั้งหมด." + +#: administrator/components/com_installer/admin.installer.php:228 +msgid "Is core component - may not be deleted" +msgstr "นี่เป็นคอมโพเน้นท์แกนหลัก - ที่ไม่สามารถลบได้" + +#: administrator/components/com_installer/component/component.php:21 +msgid "Install new Component" +msgstr "ติดตั้งคอมโพเน้นท์ใหม่" + +#: administrator/components/com_installer/mambot/mambot.php:21 +msgid "Install new Mambots" +msgstr "ติดตั้งแมมบอทใหม่" + +#: administrator/components/com_installer/module/module.php:21 +msgid "Install new Modules" +msgstr "ติดตั้งโมดูลใหม่" + +#: administrator/components/com_languages/toolbar.languages.php:44 +msgid "Extract" +msgstr "แยกไฟล์" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:9 +msgid "Compile Catalog?" +msgstr "ตรวจสอบสมุดรายชื่อ?" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:10 +msgid "yes" +msgstr "ใช่" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:11 +msgid "no" +msgstr "ไม่" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:22 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:35 +msgid "MsgId" +msgstr "MsgId" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:24 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:37 +msgid "MsgId Plural" +msgstr "พหูพจน์ MsgId" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:25 +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:38 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:54 +msgid "MsgStr" +msgstr "MsgStr" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:27 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:41 +msgid "Plural form" +msgstr "รูปแบบพหูพจน์" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:43 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:58 +msgid "Fuzzy Entry" +msgstr "รายการที่ว่างเปล่า" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Catalog dump" +msgstr "สมุดรายชื่อทิ้งขยะ" + +#: administrator/components/com_languages/views/templates/edit.gt.tpl.php:91 +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:98 +msgid "Strings" +msgstr "สตริง" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:11 +msgid "PHPGettext Example" +msgstr "ตัวอย่าง PHPGettext " + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:21 +msgid "PHPGettext" +msgstr "PHPGettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:22 +msgid "Gettext for PHP" +msgstr "Gettext สำหรับ PHP" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:25 +msgid "Current language is:" +msgstr "ภาษาปัจจุบัน:" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:34 +msgid "Change language" +msgstr "เปลี่ยนภาษา" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:41 +msgid "Gettext is enabled!" +msgstr "Gettext ถูกทำให้ใช้งานได้!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:43 +msgid "Gettext is disabled!" +msgstr "Gettext ถูกระงับ!" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:55 +msgid "Disable Gettext" +msgstr "ระงับ Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:56 +msgid "Enable Gettext" +msgstr "ทำให้ใช้งาน Gettext" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:58 +msgid "Run Unit Tests" +msgstr "หน่วยทดสอบทำงาน" + +#: administrator/components/com_languages/views/templates/main.gt.tpl.php:59 +msgid "Clear Tests" +msgstr "ล้างผลทดสอบ" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:10 +msgid "Create Translation for:" +msgstr "สร้างการแปลสำหรับ:" + +#: administrator/components/com_languages/views/templates/view.gt.tpl.php:20 +msgid "Delete This Template" +msgstr "ลบแม่แบบนี้" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:223 +msgid "plural forms" +msgstr "รูปแบบพหูพจน์" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +msgid "Dscription Image" +msgstr "คำอธิบายรูปภาพ" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Newsfeed Category" +msgstr "รายการเมนู :: ตาราง - ประเภทของข่าวสาร" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Shows a Table view of Newsfeed items for a particular Category" +msgstr "แสดงมุมมองตารางของข่าวสารรายการในบัญชีสำหรับประเภทอย่างละเอียด" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Table - Newsfeed Category" +msgstr "ตาราง - ประเภทของข่าวสาร" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:37 +msgid "You must select a Newsfeed to link to" +msgstr "คุณจะต้องเลือก News Feeds ที่จะลิงก์" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:50 +msgid "Menu Item :: Link - Newsfeed" +msgstr "รายการเมนู :: การเชื่อมโยง - Newsfeed" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:74 +msgid "Newsfeed to Link:" +msgstr "News Feeds ที่จะลิงก์:" + +#: administrator/components/com_menus/separator/separator.xml +msgid "Creates a menu placeholder or separator " +msgstr "สร้างเมนูตำแหน่งที่ หรือ ตัวแยก" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Weblink Category" +msgstr "รายการเมนู :: ตาราง - การเชื่อมโยงประเภทเว็บ" + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "" +"

      Admin component for the MOStlyCE Editor mambot.

      Please refer to the " +"changelog and other information in the 'Admin Info' tab in the Admin " +"component. 

      " +msgstr "" +"

      การจัดการคอมโพเน้นท์ของ MOStlyCE Editor แมมบอท.

      กรุณาตรวจสอบ " +"ล็อคการเปลี่ยนแปลง และข้อมูลอื่นๆ ในแท็ปในการจัดการ 'คำแนะนำเกี่ยวกับผู้ดูแล' คอมโพเน้นท์." +" 

      " + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:29 +msgid "Newsfeed Manager" +msgstr "การจัดการ Newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:95 +msgid "Edit Newsfeed" +msgstr "แก้ไข Newsfeed" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:154 +msgid "Please fill in the newsfeed name." +msgstr "โปรดใส่ชื่อ newsfeed." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:158 +msgid "Please fill in the newsfeed link." +msgstr "โปรดใส่ลิงก์ของ newsfeed." + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:175 +msgid "Newsfeed:" +msgstr "Newsfeed:" + +#: administrator/components/com_poll/admin.poll.html.php:41 +msgid "Poll Title" +msgstr "ชื่อเรื่องโพลล์" + +#: components/com_registration/registration.php:62 +msgid "Sorry, no corresponding user was found" +msgstr "ขออภัย, ไม่พบผู้ใช้นี้ในทะเบียน" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "ATOM 0.3" +msgstr "ATOM 0.3" + +#: administrator/components/com_users/admin.users.php:156 +msgid "- Select Log Status -" +msgstr "- เลือกสถานะล็อค -" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:29 +msgid "Weblink Manager" +msgstr "การจัดการเว็บน่าสนใจ" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:190 +msgid "Weblink:" +msgstr "เว็บลิงก์:" diff -ruN 4.6rc2/uploadfiles/language/index.html 4.6-complete/uploadfiles/language/index.html --- 4.6rc2/uploadfiles/language/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/index.html 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/language/locales.xml 4.6-complete/uploadfiles/language/locales.xml --- 4.6rc2/uploadfiles/language/locales.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/locales.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,593 @@ + + + + + %B %d, %Y at %I:%M %p + + utf-8 + + + South Africa + + + + + + + %d %B, %Y at %I:%M %p + + utf-8 + + + Albania + + + + + + + %d %B %Y الساعة %H:%M + + utf-8 + + + Algeria + Bahrain + Egypt + India + Iraq + Jordan + Kuwait + Lebanon + Libyan Arab Jamahiriya + Morocco + Oman + Qatar + Saudi Arabia + Sudan + Syrian Arab Republic + Tunisia + United Arab Emirates + Yemen + + + + + + + %Y-%m-%d, %H:%M:%S + + utf-8 + + + Spain + + + + + + + %e %B %Y в %H:%M + + utf-8 + + + Bulgaria + + + + + + + %d-%m-%Y a les %H:%M:%S + + utf-8 + + + Spain + + + + + + + %Y 年 %m 月 %d 日 %H:%M + + utf-8 + + + China + Hong Kong + Taiwan + + + + + + + %d. %B %Y. u %H:%M + + utf-8 + + + Croatia + + + + + + + %a %d. %b %Y, %H:%M + + utf-8 + + + Czech Republic + + + + + + + %d/%m %Y kl. %H:%M:%S + + utf-8 + + + Denmark + + + + + + + %d %B %Y om %H:%M + + utf-8 + + + Belgium + Netherlands + + + + + + + %B %d, %Y at %I:%M %p + + utf-8 + + + Australia + Botswana + Canada + Denmark + Hong Kong + India + Ireland + New Zealand + Philippines + Singapore + South Africa + United Kingdom + United States + Zimbabwe + + + + + + + %d.%m.%Y kell %H:%M:%S + + utf-8 + + + Estonia + + + + + + + %d.%m.%Y klo %H:%M + + utf-8 + + + Finland + + + + + + + %A %d %B %Y à %H:%M + + utf-8 + + + Belgium + Canada + France + Luxembourg + Switzerland + + + + + + + %B %d, %Y at %I:%M %p + + utf-8 + + + Spain + + + + + + + %B %d, %Y at %I:%M %p + + utf-8 + + + Georgia + + + + + + + %d. %B %Y um %H:%M + + utf-8 + + + Austria + Belgium + Germany + Luxembourg + Switzerland + + + + + + + %d %B %Y, στις %I:%M %p + + utf-8 + + + Greece + + + + + + + %B %d, %Y at %I:%M %p + + utf-8 + + + Israel + + + + + + + %d %B, %Y को %I:%M %p + + utf-8 + + + India + + + + + + + %Y. %B %d. %H:%M + + utf-8 + + + Hungary + + + + + + + %d. %B %Y jam %H:%M + + utf-8 + + + Indonesia + + + + + + + %d %B, %Y at %I:%M %p + + utf-8 + + + Italy + Switzerland + + + + + + + %Y 年 %B %d 日 %H:%M + + utf-8 + + + Japan + + + + + + + %y-%m-%d %H:%M + + utf-8 + + + Korea + + + + + + + %d.%m.%Y %H:%M + + utf-8 + + + Latvia + + + + + + + %Y m. %B %d d. %H:%M + + utf-8 + + + Lithuania + + + + + + + %B %d, %Y at %I:%M %p + + utf-8 + + + Malaysia + + + + + + + %d. %B, %Y klokka %H:%M %p + + utf-8 + + + Norway + + + + + + + %d %B %Y ساعت %I:%M %p + + utf-8 + + + Iran + + + + + + + %d %B %Y, %H:%M + + utf-8 + + + Poland + + + + + + + %d-%B-%Y às %H:%M + + utf-8 + + + Brazil + Portugal + + + + + + + %B %d, %Y at %I:%M %p + + utf-8 + + + Romania + + + + + + + %B %d %Y г., %H:%M + + utf-8 + + + Russia + Ukraine + + + + + + + %d. %B %Y. у %H:%M + + utf-8 + + + + + + + + + %d. %B %Y. u %H:%M + + utf-8 + + + + + + + + + %d.%B, %Y - %H:%M + + utf-8 + + + Slovak + + + + + + + %d %B %Y ob %I:%M %p + + utf-8 + + + Slovenia + + + + + + + %d-%m-%Y a las %H:%M:%S + + utf-8 + + + Argentina + Bolivia + Chile + Colombia + Costa Rica + Dominican Republic + Ecuador + El Salvador + Guatemala + Honduras + Mexico + Nicaragua + Panama + Paraguay + Peru + Puerto Rico + Spain + United States + Uruguay + Venezuela + + + + + + + %d %B %Y kl %H:%M + + utf-8 + + + Finland + Sweden + + + + + + + %d %B %Y %Rน. + + utf-8 + + + Thailand + + + + + + + %B %d, %Y at %I:%M %p + + utf-8 + + + Turkey + + + + + + + %B %d %Y р., %H:%M + + utf-8 + + + Ukraine + + + + + diff -ruN 4.6rc2/uploadfiles/language/untranslated/admin.pot 4.6-complete/uploadfiles/language/untranslated/admin.pot --- 4.6rc2/uploadfiles/language/untranslated/admin.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/admin.pot 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,223 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_admin/admin.admin.html.php:27 +msgid "Home" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Advanced Mode" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "Simple Mode" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "selected" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:37 +#: administrator/components/com_admin/admin.admin.html.php:41 +msgid "unselected" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:80 +msgid "Information" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:86 +#: administrator/components/com_admin/admin.admin.html.php:482 +msgid "System Info" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:91 +msgid "System Information" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:97 +msgid "PHP built On:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:107 +msgid "Database Version:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:117 +msgid "PHP Version:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:127 +msgid "Web Server:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:137 +msgid "WebServer to PHP interface:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:147 +msgid "Mambo Version:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:157 +msgid "User Agent:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:167 +msgid "Relevant PHP Settings:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:174 +msgid "Safe Mode:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:182 +msgid "Open basedir:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:190 +msgid "Display Errors:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:198 +msgid "Short Open Tags:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:206 +msgid "File Uploads:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:214 +msgid "Magic Quotes" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:222 +msgid "Register Globals:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:230 +msgid "Output Buffering:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:238 +msgid "Session save path:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:246 +msgid "Session auto start:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:254 +msgid "XML enabled:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:262 +msgid "Zlib enabled:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:270 +msgid "Disabled Functions:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:285 +msgid "WYSIWYG Editor:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:297 +msgid "Configuration File:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:323 +msgid "PHP Info" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:328 +msgid "PHP Information" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:350 +msgid "Permissions" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:354 +msgid "Directory Permissions" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:358 +msgid "" +"For all Mambo functions and features to work ALL of the following " +"directories should be writeable:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:434 +msgid "Help" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:442 +msgid "Search:" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:445 +msgid "Go" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:446 +msgid "Clear Results" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:453 +#: administrator/components/com_admin/admin.admin.html.php:464 +msgid "Glossary" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:456 +#: administrator/components/com_admin/admin.admin.html.php:467 +msgid "Credits" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:459 +#: administrator/components/com_admin/admin.admin.html.php:470 +msgid "Support" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:476 +msgid "License" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:491 +msgid "Search Results" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:493 +msgid "Index" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:536 +msgid "Site Preview" +msgstr "" + +#: administrator/components/com_admin/admin.admin.html.php:540 +msgid "Open in new window" +msgstr "" + +#: administrator/components/com_admin/admin.admin.php:22 +msgid "There is no link associated with this item" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/administrator.pot 4.6-complete/uploadfiles/language/untranslated/administrator.pot --- 4.6rc2/uploadfiles/language/untranslated/administrator.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/administrator.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,860 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/includes/admin.php:45 +#, php-format +msgid "XML ERROR in %s: %s at line %d" +msgstr "" + +#: administrator/includes/admin.php:51 +#, php-format +msgid "Unable to open XML file %s" +msgstr "" + +#: administrator/includes/admin.php:54 +#, php-format +msgid "XML error in %s - unclosed tag(s) (%s) at end of file" +msgstr "" + +#: administrator/includes/admin.php:84 +#, php-format +msgid "XML error in %s: %s is not a valid containing element" +msgstr "" + +#: administrator/includes/admin.php:85 +#, php-format +msgid "XML error in %s: %s not permitted within %s" +msgstr "" + +#: administrator/includes/admin.php:95 +#, php-format +msgid "XML error in %s: expected MOSINSTALL but found %s" +msgstr "" + +#: administrator/includes/admin.php:101 +#, php-format +msgid "XML error in %s: last open tag was %s, but found end of %s" +msgstr "" + +#: administrator/includes/admin.php:121 +#, php-format +msgid "XML error in %s: mosinstall does not have type attribute" +msgstr "" + +#: administrator/includes/admin.php:273 +msgid "Handler not defined for type" +msgstr "" + +#: administrator/includes/admin.php:286 +msgid "There are no Parameters for this item" +msgstr "" + +#: administrator/includes/menubar.html.php:44 +#, php-format +msgid "Please make a selection from the list to %s" +msgstr "" + +#: administrator/includes/menubar.html.php:154 +msgid "Please make a selection from the list to publish" +msgstr "" + +#: administrator/includes/menubar.html.php:164 +msgid "Please select an item to make default" +msgstr "" + +#: administrator/includes/menubar.html.php:174 +msgid "Please select an item to assign" +msgstr "" + +#: administrator/includes/menubar.html.php:193 +msgid "Please make a selection from the list to unpublish" +msgstr "" + +#: administrator/includes/menubar.html.php:203 +msgid "Please make a selection from the list to archive" +msgstr "" + +#: administrator/includes/menubar.html.php:213 +msgid "Please select a news story to unarchive" +msgstr "" + +#: administrator/includes/menubar.html.php:223 +#: administrator/includes/menubar.html.php:234 +#: administrator/includes/menubar.html.php:244 +#: administrator/includes/menubar.html.php:255 +#: administrator/includes/menubar.html.php:265 +#: administrator/includes/menubar.html.php:276 +msgid "Please select an item from the list to edit" +msgstr "" + +#: administrator/includes/menubar.html.php:287 +#: administrator/includes/menubar.html.php:299 +msgid "Please make a selection from the list to delete" +msgstr "" + +#: administrator/includes/menubar.html.php:315 +#: administrator/includes/menubar.html.php:316 +#: administrator/modules/mod_fullmenu.php:81 +msgid "Preview" +msgstr "" + +#. Help Sub-Menu +#. if (!file_exists($rootpath.'/help/'.$ref)) return false; +#. } +#: administrator/includes/menubar.html.php:346 +#: administrator/includes/menubar.html.php:347 +#: administrator/includes/menubar.html.php:371 +#: administrator/modules/mod_fullmenu.php:301 +#: administrator/modules/mod_quickicon.php:23 +#: administrator/modules/mod_quickicon.php:132 +msgid "Help" +msgstr "" + +#: administrator/includes/menubar.html.php:384 +msgid "Apply" +msgstr "" + +#: administrator/includes/menubar.html.php:394 +msgid "Save" +msgstr "" + +#: administrator/includes/menubar.html.php:443 +msgid "Back" +msgstr "" + +#: administrator/includes/menubar.html.php:478 +msgid "Upload" +msgstr "" + +#: administrator/includes/menubar.html.php:480 +#: administrator/includes/menubar.html.php:481 +msgid "Upload Image" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:65 +#: administrator/includes/mosAdminMenus.php:391 +msgid "" +"New items default to the last place. Ordering can be changed after this item " +"is saved." +msgstr "" + +#: administrator/includes/mosAdminMenus.php:162 +msgid "Parent Window With Browser Navigation" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:163 +msgid "New Window With Browser Navigation" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:164 +msgid "New Window Without Browser Navigation" +msgstr "" + +#. prepare an array with 'all' as the first item +#: administrator/includes/mosAdminMenus.php:223 +msgid "All" +msgstr "" + +#. prepare an array with 'all' as the first item +#: administrator/includes/mosAdminMenus.php:229 +#: administrator/includes/mosAdminMenus.php:432 +msgid "None" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:285 +#: administrator/includes/mosAdminMenus.php:476 +msgid "- All Sections -" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:371 +msgid "- Select Image -" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:389 +msgid "" +"New items default to the first place. Ordering can be changed after this " +"item is saved." +msgstr "" + +#: administrator/includes/mosAdminMenus.php:416 +msgid "- No User -" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:435 +msgid "Center" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:438 +msgid "Left" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:441 +msgid "Right" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:464 +msgid "- All Categories -" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:465 +msgid "You must create a category first." +msgstr "" + +#: administrator/includes/pageNavigation.php:74 +#, php-format +msgid "Results %d to %d of %d" +msgstr "" + +#: administrator/includes/pageNavigation.php:76 +msgid "No records found." +msgstr "" + +#: administrator/includes/pageNavigation.php:103 +#: administrator/includes/pageNavigation.php:106 +msgid "Start" +msgstr "" + +#: administrator/includes/pageNavigation.php:103 +msgid "first page" +msgstr "" + +#: administrator/includes/pageNavigation.php:104 +#: administrator/includes/pageNavigation.php:107 +msgid "Previous" +msgstr "" + +#: administrator/includes/pageNavigation.php:104 +msgid "previous page" +msgstr "" + +#: administrator/includes/pageNavigation.php:122 +#: administrator/includes/pageNavigation.php:125 +msgid "Next" +msgstr "" + +#: administrator/includes/pageNavigation.php:122 +msgid "next page" +msgstr "" + +#: administrator/includes/pageNavigation.php:123 +#: administrator/includes/pageNavigation.php:126 +msgid "End" +msgstr "" + +#: administrator/includes/pageNavigation.php:123 +msgid "end page" +msgstr "" + +#: administrator/includes/pageNavigation.php:154 +msgid "Move Up" +msgstr "" + +#: administrator/includes/pageNavigation.php:170 +msgid "Move Down" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:66 +msgid "Control Panel" +msgstr "" + +#. Home Sub-Menu +#: administrator/modules/mod_fullmenu.php:66 +msgid "Home" +msgstr "" + +#. Site Sub-Menu +#: administrator/modules/mod_fullmenu.php:70 +msgid "Site" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:70 +msgid "Site Management" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:73 +#: administrator/modules/mod_fullmenu.php:279 +msgid "Configuration" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:73 +#: administrator/modules/mod_quickicon.php:117 +msgid "Global Configuration" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:77 +msgid "Language Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:77 +msgid "Manage languages" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:80 +msgid "Manage Media Files" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:80 +msgid "Media Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:82 +msgid "In New Window" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:83 +msgid "Inline" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:84 +msgid "Inline with Positions" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:86 +msgid "Site Statistics" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:86 +msgid "Statistics" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:89 +msgid "Browser, OS, Domain" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:90 +msgid "Page Impressions" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:93 +msgid "Search Text" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:97 +#: administrator/modules/mod_fullmenu.php:98 +msgid "Change site template" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:97 +msgid "Template Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:98 +msgid "Site Templates" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:99 +msgid "Administrator Templates" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:99 +msgid "Change admin template" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:100 +msgid "Module Positions" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:100 +msgid "Template positions" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:105 +msgid "Manage Trash" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:105 +msgid "Trash Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:109 +msgid "Manage users" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:109 +msgid "User Manager" +msgstr "" + +#. Menu Sub-Menu +#: administrator/modules/mod_fullmenu.php:116 +#: administrator/modules/mod_stats.php:22 +msgid "Menu" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:116 +msgid "Menu Management" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:119 +msgid "Menu Manager" +msgstr "" + +#. Content Sub-Menu +#: administrator/modules/mod_fullmenu.php:131 +msgid "Content" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:131 +msgid "Content Management" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:134 +msgid "Content Managers" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:134 +msgid "Content by Section" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:141 +msgid "Items" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:144 +msgid "Add/Edit" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:144 +#: administrator/modules/mod_quickicon.php:60 +msgid "Categories" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:147 +msgid "Archive" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:158 +#: administrator/modules/mod_quickicon.php:30 +#: administrator/modules/mod_quickicon.php:139 +msgid "All Content Items" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:158 +msgid "Manage Content Items" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:159 +msgid "Manage Typed Content Items" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:159 +msgid "Static Content Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:161 +msgid "Manage Content Sections" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:161 +msgid "Section Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:164 +msgid "Category Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:164 +msgid "Manage Content Categories" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:168 +msgid "Frontpage Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:168 +msgid "Manage Frontpage Items" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:169 +msgid "Archive Manager" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:169 +msgid "Manage Archive Items" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:175 +msgid "Component Management" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:175 +msgid "Components" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:176 +msgid "Install/Uninstall components" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:176 +#: administrator/modules/mod_fullmenu.php:231 +#: administrator/modules/mod_fullmenu.php:250 +msgid "Review/Uninstall" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:220 +msgid "More Components" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:220 +msgid "More Components..." +msgstr "" + +#: administrator/modules/mod_fullmenu.php:228 +msgid "Module Management" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:228 +msgid "Modules" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:231 +msgid "Install custom modules" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:236 +msgid "Manage Site modules" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:236 +msgid "Site Modules" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:237 +msgid "Administrator Modules" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:237 +msgid "Manage Administrator modules" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:247 +msgid "Mambot Management" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:247 +msgid "Mambots" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:250 +msgid "Install custom mambot" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:255 +msgid "Manage Site Mambots" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:255 +msgid "Site Mambots" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:266 +msgid "Installer List" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:266 +msgid "Installers" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:267 +msgid "Install Any Plugin" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:267 +msgid "Universal" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:269 +msgid "Install from The Source" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:269 +msgid "The Source" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:277 +msgid "Messages" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:277 +msgid "Messaging Management" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:278 +msgid "Inbox" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:278 +msgid "Private Messages" +msgstr "" + +#. System Sub-Menu +#: administrator/modules/mod_fullmenu.php:284 +msgid "System" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:284 +msgid "System Management" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:287 +msgid "Check-in all checked-out items" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:287 +msgid "Global Checkin" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:288 +msgid "System Information" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:288 +msgid "View System Information" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:291 +msgid "Clean Cache" +msgstr "" + +#: administrator/modules/mod_fullmenu.php:291 +msgid "Clean the content items cache" +msgstr "" + +#: administrator/modules/mod_latest.php:29 +msgid "Most Recently Added Content" +msgstr "" + +#: administrator/modules/mod_latest.php:47 +#: administrator/modules/mod_logged.php:66 +msgid "Edit User" +msgstr "" + +#: administrator/modules/mod_latest.xml +msgid "Latest News" +msgstr "" + +#: administrator/modules/mod_latest.xml +msgid "" +"This module shows a list of the most recently published Items that are still " +"current (some may have expired even though they are the most recent). Items " +"that are displayed on the Front Page Component are not included in the list." +msgstr "" + +#: administrator/modules/mod_logged.php:58 +msgid "Currently Logged in Users" +msgstr "" + +#: administrator/modules/mod_logged.php:86 +msgid "Force Logout User" +msgstr "" + +#: administrator/modules/mod_logged.php:86 +#: administrator/templates/mambo_admin_blue/index.php:67 +msgid "Logout" +msgstr "" + +#: administrator/modules/mod_logged.xml +msgid "Logged in Users" +msgstr "" + +#: administrator/modules/mod_logged.xml +msgid "This module shows a list of the currently logged in users" +msgstr "" + +#: administrator/modules/mod_online.php:24 +msgid "Users Online" +msgstr "" + +#: administrator/modules/mod_popular.php:29 +msgid "Most Popular Items" +msgstr "" + +#: administrator/modules/mod_popular.php:32 +msgid "Created" +msgstr "" + +#: administrator/modules/mod_popular.php:35 +msgid "Hits" +msgstr "" + +#: administrator/modules/mod_popular.xml administrator/modules/mod_stats.xml +msgid "Popular Items" +msgstr "" + +#: administrator/modules/mod_popular.xml +msgid "" +"This module shows a list of the popular published Items that are still " +"current (some may have expired even though they are the most recent). Items " +"that are displayed on the Front Page Component are not included in the list." +msgstr "" + +#: administrator/modules/mod_quickicon.php:37 +#: administrator/modules/mod_quickicon.php:146 +msgid "Static Content" +msgstr "" + +#: administrator/modules/mod_quickicon.php:44 +#: administrator/modules/mod_quickicon.php:154 +msgid "Frontpage" +msgstr "" + +#: administrator/modules/mod_quickicon.php:53 +msgid "Sections" +msgstr "" + +#: administrator/modules/mod_quickicon.php:67 +msgid "Media" +msgstr "" + +#: administrator/modules/mod_quickicon.php:81 +msgid "Trash" +msgstr "" + +#: administrator/modules/mod_quickicon.php:91 +msgid "Menus" +msgstr "" + +#: administrator/modules/mod_quickicon.php:104 +msgid "Users" +msgstr "" + +#: administrator/modules/mod_stats.php:25 +msgid "# Items" +msgstr "" + +#: administrator/modules/mod_stats.xml +msgid "" +"This module shows stats of Items that are still current (some may have " +"expired even though they are the most recent). Items that are displayed on " +"the Front Page Component are not included in the list." +msgstr "" + +#: administrator/modules/mod_unread.php:19 +#: administrator/modules/mod_unread.php:21 +msgid "Mail" +msgstr "" + +#: administrator/popups/contentwindow.php:24 +msgid "Content Preview" +msgstr "" + +#: administrator/popups/contentwindow.php:62 +#: administrator/popups/modulewindow.php:51 +#: administrator/popups/pollwindow.php:51 +msgid "Close" +msgstr "" + +#: administrator/popups/contentwindow.php:63 +msgid "Print" +msgstr "" + +#: administrator/popups/modulewindow.php:23 +msgid "Module Preview" +msgstr "" + +#: administrator/popups/pollwindow.php:27 +msgid "Poll Preview" +msgstr "" + +#: administrator/popups/pollwindow.php:48 +msgid "Results" +msgstr "" + +#: administrator/popups/pollwindow.php:48 +msgid "Vote" +msgstr "" + +#: administrator/popups/uploadimage.php:27 +msgid "Please select an image to upload" +msgstr "" + +#: administrator/popups/uploadimage.php:33 +msgid "File must only contain alphanumeric characters and no spaces please." +msgstr "" + +#: administrator/popups/uploadimage.php:38 +#, php-format +msgid "Image %s already exists." +msgstr "" + +#: administrator/popups/uploadimage.php:43 +msgid "The file must be gif, png, jpg, bmp, swf, doc, xls or ppt" +msgstr "" + +#: administrator/popups/uploadimage.php:50 +#: administrator/popups/uploadimage.php:58 +#, php-format +msgid "Upload of %s failed" +msgstr "" + +#: administrator/popups/uploadimage.php:54 +#: administrator/popups/uploadimage.php:62 +#, php-format +msgid "Upload of %s to %s successful" +msgstr "" + +#: administrator/popups/uploadimage.php:86 +msgid "File Upload :" +msgstr "" + +#: administrator/popups/uploadimage.php:96 +msgid "Max size" +msgstr "" + +#: administrator/templates/mambo_admin/index.php:55 +#: administrator/templates/mambo_admin/login.php:36 +#: administrator/templates/mambo_admin_blue/index.php:55 +#: administrator/templates/mambo_admin_blue/index.php:93 +msgid "Mambo Logo" +msgstr "" + +#: administrator/templates/mambo_admin/login.php:21 +#: administrator/templates/mambo_admin_blue/index.php:24 +msgid "Administration" +msgstr "" + +#: administrator/templates/mambo_admin/login.php:42 +#: administrator/templates/mambo_admin/login.php:51 +#: administrator/templates/mambo_admin_blue/login.php:42 +msgid "Login" +msgstr "" + +#: administrator/templates/mambo_admin/login.php:45 +msgid "Username" +msgstr "" + +#: administrator/templates/mambo_admin/login.php:47 +msgid "Password" +msgstr "" + +#: administrator/templates/mambo_admin/login.php:57 +msgid "Welcome to Mambo!" +msgstr "" + +#: administrator/templates/mambo_admin/login.php:58 +msgid "" +"Use a valid username and password to gain access to the administration " +"console." +msgstr "" + +#: administrator/templates/mambo_admin/templateDetails.xml +msgid "Mambo Admin" +msgstr "" + +#: administrator/templates/mambo_admin_blue/templateDetails.xml +msgid "Mambo Admin Blue" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/banners.pot 4.6-complete/uploadfiles/language/untranslated/banners.pot --- 4.6rc2/uploadfiles/language/untranslated/banners.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/banners.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,260 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_banners/admin.banners.html.php:27 +msgid "Banner Manager" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:41 +msgid "Banner Name" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:44 +msgid "Published" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:47 +msgid "Impressions Made" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:50 +msgid "Impressions Left" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:53 +#: administrator/components/com_banners/admin.banners.html.php:56 +#: administrator/components/com_banners/admin.banners.html.php:254 +msgid "Clicks" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:97 +msgid "Edit Banner" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:157 +msgid "You must provide a banner name" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:159 +msgid "Please select a client" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:161 +msgid "Please select an image." +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:163 +msgid "Please fill in the URL for the banner." +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:174 +msgid "Banner:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:176 +#: administrator/components/com_banners/admin.banners.html.php:427 +msgid "Edit" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:176 +#: administrator/components/com_banners/admin.banners.html.php:427 +msgid "New" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:185 +#: administrator/components/com_banners/admin.banners.html.php:437 +msgid "Details" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:190 +msgid "Banner Name:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:198 +#: administrator/components/com_banners/admin.banners.html.php:442 +msgid "Client Name:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:206 +msgid "Impressions Purchased:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:217 +msgid "Unlimited" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:222 +msgid "Banner URL" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:230 +msgid "Show Banner :" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:238 +msgid "Click URL:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:246 +msgid "Custom banner code:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:256 +msgid "Reset Clicks" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:268 +msgid "Banner Image:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:318 +msgid "Banner Client Manager" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:332 +msgid "Client Name" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:335 +msgid "Client ID" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:338 +msgid "Contact" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:341 +msgid "No. of Active Banners" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:367 +msgid "Edit Banner Client" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:411 +msgid "Please fill in the Client Name." +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:413 +msgid "Please fill in the Contact Name." +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:415 +msgid "Please fill in the Contact Email." +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:425 +msgid "Banner Client:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:450 +msgid "Contact Name:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:458 +msgid "Contact Email:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.html.php:466 +msgid "Extra Info:" +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:18 +msgid "You are not authorized to view this resource." +msgstr "" + +#. make the select list for the image positions +#: administrator/components/com_banners/admin.banners.php:154 +msgid "No" +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:155 +msgid "Yes" +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:167 +msgid "Saved Banner info" +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:170 +msgid "Reset Banner clicks" +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:203 +msgid "publish" +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:203 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:204 +#, php-format +msgid "Select an item to %s" +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:278 +#, php-format +msgid "The client [ %s ] is currently being edited by another person." +msgstr "" + +#: administrator/components/com_banners/admin.banners.php:336 +msgid "Cannot delete client at this time as they have a banner still running" +msgstr "" + +#: administrator/components/com_banners/banners.xml +msgid "Banners" +msgstr "" + +#: administrator/components/com_banners/banners.xml +msgid "This component manages banners and banner clients" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_banners/toolbar.banners.html.php:29 +#: administrator/components/com_banners/toolbar.banners.html.php:69 +msgid "Close" +msgstr "" + +#: components/com_banners/banners.class.php:33 +msgid "You must select a name for the client." +msgstr "" + +#: components/com_banners/banners.class.php:39 +msgid "You must select a contact for the client." +msgstr "" + +#: components/com_banners/banners.class.php:45 +msgid "You must select a valid email for the client." +msgstr "" + +#: components/com_banners/banners.class.php:100 +msgid "You must select a client." +msgstr "" + +#: components/com_banners/banners.class.php:105 +msgid "You must select a name for the banner." +msgstr "" + +#: components/com_banners/banners.class.php:110 +msgid "You must select a image for the banner." +msgstr "" + +#: components/com_banners/banners.class.php:114 +msgid "You must select a URL/Custom banner code for the banner." +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/categories.pot 4.6-complete/uploadfiles/language/untranslated/categories.pot --- 4.6rc2/uploadfiles/language/untranslated/categories.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/categories.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,363 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_categories/admin.categories.html.php:35 +#: administrator/components/com_categories/admin.categories.html.php:53 +msgid "Category Manager" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:35 +msgid "Content: All" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:70 +msgid "Category Name" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:73 +msgid "Published" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:79 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:85 +msgid "Order" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:88 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:91 +msgid "Access" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:97 +msgid "Section" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:103 +msgid "Category ID" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:109 +msgid "Active" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:112 +msgid "Trash" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:181 +msgid "Edit Section" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:241 +msgid "Content" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:245 +#: administrator/components/com_categories/admin.categories.php:142 +msgid "Contact" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:260 +msgid "Please select a Menu" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:263 +msgid "Please select a menu type" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:266 +msgid "Please enter a Name for this menu item" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:272 +msgid "Category must have a name" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:320 +msgid "Category:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:322 +msgid "Edit" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:322 +msgid "New" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:334 +msgid "Show Advanced Details" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:337 +msgid "Hide Advanced Details" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:348 +msgid "Category Details" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:353 +msgid "Category Title:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:356 +msgid "A short name to appear in menus" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:361 +msgid "Category Name:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:364 +msgid "A long name to be displayed in headings" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:369 +msgid "Section:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:377 +msgid "Image:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:389 +msgid "Preview" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:395 +msgid "Image Position:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:403 +msgid "Ordering:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:411 +msgid "Access Level:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:419 +msgid "Published:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:427 +msgid "Description:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:448 +#: administrator/components/com_categories/admin.categories.html.php:485 +msgid "Link to Menu" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:453 +msgid "This will create a new menu item in the menu you select" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:459 +msgid "Select a Menu" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:467 +msgid "Select Menu Typ" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:475 +msgid "Menu Item Name" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:490 +msgid "Existing Menu Links" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:498 +msgid "None" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:516 +msgid "Menu links available when saved" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:553 +msgid "Move Category" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:563 +msgid "Move to Section:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:569 +msgid "Categories being moved:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:580 +msgid "Content Items being moved:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:591 +msgid "" +"This will move the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:626 +msgid "Copy Category" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:636 +msgid "Copy to Section:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:642 +msgid "Categories being copied:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:653 +msgid "Content Items being copied:" +msgstr "" + +#: administrator/components/com_categories/admin.categories.html.php:664 +msgid "" +"\n" +"\t\t\tThis will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the selected Section." +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:144 +msgid "Component: " +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:253 +#, php-format +msgid "The category %s is currently being edited by another administrator" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:272 +msgid "Category Table" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:276 +msgid "Category Blog" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:280 +msgid "Category Blog Archive" +msgstr "" + +#. build the html select list for category types +#: administrator/components/com_categories/admin.categories.php:324 +msgid "Select Type" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:326 +#: administrator/components/com_categories/admin.categories.php:799 +msgid "Contact Category Table" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:329 +#: administrator/components/com_categories/admin.categories.php:804 +msgid "News Feed Category Table" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:332 +#: administrator/components/com_categories/admin.categories.php:809 +msgid "Web Link Category Table" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:334 +#: administrator/components/com_categories/admin.categories.php:784 +msgid "Content Category Table" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:335 +#: administrator/components/com_categories/admin.categories.php:789 +msgid "Content Category Blog" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:336 +msgid "Content Category Archive Blog" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:449 +msgid "Select a category to delete" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:525 +msgid "publish" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:525 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:526 +#, php-format +msgid "Select a category to %s" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:587 +#: administrator/components/com_categories/admin.categories.php:657 +msgid "Select an item to move" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:743 +#, php-format +msgid "%d Category copied to %s" +msgid_plural "%d Categories copied to %s" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_categories/admin.categories.php:794 +msgid "Content Category Blog Archive" +msgstr "" + +#: administrator/components/com_categories/admin.categories.php:835 +#, php-format +msgid "%s ( %s ) in menu: %s successfully created" +msgstr "" + +#. foreach +#: administrator/components/com_categories/admin.categories.php:861 +msgid "New ordering saved" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_categories/toolbar.categories.html.php:30 +msgid "Close" +msgstr "" + +#: administrator/components/com_categories/toolbar.categories.html.php:93 +msgid "Move" +msgstr "" + +#: administrator/components/com_categories/toolbar.categories.html.php:95 +msgid "Copy" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/checkin.pot 4.6-complete/uploadfiles/language/untranslated/checkin.pot --- 4.6rc2/uploadfiles/language/untranslated/checkin.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/checkin.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,55 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_checkin/admin.checkin.php:17 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_checkin/admin.checkin.php:22 +msgid "Global Check-in" +msgstr "" + +#: administrator/components/com_checkin/admin.checkin.php:27 +msgid "Database Table" +msgstr "" + +#: administrator/components/com_checkin/admin.checkin.php:28 +msgid "# of Items" +msgstr "" + +#: administrator/components/com_checkin/admin.checkin.php:29 +msgid "Checked-In" +msgstr "" + +#: administrator/components/com_checkin/admin.checkin.php:76 +#: administrator/components/com_checkin/admin.checkin.php:83 +msgid "Checking table" +msgstr "" + +#: administrator/components/com_checkin/admin.checkin.php:77 +#: administrator/components/com_checkin/admin.checkin.php:84 +#, php-format +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_checkin/admin.checkin.php:95 +msgid "Checked out items have now been all checked in" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/comment.pot 4.6-complete/uploadfiles/language/untranslated/comment.pot --- 4.6rc2/uploadfiles/language/untranslated/comment.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/comment.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,27 @@ +# Mambo Open Source. +# Copyright (C) 2005 - 2006 Mambo Foundation Inc. +# This file is distributed under the same license as the Mambo package. +# Translation Team , 2006# +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Mambo 4.6\n\n" +"Report-Msgid-Bugs-To: translation@mambo-foundation.org\n\n" +"POT-Creation-Date: 2006-07-07 08:38+0100\n\n" +"PO-Revision-Date: 2006-07-07 08:38+0100\n\n" +"Last-Translator: Translation \n\n" +"Language-Team: Translation \n\n" +"MIME-Version: 1.0\n\n" +"Content-Type: text/plain; charset=utf-8\n\n" +"Content-Transfer-Encoding: 8bit\n\n" +"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n\n" + +#: administrator/components/com_comment/comment.xml +msgid "Comment" +msgstr "" + +#: administrator/components/com_comment/comment.xml +msgid "Adds a commenting feature to articles within selected sections" +msgstr "" + diff -ruN 4.6rc2/uploadfiles/language/untranslated/common.pot 4.6-complete/uploadfiles/language/untranslated/common.pot --- 4.6rc2/uploadfiles/language/untranslated/common.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/common.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,642 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-07 09:31+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/includes/admin.php:45 +#, php-format +msgid "XML ERROR in %s: %s at line %d" +msgstr "" + +#: administrator/includes/admin.php:51 +#, php-format +msgid "Unable to open XML file %s" +msgstr "" + +#: administrator/includes/admin.php:54 +#, php-format +msgid "XML error in %s - unclosed tag(s) (%s) at end of file" +msgstr "" + +#: administrator/includes/admin.php:84 +#, php-format +msgid "XML error in %s: %s is not a valid containing element" +msgstr "" + +#: administrator/includes/admin.php:85 +#, php-format +msgid "XML error in %s: %s not permitted within %s" +msgstr "" + +#: administrator/includes/admin.php:95 +#, php-format +msgid "XML error in %s: expected MOSINSTALL but found %s" +msgstr "" + +#: administrator/includes/admin.php:101 +#, php-format +msgid "XML error in %s: last open tag was %s, but found end of %s" +msgstr "" + +#: administrator/includes/admin.php:121 +#, php-format +msgid "XML error in %s: mosinstall does not have type attribute" +msgstr "" + +#: administrator/includes/admin.php:273 +msgid "Handler not defined for type" +msgstr "" + +#: administrator/includes/admin.php:286 +msgid "There are no Parameters for this item" +msgstr "" + +#: administrator/includes/menubar.html.php:44 +#, php-format +msgid "Please make a selection from the list to %s" +msgstr "" + +#: administrator/includes/menubar.html.php:154 includes/HTML_toolbar.php:103 +msgid "Please make a selection from the list to publish" +msgstr "" + +#: administrator/includes/menubar.html.php:164 +msgid "Please select an item to make default" +msgstr "" + +#: administrator/includes/menubar.html.php:174 +msgid "Please select an item to assign" +msgstr "" + +#: administrator/includes/menubar.html.php:193 includes/HTML_toolbar.php:143 +msgid "Please make a selection from the list to unpublish" +msgstr "" + +#: administrator/includes/menubar.html.php:203 includes/HTML_toolbar.php:163 +msgid "Please make a selection from the list to archive" +msgstr "" + +#: administrator/includes/menubar.html.php:213 includes/HTML_toolbar.php:183 +msgid "Please select a news story to unarchive" +msgstr "" + +#: administrator/includes/menubar.html.php:223 +#: administrator/includes/menubar.html.php:234 +#: administrator/includes/menubar.html.php:244 +#: administrator/includes/menubar.html.php:255 +#: administrator/includes/menubar.html.php:265 +#: administrator/includes/menubar.html.php:276 includes/HTML_toolbar.php:203 +#: includes/HTML_toolbar.php:222 includes/HTML_toolbar.php:241 +msgid "Please select an item from the list to edit" +msgstr "" + +#: administrator/includes/menubar.html.php:287 +#: administrator/includes/menubar.html.php:299 includes/HTML_toolbar.php:262 +msgid "Please make a selection from the list to delete" +msgstr "" + +#: administrator/includes/menubar.html.php:315 +#: administrator/includes/menubar.html.php:316 includes/HTML_toolbar.php:278 +#: includes/HTML_toolbar.php:279 +msgid "Preview" +msgstr "" + +#. if (!file_exists($rootpath.'/help/'.$ref)) return false; +#. } +#: administrator/includes/menubar.html.php:346 +#: administrator/includes/menubar.html.php:347 +#: administrator/includes/menubar.html.php:371 +msgid "Help" +msgstr "" + +#: administrator/includes/menubar.html.php:384 +msgid "Apply" +msgstr "" + +#: administrator/includes/menubar.html.php:394 includes/HTML_toolbar.php:295 +msgid "Save" +msgstr "" + +#: administrator/includes/menubar.html.php:443 includes/mamboHTML.php:246 +msgid "Back" +msgstr "" + +#: administrator/includes/menubar.html.php:478 +msgid "Upload" +msgstr "" + +#: administrator/includes/menubar.html.php:480 +#: administrator/includes/menubar.html.php:481 includes/HTML_toolbar.php:392 +#: includes/HTML_toolbar.php:393 +msgid "Upload Image" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:65 +#: administrator/includes/mosAdminMenus.php:391 +msgid "" +"New items default to the last place. Ordering can be changed after this item " +"is saved." +msgstr "" + +#: administrator/includes/mosAdminMenus.php:162 +msgid "Parent Window With Browser Navigation" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:163 +msgid "New Window With Browser Navigation" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:164 +msgid "New Window Without Browser Navigation" +msgstr "" + +#. prepare an array with 'all' as the first item +#: administrator/includes/mosAdminMenus.php:223 +msgid "All" +msgstr "" + +#. prepare an array with 'all' as the first item +#: administrator/includes/mosAdminMenus.php:229 +#: administrator/includes/mosAdminMenus.php:432 +msgid "None" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:285 +#: administrator/includes/mosAdminMenus.php:476 +msgid "- All Sections -" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:371 +msgid "- Select Image -" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:389 +msgid "" +"New items default to the first place. Ordering can be changed after this " +"item is saved." +msgstr "" + +#: administrator/includes/mosAdminMenus.php:416 +msgid "- No User -" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:435 +msgid "Center" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:438 +msgid "Left" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:441 +msgid "Right" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:464 +msgid "- All Categories -" +msgstr "" + +#: administrator/includes/mosAdminMenus.php:465 +msgid "You must create a category first." +msgstr "" + +#: administrator/includes/pageNavigation.php:74 +#, php-format +msgid "Results %d to %d of %d" +msgstr "" + +#: administrator/includes/pageNavigation.php:76 +msgid "No records found." +msgstr "" + +#: administrator/includes/pageNavigation.php:103 +#: administrator/includes/pageNavigation.php:106 +#: includes/pageNavigation.php:106 includes/pageNavigation.php:109 +msgid "Start" +msgstr "" + +#: administrator/includes/pageNavigation.php:103 +#: includes/pageNavigation.php:106 +msgid "first page" +msgstr "" + +#: administrator/includes/pageNavigation.php:104 +#: administrator/includes/pageNavigation.php:107 +#: includes/pageNavigation.php:107 includes/pageNavigation.php:110 +msgid "Previous" +msgstr "" + +#: administrator/includes/pageNavigation.php:104 +#: includes/pageNavigation.php:107 +msgid "previous page" +msgstr "" + +#: administrator/includes/pageNavigation.php:122 +#: administrator/includes/pageNavigation.php:125 +#: includes/pageNavigation.php:125 includes/pageNavigation.php:128 +msgid "Next" +msgstr "" + +#: administrator/includes/pageNavigation.php:122 +#: includes/pageNavigation.php:125 +msgid "next page" +msgstr "" + +#: administrator/includes/pageNavigation.php:123 +#: administrator/includes/pageNavigation.php:126 +#: includes/pageNavigation.php:126 includes/pageNavigation.php:129 +msgid "End" +msgstr "" + +#: administrator/includes/pageNavigation.php:123 +#: includes/pageNavigation.php:126 +msgid "end page" +msgstr "" + +#: includes/HTML_toolbar.php:37 +msgid "Please make a selection from the list to" +msgstr "" + +#: includes/HTML_toolbar.php:56 +msgid "New" +msgstr "" + +#: includes/HTML_toolbar.php:76 includes/HTML_toolbar.php:96 +#: includes/mamboHTML.php:479 includes/mamboHTML.php:566 +#: includes/mamboHTML.php:657 +msgid "Published" +msgstr "" + +#: includes/HTML_toolbar.php:116 includes/HTML_toolbar.php:136 +#: includes/mamboHTML.php:657 +msgid "Unpublished" +msgstr "" + +#: includes/HTML_toolbar.php:156 +msgid "Archive" +msgstr "" + +#: includes/HTML_toolbar.php:176 +msgid "Unarchive" +msgstr "" + +#: includes/HTML_toolbar.php:196 +msgid "Edit" +msgstr "" + +#: includes/HTML_toolbar.php:216 +msgid "Edit HTML" +msgstr "" + +#: includes/HTML_toolbar.php:235 +msgid "Edit CSS" +msgstr "" + +#: includes/HTML_toolbar.php:255 +msgid "Delete" +msgstr "" + +#: includes/HTML_toolbar.php:262 +msgid "Are you sure you want to delete selected items?" +msgstr "" + +#: includes/HTML_toolbar.php:313 includes/HTML_toolbar.php:314 +#: includes/HTML_toolbar.php:328 includes/HTML_toolbar.php:329 +msgid "save" +msgstr "" + +#: includes/HTML_toolbar.php:345 +msgid "Cancel" +msgstr "" + +#: includes/HTML_toolbar.php:364 includes/HTML_toolbar.php:365 +msgid "back" +msgstr "" + +#: includes/authenticator.php:35 +msgid "Please complete the username and password fields." +msgstr "" + +#: includes/authenticator.php:42 +msgid "Logins are not permitted. There is no authentication check active." +msgstr "" + +#: includes/authenticator.php:72 +msgid "Your login has been blocked. Please contact the administrator." +msgstr "" + +#: includes/authenticator.php:103 +msgid "Incorrect username or password. Please try again." +msgstr "" + +#: includes/authenticator.php:151 +msgid "Please enter a password" +msgstr "" + +#: includes/authenticator.php:167 +msgid "You cannot login. There are no administrators set up." +msgstr "" + +#: includes/authenticator.php:172 +msgid "Incorrect Username, Password, or Access Level. Please try again" +msgstr "" + +#: includes/cmtclasses.php:143 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s in %s" +msgstr "" + +#: includes/cmtclasses.php:165 +#, php-format +msgid "Component %s error: attempt to use non-existent method %s in %s" +msgstr "" + +#: includes/cmtclasses.php:167 includes/cmtclasses.php:173 +#: includes/cmtclasses.php:231 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s" +msgstr "" + +#: includes/cmtclasses.php:210 +#, php-format +msgid "MOS error in %s: method %s not found in class %s" +msgstr "" + +#: includes/cmtclasses.php:212 +#, php-format +msgid "MOS error in %s: class not found %s" +msgstr "" + +#: includes/cmtclasses.php:533 +msgid "Your Module must contain a title." +msgstr "" + +#: includes/core.classes.php:351 +msgid "Impossible to determine the name of this server" +msgstr "" + +#: includes/mamboHTML.php:29 +msgid "Unwriteable" +msgstr "" + +#: includes/mamboHTML.php:29 +msgid "Writeable" +msgstr "" + +#: includes/mamboHTML.php:103 +msgid "January" +msgstr "" + +#: includes/mamboHTML.php:104 +msgid "February" +msgstr "" + +#: includes/mamboHTML.php:105 +msgid "March" +msgstr "" + +#: includes/mamboHTML.php:106 +msgid "April" +msgstr "" + +#: includes/mamboHTML.php:107 +msgid "May" +msgstr "" + +#: includes/mamboHTML.php:108 +msgid "June" +msgstr "" + +#: includes/mamboHTML.php:109 +msgid "July" +msgstr "" + +#: includes/mamboHTML.php:110 +msgid "August" +msgstr "" + +#: includes/mamboHTML.php:111 +msgid "September" +msgstr "" + +#: includes/mamboHTML.php:112 +msgid "October" +msgstr "" + +#: includes/mamboHTML.php:113 +msgid "November" +msgstr "" + +#: includes/mamboHTML.php:114 +msgid "December" +msgstr "" + +#: includes/mamboHTML.php:129 includes/mamboHTML.php:179 +msgid "Yes" +msgstr "" + +#: includes/mamboHTML.php:130 includes/mamboHTML.php:178 +msgid "No" +msgstr "" + +#: includes/mamboHTML.php:202 +msgid "No Sorting" +msgstr "" + +#: includes/mamboHTML.php:203 +msgid "Sort Ascending" +msgstr "" + +#: includes/mamboHTML.php:204 +msgid "Sort Descending" +msgstr "" + +#: includes/mamboHTML.php:229 +msgid "Close Window" +msgstr "" + +#. Print Preview button - used when viewing page +#. Print Button - used in pop-up window +#: includes/mamboHTML.php:282 includes/mamboHTML.php:284 +#: includes/mamboHTML.php:291 includes/mamboHTML.php:300 +msgid "Print" +msgstr "" + +#: includes/mamboHTML.php:356 +msgid "" +"This email address is being protected from spam bots, you need Javascript " +"enabled to view it" +msgstr "" + +#: includes/mamboHTML.php:381 +msgid "Pending" +msgstr "" + +#: includes/mamboHTML.php:384 +msgid "Published, but is Pending" +msgstr "" + +#: includes/mamboHTML.php:387 +msgid "Visible" +msgstr "" + +#: includes/mamboHTML.php:390 +msgid "Published and is Current" +msgstr "" + +#: includes/mamboHTML.php:393 includes/mamboHTML.php:399 +msgid "Finished" +msgstr "" + +#: includes/mamboHTML.php:396 +msgid "Published, but has Expired" +msgstr "" + +#: includes/mamboHTML.php:402 +msgid "Not Published" +msgstr "" + +#: includes/mamboHTML.php:407 +msgid "Click on icon to toggle state." +msgstr "" + +#: includes/mamboHTML.php:444 includes/mamboHTML.php:523 +msgid "Menu" +msgstr "" + +#: includes/mamboHTML.php:447 includes/mamboHTML.php:526 +msgid "Go to Menu" +msgstr "" + +#: includes/mamboHTML.php:454 +msgid "Link Name" +msgstr "" + +#: includes/mamboHTML.php:458 includes/mamboHTML.php:545 +msgid "Go to Menu Item" +msgstr "" + +#: includes/mamboHTML.php:466 includes/mamboHTML.php:553 +msgid "State" +msgstr "" + +#: includes/mamboHTML.php:472 includes/mamboHTML.php:559 +msgid "Trashed" +msgstr "" + +#: includes/mamboHTML.php:475 includes/mamboHTML.php:562 +msgid "UnPublished" +msgstr "" + +#: includes/mamboHTML.php:533 +msgid "Type" +msgstr "" + +#: includes/mamboHTML.php:541 +msgid "Item Name" +msgstr "" + +#: includes/mamboHTML.php:590 +msgid "Checked Out" +msgstr "" + +#: includes/mamboHTML.php:658 +msgid "Publish item" +msgstr "" + +#: includes/mamboHTML.php:658 +msgid "Unpublish Item" +msgstr "" + +#: includes/mambofunc.php:21 +#, php-format +msgid "User Submitted '%s'" +msgstr "" + +#: includes/mambofunc.php:22 +msgid "" +"Hello %s,\n" +"\n" +"\n" +"A user submitted %s:\n" +"[ %s ]\n" +"\n" +"has been just been submitted by user:\n" +"[ %s ]\n" +"\n" +"\n" +"for %\n" +"\n" +"Please go to %s/administrator to view and approve this %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only." +msgstr "" + +#: includes/mambofunc.php:50 +msgid "You are not authorized to view this resource." +msgstr "" + +#: includes/mambofunc.php:52 +msgid "You need to login." +msgstr "" + +#: includes/mambofunc.php:338 +msgid "Mambo Warning" +msgstr "" + +#: includes/pageNavigation.php:68 +#, php-format +msgid "Results %d - %d of %d" +msgstr "" + +#: includes/pageNavigation.php:80 +#, php-format +msgid "Page %d of %d" +msgstr "" + +#: includes/pdf.php:66 +msgid "Powered by Mambo" +msgstr "" + +#: includes/pdf.php:67 +msgid "Generated:" +msgstr "" + +#: includes/pdf.php:94 +msgid "Written by" +msgstr "" + +#: includes/pdf.php:96 +msgid "Contributed by" +msgstr "" + +#: includes/pdf.php:102 +msgid "Last Updated" +msgstr "" + +#: includes/pdf.php:120 +msgid "OFF" +msgstr "" + +#: includes/pdf.php:120 +msgid "ON" +msgstr "" + +#: includes/phpgettext/phpgettext.includes.php:290 +msgid "Main" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/config.pot 4.6-complete/uploadfiles/language/untranslated/config.pot --- 4.6rc2/uploadfiles/language/untranslated/config.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/config.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,705 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_config/admin.config.html.php:102 +msgid "Global Configuration" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:104 +msgid "configuration.php is :" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:105 +msgid "Unwriteable" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:105 +msgid "Writeable" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:114 +msgid "Make unwriteable after saving" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:121 +msgid "Override write protection while saving" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:131 +msgid "Site" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:135 +msgid "Site Offline:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:139 +msgid "Offline Message:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:141 +msgid "A message that displays if your site is offline" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:146 +msgid "System Error Message:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:148 +msgid "A message that displays if Mambo could not connect to the database" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:153 +msgid "Site Name:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:157 +msgid "Use Captcha Authentication:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "Captcha images assist in the reduction of automated entries and spam. Requires the GD image library" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:157 +msgid "Show UnAuthorized Links:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:159 +msgid "" +"If yes, will show links to content to registered content even if you are not " +"logged in. The user will need to login to see the item in full." +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:164 +msgid "Allow User Registration:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:166 +msgid "If yes, allows users to self-register" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:171 +msgid "Use New Account Activation:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:174 +msgid "" +"If yes, the user will be mailed a link to activate their account before they " +"can log in." +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:179 +msgid "Require Unique Email:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:181 +msgid "If yes, users cannot share the same email address" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:186 +msgid "Debug Site:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:188 +msgid "If yes, displays diagnostic information and SQL errors if present" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:193 +msgid "WYSIWYG Editor:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:197 +msgid "List Length:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:199 +msgid "Sets the default length of lists in the administrator for all users" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:204 +msgid "Favorites Site Icon:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:208 +msgid "" +"If left blank or the file cannot be found, the default favicon.ico will be " +"used." +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:209 +msgid "Favourite Icon" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:215 +msgid "Locale" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:219 +msgid "Language:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:223 +msgid "Time Offset:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:227 +#, php-format +msgid "Current date/time configured to display: %s" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:232 +msgid "Debugging:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:236 +msgid "Use Gettext:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:240 +msgid "Country Locale:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:246 +msgid "Content" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:250 +msgid "These Parameters control Output elements" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:253 +msgid "Linked Titles:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:256 +msgid "If yes, the title of content items will be hyperlinked to the item" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:261 +msgid "Read More Link:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:264 +msgid "" +"If set to show, the read-more link will show if main-text has been provided " +"for the item" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:269 +msgid "Item Rating/Voting:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:272 +msgid "If set to show, a voting system will be enabled for content items" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:277 +msgid "Author Names:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:280 +msgid "" +"If set to show, the name of the author will be displayed. This a global " +"setting but can be changed at menu and item levels." +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:285 +msgid "Created Date and Time:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:288 +msgid "" +"If set to show, the date and time an item was created will be displayed. " +"This a global setting but can be changed at menu and item levels." +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:293 +msgid "Modified Date and Time:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:296 +msgid "" +"If set to show, the date and time an item was last modified will be " +"displayed. This a global setting but can be changed at menu and item levels." +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:301 +msgid "Hits:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:304 +msgid "" +"If set to show, the hits for a particular item will be displayed. This a " +"global setting but can be changed at menu and item levels." +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:309 +msgid "PDF Icon:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:314 +msgid "Option not available as /media directory not writable" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:322 +msgid "Print Icon:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:327 +msgid "Email Icon:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:332 +msgid "Icons:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:334 +msgid "Print, PDF and Email will utilise Icons or Text" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:337 +msgid "Table of Contents on multi-page items:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:342 +msgid "Back Button:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:347 +msgid "Content Item Navigation:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:362 +msgid "Database" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:366 +msgid "Hostname:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:370 +msgid "MySQL Username:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:374 +msgid "MySQL Password:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:378 +msgid "MySQL Database:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:382 +msgid "MySQL Database Prefix:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:385 +msgid "" +"!! DO NOT CHANGE UNLESS YOU HAVE A DATABASE BUILT USING TABLES WITH THE " +"PREFIX YOU ARE SETTING !!" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:391 +msgid "Server" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:395 +msgid "Absolute Path:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:400 +msgid "Live Site:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:406 +msgid "Secret Word:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:412 +msgid "GZIP Page Compression:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:415 +msgid "Compress buffered output if supported" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:420 +msgid "Login Session Lifetime:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:423 +#: administrator/components/com_config/admin.config.html.php:703 +msgid "seconds" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:424 +msgid "Auto logout after this time of inactivity" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:429 +msgid "Error Reporting:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:434 +msgid "Register Globals Emulation:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:438 +msgid "" +"Register globals emulation. Some components may stop working if this option " +"is set to Off." +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:444 +msgid "Help Server:" +msgstr "" + +#. if +#: administrator/components/com_config/admin.config.html.php:456 +msgid "File Creation:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:458 +msgid "File Permissions" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:462 +msgid "Dont CHMOD new files (use server defaults)" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:467 +msgid "CHMOD new files" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:469 +msgid "to:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:472 +msgid "Select this option to define permission flags for new created files" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:481 +#: administrator/components/com_config/admin.config.html.php:560 +msgid "User:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:483 +#: administrator/components/com_config/admin.config.html.php:492 +#: administrator/components/com_config/admin.config.html.php:512 +#: administrator/components/com_config/admin.config.html.php:562 +#: administrator/components/com_config/admin.config.html.php:571 +#: administrator/components/com_config/admin.config.html.php:589 +msgid "read" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:485 +#: administrator/components/com_config/admin.config.html.php:494 +#: administrator/components/com_config/admin.config.html.php:514 +#: administrator/components/com_config/admin.config.html.php:564 +#: administrator/components/com_config/admin.config.html.php:573 +#: administrator/components/com_config/admin.config.html.php:591 +msgid "write" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:487 +#: administrator/components/com_config/admin.config.html.php:496 +#: administrator/components/com_config/admin.config.html.php:516 +msgid "execute" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:490 +#: administrator/components/com_config/admin.config.html.php:569 +msgid "Group:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:500 +msgid "Apply to existing files" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:503 +msgid "" +"Checking here will apply the permission flags to all existing files " +"of the site.
      " +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:504 +#: administrator/components/com_config/admin.config.html.php:582 +msgid "" +"INAPPROPRIATE USAGE OF THIS OPTION MAY RENDER THE SITE INOPERATIVE!" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:510 +#: administrator/components/com_config/admin.config.html.php:587 +msgid "World:" +msgstr "" + +#. if +#: administrator/components/com_config/admin.config.html.php:535 +msgid "Directory Creation:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:537 +msgid "Directory Permissions" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:541 +msgid "Dont CHMOD new directories (use server defaults)" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:546 +msgid "CHMOD new directories" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:551 +msgid "" +"Select this option to define permission flags for new created directories" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:566 +#: administrator/components/com_config/admin.config.html.php:575 +#: administrator/components/com_config/admin.config.html.php:593 +msgid "search" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:579 +msgid "Apply to existing directories" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:581 +msgid "" +"Checking here will apply the permission flags to all existing " +"directories of the site.
      " +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:606 +msgid "Metadata" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:610 +msgid "Global Site Meta Description:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:614 +msgid "Global Site Meta Keywords:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:618 +msgid "Show Title Meta Tag:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:622 +msgid "Show the title meta tag when viewing content items" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:626 +msgid "Show Author Meta Tag:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:630 +msgid "Show the author meta tag when viewing content items" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:636 +msgid "Mail" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:640 +msgid "Mailer:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:644 +msgid "Mail From:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:648 +msgid "From Name:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:652 +msgid "Sendmail Path:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:656 +msgid "SMTP Auth:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:660 +msgid "SMTP User:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:664 +msgid "SMTP Pass" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:668 +msgid "SMTP Host:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:674 +msgid "Cache" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:681 +msgid "Caching:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:689 +msgid "Cache Folder:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:694 +msgid "Current cache is directory is Writeable" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:696 +msgid "" +"The cache directory is UNWRITEABLE - please set this directory to CHMOD755 " +"before turning on the cache" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:702 +msgid "Cache Time:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:709 +msgid "Statistics" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:713 +msgid "Statistics:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:715 +msgid "Enable/disable collection of site statistics" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:718 +msgid "Log Content Hits by Date:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:720 +msgid "WARNING : Large amounts of data will be collected" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:723 +msgid "Log Search Strings:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:730 +msgid "SEO" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:734 +msgid "Search Engine Optimization" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:739 +msgid "Search Engine Friendly URLs:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:741 +msgid "Apache only! Rename htaccess.txt to .htaccess before activating" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:744 +msgid "Dynamic Page Titles:" +msgstr "" + +#: administrator/components/com_config/admin.config.html.php:746 +msgid "Dynamically changes the page title to reflect current content viewed" +msgstr "" + +#: administrator/components/com_config/admin.config.php:17 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_config/admin.config.php:326 +#: administrator/components/com_config/admin.config.php:331 +msgid "Hide" +msgstr "" + +#: administrator/components/com_config/admin.config.php:327 +#: administrator/components/com_config/admin.config.php:332 +msgid "Show" +msgstr "" + +#: administrator/components/com_config/admin.config.php:346 +msgid "System Default" +msgstr "" + +#: administrator/components/com_config/admin.config.php:347 +msgid "None" +msgstr "" + +#: administrator/components/com_config/admin.config.php:348 +msgid "Simple" +msgstr "" + +#: administrator/components/com_config/admin.config.php:349 +msgid "Maximum" +msgstr "" + +#: administrator/components/com_config/admin.config.php:353 +#: administrator/components/com_config/admin.config.php:357 +msgid "On" +msgstr "" + +#: administrator/components/com_config/admin.config.php:354 +#: administrator/components/com_config/admin.config.php:358 +msgid "Off" +msgstr "" + +#: administrator/components/com_config/admin.config.php:361 +#: administrator/components/com_config/admin.config.php:399 +msgid "Yes" +msgstr "" + +#: administrator/components/com_config/admin.config.php:362 +msgid "No" +msgstr "" + +#: administrator/components/com_config/admin.config.php:366 +msgid "PHP mail function" +msgstr "" + +#: administrator/components/com_config/admin.config.php:367 +msgid "Sendmail" +msgstr "" + +#: administrator/components/com_config/admin.config.php:368 +msgid "SMTP Server" +msgstr "" + +#: administrator/components/com_config/admin.config.php:412 +msgid "Remember to rename htaccess.txt to .htaccess" +msgstr "" + +#: administrator/components/com_config/admin.config.php:445 +msgid "Remember to install the MambelFish component." +msgstr "" + +#. if +#: administrator/components/com_config/admin.config.php:502 +msgid "The Configuration Details have been updated" +msgstr "" + +#: administrator/components/com_config/admin.config.php:558 +msgid "An Error Has Occurred! Unable to open config file to write!" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/contact.pot 4.6-complete/uploadfiles/language/untranslated/contact.pot --- 4.6rc2/uploadfiles/language/untranslated/contact.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/contact.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,701 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_contact/admin.contact.html.php:27 +msgid "Contact Manager" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:30 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:50 +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:91 +msgid "Name" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:53 +msgid "Published" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:56 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:59 +#: components/com_contact/contact.html.php:39 +msgid "Category" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:62 +msgid "Linked to User" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:94 +msgid "Edit Contact" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:113 +msgid "Edit Category" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:118 +msgid "Edit User" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:160 +msgid "You must provide a name." +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:162 +msgid "Please select a Category." +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:174 +msgid "Contact:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:176 +msgid "Edit" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:176 +msgid "New" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:188 +msgid "Contact Details" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:193 +msgid "Category:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:201 +msgid "Linked to User:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:209 +msgid "Name:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:217 +msgid "Contact's Position:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:225 +msgid "E-mail:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:233 +msgid "Street Address:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:241 +msgid "Town/Suburb:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:249 +msgid "State/County:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:257 +msgid "Country:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:265 +msgid "Postal Code/ZIP:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:273 +msgid "Telephone:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:281 +msgid "Fax:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:289 +msgid "Miscellaneous Info:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:306 +msgid "Publishing Info" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:311 +msgid "Site Default:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:319 +msgid "Published:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:327 +msgid "Ordering:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:335 +msgid "Access:" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:349 +msgid "Images" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:354 +msgid "Image Info" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:359 +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Image" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:375 +msgid "Preview" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:382 +#: administrator/components/com_contact/admin.contact.html.php:387 +msgid "Parameters" +msgstr "" + +#: administrator/components/com_contact/admin.contact.html.php:392 +msgid "" +"These Parameters only control what you see when you click to view a Contact " +"item" +msgstr "" + +#: administrator/components/com_contact/admin.contact.php:19 +#: components/com_contact/contact.php:216 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_contact/admin.contact.php:255 +#, php-format +msgid "Select a record to %s" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "# Category Items" +msgstr "" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Alignment of the image" +msgstr "" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Category Description" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Category List - Category" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Category List - Section" +msgstr "" + +#: administrator/components/com_contact/contact.xml +#: components/com_contact/contact.html.php:443 +msgid "Contact" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Description" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Description Text" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Description for page, if left blank it will load _WEBLINKS_DESC from your " +"language file" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Email Column" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Fax Column" +msgstr "" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Image Align" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Image for page, must be located in the /images/stories folder. Default will " +"load web_links.jpg, No image will mean an image is not loaded" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Left" +msgstr "" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Position Column" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Right" +msgstr "" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Description below" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Description for the list of other catgeories" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Email column" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Fax column" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Position column" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Table Headings" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the Telephone column" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the number of items in each category" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Show/Hide the pages Title" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Table Headings" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "Telephone Column" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" + +#: administrator/components/com_contact/contact.xml +msgid "This component shows a listing of Contact Information" +msgstr "" + +#: administrator/components/com_contact/contact.xml +#: administrator/components/com_contact/contact_items.xml +msgid "Use Global" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Address Icon" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Contact Items" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Country" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Description text" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Drop Down" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:106 +msgid "Email" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Copy" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Form" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email Icon" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Email description" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:124 +msgid "Fax" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Fax Icon" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Address info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Email info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Fax info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Misc info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icon for the Telephone info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Icons/text" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Icon" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Misc Info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "None" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Parameters for individual Contact Items" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +#: components/com_contact/contact.html.php:97 +msgid "Position" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Post/Zip Code" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Print Icon" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Description Text below" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Drop Down select list in Contact view" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the Vcard" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the checkbox to email a copy to the senders address" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the country info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"Show/Hide the email info, if you set to show the address will be protected " +"from spambots by javascript cloaking" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the email to form" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the fax info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the image" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the misc info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the name info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the position info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the post code info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the state info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the street address info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the suburb info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Show/Hide the telephone info" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "State" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Street Address" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Telephone Icon" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Text" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "" +"The Description text for the Email form, if left blank it will use the " +"_EMAIL_DESCRIPTION language definition" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Town/Suburb" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Use Icons, text or nothing next to the contact information displayed" +msgstr "" + +#: administrator/components/com_contact/contact_items.xml +msgid "Vcard" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_contact/toolbar.contact.html.php:28 +msgid "Close" +msgstr "" + +#: components/com_contact/contact.class.php:163 +#, php-format +msgid "Mambo vCard for %s" +msgstr "" + +#: components/com_contact/contact.html.php:115 +msgid "Phone" +msgstr "" + +#: components/com_contact/contact.html.php:260 +#: components/com_contact/contact.php:51 +msgid "Please make sure the form is complete and valid." +msgstr "" + +#: components/com_contact/contact.html.php:387 +msgid "Select Contact:" +msgstr "" + +#: components/com_contact/contact.html.php:631 +msgid "Download information as a" +msgstr "" + +#: components/com_contact/contact.html.php:633 +msgid "VCard" +msgstr "" + +#: components/com_contact/contact.html.php:654 +msgid "Enter your name:" +msgstr "" + +#: components/com_contact/contact.html.php:658 +msgid "E-mail address:" +msgstr "" + +#: components/com_contact/contact.html.php:662 +msgid "Message subject:" +msgstr "" + +#: components/com_contact/contact.html.php:666 +msgid "Enter your message:" +msgstr "" + +#: components/com_contact/contact.html.php:674 +msgid "Email a copy of this message to your own address" +msgstr "" + +#: components/com_contact/contact.html.php:678 +msgid "Send" +msgstr "" + +#: components/com_contact/contact.html.php:695 +msgid "There are no Contact Details listed." +msgstr "" + +#: components/com_contact/contact.php:43 +msgid "Enquiry" +msgstr "" + +#: components/com_contact/contact.php:54 +#, php-format +msgid "This is an enquiry e-mail via %s from:" +msgstr "" + +#: components/com_contact/contact.php:60 +#, php-format +msgid "The following is a copy of the message you sent to %s via %s " +msgstr "" + +#: components/com_contact/contact.php:62 +#, php-format +msgid "Copy of: %s" +msgstr "" + +#: components/com_contact/contact.php:67 +msgid "Thank you for your e-mail" +msgstr "" + +#: components/com_contact/contact.php:166 +msgid "The Contact list for this Website." +msgstr "" + +#: components/com_contact/contact.php:277 +msgid "Send an Email to this Contact:" +msgstr "" + +#. text +#: components/com_contact/contact.php:298 +msgid "Address: " +msgstr "" + +#: components/com_contact/contact.php:299 +msgid "Email: " +msgstr "" + +#: components/com_contact/contact.php:300 +msgid "Telephone: " +msgstr "" + +#: components/com_contact/contact.php:301 +msgid "Fax: " +msgstr "" + +#: components/com_contact/contact.php:302 +msgid "Information: " +msgstr "" + +#: components/com_contact/contact.php:382 +msgid "Contact Us" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/containers.pot 4.6-complete/uploadfiles/language/untranslated/containers.pot --- 4.6rc2/uploadfiles/language/untranslated/containers.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/containers.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,107 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_containers/admin.containers.html.php:26 +msgid "Icon" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:45 +msgid "Display number" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:47 +msgid "Search:" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:49 +msgid "Show Descendants?" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:64 +msgid "Parent container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:81 +msgid "Mambo " +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:94 +#: administrator/components/com_containers/admin.containers.html.php:137 +msgid "Published" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:122 +msgid "Title" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:126 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:127 +msgid "Order" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:130 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:134 +msgid "Top level container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:135 +msgid "Immediate container" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:188 +#: administrator/components/com_containers/containers.xml +msgid "Containers" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:248 +msgid "Edit Container details" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:250 +msgid "Container name" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:251 +msgid "Description" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:251 +msgid "Up to 500 characters" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:252 +msgid "Keywords" +msgstr "" + +#: administrator/components/com_containers/admin.containers.html.php:253 +msgid "Window title" +msgstr "" + +#: administrator/components/com_containers/containers.xml +msgid "Nested container system for Mambo" +msgstr "" + +#: components/com_containers/containers.class.php:143 +msgid "No parent" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/content.pot 4.6-complete/uploadfiles/language/untranslated/content.pot --- 4.6rc2/uploadfiles/language/untranslated/content.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/content.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,1196 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_content/admin.content.html.php:35 +#: administrator/components/com_content/admin.content.html.php:39 +msgid "Content Items Manager" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:35 +msgid "Section: All" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:39 +#: administrator/components/com_content/admin.content.html.php:304 +#: administrator/components/com_content/admin.content.html.php:308 +#: administrator/components/com_content/admin.content.html.php:585 +#: administrator/components/com_content/admin.content.html.php:627 +msgid "Section:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:62 +#: administrator/components/com_content/admin.content.html.php:331 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:79 +#: administrator/components/com_content/admin.content.html.php:348 +msgid "Title" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:82 +#: administrator/components/com_content/admin.content.html.php:134 +#: administrator/components/com_content/admin.content.html.php:137 +#: administrator/components/com_content/admin.content.html.php:780 +#: components/com_content/content.php:1259 +msgid "Published" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:85 +msgid "Front Page" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:88 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:91 +#: administrator/components/com_content/admin.content.html.php:351 +#: components/com_content/content.html.php:173 +msgid "Order" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:94 +#: administrator/components/com_content/admin.content.html.php:354 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:97 +msgid "Access" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:100 +msgid "ID" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:106 +msgid "Section" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:112 +#: administrator/components/com_content/admin.content.html.php:357 +msgid "Category" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:115 +#: administrator/components/com_content/admin.content.html.php:360 +#: components/com_content/content.html.php:218 +msgid "Author" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:118 +#: administrator/components/com_content/admin.content.html.php:363 +#: components/com_content/content.html.php:204 +msgid "Date" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:140 +msgid "Expired" +msgstr "" + +#. make the select list for the states +#: administrator/components/com_content/admin.content.html.php:143 +#: components/com_content/content.html.php:594 +#: components/com_content/content.php:1258 +msgid "Unpublished" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:148 +msgid "Always" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:148 +msgid "Start:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:155 +#: administrator/components/com_content/admin.content.html.php:157 +msgid "Finish:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:155 +msgid "No Expiry" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:166 +#: administrator/components/com_content/admin.content.html.php:378 +msgid "Edit User" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:194 +msgid "Edit Content" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:205 +msgid "Publish Information" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:214 +#: administrator/components/com_content/content.xml +msgid "No" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:214 +#: administrator/components/com_content/content.xml +msgid "Yes" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:236 +msgid "Edit Section" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:244 +#: administrator/components/com_content/admin.content.html.php:404 +msgid "Edit Category" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:287 +msgid "Please make a selection from the list to send to Trash" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:288 +msgid "" +"Are you sure you want to Trash the selected items? \\nThis will not " +"permanently delete the items." +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:304 +msgid "All" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:304 +#: administrator/components/com_content/admin.content.html.php:308 +msgid "Archive Manager" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:498 +msgid "Please select a Menu" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:501 +msgid "Please enter a Name for this menu item" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:519 +#: components/com_content/content.html.php:908 +msgid "Content item must have a title" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:521 +msgid "You must select a Section." +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:523 +#: administrator/components/com_content/admin.content.html.php:525 +msgid "You must select a Category." +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:577 +msgid "Content Item:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:579 +#: components/com_content/content.html.php:587 +#: components/com_content/content.html.php:589 +#: components/com_content/content.html.php:962 +msgid "Edit" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:579 +#: components/com_content/content.html.php:320 +#: components/com_content/content.html.php:321 +msgid "New" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:598 +msgid "Show Advanced Details" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:601 +msgid "Hide Advanced Details" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:616 +msgid "Item Details" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:621 +#: components/com_content/content.html.php:986 +msgid "Title:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:635 +msgid "Title Alias:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:641 +#: components/com_content/content.html.php:999 +msgid "Category:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:653 +msgid "Intro Text:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:653 +msgid "required" +msgstr "" + +#. parameters : areaname, content, hidden field, width, height, rows, cols +#: administrator/components/com_content/admin.content.html.php:661 +msgid "Main Text:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:661 +msgid "optional" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:680 +#: components/com_content/content.html.php:1141 +msgid "Publishing" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:685 +msgid "Publishing Info" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:690 +msgid "Show on Frontpage:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:698 +msgid "Published:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:706 +#: components/com_content/content.html.php:1159 +msgid "Access Level:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:713 +#: components/com_content/content.html.php:1167 +msgid "Author Alias:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:721 +msgid "Change Creator:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:727 +#: components/com_content/content.html.php:1175 +msgid "Ordering:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:733 +msgid "Override Created Date" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:742 +#: components/com_content/content.html.php:1183 +msgid "Start Publishing:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:751 +#: components/com_content/content.html.php:1192 +msgid "Finish Publishing:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:766 +msgid "Content ID:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:777 +#: components/com_content/content.html.php:1149 +msgid "State:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:780 +msgid "Archived" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:780 +msgid "Draft Unpublished" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:786 +#: components/com_content/content.html.php:225 +msgid "Hits" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:792 +msgid "Reset Hit Count" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:799 +msgid "Revised" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:803 +msgid "times" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:809 +msgid "Created" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:813 +#: administrator/components/com_content/admin.content.html.php:823 +msgid "By" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:819 +msgid "Last Modified" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:829 +#: components/com_content/content.html.php:1056 +msgid "Images" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:834 +msgid "MOSImage Control" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:838 +msgid "Sub-folder:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:842 +msgid "Gallery Images:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:852 +#: components/com_content/content.html.php:962 +msgid "Add" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:857 +msgid "Content Images:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:867 +msgid "up" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:868 +msgid "down" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:869 +msgid "remove" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:874 +msgid "Edit the image selected:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:878 +#: components/com_content/content.html.php:1091 +msgid "Source:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:886 +msgid "Image Align:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:894 +#: components/com_content/content.html.php:1107 +msgid "Alt Text:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:902 +#: components/com_content/content.html.php:1115 +msgid "Border:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:910 +msgid "Caption:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:918 +msgid "Caption Position:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:926 +msgid "Caption Align:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:934 +msgid "Width:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:942 +#: components/com_content/content.html.php:1124 +msgid "Apply" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:951 +msgid "Parameters" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:956 +msgid "Parameter Control" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:961 +msgid "" +"These Parameters only control what you see when you click to view an item " +"fully" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:973 +msgid "Meta Info" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:978 +msgid "Meta Data" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:983 +#: components/com_content/content.html.php:1215 +msgid "Description:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:990 +#: components/com_content/content.html.php:1223 +msgid "Keywords:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:997 +msgid "Add Sect/Cat/Title" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1003 +#: administrator/components/com_content/admin.content.html.php:1008 +#: administrator/components/com_content/admin.content.html.php:1037 +msgid "Link to Menu" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1013 +msgid "This will create a 'Link - Content Item' in the menu you select" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1019 +msgid "Select a Menu" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1027 +msgid "Menu Item Name" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1042 +msgid "Existing Menu Links" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1050 +msgid "None" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1116 +msgid "Please select something" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1128 +msgid "Move Items" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1137 +msgid "Move to Section/Category:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1143 +msgid "Items being Moved:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1186 +msgid "Please select a Section/Category to copy the items to" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1197 +msgid "Copy Content Items" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1206 +msgid "Copy to Section/Category:" +msgstr "" + +#: administrator/components/com_content/admin.content.html.php:1212 +msgid "Items being copied:" +msgstr "" + +#: administrator/components/com_content/admin.content.php:164 +msgid "All Content Items" +msgstr "" + +#: administrator/components/com_content/admin.content.php:245 +#: administrator/components/com_content/admin.content.php:354 +msgid "- All Authors -" +msgstr "" + +#: administrator/components/com_content/admin.content.php:385 +msgid "You cannot edit an archived item" +msgstr "" + +#: administrator/components/com_content/admin.content.php:410 +#, php-format +msgid "The module %s is currently being edited by another administrator" +msgstr "" + +#: administrator/components/com_content/admin.content.php:426 +#: administrator/components/com_content/admin.content.php:458 +#: administrator/components/com_content/admin.content.php:598 +msgid "Never" +msgstr "" + +#: administrator/components/com_content/admin.content.php:477 +msgid "Select Section" +msgstr "" + +#: administrator/components/com_content/admin.content.php:479 +msgid "Add Section(s) First" +msgstr "" + +#: administrator/components/com_content/admin.content.php:488 +#: administrator/components/com_content/admin.content.php:503 +#: administrator/components/com_content/admin.content.php:511 +msgid "Select Category" +msgstr "" + +#: administrator/components/com_content/admin.content.php:498 +msgid "Add Categories First" +msgstr "" + +#. build the select list for the image caption position +#: administrator/components/com_content/admin.content.php:553 +msgid "Bottom" +msgstr "" + +#: administrator/components/com_content/admin.content.php:554 +msgid "Top" +msgstr "" + +#: administrator/components/com_content/admin.content.php:681 +msgid "Successfully Saved changes to Item: " +msgstr "" + +#: administrator/components/com_content/admin.content.php:686 +msgid "Successfully Saved Item: " +msgstr "" + +#: administrator/components/com_content/admin.content.php:705 +msgid "archive" +msgstr "" + +#: administrator/components/com_content/admin.content.php:705 +msgid "publish" +msgstr "" + +#: administrator/components/com_content/admin.content.php:705 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_content/admin.content.php:706 +#, php-format +msgid "Select an item to %s" +msgstr "" + +#: administrator/components/com_content/admin.content.php:727 +#, php-format +msgid "%d Item successfully Archived" +msgid_plural "%d Items successfully Archived" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:729 +#, php-format +msgid "%d Item successfully Published" +msgid_plural "%d Items successfully Published" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:731 +#, php-format +msgid "%d Item successfully Unpublished" +msgid_plural "%d Items successfully Unpublished" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:757 +msgid "Select an item to toggle" +msgstr "" + +#: administrator/components/com_content/admin.content.php:792 +msgid "Select an item to delete" +msgstr "" + +#: administrator/components/com_content/admin.content.php:809 +#, php-format +msgid "%d Item sent to the Trash" +msgid_plural "%d Items sent to the Trash" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:851 +#: administrator/components/com_content/admin.content.php:951 +msgid "Select an item to move" +msgstr "" + +#: administrator/components/com_content/admin.content.php:890 +#: administrator/components/com_content/admin.content.php:994 +msgid "An error has occurred" +msgstr "" + +#: administrator/components/com_content/admin.content.php:939 +#, php-format +msgid "%d Item successfully moved to Section: %s, Category: %s" +msgid_plural "%d Items successfully moved to Section: %s, Category: %s" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:1066 +#, php-format +msgid "%d Item successfully copied to Section: %s, Category: %s" +msgid_plural "%d Items successfully copied to Section: %s, Category: %s" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_content/admin.content.php:1083 +msgid "Successfully Reset Hit count" +msgstr "" + +#: administrator/components/com_content/admin.content.php:1114 +msgid "- All Categories -" +msgstr "" + +#: administrator/components/com_content/admin.content.php:1149 +#, php-format +msgid "%s (Link - Static Content) in menu: %s successfully created" +msgstr "" + +#. foreach +#: administrator/components/com_content/admin.content.php:1191 +msgid "New ordering saved" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Author Names" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Category Name" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Category Name Linkable" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Content Page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Created Date and Time" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Email Icon" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_content/content.xml +#: components/com_content/content.html.php:1015 +msgid "Intro Text" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Item Rating" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Linked Titles" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Make the Category text a link to the actual Category page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Make the Section text a link to the actual section page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Make your Item titles linkable" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Modified Date and Time" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "PDF Icon" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Print Icon" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Section Name" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Section Name Linkable" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the Category the item belongs to" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the Section the item belongs to" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the intro text" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item author - only affects this page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item creation date - only affects this page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item email button - only affects this page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item modification date - only affects this page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item pdf button - only affects this page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the item rating - only affects this page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Show/Hide the items title" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "This shows a single content page" +msgstr "" + +#: administrator/components/com_content/content.xml +msgid "Use Global" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_content/toolbar.content.html.php:28 +msgid "Close" +msgstr "" + +#: administrator/components/com_content/toolbar.content.html.php:45 +msgid "Trash" +msgstr "" + +#: administrator/components/com_content/toolbar.content.html.php:53 +#: administrator/components/com_content/toolbar.content.html.php:63 +msgid "Save" +msgstr "" + +#: administrator/components/com_content/toolbar.content.html.php:81 +msgid "Move" +msgstr "" + +#: administrator/components/com_content/toolbar.content.html.php:83 +msgid "Copy" +msgstr "" + +#: components/com_content/content.html.php:70 +msgid "This Category is currently empty" +msgstr "" + +#: components/com_content/content.html.php:116 +#, php-format +msgid "%d item" +msgid_plural "%d items" +msgstr[0] "" +msgstr[1] "" + +#: components/com_content/content.html.php:132 +msgid "Registered Users Only" +msgstr "" + +#: components/com_content/content.html.php:162 +msgid "Filter" +msgstr "" + +#: components/com_content/content.html.php:184 +msgid "Display #" +msgstr "" + +#: components/com_content/content.html.php:211 +msgid "Item Title" +msgstr "" + +#: components/com_content/content.html.php:268 +#: components/com_content/content.html.php:420 +msgid "Register to read more..." +msgstr "" + +#: components/com_content/content.html.php:348 +msgid "More..." +msgstr "" + +#: components/com_content/content.html.php:415 +msgid "Read more..." +msgstr "" + +#: components/com_content/content.html.php:610 +#: components/com_content/content.html.php:612 +#: components/com_content/content.html.php:616 +msgid "PDF" +msgstr "" + +#: components/com_content/content.html.php:635 +#: components/com_content/content.html.php:637 +#: components/com_content/content.html.php:641 +msgid "E-mail" +msgstr "" + +#: components/com_content/content.html.php:716 +msgid "Contributed by" +msgstr "" + +#: components/com_content/content.html.php:716 +msgid "Written by" +msgstr "" + +#: components/com_content/content.html.php:788 +msgid "Last Updated" +msgstr "" + +#: components/com_content/content.html.php:828 +msgid "Previous" +msgstr "" + +#: components/com_content/content.html.php:844 +msgid "Next" +msgstr "" + +#: components/com_content/content.html.php:912 +msgid "Please select a category" +msgstr "" + +#: components/com_content/content.html.php:914 +#: components/com_content/content.html.php:923 +msgid "Content item must have intro text" +msgstr "" + +#: components/com_content/content.html.php:939 +msgid "Please either Cancel or Save the current change" +msgstr "" + +#. $docinfo = "".T_('Subject:')." "; +#. $docinfo .= $row->title."
      "; +#: components/com_content/content.html.php:948 +msgid "Expiry Date:" +msgstr "" + +#: components/com_content/content.html.php:950 +msgid "Version:" +msgstr "" + +#: components/com_content/content.html.php:952 +msgid "Created:" +msgstr "" + +#: components/com_content/content.html.php:954 +msgid "Last Modified:" +msgstr "" + +#: components/com_content/content.html.php:956 +msgid "Hits:" +msgstr "" + +#: components/com_content/content.html.php:963 +msgid "Content" +msgstr "" + +#: components/com_content/content.html.php:964 +msgid "Item Information" +msgstr "" + +#: components/com_content/content.html.php:965 +msgid "Info" +msgstr "" + +#: components/com_content/content.html.php:1015 +#: components/com_content/content.html.php:1021 +msgid "Required" +msgstr "" + +#: components/com_content/content.html.php:1021 +#: components/com_content/content.html.php:1039 +msgid "Main Text" +msgstr "" + +#: components/com_content/content.html.php:1039 +msgid "Optional" +msgstr "" + +#: components/com_content/content.html.php:1061 +msgid "Sub-folder" +msgstr "" + +#: components/com_content/content.html.php:1066 +msgid "Gallery Images" +msgstr "" + +#: components/com_content/content.html.php:1069 +msgid "Content Images" +msgstr "" + +#: components/com_content/content.html.php:1072 +msgid "Edit Image" +msgstr "" + +#: components/com_content/content.html.php:1078 +msgid "Insert" +msgstr "" + +#: components/com_content/content.html.php:1083 +msgid "Up" +msgstr "" + +#: components/com_content/content.html.php:1084 +msgid "Down" +msgstr "" + +#: components/com_content/content.html.php:1085 +msgid "Remove" +msgstr "" + +#: components/com_content/content.html.php:1099 +msgid "Align:" +msgstr "" + +#: components/com_content/content.html.php:1132 +#: components/com_content/content.html.php:1135 +msgid "No Image" +msgstr "" + +#: components/com_content/content.html.php:1201 +msgid "Show on Front Page:" +msgstr "" + +#: components/com_content/content.html.php:1210 +msgid "Metadata" +msgstr "" + +#: components/com_content/content.html.php:1260 +#: components/com_content/content.php:1446 +msgid "" +"You must enter valid e-mail addresses for both yourself and your recipient." +msgstr "" + +#: components/com_content/content.html.php:1274 +msgid "E-mail this to a friend." +msgstr "" + +#: components/com_content/content.html.php:1282 +msgid "Your friend's E-mail:" +msgstr "" + +#: components/com_content/content.html.php:1290 +msgid "Your Name:" +msgstr "" + +#: components/com_content/content.html.php:1298 +msgid "Your E-mail:" +msgstr "" + +#: components/com_content/content.html.php:1306 +msgid "Message subject:" +msgstr "" + +#: components/com_content/content.html.php:1317 +msgid "Send e-mail" +msgstr "" + +#: components/com_content/content.html.php:1318 +msgid "Cancel" +msgstr "" + +#: components/com_content/content.html.php:1338 +#, php-format +msgid "This item has been sent to %s" +msgstr "" + +#: components/com_content/content.html.php:1342 +msgid "Close Window" +msgstr "" + +#: components/com_content/content.php:435 +msgid "Date Asc" +msgstr "" + +#: components/com_content/content.php:436 +msgid "Date Desc" +msgstr "" + +#: components/com_content/content.php:440 +msgid "Title Asc" +msgstr "" + +#: components/com_content/content.php:441 +msgid "Title Desc" +msgstr "" + +#: components/com_content/content.php:445 +msgid "Hits Asc" +msgstr "" + +#: components/com_content/content.php:446 +msgid "Hits Desc" +msgstr "" + +#: components/com_content/content.php:450 +msgid "Author Asc" +msgstr "" + +#: components/com_content/content.php:451 +msgid "Author Desc" +msgstr "" + +#: components/com_content/content.php:454 +msgid "Ordering" +msgstr "" + +#. if no archives for category, hides search and outputs empty message +#: components/com_content/content.php:648 +#: components/com_content/content.php:729 +msgid "There are currently no Archived Entries for this Category" +msgstr "" + +#. Search Success message +#: components/com_content/content.php:827 +#, php-format +msgid "Here are the Archived entries for %s %s" +msgstr "" + +#. Search Failure message for Archives +#: components/com_content/content.php:961 +#, php-format +msgid "There are no Archived entries for %s %s" +msgstr "" + +#. Generic blog empty display +#: components/com_content/content.php:965 +msgid "There are no items to display" +msgstr "" + +#: components/com_content/content.php:1169 +#, php-format +msgid "The module [ %s ] is currently being edited by another person." +msgstr "" + +#: components/com_content/content.php:1374 +#, php-format +msgid "" +"A new content item has been submitted by [ %s ] titled [ %s ] from section " +"[ %s ] and category [ %s ]" +msgstr "" + +#: components/com_content/content.php:1374 +msgid "New Item" +msgstr "" + +#: components/com_content/content.php:1379 +msgid "Item saved successfully." +msgstr "" + +#: components/com_content/content.php:1379 +msgid "" +"Thanks for your submission; it will be reviewed before being posted to the " +"site." +msgstr "" + +#: components/com_content/content.php:1437 +#, php-format +msgid "Item sent by %s" +msgstr "" + +#. message text +#: components/com_content/content.php:1457 +#, php-format +msgid "" +" The following page from the \"%s\" website has been sent to you by %s ( %" +"s ).\n" +"\n" +"You can access it at the following url:\n" +"%s" +msgstr "" + +#: components/com_content/content.php:1508 +msgid "You already voted for this poll today!" +msgstr "" + +#: components/com_content/content.php:1511 +msgid "Thanks for your vote!" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/frontend.pot 4.6-complete/uploadfiles/language/untranslated/frontend.pot --- 4.6rc2/uploadfiles/language/untranslated/frontend.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/frontend.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,1633 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: includes/HTML_toolbar.php:37 +msgid "Please make a selection from the list to" +msgstr "" + +#: includes/HTML_toolbar.php:56 +msgid "New" +msgstr "" + +#: includes/HTML_toolbar.php:76 includes/HTML_toolbar.php:96 +#: includes/mamboHTML.php:479 includes/mamboHTML.php:566 +#: includes/mamboHTML.php:657 +msgid "Published" +msgstr "" + +#: includes/HTML_toolbar.php:103 +msgid "Please make a selection from the list to publish" +msgstr "" + +#: includes/HTML_toolbar.php:116 includes/HTML_toolbar.php:136 +#: includes/mamboHTML.php:657 +msgid "Unpublished" +msgstr "" + +#: includes/HTML_toolbar.php:143 +msgid "Please make a selection from the list to unpublish" +msgstr "" + +#: includes/HTML_toolbar.php:156 +msgid "Archive" +msgstr "" + +#: includes/HTML_toolbar.php:163 +msgid "Please make a selection from the list to archive" +msgstr "" + +#: includes/HTML_toolbar.php:176 +msgid "Unarchive" +msgstr "" + +#: includes/HTML_toolbar.php:183 +msgid "Please select a news story to unarchive" +msgstr "" + +#: includes/HTML_toolbar.php:196 +msgid "Edit" +msgstr "" + +#: includes/HTML_toolbar.php:203 includes/HTML_toolbar.php:222 +#: includes/HTML_toolbar.php:241 +msgid "Please select an item from the list to edit" +msgstr "" + +#: includes/HTML_toolbar.php:216 +msgid "Edit HTML" +msgstr "" + +#: includes/HTML_toolbar.php:235 +msgid "Edit CSS" +msgstr "" + +#: includes/HTML_toolbar.php:255 +msgid "Delete" +msgstr "" + +#: includes/HTML_toolbar.php:262 +msgid "Are you sure you want to delete selected items?" +msgstr "" + +#: includes/HTML_toolbar.php:262 +msgid "Please make a selection from the list to delete" +msgstr "" + +#: includes/HTML_toolbar.php:278 includes/HTML_toolbar.php:279 +msgid "Preview" +msgstr "" + +#: includes/HTML_toolbar.php:295 +msgid "Save" +msgstr "" + +#: includes/HTML_toolbar.php:313 includes/HTML_toolbar.php:314 +#: includes/HTML_toolbar.php:328 includes/HTML_toolbar.php:329 +msgid "save" +msgstr "" + +#: includes/HTML_toolbar.php:345 +msgid "Cancel" +msgstr "" + +#: includes/HTML_toolbar.php:364 includes/HTML_toolbar.php:365 +msgid "back" +msgstr "" + +#: includes/HTML_toolbar.php:392 includes/HTML_toolbar.php:393 +msgid "Upload Image" +msgstr "" + +#: includes/authenticator.php:35 +msgid "Please complete the username and password fields." +msgstr "" + +#: includes/authenticator.php:42 +msgid "Logins are not permitted. There is no authentication check active." +msgstr "" + +#: includes/authenticator.php:72 +msgid "Your login has been blocked. Please contact the administrator." +msgstr "" + +#: includes/authenticator.php:103 +msgid "Incorrect username or password. Please try again." +msgstr "" + +#: includes/authenticator.php:151 +msgid "Please enter a password" +msgstr "" + +#: includes/authenticator.php:167 +msgid "You cannot login. There are no administrators set up." +msgstr "" + +#: includes/authenticator.php:172 +msgid "Incorrect Username, Password, or Access Level. Please try again" +msgstr "" + +#: includes/cmtclasses.php:143 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s in %s" +msgstr "" + +#: includes/cmtclasses.php:165 +#, php-format +msgid "Component %s error: attempt to use non-existent method %s in %s" +msgstr "" + +#: includes/cmtclasses.php:167 includes/cmtclasses.php:173 +#: includes/cmtclasses.php:231 +#, php-format +msgid "Component %s error: attempt to use non-existent class %s" +msgstr "" + +#: includes/cmtclasses.php:210 +#, php-format +msgid "MOS error in %s: method %s not found in class %s" +msgstr "" + +#: includes/cmtclasses.php:212 +#, php-format +msgid "MOS error in %s: class not found %s" +msgstr "" + +#: includes/cmtclasses.php:533 +msgid "Your Module must contain a title." +msgstr "" + +#: includes/core.classes.php:351 +msgid "Impossible to determine the name of this server" +msgstr "" + +#: includes/mamboHTML.php:29 +msgid "Unwriteable" +msgstr "" + +#: includes/mamboHTML.php:29 +msgid "Writeable" +msgstr "" + +#: includes/mamboHTML.php:103 +msgid "January" +msgstr "" + +#: includes/mamboHTML.php:104 +msgid "February" +msgstr "" + +#: includes/mamboHTML.php:105 +msgid "March" +msgstr "" + +#: includes/mamboHTML.php:106 +msgid "April" +msgstr "" + +#: includes/mamboHTML.php:107 +msgid "May" +msgstr "" + +#: includes/mamboHTML.php:108 +msgid "June" +msgstr "" + +#: includes/mamboHTML.php:109 +msgid "July" +msgstr "" + +#: includes/mamboHTML.php:110 +msgid "August" +msgstr "" + +#: includes/mamboHTML.php:111 +msgid "September" +msgstr "" + +#: includes/mamboHTML.php:112 +msgid "October" +msgstr "" + +#: includes/mamboHTML.php:113 +msgid "November" +msgstr "" + +#: includes/mamboHTML.php:114 +msgid "December" +msgstr "" + +#: includes/mamboHTML.php:129 includes/mamboHTML.php:179 modules/custom.xml +#: modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_login.xml modules/mod_mainmenu.xml +#: modules/mod_mostread.xml modules/mod_newsflash.xml modules/mod_poll.xml +#: modules/mod_related_items.xml modules/mod_rssfeed.xml +#: modules/mod_search.xml modules/mod_stats.xml +msgid "Yes" +msgstr "" + +#: includes/mamboHTML.php:130 includes/mamboHTML.php:178 modules/custom.xml +#: modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_login.xml modules/mod_mainmenu.xml +#: modules/mod_mostread.xml modules/mod_newsflash.xml modules/mod_poll.xml +#: modules/mod_related_items.xml modules/mod_rssfeed.xml +#: modules/mod_search.xml modules/mod_stats.xml +msgid "No" +msgstr "" + +#: includes/mamboHTML.php:202 +msgid "No Sorting" +msgstr "" + +#: includes/mamboHTML.php:203 +msgid "Sort Ascending" +msgstr "" + +#: includes/mamboHTML.php:204 +msgid "Sort Descending" +msgstr "" + +#: includes/mamboHTML.php:229 +msgid "Close Window" +msgstr "" + +#: includes/mamboHTML.php:246 +msgid "Back" +msgstr "" + +#. Print Preview button - used when viewing page +#. Print Button - used in pop-up window +#: includes/mamboHTML.php:282 includes/mamboHTML.php:284 +#: includes/mamboHTML.php:291 includes/mamboHTML.php:300 +msgid "Print" +msgstr "" + +#: includes/mamboHTML.php:356 +msgid "" +"This email address is being protected from spam bots, you need Javascript " +"enabled to view it" +msgstr "" + +#: includes/mamboHTML.php:381 +msgid "Pending" +msgstr "" + +#: includes/mamboHTML.php:384 +msgid "Published, but is Pending" +msgstr "" + +#: includes/mamboHTML.php:387 +msgid "Visible" +msgstr "" + +#: includes/mamboHTML.php:390 +msgid "Published and is Current" +msgstr "" + +#: includes/mamboHTML.php:393 includes/mamboHTML.php:399 +msgid "Finished" +msgstr "" + +#: includes/mamboHTML.php:396 +msgid "Published, but has Expired" +msgstr "" + +#: includes/mamboHTML.php:402 +msgid "Not Published" +msgstr "" + +#: includes/mamboHTML.php:407 +msgid "Click on icon to toggle state." +msgstr "" + +#: includes/mamboHTML.php:444 includes/mamboHTML.php:523 +msgid "Menu" +msgstr "" + +#: includes/mamboHTML.php:447 includes/mamboHTML.php:526 +msgid "Go to Menu" +msgstr "" + +#: includes/mamboHTML.php:454 +msgid "Link Name" +msgstr "" + +#: includes/mamboHTML.php:458 includes/mamboHTML.php:545 +msgid "Go to Menu Item" +msgstr "" + +#: includes/mamboHTML.php:466 includes/mamboHTML.php:553 +msgid "State" +msgstr "" + +#: includes/mamboHTML.php:472 includes/mamboHTML.php:559 +msgid "Trashed" +msgstr "" + +#: includes/mamboHTML.php:475 includes/mamboHTML.php:562 +msgid "UnPublished" +msgstr "" + +#: includes/mamboHTML.php:533 +msgid "Type" +msgstr "" + +#: includes/mamboHTML.php:541 +msgid "Item Name" +msgstr "" + +#: includes/mamboHTML.php:590 +msgid "Checked Out" +msgstr "" + +#: includes/mamboHTML.php:658 +msgid "Publish item" +msgstr "" + +#: includes/mamboHTML.php:658 +msgid "Unpublish Item" +msgstr "" + +#: includes/mambofunc.php:21 +#, php-format +msgid "User Submitted '%s'" +msgstr "" + +#: includes/mambofunc.php:22 +msgid "" +"Hello %s,\n" +"\n" +"\n" +"A user submitted %s:\n" +"[ %s ]\n" +"\n" +"has been just been submitted by user:\n" +"[ %s ]\n" +"\n" +"\n" +"for %\n" +"\n" +"Please go to %s/administrator to view and approve this %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only." +msgstr "" + +#: includes/mambofunc.php:50 +msgid "You are not authorized to view this resource." +msgstr "" + +#: includes/mambofunc.php:52 +msgid "You need to login." +msgstr "" + +#: includes/mambofunc.php:338 +msgid "Mambo Warning" +msgstr "" + +#: includes/pageNavigation.php:68 +#, php-format +msgid "Results %d - %d of %d" +msgstr "" + +#: includes/pageNavigation.php:80 +#, php-format +msgid "Page %d of %d" +msgstr "" + +#: includes/pageNavigation.php:106 includes/pageNavigation.php:109 +msgid "Start" +msgstr "" + +#: includes/pageNavigation.php:106 +msgid "first page" +msgstr "" + +#: includes/pageNavigation.php:107 includes/pageNavigation.php:110 +msgid "Previous" +msgstr "" + +#: includes/pageNavigation.php:107 +msgid "previous page" +msgstr "" + +#: includes/pageNavigation.php:125 includes/pageNavigation.php:128 +msgid "Next" +msgstr "" + +#: includes/pageNavigation.php:125 +msgid "next page" +msgstr "" + +#: includes/pageNavigation.php:126 includes/pageNavigation.php:129 +msgid "End" +msgstr "" + +#: includes/pageNavigation.php:126 +msgid "end page" +msgstr "" + +#: includes/pdf.php:66 +msgid "Powered by Mambo" +msgstr "" + +#: includes/pdf.php:67 +msgid "Generated:" +msgstr "" + +#: includes/pdf.php:94 +msgid "Written by" +msgstr "" + +#: includes/pdf.php:96 +msgid "Contributed by" +msgstr "" + +#: includes/pdf.php:102 +msgid "Last Updated" +msgstr "" + +#: includes/pdf.php:120 +msgid "OFF" +msgstr "" + +#: includes/pdf.php:120 +msgid "ON" +msgstr "" + +#: includes/phpgettext/phpgettext.includes.php:290 +msgid "Main" +msgstr "" + +#: modules/custom.xml modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_login.xml modules/mod_mainmenu.xml +#: modules/mod_mostread.xml modules/mod_newsflash.xml modules/mod_poll.xml +#: modules/mod_random_image.xml modules/mod_related_items.xml +#: modules/mod_rssfeed.xml modules/mod_search.xml modules/mod_sections.xml +#: modules/mod_stats.xml modules/mod_templatechooser.xml +#: modules/mod_whosonline.xml modules/mod_wrapper.xml +msgid "" +"A suffix to be applied to the css class of the module (table.moduletable), " +"this allows individual module styling" +msgstr "" + +#: modules/custom.xml +msgid "" +"Allows you to limit the amount of visible item description text. 0 will show " +"all the text" +msgstr "" + +#: modules/custom.xml +msgid "Custom Module" +msgstr "" + +#: modules/custom.xml modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_mainmenu.xml +#: modules/mod_mostread.xml modules/mod_newsflash.xml modules/mod_poll.xml +#: modules/mod_related_items.xml modules/mod_rssfeed.xml +#: modules/mod_search.xml +msgid "Enable Cache" +msgstr "" + +#: modules/custom.xml +msgid "Enter number of RSS items to display" +msgstr "" + +#: modules/custom.xml +msgid "Enter the URL of the RSS/RDF feed" +msgstr "" + +#: modules/custom.xml +msgid "Feed Description" +msgstr "" + +#: modules/custom.xml +msgid "Feed Image" +msgstr "" + +#: modules/custom.xml +msgid "Item Description" +msgstr "" + +#: modules/custom.xml +msgid "Items" +msgstr "" + +#: modules/custom.xml modules/mod_archive.xml modules/mod_banners.xml +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_login.xml modules/mod_mainmenu.xml modules/mod_mostread.xml +#: modules/mod_newsflash.xml modules/mod_poll.xml modules/mod_random_image.xml +#: modules/mod_related_items.xml modules/mod_rssfeed.xml +#: modules/mod_search.xml modules/mod_sections.xml modules/mod_stats.xml +#: modules/mod_templatechooser.xml modules/mod_whosonline.xml +#: modules/mod_wrapper.xml +msgid "Module Class Suffix" +msgstr "" + +#: modules/custom.xml +msgid "RSS URL" +msgstr "" + +#: modules/custom.xml modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_mainmenu.xml +#: modules/mod_mostread.xml modules/mod_newsflash.xml modules/mod_poll.xml +#: modules/mod_related_items.xml modules/mod_rssfeed.xml +#: modules/mod_search.xml +msgid "Select whether to cache the content of this module" +msgstr "" + +#: modules/custom.xml +msgid "Show the description or intro text of individual news items" +msgstr "" + +#: modules/custom.xml +msgid "Show the description text for the whole Feed" +msgstr "" + +#: modules/custom.xml +msgid "Show the image associated with the whole Feed" +msgstr "" + +#: modules/custom.xml +msgid "Word Count" +msgstr "" + +#: modules/mod_archive.xml +msgid "Archived Content" +msgstr "" + +#: modules/mod_archive.xml modules/mod_latestcontent.xml +#: modules/mod_latestnews.xml modules/mod_mostread.xml +#: modules/mod_sections.xml +msgid "Count" +msgstr "" + +#: modules/mod_archive.xml +msgid "The number of items to display (default is 10)" +msgstr "" + +#: modules/mod_archive.xml +msgid "" +"This module shows a list of the calendar months, which contain Archived " +"items. After you have changed the status of a Content Item to 'Archived' " +"this list will be automatically generated." +msgstr "" + +#: modules/mod_banners.php:75 +msgid "Advertisement" +msgstr "" + +#: modules/mod_banners.xml +msgid "" +"A suffix to be aapplied to the css class of the module (table.moduletable), " +"this allows individual module styling" +msgstr "" + +#: modules/mod_banners.xml +msgid "Banner" +msgstr "" + +#: modules/mod_banners.xml +msgid "Banner client" +msgstr "" + +#: modules/mod_banners.xml +msgid "Reference to banner client id. Enter separated by ','!" +msgstr "" + +#: modules/mod_banners.xml +msgid "" +"The banner module allows to show the active banners out of the component " +"within your site." +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Allows you to control which type of Content to display in the module" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml modules/mod_whosonline.xml +msgid "Both" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Category ID" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Content Items only" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Display content item images" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Frontpage Items" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_login.xml +#: modules/mod_newsflash.xml modules/mod_rssfeed.xml +#: modules/mod_templatechooser.xml +msgid "Hide" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_mainmenu.xml +#: modules/mod_newsflash.xml +msgid "Horizontal" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Item Title" +msgstr "" + +#: modules/mod_latestcontent.xml +msgid "Latest Content" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Module Mode" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Read More" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Section ID" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "" +"Selects items from a specific Category or set of Categories (to specify more " +"than one Category, seperate with a comma , )." +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "" +"Selects items from a specific Secion or set of Sections (to specify more " +"than one Section, seperate with a comma , )." +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_login.xml +#: modules/mod_newsflash.xml modules/mod_rssfeed.xml +#: modules/mod_templatechooser.xml +msgid "Show" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Show images" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Show item title" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "" +"Show/Hide items designated for the Frontpage - only works when in Content " +"Items only mode" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Show/Hide the Read More button" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "Static Content only" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_newsflash.xml +msgid "Style" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +msgid "The number of items to display (default 5)" +msgstr "" + +#: modules/mod_latestcontent.xml +msgid "The style to display the content" +msgstr "" + +#: modules/mod_latestcontent.xml +msgid "" +"This module shows a list of content with intro text in vertical or " +"horizontal of the most recently published Items that are still current (some " +"may have expired even though they are the most recent). Items that are " +"displayed on the Front Page Component are not included in the list." +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_mainmenu.xml +#: modules/mod_newsflash.xml +msgid "Vertical" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "hide" +msgstr "" + +#: modules/mod_latestcontent.xml modules/mod_latestnews.xml +#: modules/mod_mostread.xml +msgid "show" +msgstr "" + +#: modules/mod_latestnews.xml +msgid "Latest News" +msgstr "" + +#: modules/mod_latestnews.xml +msgid "" +"This module shows a list of the most recently published Items that are still " +"current (some may have expired even though they are the most recent). Items " +"that are displayed on the Front Page Component are not included in the list." +msgstr "" + +#: modules/mod_login.php:44 +#, php-format +msgid "Hi, %s" +msgstr "" + +#: modules/mod_login.php:49 +msgid "Logout" +msgstr "" + +#: modules/mod_login.php:68 modules/mod_login.xml +msgid "Username" +msgstr "" + +#: modules/mod_login.php:70 +msgid "username" +msgstr "" + +#: modules/mod_login.php:72 +msgid "Password" +msgstr "" + +#: modules/mod_login.php:74 +msgid "password" +msgstr "" + +#: modules/mod_login.php:76 +msgid "Remember Me" +msgstr "" + +#: modules/mod_login.php:77 +msgid "Remember me" +msgstr "" + +#: modules/mod_login.php:80 +msgid "Login" +msgstr "" + +#: modules/mod_login.php:86 +msgid "Password Reminder" +msgstr "" + +#: modules/mod_login.php:95 +msgid "No account yet?" +msgstr "" + +#: modules/mod_login.php:97 +msgid "Create one" +msgstr "" + +#: modules/mod_login.xml +msgid "Greeting" +msgstr "" + +#: modules/mod_login.xml +msgid "Login Form" +msgstr "" + +#: modules/mod_login.xml +msgid "Login Message" +msgstr "" + +#: modules/mod_login.xml +msgid "Login Redirection URL" +msgstr "" + +#: modules/mod_login.xml +msgid "Logout Message" +msgstr "" + +#: modules/mod_login.xml +msgid "Logout Redirection URL" +msgstr "" + +#: modules/mod_login.xml +msgid "Name" +msgstr "" + +#: modules/mod_login.xml +msgid "Name/Username" +msgstr "" + +#: modules/mod_login.xml +msgid "Post-text" +msgstr "" + +#: modules/mod_login.xml +msgid "Pre-text" +msgstr "" + +#: modules/mod_login.xml +msgid "Show/Hide the javascript Pop-up indicating Login Success" +msgstr "" + +#: modules/mod_login.xml +msgid "Show/Hide the javascript Pop-up indicating Logout Success" +msgstr "" + +#: modules/mod_login.xml +msgid "Show/Hide the simple greeting text" +msgstr "" + +#: modules/mod_login.xml +msgid "This is the Text or HTML that is displayed above the login form" +msgstr "" + +#: modules/mod_login.xml +msgid "This is the Text or HTML that is displayed below the login form" +msgstr "" + +#: modules/mod_login.xml +msgid "" +"This module displays a Username and Password login form. It also displays a " +"link to retrieve a forgotten password. If user registration is enabled, " +"(refer to the Configuration settings), then another link will be shown to " +"invite users to self-register." +msgstr "" + +#: modules/mod_login.xml +msgid "" +"What page will the login redirect to after login, if let blank will load " +"front page" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "A suffix to be applied to the css class of the menu items" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Alignment of the Menu Icons" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Choose which indent image system to utilise" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Displays a menu." +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "End Spacer" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "End Spacer for Horizontal menu" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Expand Menu" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Expand the menu and make its sub-menus items always visible" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Flat List" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Image for the fifth sub-level" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Image for the first sub-level" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Image for the fourth sub-level" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Image for the second sub-level" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Image for the sixth sub-level" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Image for the third sub-level" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Indent Image" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 1" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 2" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 3" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 4" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 5" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Indent Image 6" +msgstr "" + +#: modules/mod_mainmenu.xml modules/mod_search.xml +msgid "Left" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Main Menu" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Mambo default images" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Menu Class Suffix" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Menu Icon Alignment" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Menu Name" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Menu Style" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "None" +msgstr "" + +#: modules/mod_mainmenu.xml modules/mod_search.xml +msgid "Right" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Show Menu Icons" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Show the Menu Icons you have selected for your menu items" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Spacer" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Spacer for Horizontal menu" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Template" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "The menu style" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "The name of the menu (default is 'mainmenu')" +msgstr "" + +#: modules/mod_mainmenu.xml +msgid "Use params below" +msgstr "" + +#: modules/mod_mostread.xml +msgid "Most Read Content" +msgstr "" + +#: modules/mod_mostread.xml modules/mod_sections.xml +msgid "The number of items to display (default is 5)" +msgstr "" + +#: modules/mod_mostread.xml +msgid "" +"This module shows a list of the currently published Items that have been " +"viewed the most - determined by the number of times the page has been viewed." +msgstr "" + +#: modules/mod_newsflash.xml +msgid "A content category" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "Category" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "Linked Titles" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "Make the Item titles linkable" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "Newsflash" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "No of items to display" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "No. of Items" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "Randomly choose one at a time" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "" +"The Newsflash module randomly selects one of the published items from a " +"category upon each page refresh. It may also dislpay multiple items in " +"horizontal or vertical configurations." +msgstr "" + +#: modules/mod_newsflash.xml +msgid "The style to display the category" +msgstr "" + +#: modules/mod_newsflash.xml +msgid "Use Global" +msgstr "" + +#: modules/mod_poll.php:85 +msgid "Vote" +msgstr "" + +#: modules/mod_poll.php:86 +msgid "Results" +msgstr "" + +#: modules/mod_poll.xml +msgid "Poll" +msgstr "" + +#: modules/mod_poll.xml +msgid "" +"This module compliments the Polls component. It is used to display the " +"configured polls. The module differs from other modules in as much as the " +"Component supports linking between Menu Items and Polls. This means that the " +"module shows only those Polls, which are configured for a certain Menu Item." +msgstr "" + +#: modules/mod_random_image.xml +msgid "" +"A URL to redirect to if image is clicked on, eg: http://www.mambo-foundation." +"org" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Height (px)" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Image Folder" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Image Type" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Image height (forces all images to be displayed with the height)" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Image width (forces all images to be displayed with this width)" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Link" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Path to the image folder relative to the site url, eg: images/stories" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Random Image" +msgstr "" + +#: modules/mod_random_image.xml +msgid "This module display a random image from your chosen directory" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Type of image PNG/GIF/JPG etc. (default is JPG)" +msgstr "" + +#: modules/mod_random_image.xml +msgid "Width (px)" +msgstr "" + +#: modules/mod_related_items.xml +msgid "Related Items" +msgstr "" + +#: modules/mod_related_items.xml +msgid "" +"This module displays other Content Items that are related to the Item " +"currently displayed. These are based on the keywords Metadata. All the " +"keywords of the current Content Item are searched against all the keywords " +"of all other published items. For example, you may have an Item on 'Breeding " +"Parrots' and you may have another on 'Hand Raising Black Cockatoos'. If you " +"include the keyword 'parrot' in both Items, then the Related Items module " +"will list the 'Breeding Parrots' Item when viewing 'Hand Raising Black " +"Cockatoos' and vice-versa." +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Atom" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Atom Image" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Choose the image to be used" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Enter the text to be displayed along with the RSS links" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "OPML" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "OPML Image" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "RSS 0.91" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "RSS 0.91 Image" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "RSS 1.0" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "RSS 1.0 Image" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "RSS 2.0" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "RSS 2.0 Image" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide Atom 1.0 Link" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide OPML Link" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide RSS 0.91 Link" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide RSS 1.0 Link" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Show/Hide RSS 2.0 Link" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "Syndicate" +msgstr "" + +#: modules/mod_rssfeed.xml modules/mod_search.xml +msgid "Text" +msgstr "" + +#: modules/mod_rssfeed.xml +msgid "" +"The Syndicate module will display a link whereby people can syndicate your " +"site for all your latest news. When you click on the RSS icon, you will be " +"redirected to a new page that will list all the latest news in XML format. " +"In order to use the Newsfeed in another Mambo site or a Newsfeed reader, you " +"need to cut and paste the URL." +msgstr "" + +#: modules/mod_search.php:17 +msgid "Search" +msgstr "" + +#: modules/mod_search.php:19 +msgid "search..." +msgstr "" + +#: modules/mod_search.php:22 +msgid "search" +msgstr "" + +#: modules/mod_search.xml +msgid "Bottom" +msgstr "" + +#: modules/mod_search.xml +msgid "Box Width" +msgstr "" + +#: modules/mod_search.xml +msgid "Button Position" +msgstr "" + +#: modules/mod_search.xml +msgid "Button Text" +msgstr "" + +#: modules/mod_search.xml +msgid "Display a Search Button" +msgstr "" + +#: modules/mod_search.xml +msgid "Position of the button relative to the search box" +msgstr "" + +#: modules/mod_search.xml +msgid "Search Button" +msgstr "" + +#: modules/mod_search.xml +msgid "Search Module" +msgstr "" + +#: modules/mod_search.xml +msgid "Size of the search text box" +msgstr "" + +#: modules/mod_search.xml +msgid "" +"The text that appears in the search buttin, if left blank it will load " +"_SEARCH_TITLE from your language file" +msgstr "" + +#: modules/mod_search.xml +msgid "" +"The text that appears in the search text box, if left blank it will load " +"_SEARCH_BOX from your language file" +msgstr "" + +#: modules/mod_search.xml +msgid "This module will display a search box" +msgstr "" + +#: modules/mod_search.xml +msgid "Top" +msgstr "" + +#: modules/mod_sections.xml +msgid "Sections" +msgstr "" + +#: modules/mod_sections.xml +msgid "" +"The Section module shows a list of all Sections configured in your database. " +"The Sections refer here to the Item Sections only. If the configuration " +"'Show Unauthorized Links' is set to 'NO', the list will be limited to the " +"sections the user is allowed to see." +msgstr "" + +#: modules/mod_stats.php:27 +msgid "Time" +msgstr "" + +#: modules/mod_stats.php:28 modules/mod_stats.php:30 +msgid "Disabled" +msgstr "" + +#: modules/mod_stats.php:28 modules/mod_stats.php:30 +msgid "Enabled" +msgstr "" + +#: modules/mod_stats.php:37 +msgid "Members" +msgstr "" + +#: modules/mod_stats.php:41 +msgid "News" +msgstr "" + +#: modules/mod_stats.php:45 +msgid "Web Links" +msgstr "" + +#: modules/mod_stats.php:59 modules/mod_stats.php:61 +msgid "Visitors" +msgstr "" + +#: modules/mod_stats.xml +msgid "Display hit counter" +msgstr "" + +#: modules/mod_stats.xml +msgid "Display server information" +msgstr "" + +#: modules/mod_stats.xml +msgid "Display site information" +msgstr "" + +#: modules/mod_stats.xml +msgid "Enter the amount of hits to increase counter by" +msgstr "" + +#: modules/mod_stats.xml +msgid "Hit Counter" +msgstr "" + +#: modules/mod_stats.xml +msgid "Increase counter" +msgstr "" + +#: modules/mod_stats.xml +msgid "Server Info" +msgstr "" + +#: modules/mod_stats.xml +msgid "Site Info" +msgstr "" + +#: modules/mod_stats.xml +msgid "Statistics" +msgstr "" + +#: modules/mod_stats.xml +msgid "" +"The Statistics module shows information about your server installation and " +"statistics on the web site users, number of contents in your database, and " +"number of web links you provide." +msgstr "" + +#: modules/mod_templatechooser.php:77 +msgid "Select" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "Height" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "Max. Name Length" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "Show Preview" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "Template Chooser" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "Template preview is to be shown" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "" +"The Template Chooser module allows the user (visitor) to change the template " +"on the fly from the front-end via a drop down selection list." +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "This is the height of the preview image (default 90)" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "This is the maximum length of the template name to display (default 20)" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "This is the width of the preview image (default 140)" +msgstr "" + +#: modules/mod_templatechooser.xml +msgid "Width" +msgstr "" + +#: modules/mod_whosonline.php:30 +#, php-format +msgid "We have %d guest online" +msgid_plural "We have %d guests online" +msgstr[0] "" +msgstr[1] "" + +#: modules/mod_whosonline.php:34 +#, php-format +msgid "We have %d member online" +msgid_plural "We have %d members online" +msgstr[0] "" +msgstr[1] "" + +#: modules/mod_whosonline.php:38 +#, php-format +msgid "We have %d guest online and " +msgid_plural "We have %d guests online and " +msgstr[0] "" +msgstr[1] "" + +#: modules/mod_whosonline.php:39 +#, php-format +msgid " %d member online" +msgid_plural " %d members online" +msgstr[0] "" +msgstr[1] "" + +#: modules/mod_whosonline.php:57 +msgid "No Users Online" +msgstr "" + +#: modules/mod_whosonline.xml +msgid "# of Guests/Members" +msgstr "" + +#: modules/mod_whosonline.xml +msgid "Display" +msgstr "" + +#: modules/mod_whosonline.xml +msgid "Member Names" +msgstr "" + +#: modules/mod_whosonline.xml +msgid "Select what shall be shown" +msgstr "" + +#: modules/mod_whosonline.xml +msgid "" +"The Who's Online module displays the number of anonymous (that is, Guest) " +"users and Registered users, (those that are logged in) that are currently " +"accessing the web site." +msgstr "" + +#: modules/mod_whosonline.xml +msgid "Who's Online" +msgstr "" + +#: modules/mod_wrapper.xml +msgid "This module shows an IFrame window to specified location" +msgstr "" + +#: modules/mod_wrapper.xml +msgid "Url" +msgstr "" + +#: modules/mod_wrapper.xml +msgid "Url to site/file you wish to display within the Iframe" +msgstr "" + +#: modules/mod_wrapper.xml +msgid "Wrapper Module" +msgstr "" + +#: templates/waterandstone/templateDetails.xml +msgid "" +"The Water and Stone Grey Template optimized for 1024px width resolution for " +"use with any type of website with easy customization" +msgstr "" + +#: templates/waterandstone/templateDetails.xml +msgid "waterandstone" +msgstr "" + +#: templates/waterandstone800/templateDetails.xml +msgid "" +"The Water and Stone Grey Template optimized for 800px width resolution for " +"use with any type of website with easy customization" +msgstr "" + +#: templates/waterandstone800/templateDetails.xml +msgid "waterandstone800" +msgstr "" + +#: templates/waterandstone800_blue/templateDetails.xml +msgid "" +"The Water and Stone Blue Template optimized for 800px x 600px screen " +"resolution for use with any type of website with easy customization" +msgstr "" + +#: templates/waterandstone800_blue/templateDetails.xml +msgid "waterandstone800_blue" +msgstr "" + +#: templates/waterandstone800_green/templateDetails.xml +msgid "" +"The Water and Stone Green Template optimized for 800px x 600px screen " +"resolution for use with any type of website with easy customization" +msgstr "" + +#: templates/waterandstone800_green/templateDetails.xml +msgid "waterandstone800_green" +msgstr "" + +#: templates/waterandstone800_greenandblack/templateDetails.xml +msgid "" +"The Water and Stone Green and Black Template optimized for 800px x 600px " +"screen resolution for use with any type of website with easy customization" +msgstr "" + +#: templates/waterandstone800_greenandblack/templateDetails.xml +msgid "waterandstone800_greenandblack" +msgstr "" + +#: templates/waterandstone_blue/templateDetails.xml +msgid "" +"The Water and Stone Blue Template optimized for 1024px x 768px screen " +"resolution for use with any type of website with easy customization" +msgstr "" + +#: templates/waterandstone_blue/templateDetails.xml +msgid "waterandstone_blue" +msgstr "" + +#: templates/waterandstone_green/templateDetails.xml +msgid "" +"The Water and Stone Green Template optimized for 1024px x 768px screen " +"resolution for use with any type of website with easy customization" +msgstr "" + +#: templates/waterandstone_green/templateDetails.xml +msgid "waterandstone_green" +msgstr "" + +#: templates/waterandstone_greenandblack/templateDetails.xml +msgid "" +"The Water and Stone Green and Black Template optimized for 1024px x 768px " +"screen resolution for use with any type of website with easy customization" +msgstr "" + +#: templates/waterandstone_greenandblack/templateDetails.xml +msgid "waterandstone_greenandblack" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/frontpage.pot 4.6-complete/uploadfiles/language/untranslated/frontpage.pot --- 4.6rc2/uploadfiles/language/untranslated/frontpage.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/frontpage.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,457 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:30 +msgid "Frontpage Manager" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:44 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:61 +msgid "Title" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:64 +#: administrator/components/com_frontpage/admin.frontpage.html.php:101 +#: administrator/components/com_frontpage/admin.frontpage.html.php:104 +msgid "Published" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:67 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:70 +msgid "Order" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:73 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:76 +msgid "Access" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:79 +msgid "Section" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:82 +msgid "Category" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:85 +msgid "Author" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:107 +msgid "Expired" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:110 +msgid "Unpublished" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:116 +msgid "Always" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:116 +#: administrator/components/com_frontpage/admin.frontpage.html.php:118 +msgid "Start:" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:123 +#: administrator/components/com_frontpage/admin.frontpage.html.php:125 +msgid "Finish:" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:123 +msgid "No Expiry" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:137 +msgid "Edit User" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:160 +msgid "Edit Content" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:171 +msgid "Publish Information" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:191 +msgid "Edit Section" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.html.php:196 +msgid "Edit Category" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:20 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:154 +msgid "- All Categories -" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:173 +msgid "- All Authors -" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:190 +msgid "archive" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:190 +msgid "publish" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:190 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:191 +msgid "Select an item to %a" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:218 +msgid "Select an item to delete" +msgstr "" + +#: administrator/components/com_frontpage/admin.frontpage.php:296 +msgid "New ordering saved" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Intro" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Leading" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "# Links" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Author Alphabetical" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Author Names" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Author Reverse-Alphabetical" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Auto" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Category Name" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Category Name Linkable" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Category Order" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Columns" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Created Date and Time" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Default" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Display {mosimages}." +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Email Icon" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Frontpage" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Frontpage Ordering" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Item Rating" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Item Titles" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Least Hits" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Linked Titles" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "MOSImages" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Make the Category text a link to the actual Category page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Make the Section text a link to the actual section page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Make your Item titles linkable" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Menu Image" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Modified Date and Time" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Most Hits" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Most recent first" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "No" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "No, order by Primary Order only" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Number of Items to display as Links." +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"Number of Items to display as a leading (full width) item. 0 will mean that " +"no items will be displayed as leading." +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Number of Items to display with the introduction text shown." +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Oldest first" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Order items by catgeory" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Order that the items will be displayed in." +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Ordering" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "PDF Icon" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Pagination" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Pagination Results" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Primary Order" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Print Icon" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Read More" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Section Name" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Section Name Linkable" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide Pagination Results info ( e.g 1-4 of 4 )" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide Pagination support" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the Category the item belongs to" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the Page title" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the Read More link" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the Section the item belongs to" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the item author - only affects this page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the item creation date - only affects this page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the item email button - only affects this page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the item modification date - only affects this page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the item pdf button - only affects this page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the item rating - only affects this page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Show/Hide the items title" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Text to display at the top of the page" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "" +"This component shows all the published content items from your site marked " +"Show on Frontpage." +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Title Alphabetical" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Title Reverse-Alphabetical" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Use Global" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "When displaying the intro text, how many columns to use per row" +msgstr "" + +#: administrator/components/com_frontpage/frontpage.xml +msgid "Yes" +msgstr "" + +#: administrator/components/com_frontpage/toolbar.frontpage.html.php:25 +msgid "Remove" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/installation.pot 4.6-complete/uploadfiles/language/untranslated/installation.pot --- 4.6rc2/uploadfiles/language/untranslated/installation.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/installation.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,577 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: installation/index.php:30 installation/index.php:207 +#: installation/index.php:211 installation/index.php:212 +#: installation/index.php:213 installation/index.php:214 +msgid "OFF" +msgstr "" + +#: installation/index.php:30 installation/index.php:208 +#: installation/index.php:209 installation/index.php:210 +msgid "ON" +msgstr "" + +#: installation/index.php:37 installation/index.php:161 +#: installation/index.php:171 installation/install.php:22 +msgid "Unwriteable" +msgstr "" + +#: installation/index.php:37 installation/index.php:157 +#: installation/index.php:159 installation/index.php:171 +#: installation/install.php:22 +msgid "Writeable" +msgstr "" + +#: installation/index.php:46 installation/install.php:30 +#: installation/install1.php:30 installation/install2.php:182 +#: installation/install3.php:50 installation/install4.php:309 +msgid "Mambo - Web Installer" +msgstr "" + +#: installation/index.php:69 installation/install.php:54 +msgid "Please read/accept license to continue installation" +msgstr "" + +#: installation/index.php:81 installation/install.php:65 +#: installation/install1.php:64 installation/install2.php:205 +#: installation/install3.php:112 installation/install4.php:316 +msgid "Mambo Installation" +msgstr "" + +#: installation/index.php:88 installation/index.php:98 +#: installation/install.php:72 installation/install1.php:71 +#: installation/install2.php:219 installation/install3.php:125 +#: installation/install4.php:323 +msgid "pre-installation check" +msgstr "" + +#: installation/index.php:89 installation/install.php:73 +#: installation/install.php:80 installation/install1.php:72 +#: installation/install2.php:220 installation/install3.php:126 +#: installation/install4.php:324 +msgid "license" +msgstr "" + +#: installation/index.php:90 installation/install.php:74 +#: installation/install1.php:73 installation/install2.php:221 +#: installation/install3.php:127 installation/install4.php:325 +msgid "step 1" +msgstr "" + +#: installation/index.php:91 installation/install.php:75 +#: installation/install1.php:74 installation/install2.php:222 +#: installation/install2.php:232 installation/install3.php:128 +#: installation/install4.php:326 +msgid "step 2" +msgstr "" + +#: installation/index.php:92 installation/install.php:76 +#: installation/install1.php:75 installation/install2.php:223 +#: installation/install3.php:129 installation/install3.php:133 +#: installation/install4.php:327 +msgid "step 3" +msgstr "" + +#: installation/index.php:93 installation/install.php:77 +#: installation/install1.php:76 installation/install2.php:224 +#: installation/install3.php:130 installation/install4.php:328 +#: installation/install4.php:331 +msgid "step 4" +msgstr "" + +#: installation/index.php:101 installation/install2.php:229 +#: installation/install3.php:135 +msgid "Next" +msgstr "" + +#: installation/index.php:105 +msgid "Pre-installation check for:" +msgstr "" + +#: installation/index.php:106 +msgid "" +"\n" +"If any of these items are highlighted\n" +"in red then please take actions to correct them. Failure to do so\n" +"could lead to your Mambo installation not functioning\n" +"correctly." +msgstr "" + +#: installation/index.php:120 +msgid "PHP version" +msgstr "" + +#: installation/index.php:123 +msgid "No" +msgstr "" + +#: installation/index.php:123 +msgid "Yes" +msgstr "" + +#: installation/index.php:128 +msgid "zlib compression support" +msgstr "" + +#: installation/index.php:131 installation/index.php:139 +#: installation/index.php:147 +msgid "Available" +msgstr "" + +#: installation/index.php:131 installation/index.php:139 +#: installation/index.php:147 +msgid "Unavailable" +msgstr "" + +#: installation/index.php:136 +msgid "XML support" +msgstr "" + +#: installation/index.php:144 +msgid "MySQL support" +msgstr "" + +#: installation/index.php:161 +msgid "" +"You can still continue the install as the configuration will be displayed at " +"the end, just copy & paste this and upload." +msgstr "" + +#: installation/index.php:167 +msgid "Session save path" +msgstr "" + +#: installation/index.php:179 +msgid "Recommended settings:" +msgstr "" + +#: installation/index.php:181 +msgid "" +"These settings are recommended for PHP in order to ensure full\n" +"compatibility with Mambo.\n" +"However, Mambo will still operate if your settings do not quite match the " +"recommended." +msgstr "" + +#: installation/index.php:197 +msgid "Directive" +msgstr "" + +#: installation/index.php:200 +msgid "Recommended" +msgstr "" + +#: installation/index.php:203 +msgid "Actual" +msgstr "" + +#: installation/index.php:245 +msgid "Directory and File Permissions:" +msgstr "" + +#: installation/index.php:247 +msgid "" +"In order for Mambo to function\n" +"correctly it needs to be able to access or write to certain files\n" +"or directories. If you see \"Unwriteable\" you need to change the\n" +"permissions on the file or directory to allow Mambo\n" +"to write to it." +msgstr "" + +#: installation/install.php:85 +msgid "GNU/GPL License:" +msgstr "" + +#: installation/install.php:87 +msgid "" +"Mambo is Free Software " +"released under the GNU/GPL " +"License .\n" +"\t\t\t\t
      *** To continue installing Mambo you must check " +"the box under the license ***
      " +msgstr "" + +#: installation/install.php:102 +msgid "I understand that this software is released under the GNU/GPL License" +msgstr "" + +#: installation/install1.php:42 +msgid "Please enter a Host name" +msgstr "" + +#: installation/install1.php:46 +msgid "Please enter a Database User Name" +msgstr "" + +#: installation/install1.php:50 +msgid "Please enter a Name for your new Database" +msgstr "" + +#: installation/install1.php:53 +msgid "" +"Are you sure these settings are correct? \\nMambo will now attempt to " +"populate a Database with the settings you have supplied" +msgstr "" + +#: installation/install1.php:84 +msgid "MySQL database configuration:" +msgstr "" + +#: installation/install1.php:85 +msgid "" +"\n" +" \t \t\t\t

      Setting up Mambo to run on your server involves 4 simple " +"steps...

      \n" +" \t \t\t\t

      Please enter the hostname of the server Mambo is to be " +"installed on.

      \n" +"\t\t\t\t

      Enter the MySQL username, password and database name you wish to " +"use with Mambo.

      \n" +"\t\t\t\t

      Enter the table name prefix to be used by this Mambo instance and " +"select how\n" +"\t\t\t\t to do with in case existing tables from former installations.\n" +"\t\t\t\t

      Install the samples unless you are experianced Mamber wanting to " +"start with a completely empty site.

      \n" +"\t\t\t\t" +msgstr "" + +#: installation/install1.php:103 +msgid "Host Name" +msgstr "" + +#: installation/install1.php:104 +msgid "This is usually \"localhost\"" +msgstr "" + +#: installation/install1.php:107 +msgid "MySQL User Name" +msgstr "" + +#: installation/install1.php:108 +msgid "Either something as \"root\" or a username given by the hoster" +msgstr "" + +#: installation/install1.php:111 +msgid "MySQL Password" +msgstr "" + +#: installation/install1.php:112 +msgid "For site security using a password for the mysql account is mandatory" +msgstr "" + +#: installation/install1.php:115 +msgid "Verify MySQL Password" +msgstr "" + +#: installation/install1.php:116 +msgid "Retype password for verification" +msgstr "" + +#: installation/install1.php:119 +msgid "MySQL Database Name" +msgstr "" + +#: installation/install1.php:120 +msgid "" +"Some hosts allow only a certain DB name per site. Use table prefix in this " +"case for distinct mambo sites." +msgstr "" + +#: installation/install1.php:123 +msgid "MySQL Table Prefix" +msgstr "" + +#: installation/install1.php:124 +msgid "Dont use \"old_\" since this is used for backup tables" +msgstr "" + +#: installation/install1.php:128 +msgid "Drop Existing Tables" +msgstr "" + +#: installation/install1.php:133 +msgid "Backup Old Tables" +msgstr "" + +#: installation/install1.php:134 +msgid "" +"Any exiting backup tables from former mambo installations will be replaced" +msgstr "" + +#: installation/install1.php:138 +msgid "Install Sample Data" +msgstr "" + +#: installation/install1.php:139 +msgid "Dont uncheck this unless you are experienced with mambo!" +msgstr "" + +#: installation/install2.php:37 +msgid "The database details provided are incorrect and/or empty." +msgstr "" + +#: installation/install2.php:41 +msgid "The database passwords provided do not match. Please try again." +msgstr "" + +#: installation/install2.php:45 +msgid "The password and username provided are incorrect." +msgstr "" + +#: installation/install2.php:49 +msgid "The database name provided is empty." +msgstr "" + +#: installation/install2.php:64 +msgid "A database error occurred: " +msgstr "" + +#: installation/install2.php:193 +msgid "Please enter a Site Name" +msgstr "" + +#: installation/install2.php:235 +msgid "Enter the name of your Mambo site:" +msgstr "" + +#: installation/install2.php:238 +msgid "" +"Looks like there have been some errors with inserting data into your " +"database!
      \n" +" \t\t\tYou cannot continue." +msgstr "" + +#: installation/install2.php:241 +msgid "SUCCESS!" +msgstr "" + +#: installation/install2.php:244 +msgid "" +"Type in the name for your Mambo site. This\n" +"\t\t\tname is used in email messages so make it something meaningful." +msgstr "" + +#: installation/install2.php:255 +msgid "Error log:" +msgstr "" + +#: installation/install2.php:266 +msgid "Site name" +msgstr "" + +#: installation/install2.php:271 +msgid "e.g. The Home of Mambo" +msgstr "" + +#: installation/install3.php:41 +msgid "The sitename has not been provided" +msgstr "" + +#: installation/install3.php:61 +msgid "Please enter Site URL" +msgstr "" + +#: installation/install3.php:65 +msgid "Please enter the absolute path to your site" +msgstr "" + +#: installation/install3.php:69 +msgid "Please enter an email address to contact your administrator" +msgstr "" + +#: installation/install3.php:73 +msgid "Please enter a password for you administrator" +msgstr "" + +#: installation/install3.php:138 +msgid "Confirm the site URL, path, admin e-mail and file/directory chmods" +msgstr "" + +#: installation/install3.php:139 +msgid "" +"\n" +"\t\t\t\t

      If URL and Path looks correct then please do not change.\n" +"\t\t\t\t If you are not sure then please contact your ISP or administrator. " +"Usually\n" +"\t\t\t\t the values displayed will work for your site.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t Enter your e-mail address, this will be the e-mail address of the " +"site\n" +"\t\t\t\t SuperAdministrator.
      \n" +"\t\t\t\t
      \n" +"\t\t\t\t The permission settings will be used while installing mambo " +"itself, by\n" +"\t\t\t\t the mambo addon-installers and by the media manager. If you are " +"unsure\n" +"\t\t\t\t what flags shall be set, leave the default settings at the " +"moment.\n" +"\t\t\t\t You can still change these flags later in the site global " +"configuration.

      " +msgstr "" + +#. if +#: installation/install3.php:202 +msgid "File Permissions" +msgstr "" + +#: installation/install3.php:206 +msgid "Dont CHMOD files (use server defaults)" +msgstr "" + +#: installation/install3.php:210 +msgid "CHMOD files to:" +msgstr "" + +#: installation/install3.php:217 +msgid "User:" +msgstr "" + +#: installation/install3.php:219 installation/install3.php:228 +#: installation/install3.php:237 installation/install3.php:277 +#: installation/install3.php:286 installation/install3.php:295 +msgid "read" +msgstr "" + +#: installation/install3.php:221 installation/install3.php:230 +#: installation/install3.php:239 installation/install3.php:279 +#: installation/install3.php:288 installation/install3.php:297 +msgid "write" +msgstr "" + +#: installation/install3.php:223 installation/install3.php:232 +#: installation/install3.php:241 +msgid "execute" +msgstr "" + +#: installation/install3.php:226 +msgid "Group:" +msgstr "" + +#: installation/install3.php:235 +msgid "World:" +msgstr "" + +#. if +#: installation/install3.php:260 +msgid "Directory Permissions" +msgstr "" + +#: installation/install3.php:264 +msgid "Dont CHMOD directories (use server defaults)" +msgstr "" + +#: installation/install3.php:268 +msgid "CHMOD directories to:" +msgstr "" + +#: installation/install3.php:281 installation/install3.php:290 +#: installation/install3.php:299 +msgid "search" +msgstr "" + +#: installation/install4.php:70 +msgid "You must provide a valid admin email address." +msgstr "" + +#: installation/install4.php:96 +msgid "The database details provided are incorrect and/or empty" +msgstr "" + +#: installation/install4.php:158 +msgid "This site is down for maintenance.
      Please check back again soon." +msgstr "" + +#: installation/install4.php:159 +msgid "" +"This site is temporarily unavailable.
      Please notify the System " +"Administrator" +msgstr "" + +#: installation/install4.php:162 +msgid "Mambo - the dynamic portal engine and content management system" +msgstr "" + +#. chmod files and directories if desired +#: installation/install4.php:238 +msgid "Directory and file permissions left unchanged." +msgstr "" + +#: installation/install4.php:280 +msgid "File and directory permissions successfully changed." +msgstr "" + +#: installation/install4.php:282 +msgid "File and directory permissions could not be changed.
      " +msgstr "" + +#: installation/install4.php:283 +msgid "Please CHMOD mambo files and directories manually." +msgstr "" + +#: installation/install4.php:301 +msgid "The site url has not been provided" +msgstr "" + +#: installation/install4.php:333 +msgid "View Site" +msgstr "" + +#: installation/install4.php:341 +msgid "Administration" +msgstr "" + +#: installation/install4.php:351 +msgid "Congratulations! Mambo is installed" +msgstr "" + +#: installation/install4.php:352 +msgid "" +"\n" +"\t\t\t\t

      Click the \"View Site\" button to start Mambo site or " +"\"Administration\"\n" +"\t\t\t\t to take you to administrator login. Please take a moment to fill " +"out the form below.

      " +msgstr "" + +#: installation/install4.php:359 +msgid "PLEASE REMEMBER TO COMPLETELY
      REMOVE THE INSTALLATION DIRECTORY" +msgstr "" + +#: installation/install4.php:360 +msgid "Administration Login Details" +msgstr "" + +#: installation/install4.php:361 +msgid "Username :" +msgstr "" + +#: installation/install4.php:362 +msgid "Password :" +msgstr "" + +#: installation/install4.php:367 +msgid "" +"\n" +"\t\t\t\t\t\t\t\tYour configuration file or directory is not writeable,\n" +"\t\t\t\t\t\t\t\tor there was a problem creating the configuration file. " +"You'll have to\n" +"\t\t\t\t\t\t\t\tupload the following code by hand. Click in the textarea to " +"highlight\n" +"\t\t\t\t\t\t\t\tall of the code." +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/installer.pot 4.6-complete/uploadfiles/language/untranslated/installer.pot --- 4.6rc2/uploadfiles/language/untranslated/installer.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/installer.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,573 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_installer/admin.installer.html.php:20 +msgid "Unwriteable" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:20 +msgid "Writeable" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:37 +#: administrator/components/com_installer/admin.installer.php:154 +msgid "Please select a directory" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:58 +msgid "Upload Package File" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:63 +msgid "Package File:" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:65 +msgid "Upload File & Install" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:85 +msgid "Install from directory" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:90 +msgid "Install directory:" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:92 +msgid "Install" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:112 +msgid "Install from HTTP URL" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:117 +msgid "Install HTTP URL:" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:119 +msgid "Upload URL & Install" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:136 +msgid "Sorry, it seems that The Source is not available" +msgstr "" + +#: administrator/components/com_installer/admin.installer.html.php:190 +msgid "Continue ..." +msgstr "" + +#. * +#. * @package Mambo Open Source +#. * @subpackage Installer +#. * @copyright (C) 2005 - 2006 Mambo Foundation Inc. +#. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +#. * +#. * Mambo was originally developed by Miro (www.miro.com.au) in 2000. Miro assigned the copyright in Mambo to The Mambo Foundation in 2005 to ensure +#. * that Mambo remained free Open Source software owned and managed by the community. +#. * Mambo is Free Software +#. +#. * ensure this file is being included by a parent file +#: administrator/components/com_installer/admin.installer.php:14 +msgid "Direct Access to this location is not allowed." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:23 +#: administrator/components/com_installer/component/component.php:18 +#: administrator/components/com_installer/language/language.php:18 +#: administrator/components/com_installer/mambot/mambot.php:18 +#: administrator/components/com_installer/module/module.php:18 +#: administrator/components/com_installer/template/template.php:18 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:67 +msgid "There was nothing selected to be uninstalled" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:69 +#, php-format +msgid "Uninstaller not found for element [%s]" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:78 +#, php-format +msgid "Installer not found for element [%s]" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:84 +#, php-format +msgid "Installer not available for element [%s]" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:109 +msgid "" +"The installer can't continue before file uploads are enabled. Please use the " +"install from directory method." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:110 +#: administrator/components/com_installer/admin.installer.php:117 +#: administrator/components/com_installer/admin.installer.php:180 +#: administrator/components/com_installer/admin.installer.php:187 +msgid "Installer - Error" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:116 +#: administrator/components/com_installer/admin.installer.php:173 +msgid "The installer can't continue before zlib is installed" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:124 +msgid "No file selected" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:125 +msgid "Upload new module - error" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:135 +#, php-format +msgid "Upload %s - Upload Failed" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:140 +#: administrator/components/com_installer/admin.installer.php:193 +#: administrator/components/com_installer/admin.installer.php:198 +msgid "Failed" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:140 +#: administrator/components/com_installer/admin.installer.php:163 +#: administrator/components/com_installer/admin.installer.php:198 +#: administrator/components/com_installer/admin.installer.php:297 +#: administrator/components/com_installer/admin.installer.php:310 +#: administrator/components/com_installer/admin.installer.php:344 +#: administrator/components/com_installer/admin.installer.php:387 +#: administrator/components/com_installer/admin.installer.php:413 +#: administrator/components/com_installer/admin.installer.php:432 +msgid "Success" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:140 +#: administrator/components/com_installer/admin.installer.php:193 +#: administrator/components/com_installer/admin.installer.php:198 +#: administrator/components/com_installer/admin.installer.php:201 +msgid "Upload " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:143 +#, php-format +msgid "Upload %s - Upload Error" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:163 +#: administrator/components/com_installer/admin.installer.php:201 +#: administrator/components/com_installer/admin.installer.php:297 +#: administrator/components/com_installer/admin.installer.php:344 +#: administrator/components/com_installer/admin.installer.php:387 +#: administrator/components/com_installer/admin.installer.php:432 +msgid "Error" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:163 +msgid "Install new " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:179 +msgid "Please select an HTTP URL" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:186 +msgid "The URL did not define a file name" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:220 +#: administrator/components/com_installer/admin.installer.php:253 +msgid "Failed to change the permissions of the uploaded file." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:223 +msgid "Failed to move uploaded file to /media directory." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:226 +#: administrator/components/com_installer/admin.installer.php:259 +msgid "Upload failed as /media directory is not writable." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:229 +#: administrator/components/com_installer/admin.installer.php:261 +msgid "Upload failed as /media directory does not exist." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:255 +msgid "Failed to open the local file from the URL." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:257 +msgid "Failed to open the specified URL." +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:278 +#: administrator/components/com_installer/admin.installer.php:362 +#: administrator/components/com_installer/admin.installer.php:368 +#: administrator/components/com_installer/admin.installer.php:373 +#: administrator/components/com_installer/admin.installer.php:437 +msgid "Uninstall - error" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:282 +#, php-format +msgid "" +"Component %s is a core component, and can not be uninstalled.
      You need " +"to unpublish it if you don't want to use it" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:297 +msgid "Uninstall component - " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:309 +msgid "Uninstaller could not find XML file, but cleaned database" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:310 +msgid "Uninstall " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:310 +msgid "component - " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:328 +#, php-format +msgid "" +"%s is a core module, and can not be uninstalled.
      You need to unpublish " +"it if you don't want to use it" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:344 +msgid "Uninstall module - " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:367 +msgid "Invalid object id" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:372 +msgid "Folder field empty, cannot remove files" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:385 +msgid "Uninstaller did its best with no XML file present" +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:387 +msgid "Uninstall mambot - " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:412 +msgid "Uninstall template - " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:432 +msgid "Uninstall language - " +msgstr "" + +#: administrator/components/com_installer/admin.installer.php:436 +msgid "Language id empty, cannot remove files" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:28 +msgid "Installed Components" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:36 +msgid "Currently Installed" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:39 +msgid "Component Menu Link" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:42 +#: administrator/components/com_installer/mambot/mambot.html.php:55 +#: administrator/components/com_installer/module/module.html.php:51 +msgid "Author" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:45 +#: administrator/components/com_installer/mambot/mambot.html.php:58 +#: administrator/components/com_installer/module/module.html.php:54 +msgid "Version" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:48 +#: administrator/components/com_installer/mambot/mambot.html.php:61 +#: administrator/components/com_installer/module/module.html.php:57 +msgid "Date" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:51 +#: administrator/components/com_installer/mambot/mambot.html.php:64 +#: administrator/components/com_installer/module/module.html.php:60 +msgid "Author Email" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:54 +#: administrator/components/com_installer/mambot/mambot.html.php:67 +#: administrator/components/com_installer/module/module.html.php:63 +msgid "Author URL" +msgstr "" + +#: administrator/components/com_installer/component/component.html.php:94 +msgid "There are no custom components installed" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:58 +#, php-format +msgid "XML error in %s: no handler %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:60 +#, php-format +msgid "XML error in %s: mosinstall has no type" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:65 +#, php-format +msgid "XML Error in %s: install has no name" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:92 +#, php-format +msgid "XML error in %s: MENU found, but this is not component XML" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:129 +#, php-format +msgid "XML Error in %s: Mambot does not have a group specified" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:160 +#, php-format +msgid "XML error in %s: no installer %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:178 +#, php-format +msgid "Installer error with %s: unable to create admin directory for %s %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:185 +#, php-format +msgid "Installer error with %s: unable to create user directory for %s %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:211 +#, php-format +msgid "Installer error with %s: writing component menu SQL error %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:223 +#: administrator/components/com_installer/installer.class.php:270 +#: administrator/components/com_installer/installer.class.php:307 +#: administrator/components/com_installer/installer.class.php:335 +#: administrator/components/com_installer/installer.class.php:377 +#, php-format +msgid "Installer error with %s: %s %s already installed" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:239 +#: administrator/components/com_installer/installer.class.php:292 +#: administrator/components/com_installer/installer.class.php:326 +#: administrator/components/com_installer/installer.class.php:388 +#, php-format +msgid "Installer error with %s: %s %s SQL error %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:261 +#: administrator/components/com_installer/installer.class.php:299 +#, php-format +msgid "Installer error with %s: no file identified as the %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:400 +#, php-format +msgid "Patch install error with %s: cannot write %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:406 +#, php-format +msgid "Patch install error with %s: cannot delete %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:411 +#, php-format +msgid "Patch install error with %s: file permissions prevent patch application" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:416 +#, php-format +msgid "Patch install error with %s: failed to delete %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:422 +#, php-format +msgid "Patch install error with %s: failed to write %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:426 +#, php-format +msgid "Patch install error with %s: check was OK, but application failed" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:427 +#, php-format +msgid "Patch install %s: completed successfully" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:495 +#, php-format +msgid "Uninstaller error with %s: no uninstaller %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:535 +#, php-format +msgid "Uninstaller error with %s: %s %s SQL error %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:545 +#: administrator/components/com_installer/installer.class.php:567 +#: administrator/components/com_installer/installer.class.php:586 +#, php-format +msgid "Uninstaller error with %s: %s %s not fully deleted from database" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:558 +#, php-format +msgid "Uninstaller error with %s: no file identified as the %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:663 +#, php-format +msgid "Installer unrecoverable ZIP error %s in %s" +msgstr "" + +#: administrator/components/com_installer/installer.class.php:672 +#, php-format +msgid "Installer unrecoverable TAR error in %s" +msgstr "" + +#: administrator/components/com_installer/language/language.php:21 +msgid "Back to Language Manager" +msgstr "" + +#: administrator/components/com_installer/language/language.php:22 +msgid "Install new Language - Site" +msgstr "" + +#: administrator/components/com_installer/mambot/mambot.html.php:27 +msgid "Installed Mambots" +msgstr "" + +#: administrator/components/com_installer/mambot/mambot.html.php:32 +msgid "" +"Only those Mambots that can be uninstalled are displayed - some Core Mambots " +"cannot be removed." +msgstr "" + +#: administrator/components/com_installer/mambot/mambot.html.php:43 +msgid "Mambot" +msgstr "" + +#: administrator/components/com_installer/mambot/mambot.html.php:46 +msgid "Type" +msgstr "" + +#: administrator/components/com_installer/mambot/mambot.html.php:122 +msgid "There are no non-core, custom mambots installed." +msgstr "" + +#: administrator/components/com_installer/module/module.html.php:25 +msgid "Installed Modules" +msgstr "" + +#: administrator/components/com_installer/module/module.html.php:28 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_installer/module/module.html.php:36 +msgid "" +"Only those Modules that can be uninstalled are displayed - some Core Modules " +"cannot be removed." +msgstr "" + +#: administrator/components/com_installer/module/module.html.php:45 +msgid "Module File" +msgstr "" + +#: administrator/components/com_installer/module/module.html.php:48 +msgid "Client" +msgstr "" + +#: administrator/components/com_installer/module/module.html.php:75 +#: administrator/components/com_installer/template/template.php:26 +msgid "Administrator" +msgstr "" + +#: administrator/components/com_installer/module/module.html.php:75 +#: administrator/components/com_installer/template/template.php:26 +msgid "Site" +msgstr "" + +#: administrator/components/com_installer/module/module.html.php:99 +msgid "No custom modules installed" +msgstr "" + +#: administrator/components/com_installer/module/module.php:32 +msgid "All" +msgstr "" + +#: administrator/components/com_installer/module/module.php:33 +msgid "Site Modules" +msgstr "" + +#: administrator/components/com_installer/module/module.php:34 +msgid "Admin Modules" +msgstr "" + +#: administrator/components/com_installer/template/template.php:26 +msgid "Install new Template" +msgstr "" + +#: administrator/components/com_installer/template/template.php:28 +msgid "Back to Templates" +msgstr "" + +#: administrator/components/com_installer/toolbar.installer.html.php:27 +msgid "Uninstall" +msgstr "" + +#: administrator/components/com_installer/universal/universal.php:25 +msgid "" +"Install Mambo plugin (component, module, mambot, template, include, " +"parameter, composite)" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/languages.pot 4.6-complete/uploadfiles/language/untranslated/languages.pot --- 4.6rc2/uploadfiles/language/untranslated/languages.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/languages.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,394 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_languages/actions/default.action.php:25 +msgid "Default Language succesfully updated!" +msgstr "" + +#: administrator/components/com_languages/actions/default.action.php:27 +#: administrator/components/com_languages/actions/publish.action.php:40 +msgid "Error! Make sure that configuration.php is writeable." +msgstr "" + +#: administrator/components/com_languages/actions/publish.action.php:38 +msgid "Configuration succesfully updated!" +msgstr "" + +#: administrator/components/com_languages/admin.languages.php:19 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_languages/toolbar.languages.php:42 +#: administrator/components/com_languages/toolbar.languages.php:71 +msgid "Manage Translations" +msgstr "" + +#: administrator/components/com_languages/toolbar.languages.php:45 +msgid "Auto Translate" +msgstr "" + +#: administrator/components/com_languages/toolbar.languages.php:68 +msgid "Scan Sources" +msgstr "" + +#: administrator/components/com_languages/toolbar.languages.php:73 +msgid "Export" +msgstr "" + +#: administrator/components/com_languages/toolbar.languages.php:98 +msgid "Update" +msgstr "" + +#: administrator/components/com_languages/views/catalogs.view.php:22 +#, php-format +msgid "Manage Translations: %s" +msgstr "" + +#: administrator/components/com_languages/views/edit.view.php:28 +#: administrator/components/com_languages/views/edit.view.php:43 +#: administrator/components/com_languages/views/templates/langform.tpl.php:106 +#: administrator/components/com_languages/views/templates/langform.tpl.php:153 +#: administrator/components/com_languages/views/templates/languages.tpl.php:21 +msgid "Language" +msgstr "" + +#: administrator/components/com_languages/views/edit.view.php:28 +msgid "New language" +msgstr "" + +#: administrator/components/com_languages/views/edit.view.php:43 +msgid "Edit language" +msgstr "" + +#: administrator/components/com_languages/views/edit.view.php:72 +#, php-format +msgid "Translate Catalog: %s [%s]" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:23 +msgid "Language File" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:24 +msgid "% Translated" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:25 +msgid "Total Strings" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:26 +msgid "Translated Strings" +msgstr "" + +#: administrator/components/com_languages/views/templates/catalogs.tpl.php:27 +msgid "Fuzzy" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:11 +msgid "You must provide a Language Name." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:13 +msgid "You must provide a Language Identifier." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:15 +msgid "You must provide a locale." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:17 +msgid "You must provide a character encoding." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:19 +msgid "You must provide a date format." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:33 +msgid "New Language" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:40 +#: administrator/components/com_languages/views/templates/langform.tpl.php:147 +msgid "Details" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:43 +msgid "Language Identifier" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:46 +msgid "" +"The identifier for this language. This is used for naming the language xml " +"file and translations directory." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:50 +msgid "Language Name" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:53 +msgid "The official name for this language" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:57 +msgid "Locale" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:60 +msgid "" +"The locale list for this language. \\nLocale names must be comma separated." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:64 +msgid "Encoding" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:67 +msgid "The character encoding for this language. Ex. utf-8" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:71 +msgid "Direction" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:74 +msgid "Left-to-Right" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:75 +msgid "Right-to-Left" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:77 +msgid "Text direction." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:81 +#: administrator/components/com_languages/views/templates/langform.tpl.php:230 +msgid "Date Format" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:84 +#: administrator/components/com_languages/views/templates/langform.tpl.php:233 +msgid "Date format for strftime()." +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:88 +msgid "Plural forms" +msgstr "" + +#: administrator/components/com_languages/views/templates/edit.tpl.php:91 +msgid "Plural forms for gettext." +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:18 +msgid "Messages" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:23 +msgid "Verified" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:26 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:114 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:121 +msgid "Original" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:29 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:116 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:125 +msgid "Translation" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:32 +msgid "Ref" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:55 +msgid "Translation OK" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:55 +msgid "Verify Translation" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:86 +msgid "Headers" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:100 +msgid "Comments" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:122 +msgid "Singular" +msgstr "" + +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:123 +#: administrator/components/com_languages/views/templates/editcatalog.tpl.php:132 +msgid "Plural" +msgstr "" + +#: administrator/components/com_languages/views/templates/form.tpl.php:39 +msgid "Mambo Language Editor" +msgstr "" + +#: administrator/components/com_languages/views/templates/form.tpl.php:44 +msgid "Select Language" +msgstr "" + +#. +#: administrator/components/com_languages/views/templates/form.tpl.php:54 +msgid "No content to display." +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:10 +msgid "You must choose a language." +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:12 +msgid "You must choose a character set." +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:33 +#: administrator/components/com_languages/views/templates/langform.tpl.php:109 +msgid "choose language" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:40 +#: administrator/components/com_languages/views/templates/langform.tpl.php:120 +msgid "choose territory" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:41 +msgid "choose character set" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:117 +#: administrator/components/com_languages/views/templates/langform.tpl.php:161 +msgid "Territory" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:125 +#: administrator/components/com_languages/views/templates/langform.tpl.php:169 +#: administrator/components/com_languages/views/templates/languages.tpl.php:24 +msgid "Character Set" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:128 +msgid "choose charset" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:175 +msgid "Convert to" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:187 +msgid "Description" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:193 +#: administrator/components/com_languages/views/templates/table.tpl.php:29 +msgid "Author" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:199 +#: administrator/components/com_languages/views/templates/table.tpl.php:32 +msgid "Author Email" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:205 +msgid "Author Url" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:211 +msgid "Text Direction" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:214 +msgid "left to right" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:215 +msgid "right to left" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:220 +msgid "Plural Forms" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:237 +msgid "Locales" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:240 +msgid "" +"The locale list for setlocale(). \\nLocale names must be comma separated." +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:244 +msgid "Days" +msgstr "" + +#: administrator/components/com_languages/views/templates/langform.tpl.php:258 +msgid "Months" +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:6 +msgid "You cannot delete English." +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:22 +msgid "Country - Region" +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:23 +#: administrator/components/com_languages/views/templates/table.tpl.php:20 +msgid "Default" +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:25 +#: administrator/components/com_languages/views/templates/table.tpl.php:23 +msgid "Version" +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:26 +#: administrator/components/com_languages/views/templates/table.tpl.php:26 +msgid "Date" +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:44 +#: administrator/components/com_languages/views/templates/table.tpl.php:44 +msgid "No" +msgstr "" + +#: administrator/components/com_languages/views/templates/languages.tpl.php:44 +#: administrator/components/com_languages/views/templates/table.tpl.php:44 +msgid "Yes" +msgstr "" + +#: administrator/components/com_languages/views/templates/table.tpl.php:4 +msgid "Language Manager" +msgstr "" + +#: administrator/components/com_languages/views/templates/table.tpl.php:17 +msgid "Languages" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/login.pot 4.6-complete/uploadfiles/language/untranslated/login.pot --- 4.6rc2/uploadfiles/language/untranslated/login.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/login.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,243 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_login/login.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Login Image" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Alignment for Logout Image" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Contact Items" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Image for the Login Page" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Image for the Logout Page" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Left" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Login Description" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Login Description Text" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Login Image" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Login Image Align" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Login JS Message" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Login Page Title" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Login Redirection URL" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Logout Description" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Logout Description Text" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Logout Image" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Logout Image Align" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Logout JS Message" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Logout Page Title" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Logout Redirection URL" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Menu Image" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Parameters for individual Contact Items" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Right" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Login Description below" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the Logout Description below" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Login Success" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the javascript Pop-up indicating Logout Success" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Show/Hide the pages Title" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the login Page, if left blank _LOGIN_DESCRIPTION will be " +"used" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"Text to display on the logout Page, if left blank _LOGOUT_DESCRIPTION will " +"be used" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "Use Global" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will be redirected to after logout, if let blank will load front " +"page" +msgstr "" + +#: administrator/components/com_login/login.xml +msgid "" +"What page will the login redirect to after login, if let blank will load " +"front page" +msgstr "" + +#: components/com_login/login.html.php:56 +msgid "Username" +msgstr "" + +#: components/com_login/login.html.php:60 +msgid "Password" +msgstr "" + +#: components/com_login/login.html.php:75 +msgid "Remember me" +msgstr "" + +#: components/com_login/login.html.php:79 +msgid "Password Reminder" +msgstr "" + +#: components/com_login/login.html.php:85 +msgid "No account yet?" +msgstr "" + +#: components/com_login/login.html.php:87 +msgid "Create one" +msgstr "" + +#: components/com_login/login.html.php:99 +msgid "Login" +msgstr "" + +#: components/com_login/login.html.php:107 +msgid "!Warning! Javascript must be enabled for proper operation." +msgstr "" + +#: components/com_login/login.html.php:160 +msgid "Logout" +msgstr "" + +#: components/com_login/login.php:40 +msgid "To access the Private areas of this site please Login" +msgstr "" + +#: components/com_login/login.php:41 +msgid "You are now Logged in to a private area of this site" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/mambots.pot 4.6-complete/uploadfiles/language/untranslated/mambots.pot --- 4.6rc2/uploadfiles/language/untranslated/mambots.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/mambots.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,186 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_mambots/admin.mambots.html.php:32 +#: administrator/components/com_mambots/admin.mambots.php:226 +msgid "Administrator" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:32 +msgid "Mambot Manager" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:32 +msgid "Site" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:35 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:53 +msgid "Mambot Name" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:56 +msgid "Published" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:59 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:62 +msgid "Order" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:65 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:68 +msgid "Access" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:71 +msgid "Type" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:74 +msgid "File" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:177 +msgid "Mambot must have a name" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:179 +msgid "Mambot must have a filename" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:188 +msgid "Site Mambot:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:190 +msgid "Edit" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:190 +msgid "New" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:204 +msgid "Mambot Details" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:209 +msgid "Name:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:217 +msgid "Folder:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:225 +msgid "Mambot file:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:233 +msgid "Mambot Order:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:241 +msgid "Access Level:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:249 +msgid "Published:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:262 +msgid "Description:" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:274 +msgid "Parameters" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.html.php:283 +msgid "No Parameters" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:19 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:139 +msgid "- All Types -" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:186 +#, php-format +msgid "Successfully Saved changes to Mambot: %s" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:191 +#, php-format +msgid "Successfully Saved Mambot: %s" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:214 +#, php-format +msgid "The module %s is currently being edited by another administrator" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:249 +msgid "This mambot cannot be reordered" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:271 +msgid "" +"New items default to the last place. Ordering can be changed after this item " +"is saved." +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:292 +msgid "Select a module to delete" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:308 +msgid "publish" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:308 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_mambots/admin.mambots.php:309 +#, php-format +msgid "Select a mambot to %s" +msgstr "" + +#. foreach +#: administrator/components/com_mambots/admin.mambots.php:427 +msgid "New ordering saved" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_mambots/toolbar.mambots.html.php:27 +msgid "Close" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/massmail.pot 4.6-complete/uploadfiles/language/untranslated/massmail.pot --- 4.6rc2/uploadfiles/language/untranslated/massmail.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/massmail.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,95 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_massmail/admin.massmail.html.php:32 +msgid "Please fill in the subject" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:34 +msgid "Please select a group" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:36 +msgid "Please fill in the message" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:47 +#: administrator/components/com_massmail/massmail.xml +msgid "Mass Mail" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:55 +msgid "Details" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:60 +msgid "Group:" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:68 +msgid "Mail to Child Groups:" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:76 +msgid "Send in HTML mode:" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:84 +msgid "Subject" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.html.php:92 +msgid "Message:" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.php:18 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.php:41 +msgid "- All User Groups -" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.php:71 +msgid "Please fill in the form correctly" +msgstr "" + +#. Build e-mail message format +#: administrator/components/com_massmail/admin.massmail.php:94 +#, php-format +msgid "" +"This is an email from '%s'\n" +"\n" +"Message:\n" +msgstr "" + +#: administrator/components/com_massmail/admin.massmail.php:107 +#, php-format +msgid "E-mail sent to %d user." +msgid_plural "E-mail sent to %d users." +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_massmail/massmail.xml +msgid "This component allows you to send a mass email to certain user groups" +msgstr "" + +#: administrator/components/com_massmail/toolbar.massmail.html.php:22 +msgid "Send Mail" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/media.pot 4.6-complete/uploadfiles/language/untranslated/media.pot --- 4.6rc2/uploadfiles/language/untranslated/media.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/media.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,128 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_media/admin.media.html.php:86 +#: administrator/components/com_media/media.xml +msgid "Media Manager" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:93 +msgid "Directory" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:114 +#: administrator/components/com_media/toolbar.media.html.php:27 +msgid "Upload" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:117 +msgid "Max size" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:121 +#: administrator/components/com_media/admin.media.html.php:214 +#: administrator/components/com_media/admin.media.html.php:283 +msgid "Code" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:125 +msgid "Create Directory" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:165 +msgid "No Images Found" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:176 +#, php-format +msgid "Configuration Problem: " %s " does not exist." +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:216 +#: administrator/components/com_media/admin.media.html.php:253 +#: administrator/components/com_media/admin.media.html.php:285 +msgid "Delete" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:272 +msgid "Insert your text here" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:371 +msgid "\"Delete file \\\"\"+file+\"\\\"?\"" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:379 +msgid "" +"\"There are \"+numFiles+\" files/folders in \\\"\"+folder+\"\\\".\\n" +"\\nPlease delete all files/folder in \\\"\"+folder+\"\\\" first.\"" +msgstr "" + +#: administrator/components/com_media/admin.media.html.php:383 +msgid "\"Delete folder \\\"\"+folder+\"\\\"?\"" +msgstr "" + +#: administrator/components/com_media/admin.media.php:19 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_media/admin.media.php:37 +msgid "NO HACKING PLEASE" +msgstr "" + +#: administrator/components/com_media/admin.media.php:49 +msgid "" +"Directory creation not allowed while running in SAFE MODE as this can cause " +"problems." +msgstr "" + +#: administrator/components/com_media/admin.media.php:93 +msgid "" +"Directory name must only contain alphanumeric characters and no spaces " +"please." +msgstr "" + +#: administrator/components/com_media/admin.media.php:129 +msgid "Unable to delete: not empty!" +msgstr "" + +#: administrator/components/com_media/admin.media.php:161 +msgid "Upload FAILED. File already exists" +msgstr "" + +#: administrator/components/com_media/admin.media.php:165 +msgid "" +"Only files of type gif, png, jpg, bmp, pdf, swf, doc, xls or ppt can be " +"uploaded" +msgstr "" + +#: administrator/components/com_media/admin.media.php:169 +msgid "Upload FAILED" +msgstr "" + +#: administrator/components/com_media/admin.media.php:173 +msgid "Upload complete" +msgstr "" + +#: administrator/components/com_media/media.xml +msgid "This component manages site media" +msgstr "" + +#: administrator/components/com_media/toolbar.media.html.php:29 +msgid "Create" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/menumanager.pot 4.6-complete/uploadfiles/language/untranslated/menumanager.pot --- 4.6rc2/uploadfiles/language/untranslated/menumanager.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/menumanager.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,209 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:42 +#: administrator/components/com_menumanager/menumanager.xml +msgid "Menu Manager" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:53 +msgid "Menu Name" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:56 +msgid "Menu Items" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:59 +msgid "# Published" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:62 +msgid "# Unpublished" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:65 +msgid "# Trash" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:68 +msgid "# Modules" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:94 +msgid "Edit Menu Name" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:99 +msgid "Edit Menu Items" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:156 +msgid "Please enter a menu name" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:164 +msgid "Please enter a module name for your menu" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:182 +msgid "Menu Details" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:190 +msgid "Menu Name:" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:205 +msgid "Module Title:" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:195 +msgid "" +"This is the identification name used by mambo to identify this menu within " +"the code - it must be unique. It is recommended that you do not have any " +"spaces in your Menu Name" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:210 +msgid "Title of the mod_mainmenu module required to show this Menu" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:216 +msgid "" +"A new mod_mainmenu module, with the Title you have entered above will " +"automatically be created when you save this menu." +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:218 +msgid "Parameters for the module created are to be edited through the "Modules Manager [site]": Modules -> Site Modules" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:266 +#, php-format +msgid "Delete Menu: %s" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:279 +msgid "Module(s) being Deleted:" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:301 +msgid "Menu Items being Deleted:" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:321 +msgid "" +"This will Delete this " +"Menu,
      ALL its Menu Items and the Module(s) associated with it" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:324 +msgid "" +"Are you sure you want to Delete this menu? \\nThis will Delete the Menu, its " +"Items and the Module(s)." +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:325 +#: administrator/components/com_menumanager/admin.menumanager.html.php:326 +#: administrator/components/com_menumanager/toolbar.menumanager.html.php:28 +msgid "Delete" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:356 +msgid "Please enter a name for the copy of the Menu" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:359 +msgid "Please enter a name for the new Module" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:373 +msgid "Copy Menu" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:383 +msgid "New Menu Name:" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:387 +msgid "New Module Name:" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:394 +msgid "Menu being copied:" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.html.php:404 +msgid "Menu Items being copied:" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.php:18 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.php:209 +msgid "" +"You cannot rename the \"mainmenu\" Menu as this will disrupt the proper " +"operation of Mambo" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.php:225 +msgid "" +"A menu already exists with that name - you must enter a unique Menu Name" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.php:260 +#, php-format +msgid "New Menu created [ %s ]" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.php:314 +msgid "Menu Items & Modules updated" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.php:328 +#: administrator/components/com_menumanager/admin.menumanager.php:378 +msgid "You cannot delete the \"mainmenu\" menu as it is a core menu" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.php:469 +msgid "" +"A menu with that name already exists - you must enter a unique Menu Name" +msgstr "" + +#: administrator/components/com_menumanager/admin.menumanager.php:529 +#, php-format +msgid "Copy of Menu `%s` created, consisting of %d item" +msgid_plural "Copy of Menu `%s` created, consisting of %d items" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_menumanager/menumanager.xml +msgid "This component manages your Menus." +msgstr "" + +#: administrator/components/com_menumanager/toolbar.menumanager.html.php:26 +#: administrator/components/com_menumanager/toolbar.menumanager.html.php:61 +msgid "Copy" +msgstr "" + +#: administrator/components/com_menumanager/toolbar.menumanager.html.php:48 +msgid "Save" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/menus.pot 4.6-complete/uploadfiles/language/untranslated/menus.pot --- 4.6rc2/uploadfiles/language/untranslated/menus.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/menus.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,1840 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_menus/admin.menus.html.php:27 +#, php-format +msgid "Menu Manager [ %s ]" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:30 +msgid "Max Levels" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:36 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:47 +msgid "" +"You cannot `delete` this menu as it is required for the proper operation of " +"Mambo" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:50 +msgid "" +"The 1st Published item in this menu [mainmenu] is the default `Homepage` for " +"the site" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:68 +msgid "Menu Item" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:71 +msgid "Published" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:74 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:77 +msgid "Order" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:80 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:83 +msgid "Access" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:86 +msgid "Itemid" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:89 +msgid "Type" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:92 +msgid "CID" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:182 +msgid "New Menu Item" +msgstr "" + +#. echo _MENU_GROUP; +#: administrator/components/com_menus/admin.menus.html.php:201 +msgid "Content" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:233 +msgid "Miscellaneous" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:264 +msgid "" +"Note that some menu types appear in more that one grouping, but they are " +"still the same menu type." +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:268 +msgid "Components" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:300 +msgid "Links" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:357 +msgid "Move Menu Items" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:367 +msgid "Move to Menu:" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:374 +msgid "Menu Items being moved:" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:417 +msgid "Copy Menu Items" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:428 +msgid "Copy to Menu:" +msgstr "" + +#: administrator/components/com_menus/admin.menus.html.php:436 +msgid "Menu Items being copied:" +msgstr "" + +#: administrator/components/com_menus/admin.menus.php:414 +msgid "publish" +msgstr "" + +#: administrator/components/com_menus/admin.menus.php:414 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_menus/admin.menus.php:415 +#, php-format +msgid "Select an item to %s" +msgstr "" + +#: administrator/components/com_menus/admin.menus.php:458 +#, php-format +msgid "%d Item sent to the Trash" +msgid_plural "%d Items sent to the Trash" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_menus/admin.menus.php:529 +#: administrator/components/com_menus/admin.menus.php:634 +msgid "Select an item to move" +msgstr "" + +#. if +#: administrator/components/com_menus/admin.menus.php:623 +#, php-format +msgid "%d Menu Item moved to %s" +msgid_plural "%d Menu Items moved to %s" +msgstr[0] "" +msgstr[1] "" + +#. foreach +#: administrator/components/com_menus/admin.menus.php:693 +#, php-format +msgid "%d Menu Item Copied to %s" +msgid_plural "%d Menu Items Copied to %s" +msgstr[0] "" +msgstr[1] "" + +#. foreach +#: administrator/components/com_menus/admin.menus.php:741 +msgid "New ordering saved" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.class.php:28 +#: administrator/components/com_menus/contact_category_table/contact_category_table.class.php:31 +#, php-format +msgid "The module %s is currently being edited by another administrator" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:35 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:35 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:41 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:42 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:35 +#: administrator/components/com_menus/url/url.menu.html.php:38 +msgid "Link must have a name" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:37 +msgid "You must select a Component to link to" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:48 +#: administrator/components/com_menus/components/components.menu.html.php:72 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:66 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:50 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:68 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:70 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:64 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:64 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:68 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:56 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:68 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:57 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:66 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:50 +#: administrator/components/com_menus/separator/separator.menu.html.php:44 +#: administrator/components/com_menus/url/url.menu.html.php:51 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:66 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:59 +msgid "Add" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:48 +#: administrator/components/com_menus/components/components.menu.html.php:72 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:66 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:50 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:68 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:70 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:64 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:64 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:68 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:56 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:68 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:57 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:66 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:50 +#: administrator/components/com_menus/separator/separator.menu.html.php:44 +#: administrator/components/com_menus/url/url.menu.html.php:51 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:66 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:59 +msgid "Edit" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:48 +msgid "Menu Item :: Link - Component Item" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:59 +#: administrator/components/com_menus/components/components.menu.html.php:83 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:77 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:61 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:79 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:81 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:75 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:75 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:79 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:67 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:79 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:68 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:77 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:61 +#: administrator/components/com_menus/separator/separator.menu.html.php:55 +#: administrator/components/com_menus/url/url.menu.html.php:62 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:77 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:70 +msgid "Details" +msgstr "" + +#. outputs item name, category & section instead of the select list +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:64 +#: administrator/components/com_menus/components/components.menu.html.php:87 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:82 +#: administrator/components/com_menus/contact_item_link/contact_item_link.class.php:59 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:66 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:83 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:85 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:79 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:79 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:84 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:72 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:83 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:73 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:82 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:66 +#: administrator/components/com_menus/url/url.menu.html.php:67 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:83 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:75 +msgid "Name:" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:72 +msgid "Component to Link:" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:79 +#: administrator/components/com_menus/components/components.menu.html.php:99 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:105 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:102 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:104 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:100 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:100 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:107 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:87 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:102 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:105 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:106 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:91 +msgid "Url:" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:86 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:88 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:94 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:88 +#: administrator/components/com_menus/url/url.menu.html.php:83 +msgid "On Click, Open in:" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:94 +#: administrator/components/com_menus/components/components.menu.html.php:105 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:113 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:96 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:108 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:110 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:106 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:106 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:115 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:102 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:108 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:103 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:113 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:96 +#: administrator/components/com_menus/separator/separator.menu.html.php:68 +#: administrator/components/com_menus/url/url.menu.html.php:91 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:114 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:99 +msgid "Parent Item:" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:102 +#: administrator/components/com_menus/components/components.menu.html.php:112 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:121 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:104 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:114 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:116 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:112 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:112 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:123 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:110 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:114 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:111 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:121 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:104 +#: administrator/components/com_menus/separator/separator.menu.html.php:76 +#: administrator/components/com_menus/url/url.menu.html.php:99 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:122 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:107 +msgid "Ordering:" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:110 +#: administrator/components/com_menus/components/components.menu.html.php:118 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:129 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:112 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:120 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:122 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:118 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:118 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:131 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:118 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:120 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:119 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:129 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:112 +#: administrator/components/com_menus/separator/separator.menu.html.php:84 +#: administrator/components/com_menus/url/url.menu.html.php:107 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:130 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:115 +msgid "Access Level:" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:117 +#: administrator/components/com_menus/components/components.menu.html.php:124 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:137 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:119 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:126 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:128 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:124 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:124 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:139 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:125 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:126 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:126 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:137 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:119 +#: administrator/components/com_menus/separator/separator.menu.html.php:91 +#: administrator/components/com_menus/url/url.menu.html.php:115 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:138 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:123 +msgid "Published:" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.menu.html.php:131 +#: administrator/components/com_menus/components/components.menu.html.php:138 +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:152 +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:133 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:140 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:142 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:138 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:138 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:154 +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:139 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:140 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:140 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:152 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:133 +#: administrator/components/com_menus/separator/separator.menu.html.php:105 +#: administrator/components/com_menus/url/url.menu.html.php:127 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:153 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:138 +msgid "Parameters" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.xml +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_item_link/content_item_link.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/content_typed/content_typed.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/separator/separator.xml +#: administrator/components/com_menus/url/url.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.xml +msgid "Creates a link to an existing Mambo Component" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.xml +msgid "Link - Component Item" +msgstr "" + +#: administrator/components/com_menus/component_item_link/component_item_link.xml +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_item_link/content_item_link.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/content_typed/content_typed.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/separator/separator.xml +#: administrator/components/com_menus/url/url.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Menu Image" +msgstr "" + +#: administrator/components/com_menus/components/components.class.php:33 +#, php-format +msgid "\"The module %s is currently being edited by another administrator" +msgstr "" + +#: administrator/components/com_menus/components/components.menu.html.php:58 +msgid "Item must have a name" +msgstr "" + +#: administrator/components/com_menus/components/components.menu.html.php:60 +msgid "Please select a Component" +msgstr "" + +#: administrator/components/com_menus/components/components.menu.html.php:72 +#, php-format +msgid "Menu Item :: Component %s" +msgstr "" + +#: administrator/components/com_menus/components/components.menu.html.php:93 +msgid "Component:" +msgstr "" + +#: administrator/components/com_menus/components/components.menu.html.php:148 +msgid "Parameter list will be available once you save this New menu item" +msgstr "" + +#: administrator/components/com_menus/components/components.xml +msgid "Component" +msgstr "" + +#: administrator/components/com_menus/components/components.xml +msgid "Displays the frontend interface for a Component" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:39 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:39 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:39 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:39 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:39 +msgid "You must select a category" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:53 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:55 +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:56 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:40 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:49 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:40 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:49 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:55 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:52 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:53 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:53 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:35 +msgid "This Menu item must have a title" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Contact Category" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:90 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:90 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:92 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:90 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:91 +msgid "If you leave this blank the Category name will be automatically used" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.menu.html.php:97 +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:96 +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:88 +#: administrator/components/com_menus/content_category/content_category.menu.html.php:99 +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:73 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:97 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:98 +msgid "Category:" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "# Category Items" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Category Description" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Email Column" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Fax Column" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Other Categories" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Position Column" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Description for the list of other catgeories" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Email column" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Fax column" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Position column" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Show/Hide the Table Headings" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Show/Hide the Telephone column" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the number of items in each category" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Show/Hide the pages Title" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Shows a Table view of Contact items for a particular Category" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Table - Contact Category" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Table Headings" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +msgid "Telephone Column" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Use Global" +msgstr "" + +#: administrator/components/com_menus/contact_category_table/contact_category_table.xml +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "When viewing a Category, Show/Hide the list of other Categories" +msgstr "" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.class.php:30 +#: administrator/components/com_menus/content_archive_category/content_archive_category.class.php:30 +#: administrator/components/com_menus/content_archive_section/content_archive_section.class.php:29 +#: administrator/components/com_menus/content_blog_category/content_blog_category.class.php:31 +#: administrator/components/com_menus/content_blog_section/content_blog_section.class.php:31 +#: administrator/components/com_menus/content_category/content_category.class.php:31 +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:30 +#: administrator/components/com_menus/content_section/content_section.class.php:30 +#: administrator/components/com_menus/content_typed/content_typed.class.php:27 +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.class.php:31 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php:30 +#: administrator/components/com_menus/separator/separator.class.php:30 +#: administrator/components/com_menus/url/url.class.php:31 +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.class.php:31 +#: administrator/components/com_menus/wrapper/wrapper.class.php:30 +msgid "The module % is currently being edited by another administrator" +msgstr "" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.class.php:67 +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php:68 +msgid "Position:" +msgstr "" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:37 +msgid "You must select a Contact to link to" +msgstr "" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:50 +msgid "Menu Item :: Link - Contact Item" +msgstr "" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.menu.html.php:74 +msgid "Contact to Link:" +msgstr "" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +msgid "Creates a link to a Published Contact Item" +msgstr "" + +#: administrator/components/com_menus/contact_item_link/contact_item_link.xml +msgid "Link - Contact Item" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.menu.html.php:68 +msgid "Menu Item :: Blog - Content Category Archive" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Intro" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Leading" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "# Links" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Author Alphabetical" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Author Names" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Author Reverse-Alphabetical" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Auto" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Blog - Content Category Archive" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Columns" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Created Date and Time" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Default" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Display {mosimages}." +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Email Icon" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Item Rating" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Item Title" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Least Hits" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Linked Titles" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "MOSImages" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Make the Section text a link to the actual section page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Make your Item titles linkable" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Modified Date and Time" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Most Hits" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Most recent first" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "No" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Number of Items to display as Links." +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "" +"Number of Items to display as a leading (full width) item. 0 will mean that " +"no items will be displayed as leading." +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Number of Items to display with the introduction text shown." +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Oldest first" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Order by" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Ordering" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "PDF Icon" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Pagination" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Pagination Results" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Print Icon" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Read More" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Section Name" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Section Name Linkable" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide Pagination Results info ( e.g 1-4 of 4 )" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide Pagination support" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Read More link" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Show/Hide the Section the item belongs to" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item author - only affects this page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item creation date - only affects this page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item email button - only affects this page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item modification date - only affects this page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item pdf button - only affects this page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the item rating - only affects this page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the items title" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +msgid "Shows a listing of Content items archived for a particular category" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Text to display at the top of the page" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "This overrides the ordering of the items." +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Title Alphabetical" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Title Reverse-Alphabetical" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "When displaying the intro text, how many columns to use per row" +msgstr "" + +#: administrator/components/com_menus/content_archive_category/content_archive_category.xml +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Yes" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:39 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:39 +msgid "You must select a Section" +msgstr "" + +#. build the html select list for section +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:45 +#: administrator/components/com_menus/content_blog_section/content_blog_section.class.php:62 +msgid "All Sections" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:70 +msgid "Menu Item :: Blog - Content Section Archive" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:92 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:90 +msgid "If you leave this blank the Section name will be automatically used" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.menu.html.php:98 +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:88 +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:81 +#: administrator/components/com_menus/content_section/content_section.menu.html.php:96 +msgid "Section:" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Blog - Content Section Archive" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Name" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Name Linkable" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Category Order" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Make the Category text a link to the actual Category page" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "No, order by Primary Order only" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Order items by catgeory" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Order that the items will be displayed in." +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Primary Order" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Category the item belongs to" +msgstr "" + +#: administrator/components/com_menus/content_archive_section/content_archive_section.xml +msgid "Shows a listing of Content items archived for a particular section" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:64 +msgid "Menu Item :: Blog - Content Category" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.menu.html.php:95 +msgid "You can select multiple Categories" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +msgid "Blog - Content Category" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Description" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Description Image" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +msgid "" +"Displays a page of content items from multiple categories in a blog format" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Item Titles" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Category Description" +msgstr "" + +#: administrator/components/com_menus/content_blog_category/content_blog_category.xml +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Show/Hide the Page title" +msgstr "" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:64 +msgid "Menu Item :: Blog - Content Section" +msgstr "" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.menu.html.php:95 +msgid "You can select multiple Sections" +msgstr "" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Blog - Content Section" +msgstr "" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "" +"Displays a page of content items from multiple sections in a blog format" +msgstr "" + +#: administrator/components/com_menus/content_blog_section/content_blog_section.xml +msgid "Show/Hide the Section Description" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.menu.html.php:68 +msgid "Menu Item :: Table - Content Category" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "10" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "15" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "20" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "25" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "30" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "5" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "50" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Author" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Author Column" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Date Column" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Date Format" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Display Number" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Display Select" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Empty Categories" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Filter" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Filter Field" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "His" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Hits Column" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Navigation Bar" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Number of items to be displayed by default" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Order Select" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide empty(no items) categories" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Author column" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "" +"Show/Hide the Category Description, it will appear below the Category Name" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Date column" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Display Select dropdown" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Filter ability" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Show/Hide the Hits column" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Navigation bar" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Order Select dropdown" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Show/Hide the listing of other Categories" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Shows a Table view of Content items for a particular Category" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +msgid "Table - Content Category" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "" +"The format of the date displayed, using PHPs strftime Command Format - if " +"left blank it will load the format from your language file" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Title" +msgstr "" + +#: administrator/components/com_menus/content_category/content_category.xml +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Which field shall the filter apply to" +msgstr "" + +#. outputs item name, category & section instead of the select list +#: administrator/components/com_menus/content_item_link/content_item_link.class.php:66 +msgid "Edit Content Item" +msgstr "" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:43 +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:44 +msgid "You must select a Content to link to" +msgstr "" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:56 +msgid "Menu Item :: Link - Content Item" +msgstr "" + +#: administrator/components/com_menus/content_item_link/content_item_link.menu.html.php:80 +msgid "Content to Link:" +msgstr "" + +#: administrator/components/com_menus/content_item_link/content_item_link.xml +msgid "Creates a link to a published Content Item in full view" +msgstr "" + +#: administrator/components/com_menus/content_item_link/content_item_link.xml +msgid "Link - Content Item" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.menu.html.php:68 +msgid "Menu Item :: Table - Content Section" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Category List - Category" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Category List - Section" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Creates a listing of Content categories for a particular section" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Hits" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Section Title" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the Category Description Image" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Show/hide the section title" +msgstr "" + +#: administrator/components/com_menus/content_section/content_section.xml +msgid "Table - Content Section" +msgstr "" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:57 +msgid "Menu Item :: Link - Static Content" +msgstr "" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:81 +msgid "Static Content:" +msgstr "" + +#: administrator/components/com_menus/content_typed/content_typed.menu.html.php:95 +msgid "On Click, open:" +msgstr "" + +#: administrator/components/com_menus/content_typed/content_typed.xml +msgid "Creates a link to Static Content Item" +msgstr "" + +#: administrator/components/com_menus/content_typed/content_typed.xml +msgid "Link - Static Content" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.menu.html.php:66 +msgid "Menu Item :: Table - News Feed Category" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in /images" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Articles Column" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Link Column" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Name Column" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Articles column" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Link column" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Show/Hide the Name column" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Shows a Table view of News Feed items for a particular Category" +msgstr "" + +#: administrator/components/com_menus/newsfeed_category_table/newsfeed_category_table.xml +msgid "Table - News Feed Category" +msgstr "" + +#. outputs item name, category & section instead of the select list +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.class.php:60 +msgid "Item:" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:37 +msgid "You must select a News Feed to link to" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:50 +msgid "Menu Item :: Link - News Feed" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.menu.html.php:74 +msgid "News Feed to Link:" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "" +"Allows you to limit the amount of visible item description text. 0 will show " +"all the text" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Creates a link to an individual Published Newsfeed" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Feed Description" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Feed Image" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Item Description" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Link - Newsfeed" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Show/Hide the description or intro text of an item" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Show/Hide the description text of the feed" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Show/Hide the image of the feed" +msgstr "" + +#: administrator/components/com_menus/newsfeed_link/newsfeed_link.xml +msgid "Word Count" +msgstr "" + +#: administrator/components/com_menus/separator/separator.menu.html.php:44 +msgid "Menu Item :: Separator / Placeholder" +msgstr "" + +#: administrator/components/com_menus/separator/separator.menu.html.php:60 +msgid "Pattern/Name:" +msgstr "" + +#: administrator/components/com_menus/separator/separator.xml +msgid "Creates a menu placeholder or separator" +msgstr "" + +#: administrator/components/com_menus/separator/separator.xml +msgid "Separator / Placeholder" +msgstr "" + +#: administrator/components/com_menus/toolbar.menus.html.php:22 +msgid "Next" +msgstr "" + +#: administrator/components/com_menus/toolbar.menus.html.php:35 +#: administrator/components/com_menus/toolbar.menus.html.php:100 +msgid "Move" +msgstr "" + +#: administrator/components/com_menus/toolbar.menus.html.php:48 +#: administrator/components/com_menus/toolbar.menus.html.php:102 +msgid "Copy" +msgstr "" + +#: administrator/components/com_menus/toolbar.menus.html.php:72 +msgid "Back" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_menus/toolbar.menus.html.php:81 +msgid "Close" +msgstr "" + +#: administrator/components/com_menus/url/url.menu.html.php:40 +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:41 +msgid "You must provide a url." +msgstr "" + +#: administrator/components/com_menus/url/url.menu.html.php:51 +msgid "Menu Item :: Link - URL" +msgstr "" + +#: administrator/components/com_menus/url/url.menu.html.php:75 +msgid "Link:" +msgstr "" + +#: administrator/components/com_menus/url/url.xml +msgid "Creates url link" +msgstr "" + +#: administrator/components/com_menus/url/url.xml +msgid "Link - Url" +msgstr "" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.menu.html.php:66 +msgid "Menu Item :: Table - Web Link Category" +msgstr "" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Link Descriptions" +msgstr "" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Show/Hide the Description text of the Links" +msgstr "" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Shows a Table view of Weblink items for a particular Weblink Category" +msgstr "" + +#: administrator/components/com_menus/weblink_category_table/weblink_category_table.xml +msgid "Table - Weblink Category" +msgstr "" + +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:59 +msgid "Menu Item :: Wrapper" +msgstr "" + +#: administrator/components/com_menus/wrapper/wrapper.menu.html.php:83 +msgid "Wrapper Link:" +msgstr "" + +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Creates an IFrame that will wrap an external page/site into Mambo" +msgstr "" + +#: administrator/components/com_menus/wrapper/wrapper.xml +msgid "Wrapper" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/messages.pot 4.6-complete/uploadfiles/language/untranslated/messages.pot --- 4.6rc2/uploadfiles/language/untranslated/messages.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/messages.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,129 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_messages/admin.messages.html.php:22 +msgid "Private Messaging" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:23 +msgid "Search:" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:33 +msgid "Subject" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:34 +msgid "From" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:36 +msgid "Date" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:37 +#: administrator/components/com_messages/admin.messages.html.php:53 +msgid "Read" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:55 +msgid "Unread" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:75 +msgid "Private Messaging Configuration" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:80 +msgid "General" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:87 +msgid "Are you sure?" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:99 +msgid "Lock Inbox:" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:103 +msgid "Mail me on new Message:" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:121 +msgid "View Private Message" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:128 +msgid "From:" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:132 +msgid "Posted:" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:136 +#: administrator/components/com_messages/admin.messages.html.php:191 +msgid "Subject:" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:140 +#: administrator/components/com_messages/admin.messages.html.php:197 +msgid "Message:" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:167 +msgid "You must provide a subject." +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:169 +msgid "You must provide a message." +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:171 +msgid "You must select a recipient." +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:180 +msgid "New Private Message" +msgstr "" + +#: administrator/components/com_messages/admin.messages.html.php:187 +msgid "To:" +msgstr "" + +#: administrator/components/com_messages/admin.messages.php:200 +msgid "Select an item to delete" +msgstr "" + +#: administrator/components/com_messages/toolbar.messages.html.php:19 +msgid "Reply" +msgstr "" + +#: administrator/components/com_messages/toolbar.messages.html.php:29 +msgid "Send" +msgstr "" + +#: components/com_messages/messages.class.php:74 +#: components/com_messages/messages.class.php:75 +msgid "A new private message has arrived" +msgstr "" + +#: components/com_messages/messages.class.php:82 +msgid "The user has locked their mailbox. Message failed." +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/modules.pot 4.6-complete/uploadfiles/language/untranslated/modules.pot --- 4.6rc2/uploadfiles/language/untranslated/modules.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/modules.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_modules/admin.modules.html.php:32 +#: administrator/components/com_modules/admin.modules.html.php:236 +#: administrator/components/com_modules/admin.modules.php:380 +msgid "Administrator" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:32 +msgid "Module Manager" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:32 +#: administrator/components/com_modules/admin.modules.html.php:236 +msgid "Site" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:43 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:58 +msgid "Module Name" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:61 +msgid "Published" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:64 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:67 +msgid "Order" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:70 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:76 +msgid "Access" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:82 +msgid "Position" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:85 +msgid "Pages" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:88 +msgid "ID" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:91 +msgid "Type" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:152 +msgid "None" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:154 +msgid "Varies" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:156 +msgid "All" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:164 +msgid "User" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:211 +msgid "Module must have a title" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:237 +msgid "Module:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:239 +msgid "Edit" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:239 +msgid "New" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:254 +msgid "Details" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:259 +msgid "Title:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:268 +msgid "Show title:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:276 +msgid "Position:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:284 +msgid "Module Order:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:296 +msgid "Access Level:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:304 +msgid "Published:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:316 +msgid "ID:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:324 +msgid "Description:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:335 +msgid "Parameters" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:349 +msgid "Pages / Items" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:354 +msgid "Menu Item Link(s):" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:370 +msgid "Custom Output" +msgstr "" + +#: administrator/components/com_modules/admin.modules.html.php:375 +msgid "Content:" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:18 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:151 +msgid "- All Positions -" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:163 +msgid "- All Types -" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:213 +#, php-format +msgid "Module Copied [%s]" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:270 +#, php-format +msgid "Successfully Saved changes to Module: %s" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:276 +#, php-format +msgid "Successfully Saved Module: %s" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:297 +#, php-format +msgid "The module %s is currently being edited by another administrator" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:381 +#: administrator/components/com_modules/admin.modules.php:382 +#: administrator/components/com_modules/admin.modules.php:385 +#: administrator/components/com_modules/admin.modules.php:386 +msgid "N/A" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:422 +msgid "Select a module to delete" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:445 +msgid "" +"You cannot delete mod_mainmenu module that displays the \"mainmenu\" as it " +"is a core Menu" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:471 +#, php-format +msgid "" +"Module(s): \"%s\" cannot be deleted they can only be un-installed as they " +"are Mambo modules." +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:486 +msgid "publish" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:486 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_modules/admin.modules.php:487 +#, php-format +msgid "Select a module to %s" +msgstr "" + +#. foreach +#: administrator/components/com_modules/admin.modules.php:613 +msgid "New ordering saved" +msgstr "" + +#: administrator/components/com_modules/toolbar.modules.html.php:42 +msgid "Preview" +msgstr "" + +#: administrator/components/com_modules/toolbar.modules.html.php:42 +msgid "You can only preview typed modules." +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_modules/toolbar.modules.html.php:51 +msgid "Close" +msgstr "" + +#: administrator/components/com_modules/toolbar.modules.html.php:82 +msgid "Copy" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/mostlyce.pot 4.6-complete/uploadfiles/language/untranslated/mostlyce.pot --- 4.6rc2/uploadfiles/language/untranslated/mostlyce.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/mostlyce.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "" +"

      Admin component for the MOStlyCE editor mambot. Helps customize your " +"MOStlyCE editor installation.

      " +msgstr "" + +#: administrator/components/com_mostlyce/mostlyce.xml +msgid "mostlyce" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/mostlydbadmin.pot 4.6-complete/uploadfiles/language/untranslated/mostlydbadmin.pot --- 4.6rc2/uploadfiles/language/untranslated/mostlydbadmin.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/mostlydbadmin.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_mostlydbadmin/admin.mostlydbadmin.php:17 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_mostlydbadmin/mostlydbadmin.xml +msgid "" +"

      MOStlyDBAdmin is used for easy back up/restore of your database.

      " +"It is a revival \r\n" +"\tof the dbadmin component for use in the Mambo 4.6+ core. The dbadmin \r\n" +"\tcomponent stopped working with Mambo 4.5.3h and development appears to " +"have ceased.

      \n" +msgstr "" + +#: administrator/components/com_mostlydbadmin/mostlydbadmin.xml +msgid "MOStlyDBAdmin" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/newsfeeds.pot 4.6-complete/uploadfiles/language/untranslated/newsfeeds.pot --- 4.6rc2/uploadfiles/language/untranslated/newsfeeds.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/newsfeeds.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,363 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:27 +msgid "News Feed Manager" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:44 +msgid "News Feed" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:47 +msgid "Published" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:50 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:53 +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:194 +msgid "Category" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:56 +#: components/com_newsfeeds/newsfeeds.html.php:104 +msgid "# Articles" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:59 +msgid "Cache time" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:89 +msgid "Checked Out" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:93 +msgid "Edit News Feed" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:112 +msgid "Edit Category" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:152 +msgid "Please fill in the news feed name." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:154 +msgid "Please select a Category." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:156 +msgid "Please fill in the news feed link." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:158 +msgid "Please select a category." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:160 +msgid "Please fill in the number of articles to display." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:162 +msgid "Please fill in the cache refresh time." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:173 +msgid "Edit" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:173 +msgid "New" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:173 +msgid "News Feed:" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:181 +msgid "Details" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:186 +msgid "Name" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:202 +msgid "Link" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:210 +msgid "Number of Articles" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:218 +msgid "Cache time (in seconds)" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:226 +msgid "Ordering" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.html.php:234 +msgid "Published:" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:19 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:204 +msgid "publish" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:204 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:205 +#, php-format +msgid "Select a module to %s" +msgstr "" + +#: administrator/components/com_newsfeeds/admin.newsfeeds.php:238 +msgid "Select an item to delete" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Articles Column" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "# Category Items" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Alignment of the image" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Allows you to limit the amount of visible item description text. 0 will show " +"all the text" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category Description" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category List - Category" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Category List - Section" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description Text" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Description for page" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Description" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Feed Image" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Image" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Image Align" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Image for page, must be located in the /images/stories folder. Default will " +"load web_links.jpg, No image will mean an image is not loaded" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Item Description" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Left" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Link Column" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Menu Image" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Name Column" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Newsfeeds" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Right" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the # of articles in the feed" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Description below" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Description for the list of other catgeories" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Link column" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Feed Name column" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the Table Headings" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description or intro text of an item" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the description text of the feed" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the image of the feed" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the number of items in each category" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Show/Hide the pages Title" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Table Headings" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "This component manages RSS/RDF newsfeeds" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Use Global" +msgstr "" + +#: administrator/components/com_newsfeeds/newsfeeds.xml +msgid "Word Count" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_newsfeeds/toolbar.newsfeeds.html.php:51 +msgid "Close" +msgstr "" + +#: components/com_newsfeeds/newsfeeds.html.php:37 +msgid "Web Links" +msgstr "" + +#: components/com_newsfeeds/newsfeeds.html.php:95 +msgid "Feed Name" +msgstr "" + +#: components/com_newsfeeds/newsfeeds.html.php:113 +msgid "Feed Link" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/poll.pot 4.6-complete/uploadfiles/language/untranslated/poll.pot --- 4.6rc2/uploadfiles/language/untranslated/poll.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/poll.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,241 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_poll/admin.poll.html.php:26 +msgid "Poll Manager" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:39 +msgid "Poll Question" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:42 +#: administrator/components/com_poll/admin.poll.html.php:60 +msgid "Published" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:45 +msgid "Options" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:48 +msgid "Lag" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:60 +msgid "Unpublished" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:72 +msgid "Edit Poll" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:116 +msgid "Poll must have a title" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:118 +msgid "Poll must have a non-zero lag time" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:132 +msgid "Poll:" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:134 +msgid "Edit" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:134 +msgid "New" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:143 +msgid "Details" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:148 +msgid "Question:" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:157 +msgid "Show on menu items:" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:164 +msgid "Lag:" +msgstr "" + +#: administrator/components/com_poll/admin.poll.html.php:173 +msgid "Options:" +msgstr "" + +#: administrator/components/com_poll/admin.poll.php:19 +#: components/com_poll/poll.php:56 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_poll/admin.poll.php:108 +#, php-format +msgid "The poll %s is currently being edited by another administrator." +msgstr "" + +#: administrator/components/com_poll/admin.poll.php:217 +msgid "publish" +msgstr "" + +#: administrator/components/com_poll/admin.poll.php:217 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_poll/admin.poll.php:218 +#, php-format +msgid "Select an item to %s" +msgstr "" + +#: administrator/components/com_poll/poll.class.php:42 +msgid "Your Poll must contain a title." +msgstr "" + +#: administrator/components/com_poll/poll.class.php:48 +msgid "Your Poll must have a non-zero lag time." +msgstr "" + +#: administrator/components/com_poll/poll.class.php:57 +msgid "There is a module already with that name, please try again." +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Menu Image" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Poll" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Show/Hide the pages Title" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "This component shows Polls/Surveys" +msgstr "" + +#: administrator/components/com_poll/poll.xml +msgid "Use Global" +msgstr "" + +#: administrator/components/com_poll/toolbar.poll.html.php:42 +msgid "Preview" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_poll/toolbar.poll.html.php:49 +msgid "Close" +msgstr "" + +#: components/com_poll/poll.html.php:49 +msgid "Select Poll:" +msgstr "" + +#: components/com_poll/poll.html.php:81 +msgid "There are no results for this poll." +msgstr "" + +#: components/com_poll/poll.html.php:191 +msgid "Number of Voters" +msgstr "" + +#: components/com_poll/poll.html.php:200 +msgid "First Vote" +msgstr "" + +#: components/com_poll/poll.html.php:209 +msgid "Last Vote" +msgstr "" + +#: components/com_poll/poll.php:49 +msgid "Cookies must be enabled!" +msgstr "" + +#: components/com_poll/poll.php:50 components/com_poll/poll.php:57 +#: components/com_poll/poll.php:66 components/com_poll/poll.php:73 +msgid "Continue" +msgstr "" + +#: components/com_poll/poll.php:65 +msgid "You already voted for this poll today!" +msgstr "" + +#: components/com_poll/poll.php:72 +msgid "No selection has been made, please try again" +msgstr "" + +#: components/com_poll/poll.php:94 components/com_poll/poll.php:96 +msgid "Thanks for your vote!" +msgstr "" + +#: components/com_poll/poll.php:98 +msgid "Results" +msgstr "" + +#: components/com_poll/poll.php:113 components/com_poll/poll.php:155 +msgid "Select Poll from the list" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/registration.pot 4.6-complete/uploadfiles/language/untranslated/registration.pot --- 4.6rc2/uploadfiles/language/untranslated/registration.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/registration.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,230 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: components/com_registration/registration.html.php:21 +#: components/com_registration/registration.php:42 +msgid "Lost your Password?" +msgstr "" + +#: components/com_registration/registration.html.php:26 +#, php-format +msgid "" +"Please enter your Username and e-mail address then click on the Send " +"Password button.%s You will receive a new password shortly. Use the new " +"password to access the site." +msgstr "" + +#: components/com_registration/registration.html.php:29 +#: components/com_registration/registration.html.php:92 +msgid "Username:" +msgstr "" + +#: components/com_registration/registration.html.php:33 +msgid "E-mail Address:" +msgstr "" + +#: components/com_registration/registration.html.php:38 +msgid "Send Password" +msgstr "" + +#: components/com_registration/registration.html.php:56 +msgid "Please enter your name." +msgstr "" + +#: components/com_registration/registration.html.php:58 +#: components/com_registration/registration.html.php:60 +msgid "Please enter a user name." +msgstr "" + +#: components/com_registration/registration.html.php:60 +#: components/com_registration/registration.html.php:70 +#, php-format +msgid "" +"Please enter a valid %s. No spaces, more than %d characters and containing " +"only the characters 0-9,a-z, or A-Z" +msgstr "" + +#: components/com_registration/registration.html.php:62 +msgid "Please enter a valid e-mail address." +msgstr "" + +#: components/com_registration/registration.html.php:64 +msgid "" +"Please enter a valid password -- more than 6 characters with no spaces and " +"containing only the characters 0-9, a-z, or A-Z" +msgstr "" + +#: components/com_registration/registration.html.php:66 +msgid "Please verify the password." +msgstr "" + +#: components/com_registration/registration.html.php:68 +msgid "Password and verification do not match, please try again." +msgstr "" + +#: components/com_registration/registration.html.php:70 +#: components/com_registration/registration.html.php:101 +msgid "Password:" +msgstr "" + +#: components/com_registration/registration.html.php:78 +#: components/com_registration/registration.php:111 +msgid "Registration" +msgstr "" + +#: components/com_registration/registration.html.php:83 +msgid "Fields marked with an asterisk (*) are required." +msgstr "" + +#: components/com_registration/registration.html.php:86 +msgid "Name:" +msgstr "" + +#: components/com_registration/registration.html.php:96 +msgid "E-mail:" +msgstr "" + +#: components/com_registration/registration.html.php:106 +msgid "Verify Password:" +msgstr "" + +#: components/com_registration/registration.html.php:124 +msgid "Send Registration" +msgstr "" + +#: components/com_registration/registration.php:64 +msgid "" +"Sorry, no corresponding user was found. Please make sure you entered a " +"valid username and a valid email address. Both are required." +msgstr "" + +#: components/com_registration/registration.php:76 +#, php-format +msgid "" +"The user account %s has this email associated with it.\n" +"\n" +"A web user from %s has just requested that a new password be sent.\n" +"\n" +"\n" +"Your New Password is: %s\n" +"\n" +"\n" +"If you didn't ask for this, don't worry. You are seeing this message, not " +"them. \n" +"If this was an error just login with your new password and then change your " +"password to what you would like it to be." +msgstr "" + +#. eval ("\$message = \"$message\";"); +#: components/com_registration/registration.php:83 +#, php-format +msgid "%s :: New password for - %s" +msgstr "" + +#: components/com_registration/registration.php:99 +msgid "New User Password created and sent!" +msgstr "" + +#. Send notification to all administrators +#: components/com_registration/registration.php:162 +#: components/com_registration/registration.php:210 +#, php-format +msgid "Account details for %s at %s" +msgstr "" + +#: components/com_registration/registration.php:167 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s. Your account has been created but, as a " +"precaution, it must be activated by you before you can use it.\n" +"To activate the account click on the following link or copy and paste it in " +"your browser:\n" +"%s\n" +"\n" +"After activation you may login to %s using the following username and " +"password:\n" +"\n" +"Username - %s\n" +"Password - %s" +msgstr "" + +#: components/com_registration/registration.php:182 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"Thank you for registering at %s.\n" +"\n" +"You may now login to %s using the username and password you registered with." +msgstr "" + +#: components/com_registration/registration.php:211 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"A new user has registered at %s.\n" +"This email contains their details:\n" +"\n" +"Name - %s\n" +"e-mail - %s\n" +"Username - %s\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" + +#: components/com_registration/registration.php:241 +#: components/com_registration/registration.php:244 +msgid "Registration Complete" +msgstr "" + +#: components/com_registration/registration.php:242 +msgid "" +"Your account has been created and an activation link has been sent to the e-" +"mail address you entered. Note that you must activate the account by " +"clicking on the activation link before you can login." +msgstr "" + +#: components/com_registration/registration.php:245 +msgid "You may now login." +msgstr "" + +#: components/com_registration/registration.php:263 +#: components/com_registration/registration.php:284 +msgid "Invalid Activation Link!" +msgstr "" + +#: components/com_registration/registration.php:264 +#: components/com_registration/registration.php:285 +msgid "" +"There is no such account in our database or the account has already been " +"activated." +msgstr "" + +#: components/com_registration/registration.php:277 +msgid "Activation Complete!" +msgstr "" + +#: components/com_registration/registration.php:278 +msgid "" +"Your account has been activated successfully. You can now login using the " +"username and password you chose during registration." +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/rss.pot 4.6-complete/uploadfiles/language/untranslated/rss.pot --- 4.6rc2/uploadfiles/language/untranslated/rss.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/rss.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,19 @@ +# Mambo Open Source. +# Copyright (C) 2005 - 2006 Mambo Foundation Inc. +# This file is distributed under the same license as the Mambo package. +# Translation Team , 2006# +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Mambo 4.6\n" +"Report-Msgid-Bugs-To: translation@mambo-foundation.org\n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: 2006-06-08 10:21+0100\n" +"Last-Translator: Translation \n" +"Language-Team: Translation \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n" + diff -ruN 4.6rc2/uploadfiles/language/untranslated/search.pot 4.6-complete/uploadfiles/language/untranslated/search.pot --- 4.6rc2/uploadfiles/language/untranslated/search.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/search.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,142 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_search/search.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Menu Image" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_search/search.xml +#: components/com_search/search.html.php:41 +#: components/com_search/search.php:36 components/com_search/search.php:42 +#: components/com_search/search.php:144 +msgid "Search" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Show/Hide the pages Title" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "This component manages the Search functionality." +msgstr "" + +#: administrator/components/com_search/search.xml +msgid "Use Global" +msgstr "" + +#: components/com_search/search.html.php:35 +#: components/com_search/search.html.php:65 +msgid "Search Keyword" +msgstr "" + +#: components/com_search/search.html.php:50 +msgid "Ordering" +msgstr "" + +#. number of matches found +#: components/com_search/search.html.php:96 +#, php-format +msgid "returned %d match" +msgid_plural "returned %d matches" +msgstr[0] "" +msgstr[1] "" + +#: components/com_search/search.php:56 +msgid "Newest first" +msgstr "" + +#: components/com_search/search.php:57 +msgid "Oldest first" +msgstr "" + +#: components/com_search/search.php:58 +msgid "Most popular" +msgstr "" + +#: components/com_search/search.php:59 +msgid "Alphabetical" +msgstr "" + +#: components/com_search/search.php:60 +msgid "Section/Category" +msgstr "" + +#: components/com_search/search.php:70 +msgid "Any words" +msgstr "" + +#: components/com_search/search.php:75 +msgid "All words" +msgstr "" + +#: components/com_search/search.php:80 +msgid "Exact phrase" +msgstr "" + +#. html output +#. no matches found +#: components/com_search/search.php:92 +msgid "No results were found" +msgstr "" + +#: components/com_search/search.php:97 +msgid "One or more common words were ignored in the search" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/sections.pot 4.6-complete/uploadfiles/language/untranslated/sections.pot --- 4.6rc2/uploadfiles/language/untranslated/sections.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/sections.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_sections/admin.sections.html.php:31 +msgid "Section Manager" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:45 +msgid "Section Name" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:48 +msgid "Published" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:51 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:54 +msgid "Order" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:57 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:60 +msgid "Access" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:63 +msgid "Section ID" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:66 +msgid "# Categories" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:69 +msgid "# Active" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:72 +msgid "# Trash" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:173 +msgid "New Section" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:189 +msgid "Please select a Menu" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:192 +msgid "Please select a menu type" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:195 +msgid "Please enter a Name for this menu item" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:201 +msgid "Section must have a name" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:203 +msgid "Section must have a title" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:251 +msgid "Section:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:253 +msgid "Edit" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:253 +msgid "New" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:265 +msgid "Show Advanced Details" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:268 +msgid "Hide Advanced Details" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:279 +msgid "Section Details" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:284 +msgid "Scope:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:294 +msgid "Title:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:297 +msgid "A short name to appear in menus" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:302 +msgid "Category" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:302 +msgid "Name:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:302 +msgid "Section" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:305 +msgid "A long name to be displayed in headings" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:310 +msgid "Image:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:322 +msgid "Preview" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:327 +msgid "Image Position:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:335 +msgid "Ordering:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:343 +msgid "Access Level:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:351 +msgid "Published:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:359 +msgid "Description:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:380 +#: administrator/components/com_sections/admin.sections.html.php:417 +msgid "Link to Menu" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:385 +msgid "This will create a new menu item in the menu you select" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:391 +msgid "Select a Menu" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:399 +msgid "Select Menu Type" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:407 +msgid "Menu Item Name" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:422 +msgid "Existing Menu Links" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:430 +msgid "None" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:449 +msgid "Menu links available when saved" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:487 +msgid "Copy Section" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:497 +msgid "Copy to Section:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:499 +msgid "The new Section name" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:503 +msgid "Categories being copied:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:519 +msgid "Content Items being copied:" +msgstr "" + +#: administrator/components/com_sections/admin.sections.html.php:535 +msgid "" +"This will copy the Categories listed\n" +"\t\t\t
      \n" +"\t\t\tand all the items within the category (also listed)\n" +"\t\t\t
      \n" +"\t\t\tto the new Section created." +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:191 +#, php-format +msgid "The section %s is currently being edited by another administrator" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:209 +#: administrator/components/com_sections/admin.sections.php:626 +msgid "Section Table" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:213 +#: administrator/components/com_sections/admin.sections.php:233 +#: administrator/components/com_sections/admin.sections.php:631 +msgid "Section Blog" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:217 +#: administrator/components/com_sections/admin.sections.php:636 +msgid "Section Blog Archive" +msgstr "" + +#. build the html select list for section types +#: administrator/components/com_sections/admin.sections.php:231 +msgid "Select Type" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:232 +msgid "Section List" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:234 +msgid "Section Archive Blog" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:308 +msgid "Changes to Section saved" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:314 +msgid "Section saved" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:329 +msgid "Select a section to delete" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:367 +#, php-format +msgid "Sections(s): %s cannot be removed as they contain categories" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:372 +#, php-format +msgid "Section(s): %s successfully deleted" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:389 +msgid "publish" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:389 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:390 +msgid "Select a section to " +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:398 +msgid "Cannot Publish an Empty Section" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:469 +msgid "Select an item to move" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:587 +#, php-format +msgid "Section %s and all its Categories and Items have been copied as %s" +msgstr "" + +#: administrator/components/com_sections/admin.sections.php:660 +#, php-format +msgid "%s ( %s ) in menu: %s successfully created" +msgstr "" + +#. foreach +#: administrator/components/com_sections/admin.sections.php:687 +msgid "New ordering saved" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_sections/toolbar.sections.html.php:32 +msgid "Close" +msgstr "" + +#: administrator/components/com_sections/toolbar.sections.html.php:65 +msgid "Copy" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/statistics.pot 4.6-complete/uploadfiles/language/untranslated/statistics.pot --- 4.6rc2/uploadfiles/language/untranslated/statistics.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/statistics.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,85 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_statistics/admin.statistics.html.php:33 +msgid "Browser, OS, Domain Statistics" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:39 +msgid "Browsers" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:43 +msgid "Browser" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:82 +msgid "OS Stats" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:86 +msgid "Operating System" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:125 +msgid "Domain Stats" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:129 +msgid "Domain" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:180 +msgid "Page Impression Statistics" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:188 +msgid "Title" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:189 +msgid "Page Impressions" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:226 +msgid "Search Engine Text :" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:227 +msgid "logging is :" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:228 +msgid "Disabled" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:228 +msgid "Enabled" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:237 +msgid "Search Text" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:238 +msgid "Times Requested" +msgstr "" + +#: administrator/components/com_statistics/admin.statistics.html.php:239 +msgid "Results Returned" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/syndicate.pot 4.6-complete/uploadfiles/language/untranslated/syndicate.pot --- 4.6rc2/uploadfiles/language/untranslated/syndicate.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/syndicate.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,209 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:26 +msgid "Syndication Settings" +msgstr "" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:34 +msgid "Parameters" +msgstr "" + +#: administrator/components/com_syndicate/admin.syndicate.html.php:49 +msgid "Manage Syndication Settings" +msgstr "" + +#: administrator/components/com_syndicate/admin.syndicate.php:18 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_syndicate/admin.syndicate.php:97 +msgid "Settings successfully Saved" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "# Items" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "ATOM 1.0" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Activate support for Firefox Live Bookmarks functionality" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Alt text for image" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Author Alphabetical" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Author Reverse-Alphabetical" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Bookmark file" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache Time" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache file will refresh every x seconds" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Cache the feed files" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Default" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Description" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Frontpage Ordering" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image Alt" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Image to be included in feed" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Least Hits" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit Text" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Limit the article text to the value indicated below" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Live Bookmarks" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Most Hits" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Most recent first" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "No" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Number of Items to syndicate" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Off" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Oldest first" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Order" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Order that the items will be displayed" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 0.91" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 1.0" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "RSS 2.0" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Special file name, if empty the default will be used." +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndicate" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Description" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Syndication Title" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Text Length" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "The word length of the article text - 0 will show no text" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "This component controls the Syndication settings" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Title" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Title Alphabetical" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Title Reverse-Alphabetical" +msgstr "" + +#: administrator/components/com_syndicate/syndicate.xml +msgid "Yes" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/templates.pot 4.6-complete/uploadfiles/language/untranslated/templates.pot --- 4.6rc2/uploadfiles/language/untranslated/templates.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/templates.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,168 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_templates/admin.templates.html.php:40 +msgid "No preview available" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:53 +msgid "Administrator" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:53 +msgid "Site" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:53 +msgid "Template Manager" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:56 +msgid "Preview Template" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:68 +msgid "Name" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:74 +#: administrator/components/com_templates/admin.templates.html.php:80 +#: administrator/components/com_templates/admin.templates.html.php:151 +#: administrator/components/com_templates/toolbar.templates.html.php:20 +msgid "Default" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:83 +#: administrator/components/com_templates/admin.templates.html.php:164 +msgid "Assigned" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:89 +msgid "Author" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:92 +msgid "Version" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:95 +msgid "Date" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:98 +msgid "Author URL" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:135 +msgid "Published" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:221 +msgid "Template HTML Editor" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:224 +#: administrator/components/com_templates/admin.templates.html.php:278 +msgid "Unwriteable" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:224 +#: administrator/components/com_templates/admin.templates.html.php:278 +msgid "Writeable" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:233 +#: administrator/components/com_templates/admin.templates.html.php:287 +msgid "Make unwriteable after saving" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:240 +#: administrator/components/com_templates/admin.templates.html.php:294 +msgid "Override write protection while saving" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:275 +msgid "Template CSS Editor" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:326 +#, php-format +msgid "Assign template %s to menu items" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:331 +msgid "Page(s):" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:359 +msgid "Module Positions" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:373 +msgid "Position" +msgstr "" + +#: administrator/components/com_templates/admin.templates.html.php:376 +msgid "Description" +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:18 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:231 +msgid "You can not delete template in use." +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:258 +#: administrator/components/com_templates/admin.templates.php:323 +#, php-format +msgid "Operation Failed: Could not open %s" +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:270 +#: administrator/components/com_templates/admin.templates.php:334 +msgid "Operation failed: No template specified." +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:273 +#: administrator/components/com_templates/admin.templates.php:338 +msgid "Operation failed: Content empty." +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:288 +#, php-format +msgid "Operation failed: %s is not writable." +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:303 +#: administrator/components/com_templates/admin.templates.php:368 +msgid "Operation failed: Failed to open file for writing." +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:353 +msgid "Operation failed: The file is not writable." +msgstr "" + +#: administrator/components/com_templates/admin.templates.php:450 +msgid "Positions saved" +msgstr "" + +#: administrator/components/com_templates/toolbar.templates.html.php:69 +msgid "Save" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/trash.pot 4.6-complete/uploadfiles/language/untranslated/trash.pot --- 4.6rc2/uploadfiles/language/untranslated/trash.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/trash.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,140 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_trash/admin.trash.html.php:61 +msgid "Trash Manager" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:67 +#: administrator/components/com_trash/admin.trash.html.php:71 +msgid "Content Items" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:83 +#: administrator/components/com_trash/admin.trash.html.php:171 +msgid "Title" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:86 +msgid "Section" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:89 +msgid "Category" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:92 +#: administrator/components/com_trash/admin.trash.html.php:180 +msgid "ID" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:155 +#: administrator/components/com_trash/admin.trash.html.php:159 +msgid "Menu Items" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:174 +msgid "Menu" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:177 +msgid "Type" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:247 +msgid "Delete Items" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:256 +#: administrator/components/com_trash/admin.trash.html.php:321 +msgid "Number of Items:" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:262 +msgid "Items being Deleted:" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:273 +msgid "" +"This will Permanently Delete " +"
      these Items from the Database" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:276 +msgid "" +"Are you sure you want to Deleted the listed items? \\nThis will Permanently " +"Delete them from the database." +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:277 +#: administrator/components/com_trash/admin.trash.html.php:278 +#: administrator/components/com_trash/toolbar.trash.html.php:21 +msgid "Delete" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:312 +msgid "Restore Items" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:327 +msgid "Items being Restored:" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:338 +msgid "" +"This will Restore these " +"Items,
      they will be returned to their orignial places as Unpublished " +"items" +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:341 +msgid "Are you sure you want to Restore the listed items?." +msgstr "" + +#: administrator/components/com_trash/admin.trash.html.php:342 +#: administrator/components/com_trash/admin.trash.html.php:343 +#: administrator/components/com_trash/toolbar.trash.html.php:19 +msgid "Restore" +msgstr "" + +#: administrator/components/com_trash/admin.trash.php:16 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_trash/admin.trash.php:182 +#, php-format +msgid "%s Item successfully Deleted" +msgid_plural "%s Items successfully Deleted" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/admin.trash.php:256 +#, php-format +msgid "%s Item successfully Restored" +msgid_plural "%s Items successfully Restored" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_trash/trash.xml +msgid "This component manages the Trash functionality." +msgstr "" + +#: administrator/components/com_trash/trash.xml +msgid "Trash" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/typedcontent.pot 4.6-complete/uploadfiles/language/untranslated/typedcontent.pot --- 4.6rc2/uploadfiles/language/untranslated/typedcontent.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/typedcontent.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,596 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:32 +msgid "Static Content Manager" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:35 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:61 +msgid "Title" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:64 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:96 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:99 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:518 +msgid "Published" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:67 +msgid "Order:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:70 +msgid "Save Order" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:73 +msgid "Access" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:76 +msgid "ID" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:79 +msgid "Links" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:82 +msgid "Author" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:85 +msgid "Date" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:102 +msgid "Expired" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:105 +msgid "Unpublished" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:110 +msgid "Always" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:110 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:112 +msgid "Start:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:117 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:119 +msgid "Finish:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:117 +msgid "No Expiry" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:147 +msgid "Edit User" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:175 +msgid "Edit Static Content" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:191 +msgid "Publish Information" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:269 +msgid "" +"Are you sure you want to reset the Hits to Zero? \\nAny unsaved changes to " +"this content will be lost." +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:279 +msgid "Please select a Menu" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:282 +msgid "Please enter a Name for this menu item" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:298 +msgid "Content item must have a title" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:300 +msgid "Content item must have a name" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:351 +msgid "Static Content Item:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:353 +msgid "Edit" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:353 +msgid "New" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:362 +msgid "Show Advanced Details" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:365 +msgid "Hide Advanced Details" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:379 +msgid "Item Details" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:384 +msgid "Title:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:392 +msgid "Title Alias:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:400 +msgid "Text: (required)" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:421 +msgid "Publishing" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:426 +msgid "Publishing Info" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:431 +msgid "State:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:439 +msgid "Published:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:447 +msgid "Access Level:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:455 +msgid "Author Alias:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:463 +msgid "Change Creator:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:471 +msgid "Override Created Date" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:480 +msgid "Start Publishing:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:489 +msgid "Finish Publishing:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:520 +msgid "Content ID:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:518 +msgid "Archived" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:518 +msgid "Draft Unpublished" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:523 +msgid "Hits" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:534 +msgid "Version" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:542 +msgid "Created" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:545 +msgid "New document" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:550 +msgid "Last Modified" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:553 +msgid "Not modified" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:558 +msgid "Expires" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:567 +msgid "Images" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:572 +msgid "MOSImage Control" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:577 +msgid "Sub-folder:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:582 +msgid "Gallery Images" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:594 +msgid "Content Images:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:608 +msgid "Edit the image selected:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:612 +msgid "Source" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:620 +msgid "Align" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:628 +msgid "Alt Text" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:636 +msgid "Border" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:644 +msgid "Caption:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:652 +msgid "Caption Position:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:660 +msgid "Caption Align:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:668 +msgid "Width:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:685 +msgid "Parameters" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:690 +msgid "Parameter Control" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:701 +msgid "Meta Info" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:706 +msgid "Meta Data" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:711 +msgid "Description:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:717 +msgid "Keywords:" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:724 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:729 +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:758 +msgid "Link to Menu" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:734 +msgid "This will create a "Link - Static Content" in the menu you select" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:740 +msgid "Select a Menu" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:748 +msgid "Menu Item Name" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:763 +msgid "Existing Menu Links" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.html.php:771 +msgid "None" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:157 +msgid "Ordering asc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:158 +msgid "Ordering desc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:159 +msgid "ID asc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:160 +msgid "ID desc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:161 +msgid "Title asc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:162 +msgid "Title desc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:163 +msgid "Date asc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:164 +msgid "Date desc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:165 +msgid "Author asc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:166 +msgid "Author desc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:167 +msgid "Published asc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:168 +msgid "Published desc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:169 +msgid "Access asc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:170 +msgid "Access desc" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:182 +msgid "- All Authors -" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:204 +msgid "The module % is currently being edited by another administrator" +msgstr "" + +#. build the select list for the image caption position +#: administrator/components/com_typedcontent/admin.typedcontent.php:279 +msgid "Bottom" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:280 +msgid "Top" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:358 +msgid "Typed Content Item saved" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:364 +msgid "Changes to Typed Content Item saved" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:378 +msgid "Select an item to delete" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:395 +#, php-format +msgid "%d Item sent to the Trash" +msgid_plural "%d Items sent to the Trash" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:411 +msgid "archive" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:411 +msgid "publish" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:411 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:412 +#, php-format +msgid "Select an item to %s" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:434 +#, php-format +msgid "%d Item successfully Published" +msgid_plural "%d Items successfully Published" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:436 +#, php-format +msgid "%d Item successfully Unpublished" +msgid_plural "%d Items successfully Unpublished" +msgstr[0] "" +msgstr[1] "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:475 +msgid "Successfully Reset Hit" +msgstr "" + +#: administrator/components/com_typedcontent/admin.typedcontent.php:518 +#, php-format +msgid "%s (Link - Static Content) in menu: %s successfully created" +msgstr "" + +#. foreach +#: administrator/components/com_typedcontent/admin.typedcontent.php:572 +msgid "New ordering saved" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Author Names" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Created Date and Time" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Email Icon" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Item Rating" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Menu Image" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Modified Date and Time" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "PDF Icon" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Print Icon" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item author - only affects this page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item creation date - only affects this page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item email button - only affects this page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item modification date - only affects this page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item pdf button - only affects this page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item print button - only affects this page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the item rating - only affects this page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Show/Hide the pages Title" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "This shows a single content page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Typed Content Page" +msgstr "" + +#: administrator/components/com_typedcontent/typedcontent.xml +msgid "Use Global" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/user.pot 4.6-complete/uploadfiles/language/untranslated/user.pot --- 4.6rc2/uploadfiles/language/untranslated/user.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/user.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,132 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: components/com_user/user.html.php:20 +msgid "Welcome!" +msgstr "" + +#: components/com_user/user.html.php:25 +msgid "Welcome to the user section of our site" +msgstr "" + +#: components/com_user/user.html.php:41 +msgid "Please enter your name." +msgstr "" + +#: components/com_user/user.html.php:43 +msgid "Please enter a user name." +msgstr "" + +#: components/com_user/user.html.php:45 components/com_user/user.html.php:51 +#, php-format +msgid "" +"Please enter a valid %s. No spaces, more than %d characters and containing " +"only the characters 0-9,a-z, or A-Z" +msgstr "" + +#: components/com_user/user.html.php:45 +msgid "Username:" +msgstr "" + +#: components/com_user/user.html.php:47 +msgid "Please enter a valid e-mail address." +msgstr "" + +#: components/com_user/user.html.php:49 +msgid "Password and verification do not match, please try again." +msgstr "" + +#: components/com_user/user.html.php:51 components/com_user/user.html.php:74 +msgid "Password:" +msgstr "" + +#: components/com_user/user.html.php:59 +msgid "Edit Your Details" +msgstr "" + +#: components/com_user/user.html.php:63 +msgid "Your Name:" +msgstr "" + +#: components/com_user/user.html.php:67 +msgid "e-mail:" +msgstr "" + +#: components/com_user/user.html.php:70 +msgid "User Name:" +msgstr "" + +#: components/com_user/user.html.php:78 +msgid "Verify Password:" +msgstr "" + +#: components/com_user/user.html.php:97 +msgid "Submission Success!" +msgstr "" + +#: components/com_user/user.html.php:101 +msgid "" +"Your item has been submitted to the site administrators. It will be reviewed " +"before being published on the site." +msgstr "" + +#: components/com_user/user.php:30 +msgid "Update" +msgstr "" + +#: components/com_user/user.php:57 +msgid "You cannot upload files greater than 15kb in size." +msgstr "" + +#: components/com_user/user.php:60 +#, php-format +msgid "Image %s already exists. Please rename the file and try again." +msgstr "" + +#: components/com_user/user.php:66 +#, php-format +msgid "Failed to copy %s" +msgstr "" + +#: components/com_user/user.php:88 +msgid "You may only upload a gif or jpg image." +msgstr "" + +#: components/com_user/user.php:130 +msgid "Passwords do not match" +msgstr "" + +#: components/com_user/user.php:153 +msgid "Your settings have been saved." +msgstr "" + +#: components/com_user/user.php:209 +msgid "Checking table" +msgstr "" + +#: components/com_user/user.php:212 +#, php-format +msgid "Checked in %d item" +msgid_plural "Checked in %d items" +msgstr[0] "" +msgstr[1] "" + +#: components/com_user/user.php:223 +msgid "All items checked out have now been checked in" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/users.pot 4.6-complete/uploadfiles/language/untranslated/users.pot --- 4.6rc2/uploadfiles/language/untranslated/users.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/users.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,284 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_users/admin.users.html.php:26 +msgid "User Manager" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:29 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:52 +msgid "Name" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:55 +#: administrator/components/com_users/admin.users.php:159 +msgid "Logged In" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:58 +msgid "Enabled" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:61 +msgid "UserID" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:64 +msgid "Group" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:67 +msgid "E-Mail" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:70 +msgid "Last Visit" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:152 +msgid "You must provide a name." +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:154 +msgid "You must provide a user login name." +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:156 +msgid "Your login name contains invalid characters or is too short." +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:158 +msgid "You must provide an email address." +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:160 +msgid "You must assign user to a group." +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:162 +msgid "Passwords do not match." +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:164 +msgid "" +"Please Select another group as `Public Frontend` is not a selectable option" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:166 +msgid "" +"Please Select another group as `Public Backend` is not a selectable option" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:183 +msgid "Add" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:183 +msgid "Edit" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:183 +msgid "User:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:194 +msgid "User Details" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:199 +#: administrator/components/com_users/admin.users.html.php:328 +msgid "Name:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:207 +msgid "Username:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:214 +msgid "Email:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:222 +msgid "New Password:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:230 +msgid "Verify Password:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:238 +msgid "Group:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:249 +msgid "Block User" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:261 +msgid "Receive Submission Emails" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:273 +msgid "Register Date" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:281 +msgid "Last Visit Date" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:304 +#: administrator/components/com_users/admin.users.html.php:323 +msgid "Contact Information" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:310 +msgid "No Contact details linked to this User:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:312 +msgid "See \"Components -> Contact -> Manage Contacts\" for details." +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:338 +msgid "Position:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:348 +msgid "Telephone:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:358 +msgid "Fax:" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:380 +msgid "Contact" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:389 +msgid "Change Contact Details" +msgstr "" + +#: administrator/components/com_users/admin.users.html.php:392 +msgid "Components -> Contact -> Manage Contacts" +msgstr "" + +#: administrator/components/com_users/admin.users.php:17 +#: administrator/components/com_users/admin.users.php:183 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_users/admin.users.php:152 +msgid "- Select Group -" +msgstr "" + +#. get list of Log Status for dropdown filter +#: administrator/components/com_users/admin.users.php:158 +msgid "- Select Log Status - " +msgstr "" + +#: administrator/components/com_users/admin.users.php:160 +msgid "Not Logged In" +msgstr "" + +#: administrator/components/com_users/admin.users.php:188 +msgid "Super Administrator" +msgstr "" + +#: administrator/components/com_users/admin.users.php:190 +msgid "Administrator" +msgstr "" + +#: administrator/components/com_users/admin.users.php:308 +msgid "New User Details" +msgstr "" + +#: administrator/components/com_users/admin.users.php:309 +#, php-format +msgid "" +"Hello %s,\n" +"\n" +"\n" +"You have been added as a user to %s by an Administrator.\n" +"\n" +"This email contains your username and password to log into the %s\n" +"\n" +"Username - %s\n" +"Password - %s\n" +"\n" +"\n" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only" +msgstr "" + +#: administrator/components/com_users/admin.users.php:338 +#, php-format +msgid "Successfully Saved changes to User: %s" +msgstr "" + +#: administrator/components/com_users/admin.users.php:343 +#, php-format +msgid "Successfully Saved User: %s" +msgstr "" + +#: administrator/components/com_users/admin.users.php:362 +msgid "Select an item to delete" +msgstr "" + +#: administrator/components/com_users/admin.users.php:374 +msgid "You cannot delete a Super Administrator" +msgstr "" + +#: administrator/components/com_users/admin.users.php:376 +msgid "You cannot delete Yourself!" +msgstr "" + +#: administrator/components/com_users/admin.users.php:378 +msgid "" +"You cannot delete another `Administrator` only `Super Administrators` have " +"this power" +msgstr "" + +#: administrator/components/com_users/admin.users.php:412 +msgid "block" +msgstr "" + +#: administrator/components/com_users/admin.users.php:412 +msgid "unblock" +msgstr "" + +#: administrator/components/com_users/admin.users.php:413 +#, php-format +msgid "Select an item to %s" +msgstr "" + +#: administrator/components/com_users/admin.users.php:448 +msgid "Please select a user" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_users/toolbar.users.html.php:30 +msgid "Close" +msgstr "" + +#: administrator/components/com_users/toolbar.users.html.php:48 +msgid "Force Logout" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/weblinks.pot 4.6-complete/uploadfiles/language/untranslated/weblinks.pot --- 4.6rc2/uploadfiles/language/untranslated/weblinks.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/weblinks.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,400 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:27 +msgid "Web Link Manager" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:30 +msgid "Filter:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:50 +msgid "Title" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:53 +msgid "Published" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:56 +msgid "Approved" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:59 +msgid "Reorder" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:62 +msgid "Category" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:65 +#: administrator/components/com_weblinks/weblinks.xml +#: components/com_weblinks/weblinks.html.php:113 +msgid "Hits" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:96 +msgid "Edit Weblinks" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:129 +msgid "Edit Category" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:174 +msgid "Weblink item must have a title" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:176 +#: components/com_weblinks/weblinks.html.php:249 +msgid "You must select a category." +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:178 +#: components/com_weblinks/weblinks.html.php:251 +msgid "You must have a url." +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:188 +msgid "Web Link:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:190 +msgid "Edit" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:190 +msgid "New" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:202 +msgid "Details" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:207 +#: components/com_weblinks/weblinks.html.php:279 +msgid "Name:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:215 +msgid "Category:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:223 +#: components/com_weblinks/weblinks.html.php:295 +msgid "URL:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:231 +#: components/com_weblinks/weblinks.html.php:303 +msgid "Description:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:240 +msgid "Ordering:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:248 +msgid "Approved:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:256 +msgid "Published:" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.html.php:268 +msgid "Parameters" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.php:19 +msgid "You are not authorized to view this resource." +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.php:145 +#: components/com_weblinks/weblinks.php:184 +#, php-format +msgid "The module %s is currently being edited by another administrator." +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.php:225 +msgid "Select an item to delete" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.php:251 +msgid "publish" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.php:251 +msgid "unpublish" +msgstr "" + +#: administrator/components/com_weblinks/admin.weblinks.php:252 +#, php-format +msgid "Select an item to %s" +msgstr "" + +#. for existing content items the button is renamed `close` +#: administrator/components/com_weblinks/toolbar.weblinks.html.php:25 +msgid "Close" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"A small image to be placed to the left or right of your menu item, images " +"must be in images/stories/" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"A suffix to be applied to the css classes of the page, this allows " +"individual page styling" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Alignment of the image" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Back Button" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Category List - Category" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Category List - Section" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Description" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Description Text" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"Description for page, if left blank it will load _WEBLINKS_DESC from your " +"language file" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Hide" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Icon to be used to the left of the url links in Table view" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Image" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Image Align" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"Image for page, must be located in the /images/stories folder. Default will " +"load web_links.jpg, No image will mean an image is not loaded" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Left" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Link Descriptions" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Menu Image" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Page Class Suffix" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Page Title" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Right" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide a Back Button, that returns you to the previously view page" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Description below" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Description text of the Links" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Hits column" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the List of Categories in List view page" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the List of Categories in Table view page" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the Table Headings" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Show/Hide the pages Title" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Table Headings" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "" +"Text to display at the top of the page. If left blank, the Menu name will be " +"used instead" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "This component shows a listing of Weblinks" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +msgid "Use Global" +msgstr "" + +#: administrator/components/com_weblinks/weblinks.xml +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Weblinks" +msgstr "" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "New Window With Browser Navigation" +msgstr "" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "New Window Without Browser Navigation" +msgstr "" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Parent Window With Browser Navigation" +msgstr "" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target" +msgstr "" + +#: administrator/components/com_weblinks/weblinks_item.xml +msgid "Target window when the link is clicked" +msgstr "" + +#: components/com_weblinks/weblinks.class.php:70 +msgid "Please provide a valid URL" +msgstr "" + +#: components/com_weblinks/weblinks.class.php:76 +msgid "Your web link must be given a title." +msgstr "" + +#: components/com_weblinks/weblinks.class.php:91 +msgid "There is already a web link that name, please try again." +msgstr "" + +#: components/com_weblinks/weblinks.html.php:39 +#: components/com_weblinks/weblinks.php:18 +msgid "Web Links" +msgstr "" + +#: components/com_weblinks/weblinks.html.php:107 +msgid "Web Link" +msgstr "" + +#: components/com_weblinks/weblinks.html.php:247 +msgid "Web Link item must have a title" +msgstr "" + +#: components/com_weblinks/weblinks.html.php:262 +msgid "Submit A Web Link" +msgstr "" + +#: components/com_weblinks/weblinks.html.php:287 +msgid "Section:" +msgstr "" + +#: components/com_weblinks/weblinks.php:99 +msgid "" +"From the list below choose one of our web link categories, then select a URL " +"to visit the site." +msgstr "" + +#: components/com_weblinks/weblinks.php:279 +msgid "" +"Thanks for your submission; it will be reviewed before being posted to the " +"site." +msgstr "" + +#: components/com_weblinks/weblinks.php:291 +msgid "User Submitted '%'" +msgstr "" + +#: components/com_weblinks/weblinks.php:292 +#, php-format +msgid "" +"Hello %s,\\n\\n\\nA user submitted %s:\\n [ %s ]\\n has been just been " +"submitted by user:\\n [ %s ]\\n" +msgstr "" + +#: components/com_weblinks/weblinks.php:293 +#, php-format +msgid " for %s.\\n\\n\\n\\n" +msgstr "" + +#: components/com_weblinks/weblinks.php:294 +#, php-format +msgid "Please go to %s/administrator to view and approve this %s.\\n\\n" +msgstr "" + +#: components/com_weblinks/weblinks.php:295 +msgid "" +"Please do not respond to this message as it is automatically generated and " +"is for information purposes only\\n" +msgstr "" diff -ruN 4.6rc2/uploadfiles/language/untranslated/wrapper.pot 4.6-complete/uploadfiles/language/untranslated/wrapper.pot --- 4.6rc2/uploadfiles/language/untranslated/wrapper.pot 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/language/untranslated/wrapper.pot 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-06-08 10:21+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: components/com_wrapper/wrapper.html.php:53 +msgid "" +"This option will not work correctly. Unfortunately, your browser does not " +"support Inline Frames" +msgstr "" diff -ruN 4.6rc2/uploadfiles/mainbody.php 4.6-complete/uploadfiles/mainbody.php --- 4.6rc2/uploadfiles/mainbody.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mainbody.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,17 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/authenticator/index.html 4.6-complete/uploadfiles/mambots/authenticator/index.html --- 4.6rc2/uploadfiles/mambots/authenticator/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/authenticator/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/authenticator/mosvaliduserbot.php 4.6-complete/uploadfiles/mambots/authenticator/mosvaliduserbot.php --- 4.6rc2/uploadfiles/mambots/authenticator/mosvaliduserbot.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/authenticator/mosvaliduserbot.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,19 @@ +getUser(); + $passwd = md5($loginobject->getPassword()); + $remember = $loginobject->getRemember(); + $authenticator =& mamboAuthenticator::getInstance(); + $checkuser = $authenticator->authenticateUser($message, $username, $passwd, $remember); + return $message; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/mambots/authenticator/mosvaliduserbot.xml 4.6-complete/uploadfiles/mambots/authenticator/mosvaliduserbot.xml --- 4.6rc2/uploadfiles/mambots/authenticator/mosvaliduserbot.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/authenticator/mosvaliduserbot.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,16 @@ + + + User Authenticator + Martin Brampton + 5 January 2006 + Copyright 2006 Mambo Foundation + GNU/GPL + martin@mambo-foundation.org + www.mambo-foundation.org + 4.5.4 + Standard Mambo user credential validation + + mosvaliduserbot.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi/geshi/css.php 4.6-complete/uploadfiles/mambots/content/geshi/geshi/css.php --- 4.6rc2/uploadfiles/mambots/content/geshi/geshi/css.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi/geshi/css.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,177 @@ + 'CSS', + 'COMMENT_SINGLE' => array(1 => '@'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', "'"), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'aqua', 'azimuth', 'background-attachment', 'background-color', + 'background-image', 'background-position', 'background-repeat', + 'background', 'black', 'blue', 'border-bottom-color', 'border-bottom-style', + 'border-bottom-width', 'border-left-color', 'border-left-style', + 'border-left-width', 'border-right', 'border-right-color', + 'border-right-style', 'border-right-width', 'border-top-color', + 'border-top-style', 'border-top-width','border-bottom', 'border-collapse', + 'border-left', 'border-width', 'border-color', 'border-spacing', + 'border-style', 'border-top', 'border', 'bottom', 'caption-side', + 'clear', 'clip', 'color', 'content', 'counter-increment', 'counter-reset', + 'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display', + 'elevation', 'empty-cells', 'float', 'font-family', 'font-size', + 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', + 'font-weight', 'font', 'height', 'left', 'letter-spacing', 'line-height', + 'list-style', 'list-style-image', 'list-style-position', 'list-style-type', + 'margin-bottom', 'margin-left', 'margin-right', 'margin-top', 'margin', + 'marker-offset', 'marks', 'max-height', 'max-width', 'min-height', + 'min-width', 'orphans', 'outline', 'outline-color', 'outline-style', + 'outline-width', 'overflow', 'padding-bottom', 'padding-left', + 'padding-right', 'padding-top', 'padding', 'page', 'page-break-after', + 'page-break-before', 'page-break-inside', 'pause-after', 'pause-before', + 'pause', 'pitch', 'pitch-range', 'play-during', 'position', 'quotes', + 'richness', 'right', 'size', 'speak-header', 'speak-numeral', 'speak-punctuation', + 'speak', 'speech-rate', 'stress', 'table-layout', 'text-align', 'text-decoration', + 'text-indent', 'text-shadow', 'text-transform', 'top', 'unicode-bidi', + 'vertical-align', 'visibility', 'voice-family', 'volume', 'white-space', 'widows', + 'width', 'word-spacing', 'z-index' + ), + 2 => array( + 'above', 'absolute', 'always', 'armenian', 'aural', 'auto', 'avoid', + 'baseline', 'behind', 'below', 'bidi-override', 'blink', 'block', 'bold', 'bolder', 'both', + 'capitalize', 'center-left', 'center-right', 'center', 'circle', 'cjk-ideographic', 'close-quote', 'collapse', 'condensed', 'continuous', 'crop', 'crosshair', 'cross', 'cursive', + 'dashed', 'decimal-leading-zero', 'decimal', 'default', 'digits', 'disc', 'dotted', 'double', + 'e-resize', 'embed', 'extra-condensed', 'extra-expanded', 'expanded', + 'fantasy', 'far-left', 'far-right', 'faster', 'fast', 'fixed', 'fuchsia', + 'georgian', 'gray', 'green', 'groove', 'hebrew', 'help', 'hidden', 'hide', 'higher', + 'high', 'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table', 'inline', + 'inset', 'inside', 'invert', 'italic', 'justify', 'katakana-iroha', 'katakana', + 'landscape', 'larger', 'large', 'left-side', 'leftwards', 'level', 'lighter', 'lime', 'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek', 'lower-roman', 'lowercase', 'ltr', 'lower', 'low', + 'maroon', 'medium', 'message-box', 'middle', 'mix', 'monospace', + 'n-resize', 'narrower', 'navy', 'ne-resize', 'no-close-quote', 'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap', 'nw-resize', + 'oblique', 'olive', 'once', 'open-quote', 'outset', 'outside', 'overline', + 'pointer', 'portrait', 'purple', 'px', + 'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb', 'ridge', 'right-side', 'rightwards', + 's-resize', 'sans-serif', 'scroll', 'se-resize', 'semi-condensed', 'semi-expanded', 'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower', 'small-caps', 'small-caption', 'smaller', 'soft', 'solid', 'spell-out', 'square', + 'static', 'status-bar', 'super', 'sw-resize', + 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row', 'table-row-group', 'teal', 'text', 'text-bottom', 'text-top', 'thick', 'thin', 'transparent', + 'ultra-condensed', 'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin', 'upper-roman', 'uppercase', 'url', + 'visible', + 'w-resize', 'wait', 'white', 'wider', + 'x-fast', 'x-high', 'x-large', 'x-loud', 'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small', + 'yellow', 'yes' + ) + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', ':', ';' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000000; font-weight: bold;', + 2 => 'color: #993333;' + ), + 'COMMENTS' => array( + 1 => 'color: #a1a100;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + 0 => 'color: #cc00cc;', + 1 => 'color: #6666ff;', + 2 => 'color: #3333ff;', + ) + ), + 'URLS' => array( + 1 => '', + 2 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + 0 => '\#[a-zA-Z0-9\-]+\s+\{', + 1 => '\.[a-zA-Z0-9\-]+\s', + 2 => ':[a-zA-Z0-9\-]+\s' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi/geshi/html4strict.php 4.6-complete/uploadfiles/mambots/content/geshi/geshi/html4strict.php --- 4.6rc2/uploadfiles/mambots/content/geshi/geshi/html4strict.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi/geshi/html4strict.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,254 @@ + 'HTML', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array(''), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + ), + 2 => array( + '<a>', '<abbr>', '<acronym>', '<address>', '<applet>', + '<a', '<abbr', '<acronym', '<address', '<applet', + '</a>', '</abbr>', '</acronym>', '</address>', '</applet>', + '</a', '</abbr', '</acronym', '</address', '</applet', + + '<base>', '<basefont>', '<bdo>', '<big>', '<blockquote>', '<body>', '<br>', '<button>', '<b>', + '<base', '<basefont', '<bdo', '<big', '<blockquote', '<body', '<br', '<button', '<b', + '</base>', '</basefont>', '</bdo>', '</big>', '</blockquote>', '</body>', '</br>', '</button>', '</b>', + '</base', '</basefont', '</bdo', '</big', '</blockquote', '</body', '</br', '</button', '</b', + + '<caption>', '<center>', '<cite>', '<code>', '<colgroup>', '<col>', + '<caption', '<center', '<cite', '<code', '<colgroup', '<col', + '</caption>', '</center>', '</cite>', '</code>', '</colgroup>', '</col>', + '</caption', '</center', '</cite', '</code', '</colgroup', '</col', + + '<dd>', '<del>', '<dfn>', '<dir>', '<div>', '<dl>', '<dt>', + '<dd', '<del', '<dfn', '<dir', '<div', '<dl', '<dt', + '</dd>', '</del>', '</dfn>', '</dir>', '</div>', '</dl>', '</dt>', + '</dd', '</del', '</dfn', '</dir', '</div', '</dl', '</dt', + + '<em>', + '<em', + '</em>', + '</em', + + '<fieldset>', '<font>', '<form>', '<frame>', '<frameset>', + '<fieldset', '<font', '<form', '<frame', '<frameset', + '</fieldset>', '</font>', '</form>', '</frame>', '</frameset>', + '</fieldset', '</font', '</form', '</frame', '</frameset', + + '<h1>', '<h2>', '<h3>', '<h4>', '<h5>', '<h6>', '<head>', '<hr>', '<html>', + '<h1', '<h2', '<h3', '<h4', '<h5', '<h6', '<head', '<hr', '<html', + '</h1>', '</h2>', '</h3>', '</h4>', '</h5>', '</h6>', '</head>', '</hr>', '</html>', + '</h1', '</h2', '</h3', '</h4', '</h5', '</h6', '</head', '</hr', '</html', + + '<iframe>', '<ilayer>', '<img>', '<input>', '<ins>', '<isindex>', '<i>', + '<iframe', '<ilayer', '<img', '<input', '<ins', '<isindex', '<i', + '</iframe>', '</ilayer>', '</img>', '</input>', '</ins>', '</isindex>', '</i>', + '</iframe', '</ilayer', '</img', '</input', '</ins', '</isindex', '</i', + + '<kbd>', + '<kbd', + '&t;/kbd>', + '</kbd', + + '<label>', '<legend>', '<link>', '<li>', + '<label', '<legend', '<link', '<li', + '</label>', '</legend>', '</link>', '</li>', + '</label', '</legend', '</link', '</li', + + '<map>', '<meta>', + '<map', '<meta', + '</map>', '</meta>', + '</map', '</meta', + + '<noframes>', '<noscript>', + '<noframes', '<noscript', + '</noframes>', '</noscript>', + '</noframes', '</noscript', + + '<object>', '<ol>', '<optgroup>', '<option>', + '<object', '<ol', '<optgroup', '<option', + '</object>', '</ol>', '</optgroup>', '</option>', + '</object', '</ol', '</optgroup', '</option', + + '<param>', '<pre>', '<p>', + '<param', '<pre', '<p', + '</param>', '</pre>', '</p>', + '</param', '</pre', '</p', + + '<q>', + '<q', + '</q>', + '</q', + + '<samp>', '<script>', '<select>', '<small>', '<span>', '<strike>', '<strong>', '<style>', '<sub>', '<sup>', '<s>', + '<samp', '<script', '<select', '<small', '<span', '<strike', '<strong', '<style', '<sub', '<sup', '<s', + '</samp>', '</script>', '</select>', '</small>', '</span>', '</strike>', '</strong>', '</style>', '</sub>', '</sup>', '</s>', + '</samp', '</script', '</select', '</small', '</span', '</strike', '</strong', '</style', '</sub', '</sup', '</s', + + '<table>', '<tbody>', '<td>', '<textarea>', '<text>', '<tfoot>', '<thead>', '<th>', '<title>', '<tr>', '<tt>', + '<table', '<tbody', '<td', '<textarea', '<text', '<tfoot', '<tfoot', '<thead', '<th', '<title', '<tr', '<tt', + '</table>', '</tbody>', '</td>', '</textarea>', '</text>', '</tfoot>', '</thead', '</tfoot', '</th>', '</title>', '</tr>', '</tt>', + '</table', '</tbody', '</td', '</textarea', '</text', '</tfoot', '</tfoot', '</thead', '</th', '</title', '</tr', '</tt', + + '<ul>', '<u>', + '<ul', '<u', + '</ul>', '</ul>', + '</ul', '</u', + + '<var>', + '<var', + '</var>', + '</var', + + '>', '<' + ), + 3 => array( + 'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis', + 'background', 'bgcolor', 'border', + 'cellpadding', 'cellspacing', 'char', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords', + 'data', 'datetime', 'declare', 'defer', 'dir', 'disabled', + 'enctype', + 'face', 'for', 'frame', 'frameborder', + 'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv', + 'id', 'ismap', + 'label', 'lang', 'language', 'link', 'longdesc', + 'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple', + 'name', 'nohref', 'noresize', 'noshade', 'nowrap', + 'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload', + 'profile', 'prompt', + 'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules', + 'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary', + 'tabindex', 'target', 'text', 'title', 'type', + 'usemap', + 'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace', + 'width' + ) + ), + 'SYMBOLS' => array( + '/', '=' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;' + ), + 'COMMENTS' => array( + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'SCRIPT' => array( + 0 => 'color: #00bbdd;', + 1 => 'color: #ddbb00;', + 2 => 'color: #009900;' + ), + 'REGEXPS' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => 'http://december.com/html/4/element/{FNAME}.html', + 3 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_ALWAYS, + 'SCRIPT_DELIMITERS' => array( + 0 => array( + ' '>' + ), + 1 => array( + '&' => ';' + ), + 2 => array( + '<' => '>' + ) + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => false, + 1 => false, + 2 => true + ) +); + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi/geshi/javascript.php 4.6-complete/uploadfiles/mambots/content/geshi/geshi/javascript.php --- 4.6rc2/uploadfiles/mambots/content/geshi/geshi/javascript.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi/geshi/javascript.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,146 @@ + 'JAVASCRIPT', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do', + 'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item', + 'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void', + 'while', 'write', 'with' + ), + 2 => array( + 'class', 'const', 'default', 'debugger', 'export', 'extends', 'false', + 'function', 'import', 'namespace', 'new', 'null', 'package', 'private', + 'protected', 'public', 'super', 'true', 'use', 'var' + ), + 3 => array( + + // common functions for Window object + 'alert', 'back', 'blur', 'close', 'confirm', 'focus', 'forward', 'home', + 'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove', + 'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'status', + 'stop', + ) + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000066; font-weight: bold;', + 2 => 'color: #003366; font-weight: bold;', + 3 => 'color: #000066;' + ), + 'COMMENTS' => array( + 1 => 'color: #009900; font-style: italic;', + 'MULTI' => 'color: #009900; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #3366CC;' + ), + 'NUMBERS' => array( + 0 => 'color: #CC0000;' + ), + 'METHODS' => array( + 1 => 'color: #006600;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + 0 => 'color: #0066FF;' + ), + 'SCRIPT' => array( + 0 => '', + 1 => '', + 2 => '', + 3 => '' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + 0 => "/.*/([igm]*)?" // matches js reg exps + ), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array( + 0 => array( + '' + ), + 1 => array( + '' + ) + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => true, + 1 => true + ) +); + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi/geshi/php-brief.php 4.6-complete/uploadfiles/mambots/content/geshi/geshi/php-brief.php --- 4.6rc2/uploadfiles/mambots/content/geshi/geshi/php-brief.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi/geshi/php-brief.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,162 @@ + 'PHP', + 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'include', 'require', 'include_once', 'require_once', + 'for', 'as', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'endwhile', 'endif', 'switch', 'case', 'endswitch', + 'return', 'break' + ), + 2 => array( + 'null', '__LINE__', '__FILE__', + 'false', '<?php', '?>', + 'true', 'var', 'default', + 'function', 'class', 'new', '&new' + ), + 3 => array( + 'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined', + 'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions', + 'extension_loaded', 'get_extension_funcs', 'debug_backtrace', + 'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv', + 'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime', + 'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar', + 'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown', + 'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate', + 'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode', + 'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat', + 'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from', + 'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport', + 'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die' + ) + ), + 'SYMBOLS' => array( + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;' + ), + 'COMMENTS' => array( + 1 => 'color: #808080; font-style: italic;', + 2 => 'color: #808080; font-style: italic;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #006600;', + 2 => 'color: #006600;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + 0 => 'color: #0000ff;' + ), + 'SCRIPT' => array( + 0 => '', + 1 => '', + 2 => '', + 3 => '' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => 'http://www.php.net/{FNAME}', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '->', + 2 => '::' + ), + 'REGEXPS' => array( + 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*" + ), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array( + ' '?>', + ' '?>', + '<%' => '%>', + '' + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => true, + 1 => true, + 2 => true, + 3 => true + ) +); + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi/geshi/php.php 4.6-complete/uploadfiles/mambots/content/geshi/geshi/php.php --- 4.6rc2/uploadfiles/mambots/content/geshi/geshi/php.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi/geshi/php.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,346 @@ + 'PHP', + 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'include', 'require', 'include_once', 'require_once', + 'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile', 'endif', 'switch', 'case', 'endswitch', + 'return', 'break' + ), + 2 => array( + 'null', '__LINE__', '__FILE__', + 'false', '<?php', '?>', '<?', + '<script language', '</script>', + 'true', 'var', 'default', + 'function', 'class', 'new', '&new', + '__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION', + 'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR', + 'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR', + 'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT', + 'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE', + 'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR', + 'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL' + ), + 3 => array( + 'zlib_get_coding_type','zend_version','zend_logo_guid','yp_order','yp_next', + 'yp_match','yp_master','yp_get_default_domain','yp_first','yp_errno','yp_err_string', + 'yp_cat','yp_all','xml_set_unparsed_entity_decl_handler','xml_set_start_namespace_decl_handler','xml_set_processing_instruction_handler','xml_set_object', + 'xml_set_notation_decl_handler','xml_set_external_entity_ref_handler','xml_set_end_namespace_decl_handler','xml_set_element_handler','xml_set_default_handler','xml_set_character_data_handler', + 'xml_parser_set_option','xml_parser_get_option','xml_parser_free','xml_parser_create_ns','xml_parser_create','xml_parse_into_struct', + 'xml_parse','xml_get_error_code','xml_get_current_line_number','xml_get_current_column_number','xml_get_current_byte_index','xml_error_string', + 'wordwrap','wddx_serialize_vars','wddx_serialize_value','wddx_packet_start','wddx_packet_end','wddx_deserialize', + 'wddx_add_vars','vsprintf','vprintf','virtual','version_compare','var_export', + 'var_dump','utf8_encode','utf8_decode','usort','usleep','user_error', + 'urlencode','urldecode','unserialize','unregister_tick_function','unpack','unlink', + 'unixtojd','uniqid','umask','uksort','ucwords','ucfirst', + 'uasort','trim','trigger_error','touch','token_name','token_get_all', + 'tmpfile','time','textdomain','tempnam','tanh','tan', + 'system','syslog','symlink','substr_replace','substr_count','substr', + 'strval','strtr','strtoupper','strtotime','strtolower','strtok', + 'strstr','strspn','strrpos','strrev','strrchr','strpos', + 'strncmp','strncasecmp','strnatcmp','strnatcasecmp','strlen','stristr', + 'stripslashes','stripcslashes','strip_tags','strftime','stream_wrapper_register','stream_set_write_buffer', + 'stream_set_timeout','stream_set_blocking','stream_select','stream_register_wrapper','stream_get_meta_data','stream_filter_prepend', + 'stream_filter_append','stream_context_set_params','stream_context_set_option','stream_context_get_options','stream_context_create','strcspn', + 'strcoll','strcmp','strchr','strcasecmp','str_word_count','str_shuffle', + 'str_rot13','str_replace','str_repeat','str_pad','stat','sscanf', + 'srand','sqrt','sql_regcase','sprintf','spliti','split', + 'soundex','sort','socket_writev','socket_write','socket_strerror','socket_shutdown', + 'socket_setopt','socket_set_timeout','socket_set_option','socket_set_nonblock','socket_set_blocking','socket_set_block', + 'socket_sendto','socket_sendmsg','socket_send','socket_select','socket_recvmsg','socket_recvfrom', + 'socket_recv','socket_readv','socket_read','socket_listen','socket_last_error','socket_iovec_set', + 'socket_iovec_free','socket_iovec_fetch','socket_iovec_delete','socket_iovec_alloc','socket_iovec_add','socket_getsockname', + 'socket_getpeername','socket_getopt','socket_get_status','socket_get_option','socket_create_pair','socket_create_listen', + 'socket_create','socket_connect','socket_close','socket_clear_error','socket_bind','socket_accept', + 'sleep','sizeof','sinh','sin','similar_text','shuffle', + 'show_source','shmop_write','shmop_size','shmop_read','shmop_open','shmop_delete', + 'shmop_close','shm_remove_var','shm_remove','shm_put_var','shm_get_var','shm_detach', + 'shm_attach','shell_exec','sha1_file','sha1','settype','setlocale', + 'setcookie','set_time_limit','set_socket_blocking','set_magic_quotes_runtime','set_include_path','set_file_buffer', + 'set_error_handler','session_write_close','session_unset','session_unregister','session_start','session_set_save_handler', + 'session_set_cookie_params','session_save_path','session_register','session_regenerate_id','session_name','session_module_name', + 'session_is_registered','session_id','session_get_cookie_params','session_encode','session_destroy','session_decode', + 'session_cache_limiter','session_cache_expire','serialize','sem_remove','sem_release','sem_get', + 'sem_acquire','rtrim','rsort','round','rmdir','rewinddir', + 'rewind','restore_include_path','restore_error_handler','reset','rename','register_tick_function', + 'register_shutdown_function','realpath','readlink','readgzfile','readfile','readdir', + 'read_exif_data','rawurlencode','rawurldecode','range','rand','rad2deg', + 'quotemeta','quoted_printable_decode','putenv','proc_open','proc_close','printf', + 'print_r','prev','preg_split','preg_replace_callback','preg_replace','preg_quote', + 'preg_match_all','preg_match','preg_grep','pow','posix_uname','posix_ttyname', + 'posix_times','posix_strerror','posix_setuid','posix_setsid','posix_setpgid','posix_setgid', + 'posix_seteuid','posix_setegid','posix_mkfifo','posix_kill','posix_isatty','posix_getuid', + 'posix_getsid','posix_getrlimit','posix_getpwuid','posix_getpwnam','posix_getppid','posix_getpid', + 'posix_getpgrp','posix_getpgid','posix_getlogin','posix_getgroups','posix_getgrnam','posix_getgrgid', + 'posix_getgid','posix_geteuid','posix_getegid','posix_getcwd','posix_get_last_error','posix_errno', + 'posix_ctermid','pos','popen','pi','phpversion','phpinfo', + 'phpcredits','php_uname','php_sapi_name','php_logo_guid','php_ini_scanned_files','pg_update', + 'pg_untrace','pg_unescape_bytea','pg_tty','pg_trace','pg_setclientencoding','pg_set_client_encoding', + 'pg_send_query','pg_select','pg_result_status','pg_result_seek','pg_result_error','pg_result', + 'pg_query','pg_put_line','pg_port','pg_ping','pg_pconnect','pg_options', + 'pg_numrows','pg_numfields','pg_num_rows','pg_num_fields','pg_meta_data','pg_lowrite', + 'pg_lounlink','pg_loreadall','pg_loread','pg_loopen','pg_loimport','pg_loexport', + 'pg_locreate','pg_loclose','pg_lo_write','pg_lo_unlink','pg_lo_tell','pg_lo_seek', + 'pg_lo_read_all','pg_lo_read','pg_lo_open','pg_lo_import','pg_lo_export','pg_lo_create', + 'pg_lo_close','pg_last_oid','pg_last_notice','pg_last_error','pg_insert','pg_host', + 'pg_getlastoid','pg_get_result','pg_get_pid','pg_get_notify','pg_freeresult','pg_free_result', + 'pg_fieldtype','pg_fieldsize','pg_fieldprtlen','pg_fieldnum','pg_fieldname','pg_fieldisnull', + 'pg_field_type','pg_field_size','pg_field_prtlen','pg_field_num','pg_field_name','pg_field_is_null', + 'pg_fetch_row','pg_fetch_result','pg_fetch_object','pg_fetch_assoc','pg_fetch_array','pg_fetch_all', + 'pg_exec','pg_escape_string','pg_escape_bytea','pg_errormessage','pg_end_copy','pg_delete', + 'pg_dbname','pg_copy_to','pg_copy_from','pg_convert','pg_connection_status','pg_connection_reset', + 'pg_connection_busy','pg_connect','pg_cmdtuples','pg_close','pg_clientencoding','pg_client_encoding', + 'pg_cancel_query','pg_affected_rows','pfsockopen','pclose','pathinfo','passthru', + 'parse_url','parse_str','parse_ini_file','pack','overload','output_reset_rewrite_vars', + 'output_add_rewrite_var','ord','openssl_x509_read','openssl_x509_parse','openssl_x509_free','openssl_x509_export_to_file', + 'openssl_x509_export','openssl_x509_checkpurpose','openssl_x509_check_private_key','openssl_verify','openssl_sign','openssl_seal', + 'openssl_public_encrypt','openssl_public_decrypt','openssl_private_encrypt','openssl_private_decrypt','openssl_pkey_new','openssl_pkey_get_public', + 'openssl_pkey_get_private','openssl_pkey_free','openssl_pkey_export_to_file','openssl_pkey_export','openssl_pkcs7_verify','openssl_pkcs7_sign', + 'openssl_pkcs7_encrypt','openssl_pkcs7_decrypt','openssl_open','openssl_get_publickey','openssl_get_privatekey','openssl_free_key', + 'openssl_error_string','openssl_csr_sign','openssl_csr_new','openssl_csr_export_to_file','openssl_csr_export','openlog', + 'opendir','octdec','ob_start','ob_list_handlers','ob_implicit_flush','ob_iconv_handler', + 'ob_gzhandler','ob_get_status','ob_get_level','ob_get_length','ob_get_flush','ob_get_contents', + 'ob_get_clean','ob_flush','ob_end_flush','ob_end_clean','ob_clean','number_format', + 'nl_langinfo','nl2br','ngettext','next','natsort','natcasesort', + 'mysql_unbuffered_query','mysql_thread_id','mysql_tablename','mysql_table_name','mysql_stat','mysql_selectdb', + 'mysql_select_db','mysql_result','mysql_real_escape_string','mysql_query','mysql_ping','mysql_pconnect', + 'mysql_numrows','mysql_numfields','mysql_num_rows','mysql_num_fields','mysql_listtables','mysql_listfields', + 'mysql_listdbs','mysql_list_tables','mysql_list_processes','mysql_list_fields','mysql_list_dbs','mysql_insert_id', + 'mysql_info','mysql_get_server_info','mysql_get_proto_info','mysql_get_host_info','mysql_get_client_info','mysql_freeresult', + 'mysql_free_result','mysql_fieldtype','mysql_fieldtable','mysql_fieldname','mysql_fieldlen','mysql_fieldflags', + 'mysql_field_type','mysql_field_table','mysql_field_seek','mysql_field_name','mysql_field_len','mysql_field_flags', + 'mysql_fetch_row','mysql_fetch_object','mysql_fetch_lengths','mysql_fetch_field','mysql_fetch_assoc','mysql_fetch_array', + 'mysql_escape_string','mysql_error','mysql_errno','mysql_dropdb','mysql_drop_db','mysql_dbname', + 'mysql_db_query','mysql_db_name','mysql_data_seek','mysql_createdb','mysql_create_db','mysql_connect', + 'mysql_close','mysql_client_encoding','mysql_affected_rows','mysql','mt_srand','mt_rand', + 'mt_getrandmax','move_uploaded_file','money_format','mktime','mkdir','min', + 'microtime','method_exists','metaphone','memory_get_usage','md5_file','md5', + 'mbsubstr','mbstrrpos','mbstrpos','mbstrlen','mbstrcut','mbsplit', + 'mbregex_encoding','mberegi_replace','mberegi','mbereg_search_setpos','mbereg_search_regs','mbereg_search_pos', + 'mbereg_search_init','mbereg_search_getregs','mbereg_search_getpos','mbereg_search','mbereg_replace','mbereg_match', + 'mbereg','mb_substr_count','mb_substr','mb_substitute_character','mb_strwidth','mb_strtoupper', + 'mb_strtolower','mb_strrpos','mb_strpos','mb_strlen','mb_strimwidth','mb_strcut', + 'mb_split','mb_send_mail','mb_regex_set_options','mb_regex_encoding','mb_preferred_mime_name','mb_parse_str', + 'mb_output_handler','mb_language','mb_internal_encoding','mb_http_output','mb_http_input','mb_get_info', + 'mb_eregi_replace','mb_eregi','mb_ereg_search_setpos','mb_ereg_search_regs','mb_ereg_search_pos','mb_ereg_search_init', + 'mb_ereg_search_getregs','mb_ereg_search_getpos','mb_ereg_search','mb_ereg_replace','mb_ereg_match','mb_ereg', + 'mb_encode_numericentity','mb_encode_mimeheader','mb_detect_order','mb_detect_encoding','mb_decode_numericentity','mb_decode_mimeheader', + 'mb_convert_variables','mb_convert_kana','mb_convert_encoding','mb_convert_case','max','mail', + 'magic_quotes_runtime','ltrim','lstat','long2ip','log1p','log10', + 'log','localtime','localeconv','linkinfo','link','levenshtein', + 'lcg_value','ksort','krsort','key_exists','key','juliantojd', + 'join','jewishtojd','jdtounix','jdtojulian','jdtojewish','jdtogregorian', + 'jdtofrench','jdmonthname','jddayofweek','is_writeable','is_writable','is_uploaded_file', + 'is_subclass_of','is_string','is_scalar','is_resource','is_real','is_readable', + 'is_object','is_numeric','is_null','is_nan','is_long','is_link', + 'is_integer','is_int','is_infinite','is_float','is_finite','is_file', + 'is_executable','is_double','is_dir','is_callable','is_bool','is_array', + 'is_a','iptcparse','iptcembed','ip2long','intval','ini_set', + 'ini_restore','ini_get_all','ini_get','ini_alter','in_array','import_request_variables', + 'implode','image_type_to_mime_type','ignore_user_abort','iconv_set_encoding','iconv_get_encoding','iconv', + 'i18n_mime_header_encode','i18n_mime_header_decode','i18n_ja_jp_hantozen','i18n_internal_encoding','i18n_http_output','i18n_http_input', + 'i18n_discover_encoding','i18n_convert','hypot','htmlspecialchars','htmlentities','html_entity_decode', + 'highlight_string','highlight_file','hexdec','hebrevc','hebrev','headers_sent', + 'header','gzwrite','gzuncompress','gztell','gzseek','gzrewind', + 'gzread','gzputs','gzpassthru','gzopen','gzinflate','gzgetss', + 'gzgets','gzgetc','gzfile','gzeof','gzencode','gzdeflate', + 'gzcompress','gzclose','gregoriantojd','gmstrftime','gmmktime','gmdate', + 'glob','gettype','gettimeofday','gettext','getservbyport','getservbyname', + 'getrusage','getrandmax','getprotobynumber','getprotobyname','getopt','getmyuid', + 'getmypid','getmyinode','getmygid','getmxrr','getlastmod','getimagesize', + 'gethostbynamel','gethostbyname','gethostbyaddr','getenv','getdate','getcwd', + 'getallheaders','get_resource_type','get_required_files','get_parent_class','get_object_vars','get_meta_tags', + 'get_magic_quotes_runtime','get_magic_quotes_gpc','get_loaded_extensions','get_included_files','get_include_path','get_html_translation_table', + 'get_extension_funcs','get_defined_vars','get_defined_functions','get_defined_constants','get_declared_classes','get_current_user', + 'get_class_vars','get_class_methods','get_class','get_cfg_var','get_browser','fwrite', + 'function_exists','func_num_args','func_get_args','func_get_arg','ftruncate','ftp_systype', + 'ftp_ssl_connect','ftp_size','ftp_site','ftp_set_option','ftp_rmdir','ftp_rename', + 'ftp_rawlist','ftp_quit','ftp_pwd','ftp_put','ftp_pasv','ftp_nlist', + 'ftp_nb_put','ftp_nb_get','ftp_nb_fput','ftp_nb_fget','ftp_nb_continue','ftp_mkdir', + 'ftp_mdtm','ftp_login','ftp_get_option','ftp_get','ftp_fput','ftp_fget', + 'ftp_exec','ftp_delete','ftp_connect','ftp_close','ftp_chdir','ftp_cdup', + 'ftok','ftell','fstat','fsockopen','fseek','fscanf', + 'frenchtojd','fread','fputs','fpassthru','fopen','fnmatch', + 'fmod','flush','floor','flock','floatval','filetype', + 'filesize','filepro_rowcount','filepro_retrieve','filepro_fieldwidth','filepro_fieldtype','filepro_fieldname', + 'filepro_fieldcount','filepro','fileperms','fileowner','filemtime','fileinode', + 'filegroup','filectime','fileatime','file_get_contents','file_exists','file', + 'fgetss','fgets','fgetcsv','fgetc','fflush','feof', + 'fclose','ezmlm_hash','extract','extension_loaded','expm1','explode', + 'exp','exif_thumbnail','exif_tagname','exif_read_data','exif_imagetype','exec', + 'escapeshellcmd','escapeshellarg','error_reporting','error_log','eregi_replace','eregi', + 'ereg_replace','ereg','end','easter_days','easter_date','each', + 'doubleval','dngettext','dl','diskfreespace','disk_total_space','disk_free_space', + 'dirname','dir','dgettext','deg2rad','defined','define_syslog_variables', + 'define','decoct','dechex','decbin','debug_zval_dump','debug_backtrace', + 'deaggregate','dcngettext','dcgettext','dba_sync','dba_replace','dba_popen', + 'dba_optimize','dba_open','dba_nextkey','dba_list','dba_insert','dba_handlers', + 'dba_firstkey','dba_fetch','dba_exists','dba_delete','dba_close','date', + 'current','ctype_xdigit','ctype_upper','ctype_space','ctype_punct','ctype_print', + 'ctype_lower','ctype_graph','ctype_digit','ctype_cntrl','ctype_alpha','ctype_alnum', + 'crypt','create_function','crc32','count_chars','count','cosh', + 'cos','copy','convert_cyr_string','constant','connection_status','connection_aborted', + 'compact','closelog','closedir','clearstatcache','class_exists','chunk_split', + 'chr','chown','chop','chmod','chgrp','checkdnsrr', + 'checkdate','chdir','ceil','call_user_method_array','call_user_method','call_user_func_array', + 'call_user_func','cal_to_jd','cal_info','cal_from_jd','cal_days_in_month','bzwrite', + 'bzread','bzopen','bzflush','bzerrstr','bzerror','bzerrno', + 'bzdecompress','bzcompress','bzclose','bindtextdomain','bindec','bind_textdomain_codeset', + 'bin2hex','bcsub','bcsqrt','bcscale','bcpow','bcmul', + 'bcmod','bcdiv','bccomp','bcadd','basename','base_convert', + 'base64_encode','base64_decode','atanh','atan2','atan','assert_options', + 'assert','asort','asinh','asin','arsort','array_walk', + 'array_values','array_unshift','array_unique','array_sum','array_splice','array_slice', + 'array_shift','array_search','array_reverse','array_reduce','array_rand','array_push', + 'array_pop','array_pad','array_multisort','array_merge_recursive','array_merge','array_map', + 'array_keys','array_key_exists','array_intersect_assoc','array_intersect','array_flip','array_filter', + 'array_fill','array_diff_assoc','array_diff','array_count_values','array_chunk','array_change_key_case', + 'apache_setenv','apache_response_headers','apache_request_headers','apache_note','apache_lookup_uri','apache_get_version', + 'apache_child_terminate','aggregation_info','aggregate_properties_by_regexp','aggregate_properties_by_list','aggregate_properties','aggregate_methods_by_regexp', + 'aggregate_methods_by_list','aggregate_methods','aggregate','addslashes','addcslashes','acosh', + 'acos','abs','_','echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die' + ) + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;' + ), + 'COMMENTS' => array( + 1 => 'color: #808080; font-style: italic;', + 2 => 'color: #808080; font-style: italic;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #006600;', + 2 => 'color: #006600;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + 0 => 'color: #0000ff;' + ), + 'SCRIPT' => array( + 0 => '', + 1 => '', + 2 => '', + 3 => '' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => 'http://www.php.net/{FNAME}', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '->', + 2 => '::' + ), + 'REGEXPS' => array( + 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*", + ), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array( + 0 => array( + ' '?>' + ), + 1 => array( + ' '?>' + ), + 2 => array( + '<%' => '%>' + ), + 3 => array( + '' + ) + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => true, + 1 => true, + 2 => true, + 3 => true + ) +); + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi/geshi/sql.php 4.6-complete/uploadfiles/mambots/content/geshi/geshi/sql.php --- 4.6rc2/uploadfiles/mambots/content/geshi/geshi/sql.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi/geshi/sql.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,136 @@ + 'SQL', + 'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => 1, + 'QUOTEMARKS' => array("'", '"', '`'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'ALL', 'ASC', 'AS', 'ALTER', 'AND', 'ADD', 'AUTO_INCREMENT', + 'BETWEEN', 'BINARY', 'BOTH', 'BY', 'BOOLEAN', + 'CHANGE', 'CHECK', 'COLUMNS', 'COLUMN', 'CROSS','CREATE', + 'DATABASES', 'DATABASE', 'DATA', 'DELAYED', 'DESCRIBE', 'DESC', 'DISTINCT', 'DELETE', 'DROP', 'DEFAULT', + 'ENCLOSED', 'ESCAPED', 'EXISTS', 'EXPLAIN', + 'FIELDS', 'FIELD', 'FLUSH', 'FOR', 'FOREIGN', 'FUNCTION', 'FROM', + 'GROUP', 'GRANT', + 'HAVING', + 'IGNORE', 'INDEX', 'INFILE', 'INSERT', 'INNER', 'INTO', 'IDENTIFIED', 'IN', 'IS', 'IF', + 'JOIN', + 'KEYS', 'KILL','KEY', + 'LEADING', 'LIKE', 'LIMIT', 'LINES', 'LOAD', 'LOCAL', 'LOCK', 'LOW_PRIORITY', 'LEFT', 'LANGUAGE', + 'MODIFY', + 'NATURAL', 'NOT', 'NULL', 'NEXTVAL', + 'OPTIMIZE', 'OPTION', 'OPTIONALLY', 'ORDER', 'OUTFILE', 'OR', 'OUTER', 'ON', + 'PROCEEDURE','PROCEDURAL', 'PRIMARY', + 'READ', 'REFERENCES', 'REGEXP', 'RENAME', 'REPLACE', 'RETURN', 'REVOKE', 'RLIKE', 'RIGHT', + 'SHOW', 'SONAME', 'STATUS', 'STRAIGHT_JOIN', 'SELECT', 'SETVAL', 'SET', + 'TABLES', 'TEMINATED', 'TO', 'TRAILING','TRUNCATE', 'TABLE', 'TEMPORARY', 'TRIGGER', 'TRUSTED', + 'UNIQUE', 'UNLOCK', 'USE', 'USING', 'UPDATE', 'UNSIGNED', + 'VALUES', 'VARIABLES', 'VIEW', + 'WITH', 'WRITE', 'WHERE', + 'ZEROFILL', + 'XOR', + ) + ), + 'SYMBOLS' => array( + '(', ')', '=', '<', '>', '|' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #993333; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #808080; font-style: italic;', + 2 => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + ) + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi/geshi/xml.php 4.6-complete/uploadfiles/mambots/content/geshi/geshi/xml.php --- 4.6rc2/uploadfiles/mambots/content/geshi/geshi/xml.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi/geshi/xml.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,145 @@ + 'HTML', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array(''), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + ), + 'SYMBOLS' => array( + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + ), + 'COMMENTS' => array( + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'SCRIPT' => array( + 0 => 'color: #00bbdd;', + 1 => 'color: #ddbb00;', + 2 => 'color: #339933;', + 3 => 'color: #009900;' + ), + 'REGEXPS' => array( + 0 => 'color: #000066;', + 1 => 'font-weight: bold; color: black;', + 2 => 'font-weight: bold; color: black;', + ) + ), + 'URLS' => array( + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + 0 => array( + GESHI_SEARCH => '(((xml:)?[a-z\-]+))(=)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'i', + GESHI_BEFORE => '', + GESHI_AFTER => '\\4' + ), + 1 => array( + GESHI_SEARCH => '(</?[a-z0-9]*(>)?)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'i', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 2 => array( + GESHI_SEARCH => '((/)?>)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'i', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ) + ), + 'STRICT_MODE_APPLIES' => GESHI_ALWAYS, + 'SCRIPT_DELIMITERS' => array( + 0 => array( + ' '>' + ), + 1 => array( + '&' => ';' + ), + 2 => array( + ' ']]>' + ), + 3 => array( + '<' => '>' + ) + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => false, + 1 => false, + 2 => false, + 3 => true + ) +); + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi/geshi.php 4.6-complete/uploadfiles/mambots/content/geshi/geshi.php --- 4.6rc2/uploadfiles/mambots/content/geshi/geshi.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi/geshi.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,2413 @@ + 'No source code inputted', + GESHI_ERROR_NO_SUCH_LANG => 'GeSHi could not find the language {LANGUAGE} (using path {PATH})' +); + +// Line numbers - use with enable_line_numbers() +define('GESHI_NO_LINE_NUMBERS', 0); +define('GESHI_NORMAL_LINE_NUMBERS', 1); +define('GESHI_FANCY_LINE_NUMBERS', 2); + +// Strict mode - shouldn't be used by your scripts +define('GESHI_NEVER', 0); +define('GESHI_MAYBE', 1); +define('GESHI_ALWAYS', 2); + +// Container HTML type - use these (added in 1.0.1) +define('GESHI_HEADER_DIV', 1); +define('GESHI_HEADER_PRE', 2); + +// Capatalisation constants - use these (added in 1.0.1) +define('GESHI_CAPS_NO_CHANGE', 0); +define('GESHI_CAPS_UPPER', 1); +define('GESHI_CAPS_LOWER', 2); + +// Link style constants - use these (added in 1.0.2) +define('GESHI_LINK', 0); +define('GESHI_HOVER', 1); +define('GESHI_ACTIVE', 2); +define('GESHI_VISITED', 3); + +// Important string starter/finisher - use these (added in 1.0.2). +// Note that if you change these, they should be as-is: i.e., don't +// write them as if they had been run through htmlentities() +define('GESHI_START_IMPORTANT', ''); +define('GESHI_END_IMPORTANT', ''); + +// Advanced regexp handling - don't use these (added in 1.0.2) +define('GESHI_SEARCH', 0); +define('GESHI_REPLACE', 1); +define('GESHI_MODIFIERS', 2); +define('GESHI_BEFORE', 3); +define('GESHI_AFTER', 4); + +// Begin Class GeSHi +class GeSHi +{ + // + // Data Fields + // + + // Basic fields + var $source = ''; // The source code to highlight + var $language = ''; // The language to use when highlighting + var $language_data = array(); // The data for the language used + var $language_path = 'geshi/'; // The path to the language files + var $error = false; // The error message associated with an error + var $strict_mode = false; // Whether highlighting is strict or not + var $use_classes = false; // Whether to use classes + var $header_type = GESHI_HEADER_PRE; // The type of header to use + var $lexic_permissions = array(); // Array of permissions for which lexics should be highlighted + // Added in 1.0.2 basic fields + var $time = 0; // The time it took to parse the code + var $header_content = ''; // The content of the header block + var $footer_content = ''; // The content of the footer block + var $header_content_style = ''; // The style of the header block + var $footer_content_style = ''; // The style of the footer block + var $link_styles = array(); // The styles for hyperlinks in the code + var $enable_important_blocks = true; // Whether important blocks should be recognised or not + var $important_styles = 'font-weight: bold; color: red;'; // Styles for important parts of the code + var $add_ids = false; // Whether css IDs should be added to the code + var $highlight_extra_lines = array(); // Lines that should be highlighted extra + var $highlight_extra_lines_style = 'color: #cc0; background-color: #ffc;';// Styles of extra-highlighted lines + var $line_numbers_start = 1; // Number at which line numbers should start at + + // Style fields + var $overall_style = ''; // The overall style for this code block + // The style for the actual code + var $code_style = 'font-family: \'Courier New\', Courier, monospace; font-weight: normal;'; + var $overall_class = ''; // The overall class for this code block + var $overall_id = ''; // The overall id for this code block + // Line number styles + var $line_style1 = 'font-family: \'Courier New\', Courier, monospace; color: black; font-weight: normal; font-style: normal;'; + var $line_style2 = 'font-weight: bold;'; + var $line_numbers = GESHI_NO_LINE_NUMBERS; // Flag for how line numbers are displayed + var $line_nth_row = 0; // The "nth" value for fancy line highlighting + + // Misc + var $tab_width = 8; // A value for the size of tab stops. + var $max_tabs = 20; // Maximum number of spaces per tab + var $min_tabs = 0; // Minimum " " " " " + var $link_target = ''; // default target for keyword links + var $encoding = ''; // The encoding to use for htmlentities() calls + + // Deprecated/unused + var $output_format = GESHI_OUTPUT_HTML; + + + /** + * constructor: GeSHi + * ------------------ + * Creates a new GeSHi object, with source and language + */ + function GeSHi ($source, $language, $path = 'geshi/') + { + $this->source = $source; + // Security, just in case :) + $language = preg_replace('#[^a-zA-Z0-9\-\_]#', '', $language); + $this->language = strtolower($language); + $this->language_path = ( substr($path, strlen($path) - 1, 1) == '/' ) ? $path : $path . '/'; + $this->load_language(); + } + + + // + // Error methods + // + + /** + * method: error + * ------------- + * Returns an error message associated with the last GeSHi operation, + * or false if no error has occured + */ + function error() + { + global $_GESHI_ERRORS; + if ( $this->error != 0 ) + { + $msg = $_GESHI_ERRORS[$this->error]; + $debug_tpl_vars = array( + '{LANGUAGE}' => $this->language, + '{PATH}' => $this->language_path + ); + foreach ( $debug_tpl_vars as $tpl => $var ) + { + $msg = str_replace($tpl, $var, $msg); + } + return "
      GeSHi Error: $msg (code $this->error)
      "; + } + return false; + } + + + // + // Getters + // + + /** + * get_language_name() + * --------------- + * Gets a human-readable language name (thanks to Simon Patterson + * for the idea :)) + */ + function get_language_name() + { + if ( $this->error == GESHI_ERROR_NO_SUCH_LANG ) + { + return $this->language_data['LANG_NAME'] . ' (Unknown Language)'; + } + return $this->language_data['LANG_NAME']; + } + + + // + // Setters + // + + /** + * method: set_source + * ------------------ + * Sets the source code for this object + */ + function set_source ( $source ) + { + $this->source = $source; + } + + + /** + * method: set_language + * -------------------- + * Sets the language for this object + */ + function set_language ( $language ) + { + $language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language); + $this->language = strtolower($language); + // Load the language for parsing + $this->load_language(); + } + + + /** + * method: set_language_path + * ------------------------- + * Sets the path to the directory containing the language files. NOTE + * that this path is relative to the directory of the script that included + * geshi.php, NOT geshi.php itself. + */ + function set_language_path ( $path ) + { + $this->language_path = ( substr($path, strlen($path) - 1, 1) == '/' ) ? $path : $path . '/'; + } + + + /** + * method: set_header_type + * ----------------------- + * Sets the type of header to be used. If GESHI_HEADER_DIV is used, + * the code is surrounded in a
      . This means more source code but + * more control over tab width and line-wrapping. GESHI_HEADER_PRE + * means that a
       is used - less source, but less control. Default
      +	 * is GESHI_HEADER_PRE
      +	 */
      +	function set_header_type ( $type )
      +	{
      +		$this->header_type = $type;
      +	}
      +
      +
      +	/**
      +	 * method: set_overall_style
      +	 * -------------------------
      +	 * Sets the styles for the code that will be outputted
      +	 * when this object is parsed. The style should be a
      +	 * string of valid stylesheet declarations
      +	 */
      +	function set_overall_style ( $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->overall_style .= $style;
      +		}
      +		else
      +		{
      +			$this->overall_style = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_overall_class
      +	 * -------------------------
      +	 * Sets the overall classname for this block of code. This
      +	 * class can then be used in a stylesheet to style this object's
      +	 * output
      +	 */
      +	function set_overall_class ( $class )
      +	{
      +		$this->overall_class = $class;
      +	}
      +
      +
      +	/**
      +	 * method: set_overall_id
      +	 * ----------------------
      +	 * Sets the overall id for this block of code. This id can then
      +	 * be used in a stylesheet to style this object's output
      +	 */
      +	function set_overall_id ( $id )
      +	{
      +		$this->overall_id = $id;
      +	}
      +
      +
      +	/**
      +	 * method: enable_classes
      +	 * ----------------------
      +	 * Sets whether CSS classes should be used to highlight the source. Default
      +	 * is off, calling this method with no arguments will turn it on
      +	 */
      +	function enable_classes ( $flag = true )
      +	{
      +		$this->use_classes = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_code_style
      +	 * ----------------------
      +	 * Sets the style for the actual code. This should be a string
      +	 * containing valid stylesheet declarations. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 *
      +	 * NOTE: Use this method to override any style changes you made to
      +	 * the line numbers if you are using line numbers, else the line of
      +	 * code will have the same style as the line number! Consult the
      +	 * GeSHi documentation for more information about this.
      +	 */
      +	function set_code_style ( $style, $preserve_defaults )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->code_style .= $style;
      +		}
      +		else
      +		{
      +			$this->code_style = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_line_style
      +	 * ----------------------
      +	 * Sets the styles for the line numbers. This should be a string
      +	 * containing valid stylesheet declarations. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_line_style ( $style1, $style2 = '', $preserve_defaults = false )
      +	{
      +		if ( is_bool($style2) )
      +		{
      +			$preserve_defaults = $style2;
      +			$style2 = '';
      +		}
      +		if ( $preserve_defaults )
      +		{
      +			$this->line_style1 .= $style1;
      +			$this->line_style2 .= $style2;
      +		}
      +		else
      +		{
      +			$this->line_style1 = $style1;
      +			$this->line_style2 = $style2;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: enable_line_numbers
      +	 * ---------------------------
      +	 * Sets whether line numbers should be displayed. GESHI_NO_LINE_NUMBERS = not displayed,
      +	 * GESHI_NORMAL_LINE_NUMBERS = displayed, GESHI_FANCY_LINE_NUMBERS = every nth line a
      +	 * different class. Default is for no line numbers to be used
      +	 */
      +	function enable_line_numbers ( $flag, $nth_row = 5 )
      +	{
      +		$this->line_numbers = $flag;
      +		$this->line_nth_row = $nth_row;
      +	}
      +
      +
      +	/**
      +	 * method: set_keyword_group_style
      +	 * -------------------------------
      +	 * Sets the style for a keyword group. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_keyword_group_style ( $key, $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['KEYWORDS'][$key] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['KEYWORDS'][$key] = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_keyword_group_highlighting
      +	 * --------------------------------------
      +	 * Turns highlighting on/off for a keyword group
      +	 */
      +	function set_keyword_group_highlighting ( $key, $flag = true )
      +	{
      +		$this->lexic_permissions['KEYWORDS'][$key] = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_comments_style
      +	 * --------------------------
      +	 * Sets the styles for comment groups.  If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_comments_style ( $key, $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['COMMENTS'][$key] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['COMMENTS'][$key] = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_comments_highlighting
      +	 * ---------------------------------
      +	 * Turns highlighting on/off for comment groups
      +	 */
      +	function set_comments_highlighting ( $key, $flag = true )
      +	{
      +		$this->lexic_permissions['COMMENTS'][$key] = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_escape_characters_style
      +	 * -----------------------------------
      +	 * Sets the styles for escaped characters. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_escape_characters_style ( $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['ESCAPE_CHAR'][0] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['ESCAPE_CHAR'][0] = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_escape_characters_highlighting
      +	 * ------------------------------------------
      +	 * Turns highlighting on/off for escaped characters
      +	 */
      +	function set_escape_characters_highlighting ( $flag = true )
      +	{
      +		$this->lexic_permissions['ESCAPE_CHAR'] = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_brackets_style
      +	 * --------------------------
      +	 * Sets the styles for brackets. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 *
      +	 * This method is DEPRECATED: use set_symbols_style instead.
      +	 * This method will be removed in 1.2.X
      +	 */
      +	function set_brackets_style ( $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['BRACKETS'][0] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['BRACKETS'][0] = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_brackets_highlighting
      +	 * ---------------------------------
      +	 * Turns highlighting on/off for brackets
      +	 *
      +	 * This method is DEPRECATED: use set_symbols_highlighting instead.
      +	 * This method will be remove in 1.2.X
      +	 */
      +	function set_brackets_highlighting ( $flag )
      +	{
      +		$this->lexic_permissions['BRACKETS'] = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_symbols_style
      +	 * --------------------------
      +	 * Sets the styles for symbols. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_symbols_style ( $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['SYMBOLS'][0] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['SYMBOLS'][0] = $style;
      +		}
      +		// For backward compatibility
      +		$this->set_brackets_style ( $style, $preserve_defaults );
      +	}
      +
      +
      +	/**
      +	 * method: set_symbols_highlighting
      +	 * ---------------------------------
      +	 * Turns highlighting on/off for symbols
      +	 */
      +	function set_symbols_highlighting ( $flag )
      +	{
      +		$this->lexic_permissions['SYMBOLS'] = ( $flag ) ? true : false;
      +		// For backward compatibility
      +		$this->set_brackets_highlighting ( $flag );
      +	}
      +
      +
      +	/**
      +	 * method: set_strings_style
      +	 * -------------------------
      +	 * Sets the styles for strings. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_strings_style ( $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['STRINGS'][0] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['STRINGS'][0] = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_strings_highlighting
      +	 * --------------------------------
      +	 * Turns highlighting on/off for strings
      +	 */
      +	function set_strings_highlighting ( $flag )
      +	{
      +		$this->lexic_permissions['STRINGS'] = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_numbers_style
      +	 * -------------------------
      +	 * Sets the styles for numbers. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_numbers_style ( $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['NUMBERS'][0] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['NUMBERS'][0] = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_numbers_highlighting
      +	 * --------------------------------
      +	 * Turns highlighting on/off for numbers
      +	 */
      +	function set_numbers_highlighting ( $flag )
      +	{
      +		$this->lexic_permissions['NUMBERS'] = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_methods_style
      +	 * -------------------------
      +	 * Sets the styles for methods. $key is a number that references the
      +	 * appropriate "object splitter" - see the language file for the language
      +	 * you are highlighting to get this number. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_methods_style ( $key, $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['METHODS'][$key] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['METHODS'][$key] = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_methods_highlighting
      +	 * --------------------------------
      +	 * Turns highlighting on/off for methods
      +	 */
      +	function set_methods_highlighting ( $flag )
      +	{
      +		$this->lexic_permissions['METHODS'] = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_regexps_style
      +	 * -------------------------
      +	 * Sets the styles for regexps. If $preserve_defaults is
      +	 * true, then styles are merged with the default styles, with the
      +	 * user defined styles having priority
      +	 */
      +	function set_regexps_style ( $key, $style, $preserve_defaults = false )
      +	{
      +		if ( $preserve_defaults )
      +		{
      +			$this->language_data['STYLES']['REGEXPS'][$key] .= $style;
      +		}
      +		else
      +		{
      +			$this->language_data['STYLES']['REGEXPS'][$key] = $style;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_regexps_highlighting
      +	 * --------------------------------
      +	 * Turns highlighting on/off for regexps
      +	 */
      +	function set_regexps_highlighting ( $key, $flag )
      +	{
      +		$this->lexic_permissions['REGEXPS'][$key] = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_case_sensitivity
      +	 * ----------------------------
      +	 * Sets whether a set of keywords are checked for in a case sensitive manner
      +	 */
      +	function set_case_sensitivity ( $key, $case )
      +	{
      +		$this->language_data['CASE_SENSITIVE'][$key] = ( $case ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: set_case_keywords
      +	 * -------------------------
      +	 * Sets the case that keywords should use when found. Use the constants:
      +	 *   GESHI_CAPS_NO_CHANGE: leave keywords as-is
      +	 *   GESHI_CAPS_UPPER: convert all keywords to uppercase where found
      +	 *   GESHI_CAPS_LOWER: convert all keywords to lowercase where found
      +	 * Method added in 1.0.1
      +	 */
      +	function set_case_keywords ( $case )
      +	{
      +		$this->language_data['CASE_KEYWORDS'] = $case;
      +	}
      +
      +
      +	/**
      +	 * method: set_tab_width
      +	 * ---------------------
      +	 * Sets how many spaces a tab is substituted for
      +	 * This method will probably be re-engineered later to allow customisability
      +	 * in the maximum and minimum number of tabs without mutulating data fields.
      +	 */
      +	function set_tab_width ( $width )
      +	{
      +		if ( $width > $this->max_tabs ) $width = $this->max_tabs;
      +		if ( $width < $this->min_tabs ) $width = $this->min_tabs;
      +		$this->tab_width = $width;
      +	}
      +
      +
      +	/**
      +	 * method: enable_strict_mode
      +	 * --------------------------
      +	 * Enables/disables strict highlighting. Default is off, calling this
      +	 * method without parameters will turn it on. See documentation
      +	 * for more details on strict mode and where to use it
      +	 */
      +	function enable_strict_mode ( $mode = true )
      +	{
      +		$this->strict_mode = ( $mode ) ? true : false;
      +		// Turn on strict mode no matter what if language should always
      +		// be in strict mode
      +		if ( $this->language_data['STRICT_MODE_APPLIES'] == GESHI_ALWAYS )
      +		{
      +			$this->strict_mode = true;
      +		}
      +		// Turn off strict mode no matter what if language should never
      +		// be in strict mode
      +		elseif ( $this->language_data['STRICT_MODE_APPLIES'] == GESHI_NEVER )
      +		{
      +			$this->strict_mode = false;
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: disable_highlighting
      +	 * ----------------------------
      +	 * Disables all highlighting
      +	 */
      +	function disable_highlighting ()
      +	{
      +		foreach ( $this->language_data['KEYWORDS'] as $key => $words )
      +		{
      +			$this->lexic_permissions['KEYWORDS'][$key] = false;
      +		}
      +		foreach ( $this->language_data['COMMENT_SINGLE'] as $key => $comment )
      +		{
      +			$this->lexic_permissions['COMMENTS'][$key] = false;
      +		}
      +		// Multiline comments
      +		$this->lexic_permissions['COMMENTS']['MULTI'] = false;
      +		// Escape characters
      +		$this->lexic_permissions['ESCAPE_CHAR'] = false;
      +		// Brackets
      +		$this->lexic_permissions['BRACKETS'] = false;
      +		// Strings
      +		$this->lexic_permissions['STRINGS'] = false;
      +		// Numbers
      +		$this->lexic_permissions['NUMBERS'] = false;
      +		// Methods
      +		$this->lexic_permissions['METHODS'] = false;
      +		// Symbols
      +		$this->lexic_permissions['SYMBOLS'] = false;
      +		// Script
      +		$this->lexic_permissions['SCRIPT'] = false;
      +		// Regexps
      +		foreach ( $this->language_data['REGEXPS'] as $key => $regexp )
      +		{
      +			$this->lexic_permissions['REGEXPS'][$key] = false;
      +		}
      +		// Context blocks
      +		$this->enable_important_blocks = false;
      +	}
      +
      +
      +	/**
      +	 * method: enable_highlighting
      +	 * ---------------------------
      +	 * Enables all highlighting
      +	 */
      +	function enable_highlighting ()
      +	{
      +		foreach ( $this->language_data['KEYWORDS'] as $key => $words )
      +		{
      +			$this->lexic_permissions['KEYWORDS'][$key] = true;
      +		}
      +		foreach ( $this->language_data['COMMENT_SINGLE'] as $key => $comment )
      +		{
      +			$this->lexic_permissions['COMMENTS'][$key] = true;
      +		}
      +		// Multiline comments
      +		$this->lexic_permissions['COMMENTS']['MULTI'] = true;
      +		// Escape characters
      +		$this->lexic_permissions['ESCAPE_CHAR'] = true;
      +		// Brackets
      +		$this->lexic_permissions['BRACKETS'] = true;
      +		// Strings
      +		$this->lexic_permissions['STRINGS'] = true;
      +		// Numbers
      +		$this->lexic_permissions['NUMBERS'] = true;
      +		// Methods
      +		$this->lexic_permissions['METHODS'] = true;
      +		// Symbols
      +		$this->lexic_permissions['SYMBOLS'] = true;
      +		// Script
      +		$this->lexic_permissions['SCRIPT'] = true;
      +		// Regexps
      +		foreach ( $this->language_data['REGEXPS'] as $key => $regexp )
      +		{
      +			$this->lexic_permissions['REGEXPS'][$key] = true;
      +		}
      +		// Context blocks
      +		$this->enable_important_blocks = true;
      +	}
      +
      +
      +	/**
      +	 * method: add_keyword
      +	 * -------------------
      +	 * Adds a keyword to a keyword group for highlighting
      +	 */
      +	function add_keyword( $key, $word )
      +	{
      +		$this->language_data['KEYWORDS'][$key][] = $word;
      +	}
      +
      +
      +	/**
      +	 * method: remove_keyword
      +	 * ----------------------
      +	 * Removes a keyword from a keyword group
      +	 */
      +	function remove_keyword ( $key, $word )
      +	{
      +		$this->language_data['KEYWORDS'][$key] = array_diff($this->language_data['KEYWORDS'][$key], array($word));
      +	}
      +
      +
      +	/**
      +	 * method: add_keyword_group
      +	 * -------------------------
      +	 * Creates a new keyword group
      +	 */
      +	function add_keyword_group ( $key, $styles, $case_sensitive = true, $words = array() )
      +	{
      +		if ( !is_array($words) )
      +		{
      +			$words = array($words);
      +		}
      +		$this->language_data['KEYWORDS'][$key] = $words;
      +		$this->lexic_permissions['KEYWORDS'][$key] = true;
      +		$this->language_data['CASE_SENSITIVE'][$key] = $case_sensitive;
      +		$this->language_data['STYLES']['KEYWORDS'][$key] = $styles;
      +	}
      +
      +
      +	/**
      +	 * method: remove_keyword_group
      +	 * ----------------------------
      +	 * Removes a keyword group
      +	 */
      +	function remove_keyword_group ( $key )
      +	{
      +		unset($this->language_data['KEYWORDS'][$key]);
      +		unset($this->lexic_permissions['KEYWORDS'][$key]);
      +		unset($this->language_data['CASE_SENSITIVE'][$key]);
      +		unset($this->language_data['STYLES']['KEYWORDS'][$key]);
      +	}
      +
      +
      +	/**
      +	 * method: set_header_content
      +	 * --------------------------
      +	 * Sets the content of the header block
      +	 */
      +	function set_header_content ( $content )
      +	{
      +		$this->header_content = $content;
      +	}
      +
      +
      +	/**
      +	 * method: set_footer_content
      +	 * --------------------------
      +	 * Sets the content of the footer block
      +	 */
      +	function set_footer_content ( $content )
      +	{
      +		$this->footer_content = $content;
      +	}
      +
      +
      +	/**
      +	 * method: set_header_content_style
      +	 * --------------------------------
      +	 * Sets the style for the header content
      +	 */
      +	function set_header_content_style ( $style )
      +	{
      +		$this->header_content_style = $style;
      +	}
      +
      +
      +	/**
      +	 * method: set_footer_content_style
      +	 * --------------------------------
      +	 * Sets the style for the footer content
      +	 */
      +	function set_footer_content_style ( $style )
      +	{
      +		$this->footer_content_style = $style;
      +	}
      +
      +
      +	/**
      +	 * method: set_url_for_keyword_group
      +	 * ---------------------------------
      +	 * Sets the base URL to be used for keywords
      +	 */
      +	function set_url_for_keyword_group ( $group, $url )
      +	{
      +		$this->language_data['URLS'][$group] = $url;
      +	}
      +
      +
      +	/**
      +	 * method: set_link_styles
      +	 * -----------------------
      +	 * Sets styles for links in code
      +	 */
      +	function set_link_styles ( $type, $styles )
      +	{
      +		$this->link_styles[$type] = $styles;
      +	}
      +
      +
      +	/**
      +	* method: set_link_target
      +	* -----------------------
      +	* Sets the target for links in code
      +	*/
      +	function set_link_target ( $target )
      +	{
      +		if ( empty( $target ) )
      +		{
      +			$this->link_target = '';
      +		}
      +		else
      +		{
      +			$this->link_target = ' target="' . $target . '" ';
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_important_styles
      +	 * ----------------------------
      +	 * Sets styles for important parts of the code
      +	 */
      +	function set_important_styles ( $styles )
      +	{
      +		$this->important_styles = $styles;
      +	}
      +
      +
      +	/**
      +	 * method: enable_important_blocks
      +	 * -------------------------------
      +	 * Sets whether context-important blocks are highlighted
      +	 */
      +	function enable_important_blocks ( $flag )
      +	{
      +		$this->enable_important_blocks = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: enable_ids
      +	 * ------------------
      +	 * Whether CSS IDs should be added to each line
      +	 */
      +	function enable_ids ( $flag = true )
      +	{
      +		$this->add_ids = ( $flag ) ? true : false;
      +	}
      +
      +
      +	/**
      +	 * method: highlight_lines_extra
      +	 * -----------------------------
      +	 * Specifies which lines to highlight extra
      +	 */
      +	function highlight_lines_extra ( $lines )
      +	{
      +		if ( is_array($lines) )
      +		{
      +			foreach ( $lines as $line )
      +			{
      +				$this->highlight_extra_lines[intval($line)] = intval($line);
      +			}
      +		}
      +		else
      +		{
      +			$this->highlight_extra_lines[intval($lines)] = intval($lines);
      +		}
      +	}
      +
      +
      +	/**
      +	 * method: set_highlight_lines_extra_style
      +	 * ---------------------------------------
      +	 * Sets the style for extra-highlighted lines
      +	 */
      +	function set_highlight_lines_extra_style ( $styles )
      +	{
      +		$this->highlight_extra_lines_style = $styles;
      +	}
      +
      +
      +	/**
      +	 * method: start_line_numbers_at
      +	 * -----------------------------
      +	 * Sets what number line numbers should start at. Should
      +	 * be a positive integer, and will be converted to one.
      +	 */
      +	function start_line_numbers_at ( $number )
      +	{
      +		$this->line_numbers_start = abs(intval($number));
      +	}
      +
      +
      +	/**
      +	 * method: set_encoding
      +	 * --------------------
      +	 * Sets the encoding used for htmlentities(), for international
      +	 * support.
      +	 */
      +	function set_encoding ( $encoding )
      +	{
      +		$this->encoding = $encoding;
      +	}
      +
      +
      +	/**
      +	 * method: parse_code()
      +	 * --------------------
      +	 * Returns the code in $this->source, highlighted and surrounded by the
      +	 * nessecary HTML. This should only be called ONCE, cos it's SLOW!
      +	 * If you want to highlight the same source multiple times, you're better
      +	 * off doing a whole lot of str_replaces to replace the s
      +	 */
      +	function parse_code()
      +	{
      +		// Start the timer
      +		$start_time = microtime();
      +
      +		// Firstly, if there is an error, we won't highlight
      +		// FUTURE: maybe an option to try to force highlighting anyway?
      +		if ( $this->error )
      +		{
      +			$result = $this->header();
      +			if ( $this->header_type != GESHI_HEADER_PRE )
      +			{
      +				$result .= $this->indent(htmlentities($this->source, ENT_COMPAT, $this->encoding));
      +			}
      +			else
      +			{
      +				$result .= htmlentities($this->source, ENT_COMPAT, $this->encoding);
      +			}
      +			// Stop Timing
      +			$this->set_time($start_time, microtime());
      +			return $result . $this->footer();
      +		}
      +
      +		// Add spaces for regular expression matching and line numbers
      +		$code = ' ' . $this->source . ' ';
      +		// Replace all newlines to a common form.
      +		$code = str_replace("\r\n", "\n", $code);
      +		$code = str_replace("\r", "\n", $code);
      +
      +		// Initialise various stuff
      +		$length = strlen($code);
      +		$STRING_OPEN = '';
      +		$CLOSE_STRING = false;
      +		$ESCAPE_CHAR_OPEN = false;
      +		$COMMENT_MATCHED = false;
      +		// Turn highlighting on if strict mode doesn't apply to this language
      +		$HIGHLIGHTING_ON = ( !$this->strict_mode ) ? true : '';
      +		// Whether to highlight inside a block of code
      +		$HIGHLIGHT_INSIDE_STRICT = false;
      +		$stuff_to_parse = '';
      +		$result = '';
      +
      +		// "Important" selections are handled like multiline comments
      +		if ( $this->enable_important_blocks )
      +		{
      +			$this->language_data['COMMENT_MULTI'][GESHI_START_IMPORTANT] = GESHI_END_IMPORTANT;
      +		}
      +
      +
      +		if ( $this->strict_mode )
      +		{
      +			// Break the source into bits. Each bit will be a portion of the code
      +			// within script delimiters - for example, HTML between < and >
      +			$parts = array(0 => array(0 => ''));
      +			$k = 0;
      +			for ( $i = 0; $i < $length; $i++ )
      +			{
      +				$char = substr($code, $i, 1);
      +				if ( !$HIGHLIGHTING_ON )
      +				{
      +					foreach ( $this->language_data['SCRIPT_DELIMITERS'] as $key => $delimiters )
      +					{
      +						foreach ( $delimiters as $open => $close )
      +						{
      +							// Get the next little bit for this opening string
      +							$check = substr($code, $i, strlen($open));
      +							// If it matches...
      +							if ( $check == $open )
      +							{
      +								// We start a new block with the highlightable
      +								// code in it
      +								$HIGHLIGHTING_ON = $open;
      +								$i += strlen($open) - 1;
      +								++$k;
      +								$char = $open;
      +								$parts[$k][0] = $char;
      +
      +								// No point going around again...
      +								break(2);
      +							}
      +						}
      +					}
      +				}
      +				else
      +				{
      +					foreach ( $this->language_data['SCRIPT_DELIMITERS'] as $key => $delimiters )
      +					{
      +						foreach ( $delimiters as $open => $close )
      +						{
      +							if ( $open == $HIGHLIGHTING_ON )
      +							{
      +								// Found the closing tag
      +								break(2);
      +							}
      +						}
      +					}
      +					// We check code from our current position BACKWARDS. This is so
      +					// the ending string for highlighting can be included in the block
      +					$check = substr($code, $i - strlen($close) + 1, strlen($close));
      +					if ( $check == $close )
      +					{
      +						$HIGHLIGHTING_ON = '';
      +						// Add the string to the rest of the string for this part
      +						$parts[$k][1] = ( isset($parts[$k][1]) ) ? $parts[$k][1] . $char : $char;
      +						++$k;
      +						$parts[$k][0] = '';
      +						$char = '';
      +					}
      +				}
      +				$parts[$k][1] = ( isset($parts[$k][1]) ) ? $parts[$k][1] . $char : $char;
      +			}
      +			$HIGHLIGHTING_ON = '';
      +		}
      +		else
      +		{
      +			// Not strict mode - simply dump the source into
      +			// the array at index 1 (the first highlightable block)
      +			$parts = array(
      +				1 => array(
      +					0 => '',
      +					1 => $code
      +				)
      +			);
      +		}
      +
      +		// Now we go through each part. We know that even-indexed parts are
      +		// code that shouldn't be highlighted, and odd-indexed parts should
      +		// be highlighted
      +		foreach ( $parts as $key => $data )
      +		{
      +			$part = $data[1];
      +			// If this block should be highlighted...
      +			if ( $key % 2 )
      +			{
      +				if ( $this->strict_mode )
      +				{
      +					// Find the class key for this block of code
      +					foreach ( $this->language_data['SCRIPT_DELIMITERS'] as $script_key => $script_data )
      +					{
      +						foreach ( $script_data as $open => $close )
      +						{
      +							if ( $data[0] == $open )
      +							{
      +								break(2);
      +							}
      +						}
      +					}
      +
      +					if ( $this->language_data['STYLES']['SCRIPT'][$script_key] != '' && $this->lexic_permissions['SCRIPT'] )
      +					{
      +						// Add a span element around the source to
      +						// highlight the overall source block
      +						if ( !$this->use_classes && $this->language_data['STYLES']['SCRIPT'][$script_key] != '' )
      +						{
      +							$attributes = ' style="' . $this->language_data['STYLES']['SCRIPT'][$script_key] . '"';
      +						}
      +						else
      +						{
      +							$attributes = ' class="sc' . $script_key . '"';
      +						}
      +						$result .= "";
      +					}
      +				}
      +
      +				if ( !$this->strict_mode || $this->language_data['HIGHLIGHT_STRICT_BLOCK'][$script_key] )
      +				{
      +					// Now, highlight the code in this block. This code
      +					// is really the engine of GeSHi (along with the method
      +					// parse_non_string_part).
      +					$length = strlen($part);
      +					for ( $i = 0; $i < $length; $i++ )
      +					{
      +						// Get the next char
      +						$char = substr($part, $i, 1);
      +						// Is this char the newline and line numbers being used?
      +						if ( ($this->line_numbers != GESHI_NO_LINE_NUMBERS || count($this->highlight_extra_lines) > 0) && $char == "\n" )
      +						{
      +							// If so, is there a string open? If there is, we should end it before
      +							// the newline and begin it again (so when 
    • s are put in the source + // remains XHTML compliant) + // NOTE TO SELF: This opens up possibility of config files specifying + // that languages can/cannot have multiline strings??? + if ( $STRING_OPEN ) + { + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"'; + } + else + { + $attributes = ' class="st0"'; + } + $char = '' . $char . ""; + } + } + // Is this a match of a string delimiter? + elseif ( $char == $STRING_OPEN ) + { + if ( ($this->lexic_permissions['ESCAPE_CHAR'] && $ESCAPE_CHAR_OPEN) || ($this->lexic_permissions['STRINGS'] && !$ESCAPE_CHAR_OPEN) ) + { + $char .= ''; + } + if ( !$ESCAPE_CHAR_OPEN ) + { + $STRING_OPEN = ''; + $CLOSE_STRING = true; + } + $ESCAPE_CHAR_OPEN = false; + } + // Is this the start of a new string? + elseif ( in_array( $char, $this->language_data['QUOTEMARKS'] ) && ($STRING_OPEN == '') && $this->lexic_permissions['STRINGS'] ) + { + $STRING_OPEN = $char; + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"'; + } + else + { + $attributes = ' class="st0"'; + } + $char = "" . $char; + + $result .= $this->parse_non_string_part( $stuff_to_parse ); + $stuff_to_parse = ''; + } + // Is this an escape char? + elseif ( ($char == $this->language_data['ESCAPE_CHAR']) && ($STRING_OPEN != '') ) + { + if ( !$ESCAPE_CHAR_OPEN ) + { + $ESCAPE_CHAR_OPEN = true; + if ( $this->lexic_permissions['ESCAPE_CHAR'] ) + { + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][0] . '"'; + } + else + { + $attributes = ' class="es0"'; + } + $char = "" . $char; + } + } + else + { + $ESCAPE_CHAR_OPEN = false; + if ( $this->lexic_permissions['ESCAPE_CHAR'] ) + { + $char .= ''; + } + } + } + elseif ( $ESCAPE_CHAR_OPEN ) + { + if ( $this->lexic_permissions['ESCAPE_CHAR'] ) + { + $char .= ''; + } + $ESCAPE_CHAR_OPEN = false; + $test_str = $char; + } + elseif ( $STRING_OPEN == '' ) + { + // Is this a multiline comment? + foreach ( $this->language_data['COMMENT_MULTI'] as $open => $close ) + { + $com_len = strlen($open); + $test_str = substr( $part, $i, $com_len ); + $test_str_match = $test_str; + if ( $open == $test_str ) + { + $COMMENT_MATCHED = true; + if ( $this->lexic_permissions['COMMENTS']['MULTI'] || $test_str == GESHI_START_IMPORTANT ) + { + if ( $test_str != GESHI_START_IMPORTANT ) + { + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS']['MULTI'] . '"'; + } + else + { + $attributes = ' class="coMULTI"'; + } + $test_str = "" . htmlentities($test_str, ENT_COMPAT, $this->encoding); + } + else + { + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->important_styles . '"'; + } + else + { + $attributes = ' class="imp"'; + } + // We don't include the start of the comment if it's an + // "important" part + $test_str = ""; + } + } + else + { + $test_str = htmlentities($test_str, ENT_COMPAT, $this->encoding); + } + + $close_pos = strpos( $part, $close, $i + strlen($close) ); + + if ( $close_pos === false ) + { + $close_pos = strlen($part); + } + + // Short-cut through all the multiline code + $rest_of_comment = htmlentities(substr($part, $i + $com_len, $close_pos - $i), ENT_COMPAT, $this->encoding); + if ( ($this->lexic_permissions['COMMENTS']['MULTI'] || $test_str_match == GESHI_START_IMPORTANT) && ($this->line_numbers != GESHI_NO_LINE_NUMBERS || count($this->highlight_extra_lines) > 0) ) + { + // strreplace to put close span and open span around multiline newlines + $test_str .= str_replace("\n", "\n", $rest_of_comment); + } + else + { + $test_str .= $rest_of_comment; + } + + if ( $this->lexic_permissions['COMMENTS']['MULTI'] || $test_str_match == GESHI_START_IMPORTANT ) + { + $test_str .= ''; + } + $i = $close_pos + $com_len - 1; + // parse the rest + $result .= $this->parse_non_string_part( $stuff_to_parse ); + $stuff_to_parse = ''; + break; + } + } + // If we haven't matched a multiline comment, try single-line comments + if ( !$COMMENT_MATCHED ) + { + foreach ( $this->language_data['COMMENT_SINGLE'] as $comment_key => $comment_mark ) + { + $com_len = strlen($comment_mark); + $test_str = substr( $part, $i, $com_len ); + if ( $this->language_data['CASE_SENSITIVE'][GESHI_COMMENTS] ) + { + $match = ( $comment_mark == $test_str ); + } + else + { + $match = ( strtolower($comment_mark) == strtolower($test_str) ); + } + if ( $match ) + { + $COMMENT_MATCHED = true; + if ( $this->lexic_permissions['COMMENTS'][$comment_key] ) + { + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS'][$comment_key] . '"'; + } + else + { + $attributes = ' class="co' . $comment_key . '"'; + } + $test_str = "" . htmlentities($this->change_case($test_str), ENT_COMPAT, $this->encoding); + } + else + { + $test_str = htmlentities($test_str, ENT_COMPAT, $this->encoding); + } + $close_pos = strpos( $part, "\n", $i ); + if ( $close_pos === false ) + { + $close_pos = strlen($part); + } + $test_str .= htmlentities(substr($part, $i + $com_len, $close_pos - $i - $com_len), ENT_COMPAT, $this->encoding); + if ( $this->lexic_permissions['COMMENTS'][$comment_key] ) + { + $test_str .= ""; + } + $test_str .= "\n"; + $i = $close_pos; + // parse the rest + $result .= $this->parse_non_string_part( $stuff_to_parse ); + $stuff_to_parse = ''; + break; + } + } + } + } + // Otherwise, convert it to HTML form + elseif ( $STRING_OPEN != '' ) + { + $char = htmlentities($char, ENT_COMPAT, $this->encoding); + } + // Where are we adding this char? + if ( !$COMMENT_MATCHED ) + { + if ( ($STRING_OPEN == '') && !$CLOSE_STRING ) + { + $stuff_to_parse .= $char; + } + else + { + $result .= $char; + $CLOSE_STRING = false; + } + } + else + { + $result .= $test_str; + $COMMENT_MATCHED = false; + } + } + // Parse the last bit + $result .= $this->parse_non_string_part( $stuff_to_parse ); + $stuff_to_parse = ''; + } + else + { + $result .= htmlentities($part, ENT_COMPAT, $this->encoding); + } + // Close the that surrounds the block + if ( $this->strict_mode && $this->lexic_permissions['SCRIPT'] ) + { + $result .= ''; + } + } + // Else not a block to highlight + else + { + $result .= htmlentities($part, ENT_COMPAT, $this->encoding); + } + } + + // Parse the last stuff (redundant?) + $result .= $this->parse_non_string_part( $stuff_to_parse ); + + // Lop off the very first and last spaces + $result = substr($result, 1, strlen($result) - 1); + + // Are we still in a string? + if ( $STRING_OPEN ) + { + $result .= ''; + } + + // We're finished: stop timing + $this->set_time($start_time, microtime()); + + return $this->finalise($result); + } + + /** + * method: indent + * -------------- + * Swaps out spaces and tabs for HTML indentation. Not needed if + * the code is in a pre block... + */ + function indent ( $result ) + { + $result = str_replace(' ', '  ', $result); + $result = str_replace(' ', '  ', $result); + $result = str_replace("\n ", "\n ", $result); + $result = str_replace("\t", $this->get_tab_replacement(), $result); + if ( $this->line_numbers == GESHI_NO_LINE_NUMBERS ) + { + $result = nl2br($result); + } + return $result; + } + + /** + * method: change_case + * ------------------- + * Changes the case of a keyword for those languages where a change is asked for + */ + function change_case ( $instr ) + { + if ( $this->language_data['CASE_KEYWORDS'] == GESHI_CAPS_UPPER ) + { + return strtoupper($instr); + } + elseif ( $this->language_data['CASE_KEYWORDS'] == GESHI_CAPS_LOWER ) + { + return strtolower($instr); + } + return $instr; + } + + + /** + * method: add_url_to_keyword + * -------------------------- + * Adds a url to a keyword where needed. + * Added in 1.0.2 + */ + function add_url_to_keyword ( $keyword, $group, $start_or_end ) + { + if ( isset($this->language_data['URLS'][$group]) && $this->language_data['URLS'][$group] != '' && substr($keyword, 0, 5) != '</' ) + { + // There is a base group for this keyword + + if ( $start_or_end == 'BEGIN' ) + { + // HTML workaround... not good form (tm) but should work for 1.0.X + $keyword = ( substr($keyword, 0, 4) == '<' ) ? substr($keyword, 4) : $keyword; + $keyword = ( substr($keyword, -4) == '>' ) ? substr($keyword, 0, strlen($keyword) - 4) : $keyword; + if ( $keyword != '' ) + { + $keyword = ( $this->language_data['CASE_SENSITIVE'][$group] ) ? $keyword : strtolower($keyword); + return '<|UR1|"' . str_replace(array('{FNAME}', '.'), array(htmlentities($keyword, ENT_COMPAT, $this->encoding), ''), $this->language_data['URLS'][$group]) . '">'; + } + return ''; + } + else + { + return ''; + } + } + } + + + /** + * method: parse_non_string_part + * ----------------------------- + * Takes a string that has no strings or comments in it, and highlights + * stuff like keywords, numbers and methods. + */ + function parse_non_string_part ( &$stuff_to_parse ) + { + $stuff_to_parse = ' ' . quotemeta(htmlentities($stuff_to_parse, ENT_COMPAT, $this->encoding)); + // These vars will disappear in the future + $func = '$this->change_case'; + $func2 = '$this->add_url_to_keyword'; + + + // + // Regular expressions + // + foreach ( $this->language_data['REGEXPS'] as $key => $regexp ) + { + if ( $this->lexic_permissions['REGEXPS'][$key] ) + { + if ( is_array($regexp) ) + { + $stuff_to_parse = preg_replace( "#" . $regexp[GESHI_SEARCH] . "#{$regexp[GESHI_MODIFIERS]}", "{$regexp[GESHI_BEFORE]}<|!REG3XP$key!>{$regexp[GESHI_REPLACE]}|>{$regexp[GESHI_AFTER]}", $stuff_to_parse); + } + else + { + $stuff_to_parse = preg_replace( "#(" . $regexp . ")#", "<|!REG3XP$key!>\\1|>", $stuff_to_parse); + } + } + } + + // + // Highlight numbers. This regexp sucks... anyone with a regexp that WORKS + // here wins a cookie if they send it to me. At the moment there's two doing + // almost exactly the same thing, except the second one prevents a number + // being highlighted twice (eg 5) + // Put /NUM!/ in for the styles, which gets replaced at the end. + // + if ( $this->lexic_permissions['NUMBERS'] && preg_match('#[0-9]#', $stuff_to_parse ) ) + { + $stuff_to_parse = preg_replace('#([^a-zA-Z0-9\#])([0-9]+)([^a-zA-Z0-9])#', "\\1<|/NUM!/>\\2|>\\3", $stuff_to_parse); + $stuff_to_parse = preg_replace('#([^a-zA-Z0-9\#>])([0-9]+)([^a-zA-Z0-9])#', "\\1<|/NUM!/>\\2|>\\3", $stuff_to_parse); + } + + // Highlight keywords + // if there is a couple of alpha symbols there *might* be a keyword + if ( preg_match('#[a-zA-Z]{2,}#', $stuff_to_parse) ) + { + foreach ( $this->language_data['KEYWORDS'] as $k => $keywordset ) + { + if ( $this->lexic_permissions['KEYWORDS'][$k] ) + { + foreach ( $keywordset as $keyword ) + { + $keyword = quotemeta($keyword); + // + // This replacement checks the word is on it's own (except if brackets etc + // are next to it), then highlights it. We don't put the color=" for the span + // in just yet - otherwise languages with the keywords "color" or "or" have + // a fit. + // + if ( false !== stristr($stuff_to_parse, $keyword ) ) + { + $stuff_to_parse .= ' '; + // Might make a more unique string for putting the number in soon + // Basically, we don't put the styles in yet because then the styles themselves will + // get highlighted if the language has a CSS keyword in it (like CSS, for example ;)) + $styles = "/$k/"; + $keyword = quotemeta($keyword); + if ( $this->language_data['CASE_SENSITIVE'][$k] ) + { + $stuff_to_parse = preg_replace("#([^a-zA-Z0-9\$_\|\.\#;>])($keyword)([^a-zA-Z0-9_<\|%\-&])#e", "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END') . '\\3'", $stuff_to_parse); + } + else + { + // Change the case of the word. + $stuff_to_parse = preg_replace("#([^a-zA-Z0-9\$_\|\.\#;>])($keyword)([^a-zA-Z0-9_<\|%\-&])#ie", "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END') . '\\3'", $stuff_to_parse); + } + $stuff_to_parse = substr($stuff_to_parse, 0, strlen($stuff_to_parse) - 1); + } + } + } + } + } + + // + // Now that's all done, replace /[number]/ with the correct styles + // + foreach ( $this->language_data['KEYWORDS'] as $k => $kws ) + { + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->language_data['STYLES']['KEYWORDS'][$k] . '"'; + } + else + { + $attributes = ' class="kw' . $k . '"'; + } + $stuff_to_parse = str_replace("/$k/", $attributes, $stuff_to_parse); + } + + // Put number styles in + if ( !$this->use_classes && $this->lexic_permissions['NUMBERS'] ) + { + $attributes = ' style="' . $this->language_data['STYLES']['NUMBERS'][0] . '"'; + } + else + { + $attributes = ' class="nu0"'; + } + $stuff_to_parse = str_replace('/NUM!/', $attributes, $stuff_to_parse); + + // + // Highlight methods and fields in objects + // + if ( $this->lexic_permissions['METHODS'] && $this->language_data['OOLANG'] ) + { + foreach ( $this->language_data['OBJECT_SPLITTERS'] as $key => $splitter ) + { + if ( false !== stristr($stuff_to_parse, $this->language_data['OBJECT_SPLITTERS'][$key]) ) + { + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->language_data['STYLES']['METHODS'][$key] . '"'; + } + else + { + $attributes = ' class="me' . $key . '"'; + } + $stuff_to_parse = preg_replace("#(" . quotemeta($this->language_data['OBJECT_SPLITTERS'][$key]) . "[\s]*)([a-zA-Z\*\(][a-zA-Z0-9_\*]*)#", "\\1<|$attributes>\\2|>", $stuff_to_parse); + } + } + } + + // + // Highlight brackets. Yes, I've tried adding a semi-colon to this list. + // You try it, and see what happens ;) + // TODO: Fix lexic permissions not converting entities if shouldn't + // be highlighting regardless + // + if ( $this->lexic_permissions['BRACKETS'] ) + { + $code_entities_match = array('[', ']', '(', ')', '{', '}'); + if ( !$this->use_classes ) + { + $code_entities_replace = array( + '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">[|>', + '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">]|>', + '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">(|>', + '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">)|>', + '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">{|>', + '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">}|>', + ); + } + else + { + $code_entities_replace = array( + '<| class="br0">[|>', + '<| class="br0">]|>', + '<| class="br0">(|>', + '<| class="br0">)|>', + '<| class="br0">{|>', + '<| class="br0">}|>', + ); + } + $stuff_to_parse = str_replace( $code_entities_match, $code_entities_replace, $stuff_to_parse ); + } + + // + // Add class/style for regexps + // + foreach ( $this->language_data['REGEXPS'] as $key => $regexp ) + { + if ( $this->lexic_permissions['REGEXPS'][$key] ) + { + if ( !$this->use_classes ) + { + $attributes = ' style="' . $this->language_data['STYLES']['REGEXPS'][$key] . '"'; + } + else + { + $attributes = ' class="re' . $key . '"'; + } + $stuff_to_parse = str_replace("!REG3XP$key!", "$attributes", $stuff_to_parse); + } + } + + // Replace with . for urls + $stuff_to_parse = str_replace('', '.', $stuff_to_parse); + // Replace <|UR1| with link_styles[GESHI_LINK]) ) + { + if ( $this->use_classes ) + { + $stuff_to_parse = str_replace('<|UR1|', 'link_target . ' href=', $stuff_to_parse); + } + else + { + $stuff_to_parse = str_replace('<|UR1|', 'link_target . ' style="' . $this->link_styles[GESHI_LINK] . '" href=', $stuff_to_parse); + } + } + else + { + $stuff_to_parse = str_replace('<|UR1|', 'link_target . ' href=', $stuff_to_parse); + } + + // + // NOW we add the span thingy ;) + // + + $stuff_to_parse = str_replace('<|', '', '', $stuff_to_parse ); + + return substr(stripslashes($stuff_to_parse), 1); + } + + /** + * method: set_time + * ---------------- + * Sets the time taken to parse the code + */ + function set_time ( $start_time, $end_time ) + { + $start = explode(' ', $start_time); + $end = explode(' ', $end_time); + $this->time = $end[0] + $end[1] - $start[0] - $start[1]; + } + + /** + * method: get_time + * ---------------- + * Gets the time taken to parse the code + */ + function get_time () + { + return $this->time; + } + + /** + * method: load_language + * --------------------- + * Gets language information and stores it for later use + */ + function load_language () + { + $file_name = $this->language_path . $this->language . '.php'; + if ( !is_readable($file_name)) + { + $this->error = GESHI_ERROR_NO_SUCH_LANG; + return; + } + require($file_name); + // Perhaps some checking might be added here later to check that + // $language data is a valid thing but maybe not + $this->language_data = $language_data; + // Set strict mode if should be set + if ( $this->language_data['STRICT_MODE_APPLIES'] == GESHI_ALWAYS ) + { + $this->strict_mode = true; + } + // Set permissions for all lexics to true + // so they'll be highlighted by default + $this->enable_highlighting(); + // Set default class for CSS + $this->overall_class = $this->language; + } + + /** + * method: get_tab_replacement + * --------------------------- + * Gets the replacement string for tabs in the source code. Useful for + * HTML highlighting, where tabs don't mean anything to a browser. + */ + function get_tab_replacement () + { + $i = 0; + $result = ''; + while ( $i < $this->tab_width ) + { + $i++; + if ( $i % 2 == 0 ) + { + $result .= ' '; + } + else + { + $result .= ' '; + } + } + return $result; + } + + /** + * method: finalise + * ---------------- + * Takes the parsed code and various options, and creates the HTML + * surrounding it to make it look nice. + */ + function finalise ( $parsed_code ) + { + // Remove end parts of important declarations + // This is BUGGY!! My fault for bad code: fix coming in 1.2 + if ( $this->enable_important_blocks && (strstr($parsed_code, htmlentities(GESHI_START_IMPORTANT, ENT_COMPAT, $this->encoding)) === false) ) + { + $parsed_code = str_replace(htmlentities(GESHI_END_IMPORTANT, ENT_COMPAT, $this->encoding), '', $parsed_code); + } + + // Add HTML whitespace stuff if we're using the
      header + if ( $this->header_type == GESHI_HEADER_DIV ) + { + $parsed_code = $this->indent($parsed_code); + } + + // If we're using line numbers, we insert
    • s and appropriate + // markup to style them (otherwise we don't need to do anything) + if ( $this->line_numbers != GESHI_NO_LINE_NUMBERS ) + { + // If we're using the
       header, we shouldn't add newlines because
      +			// the 
       will line-break them (and the 
    • s already do this for us) + $ls = ( $this->header_type != GESHI_HEADER_PRE ) ? "\n" : ''; + // Get code into lines + $code = explode("\n", $parsed_code); + // Set vars to defaults for following loop + $parsed_code = ''; + $i = 0; + // Foreach line... + foreach ( $code as $line ) + { + $line = ( $line ) ? $line : ' '; + // If this is a "special line"... + if ( $this->line_numbers == GESHI_FANCY_LINE_NUMBERS && $i % $this->line_nth_row == ($this->line_nth_row - 1) ) + { + // Set the attributes to style the line + if ( $this->use_classes ) + { + $attr = ' class="li2"'; + $def_attr = ' class="de2"'; + } + else + { + $attr = ' style="' . $this->line_style2 . '"'; + // This style "covers up" the special styles set for special lines + // so that styles applied to special lines don't apply to the actual + // code on that line + $def_attr = ' style="' . $this->code_style . '"'; + } + // Span or div? + $start = ""; + $end = '
    • '; + } + else + { + if ( $this->use_classes ) + { + $def_attr = ' class="de1"'; + } + else + { + $def_attr = ' style="' . $this->code_style . '"'; + } + // Reset everything + $attr = ''; + // Span or div? + $start = ""; + $end = ''; + } + + ++$i; + // Are we supposed to use ids? If so, add them + if ( $this->add_ids ) + { + $attr .= " id=\"{$this->overall_id}-{$i}\""; + } + if ( $this->use_classes && in_array($i, $this->highlight_extra_lines) ) + { + $attr .= " class=\"ln-xtra\""; + } + if ( !$this->use_classes && in_array($i, $this->highlight_extra_lines) ) + { + $attr .= " style=\"{$this->highlight_extra_lines_style}\""; + } + + // Add in the line surrounded by appropriate list HTML + $parsed_code .= "$start$line$end$ls"; + } + } + else + { + // No line numbers, but still need to handle highlighting lines extra. + // Have to use divs so the full width of the code is highlighted + $code = explode("\n", $parsed_code); + $parsed_code = ''; + $i = 0; + foreach ( $code as $line ) + { + // Make lines have at least one space in them if they're empty + $line = ( $line ) ? $line : ' '; + if ( in_array(++$i, $this->highlight_extra_lines) ) + { + if ( $this->use_classes ) + { + //$id = ( $this->overall_id != '' ) ? $this->overall_id . "-$i" : $this->overall_class . "-$i"; + $parsed_code .= '
      '; + } + else + { + $parsed_code .= "
      highlight_extra_lines_style}\">"; + } + $parsed_code .= $line . "
      \n"; + } + else + { + $parsed_code .= $line . "\n"; + } + } + } + + return $this->header() . chop($parsed_code) . $this->footer(); + } + + + /** + * method: header + * -------------- + * Creates the header for the code block (with correct attributes) + */ + function header () + { + // Get attributes needed + $attributes = $this->get_attributes(); + + if ( $this->use_classes ) + { + $ol_attributes = ''; + } + else + { + $ol_attributes = ' style="margin: 0;"'; + } + + if ( $this->line_numbers_start != 1 ) + { + $ol_attributes .= ' start="' . $this->line_numbers_start . '"'; + } + + // Get the header HTML + $header = $this->format_header_content(); + + // Work out what to return and do it + if ( $this->line_numbers != GESHI_NO_LINE_NUMBERS ) + { + if ( $this->header_type == GESHI_HEADER_PRE ) + { + return "$header"; + } + elseif ( $this->header_type == GESHI_HEADER_DIV ) + { + return "$header"; + } + } + else + { + if ( $this->header_type == GESHI_HEADER_PRE ) + { + return "$header"; + } + elseif ( $this->header_type == GESHI_HEADER_DIV ) + { + return "$header"; + } + } + } + + + /** + * method: format_header_content + * ----------------------------- + * Returns the header content, formatted for output + */ + function format_header_content () + { + $header = $this->header_content; + if ( $header ) + { + if ( $this->header_type == GESHI_HEADER_PRE ) + { + $header = str_replace("\n", '', $header); + } + $header = $this->replace_keywords($header); + + if ( $this->use_classes ) + { + $attr = ' class="head"'; + } + else + { + $attr = " style=\"{$this->header_content_style}\""; + } + return "$header
      "; + } + } + + + /** + * method: footer + * -------------- + * Returns the footer for the code block. Ending newline removed in 1.0.2 + */ + function footer () + { + $footer_content = $this->format_footer_content(); + + if ( $this->header_type == GESHI_HEADER_DIV ) + { + if ( $this->line_numbers != GESHI_NO_LINE_NUMBERS ) + { + return "$footer_content"; + } + return "$footer_content"; + } + else + { + if ( $this->line_numbers != GESHI_NO_LINE_NUMBERS ) + { + return "$footer_content
      "; + } + return "$footer_content"; + } + } + + + /** + * method: format_footer_content + * ----------------------------- + * Returns the footer content, formatted for output + */ + function format_footer_content () + { + $footer = $this->footer_content; + if ( $footer ) + { + if ( $this->header_type == GESHI_HEADER_PRE ) + { + $footer = str_replace("\n", '', $footer);; + } + $footer = $this->replace_keywords($footer); + + if ( $this->use_classes ) + { + $attr = ' class="foot"'; + } + else + { + $attr = " style=\"{$this->footer_content_style}\">"; + } + return "$footer"; + } + } + + + /** + * method: replace_keywords + * ---------------------- + * Replaces certain keywords in the header and footer with + * certain configuration values + */ + function replace_keywords ( $instr ) + { + $keywords = $replacements = array(); + + $keywords[] = '
        to have no effect at all if there are line numbers + // (
          s have margins that should be destroyed so all layout is + // controlled by the set_overall_style method, which works on the + //
           or 
          container). Additionally, set default styles for lines + if ( !$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS ) + { + $stylesheet .= "$selector, {$selector}ol, {$selector}ol li {margin: 0;}\n"; + $stylesheet .= "$selector.de1, $selector.de2 {{$this->code_style}}\n"; + } + + // Add overall styles + if ( !$economy_mode || $this->overall_style != '' ) + { + $stylesheet .= "$selector {{$this->overall_style}}\n"; + } + + // Add styles for links + foreach ( $this->link_styles as $key => $style ) + { + if ( !$economy_mode || $key == GESHI_LINK && $style != '' ) + { + $stylesheet .= "{$selector}a:link {{$style}}\n"; + } + if ( !$economy_mode || $key == GESHI_HOVER && $style != '' ) + { + $stylesheet .= "{$selector}a:hover {{$style}}\n"; + } + if ( !$economy_mode || $key == GESHI_ACTIVE && $style != '' ) + { + $stylesheet .= "{$selector}a:active {{$style}}\n"; + } + if ( !$economy_mode || $key == GESHI_VISITED && $style != '' ) + { + $stylesheet .= "{$selector}a:visited {{$style}}\n"; + } + } + + // Header and footer + if ( !$economy_mode || $this->header_content_style != '' ) + { + $stylesheet .= "$selector.head {{$this->header_content_style}}\n"; + } + if ( !$economy_mode || $this->footer_content_style != '' ) + { + $stylesheet .= "$selector.foot {{$this->footer_content_style}}\n"; + } + + // Styles for important stuff + if ( !$economy_mode || $this->important_styles != '' ) + { + $stylesheet .= "$selector.imp {{$this->important_styles}}\n"; + } + + + // Styles for lines being highlighted extra + if ( !$economy_mode || count($this->highlight_extra_lines) ) + { + /*foreach ( $this->highlight_extra_lines as $line ) + { + $id = ( $this->overall_id != '' ) ? $this->overall_id . "-$line" : $this->overall_class . "-$line"; + $stylesheet .= "$selector#$id,"; + }*/ + $stylesheet .= "$selector.ln-xtra {{$this->highlight_extra_lines_style}}\n"; + } + + + // Simple line number styles + if ( !$economy_mode || ($this->line_numbers != GESHI_NO_LINE_NUMBERS && $this->line_style1 != '') ) + { + $stylesheet .= "{$selector}li {{$this->line_style1}}\n"; + } + + // If there is a style set for fancy line numbers, echo it out + if ( !$economy_mode || ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS && $this->line_style2 != '') ) + { + $stylesheet .= "{$selector}li.li2 {{$this->line_style2}}\n"; + } + + + foreach ( $this->language_data['STYLES']['KEYWORDS'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && (!$this->lexic_permissions['KEYWORDS'][$group] || $styles == '')) ) + { + $stylesheet .= "$selector.kw$group {{$styles}}\n"; + } + } + foreach ( $this->language_data['STYLES']['COMMENTS'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && $styles == '') && !($economy_mode && !$this->lexic_permissions['COMMENTS'][$group]) ) + { + $stylesheet .= "$selector.co$group {{$styles}}\n"; + } + } + foreach ( $this->language_data['STYLES']['ESCAPE_CHAR'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && $styles == '') && !($economy_mode && !$this->lexic_permissions['ESCAPE_CHAR']) ) + { + $stylesheet .= "$selector.es$group {{$styles}}\n"; + } + } + foreach ( $this->language_data['STYLES']['SYMBOLS'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && $styles == '') && !($economy_mode && !$this->lexic_permissions['BRACKETS']) ) + { + $stylesheet .= "$selector.br$group {{$styles}}\n"; + } + } + foreach ( $this->language_data['STYLES']['STRINGS'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && $styles == '') && !($economy_mode && !$this->lexic_permissions['STRINGS']) ) + { + $stylesheet .= "$selector.st$group {{$styles}}\n"; + } + } + foreach ( $this->language_data['STYLES']['NUMBERS'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && $styles == '') && !($economy_mode && !$this->lexic_permissions['NUMBERS']) ) + { + $stylesheet .= "$selector.nu$group {{$styles}}\n"; + } + } + foreach ( $this->language_data['STYLES']['METHODS'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && $styles == '') && !($economy_mode && !$this->lexic_permissions['METHODS']) ) + { + $stylesheet .= "$selector.me$group {{$styles}}\n"; + } + } + foreach ( $this->language_data['STYLES']['SCRIPT'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && $styles == '') /*&& !($economy_mode && !$this->lexic_permissions['SCRIPT'])*/ ) + { + $stylesheet .= "$selector.sc$group {{$styles}}\n"; + } + } + foreach ( $this->language_data['STYLES']['REGEXPS'] as $group => $styles ) + { + if ( !$economy_mode || !($economy_mode && $styles == '') && !($economy_mode && !$this->lexic_permissions['REGEXPS'][$group]) ) + { + $stylesheet .= "$selector.re$group {{$styles}}\n"; + } + } + + return $stylesheet; + } + +} // End Class GeSHi + + +if ( !function_exists('geshi_highlight') ) +{ + /** + * function: geshi_highlight + * ------------------------- + * Easy way to highlight stuff. Behaves just like highlight_string + */ + function geshi_highlight ( $string, $language, $path, $return = false ) + { + $geshi = new GeSHi($string, $language, $path); + $geshi->set_header_type(GESHI_HEADER_DIV); + if ( $return ) + { + return str_replace('
          ', '', str_replace('
          ', '', $geshi->parse_code())); + } + echo str_replace('
          ', '', str_replace('
          ', '', $geshi->parse_code())); + if ( $geshi->error() ) + { + return false; + } + return true; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi.php 4.6-complete/uploadfiles/mambots/content/geshi.php --- 4.6rc2/uploadfiles/mambots/content/geshi.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,126 @@ +parser = xml_parser_create(); + $startfunc = array (&$this, 'start_element'); + $endfunc = array (&$this, 'end_element'); + $charfunc = array (&$this, 'character_data'); + xml_set_element_handler ($this->parser, $startfunc, $endfunc); + xml_set_character_data_handler ($this->parser, $charfunc); + } + + function parse ($arguments) { + xml_parse($this->parser, $arguments, true); + xml_parser_free($parser); + return $this->pattrs; + } + + function start_element ($parser, $element_name, $element_attrs) { + if ($element_name == 'PRE') $pattrs = $element_attrs; + } + + function end_element ($parser, $element_name) { + return; + } + + function character_data ($parser, $data) { + return; + } + +} + +$_MAMBOTS->registerFunction( 'onPrepareContent', 'botGeshi' ); + +/** +* Code Highlighting Mambot +* +* Replaces
          ...
          tags with highlighted text +*/ +function botGeshi( $published, &$row, &$params, $page=0 ) { + + // define the regular expression for the bot + $regex = "#(.*?)
          #s"; + + if (is_callable(array($row, 'getText'))) $localtext = $row->getText(); + else $localtext = $row->text; + if (!$published) { + $localtext = preg_replace( $regex, '', $localtext ); + if (is_callable(array($row, 'saveText'))) $row->saveText($localtext); + else $row->text = $localtext; + return; + } + + $GLOBALS['_MAMBOT_GESHI_PARAMS'] =& $params; + + // perform the replacement + $localtext = preg_replace_callback( $regex, 'botGeshi_replacer', $localtext ); + if (is_callable(array($row, 'saveText'))) $row->saveText($localtext); + else $row->text = $localtext; + + return true; +} +/** +* Replaces the matched tags an image +* @param array An array of matches (see preg_match_all) +* @return string +*/ +function botGeshi_replacer( &$matches ) { + $params =& $GLOBALS['_MAMBOT_GESHI_PARAMS']; + include_once( dirname( __FILE__ ) . '/geshi/geshi.php' ); + $parser =& new geshiXML(); + $args = $parser->parse($matches[1]); + $text = $matches[2]; + + $lang = mosGetParam( $args, 'lang', 'php' ); + $lines = mosGetParam( $args, 'lines', 'false' ); + + + $html_entities_match = array( "|\
          |", "#<#", "#>#", "|'|", '#"#', '# #' ); + $html_entities_replace = array( "\n", '<', '>', "'", '"', ' ' ); + + $text = preg_replace( $html_entities_match, $html_entities_replace, $text ); + + $text = str_replace('<', '<', $text); + $text = str_replace('>', '>', $text); + +/* + // Replace 2 spaces with "  " so non-tabbed code indents without making huge long lines. + $text = str_replace(" ", "  ", $text); + // now Replace 2 spaces with "  " to catch odd #s of spaces. + $text = str_replace(" ", "  ", $text); +*/ + // Replace tabs with "   " so tabbed code indents sorta right without making huge long lines. + //$text = str_replace("\t", "   ", $text); + $text = str_replace( "\t", ' ', $text ); + + $geshi = new GeSHi( $text, $lang, dirname( __FILE__ ) . '/geshi/geshi' ); + if ($lines == 'true') { + $geshi->enable_line_numbers( GESHI_NORMAL_LINE_NUMBERS ); + } + $text = $geshi->parse_code(); + + return $text; +} + + +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/geshi.xml 4.6-complete/uploadfiles/mambots/content/geshi.xml --- 4.6rc2/uploadfiles/mambots/content/geshi.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/geshi.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,24 @@ + + + GeSHi + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + qbnz.com/highlighter + 1.0.4 + Displays formatted code in content items based on the GeSHi highlighting engine + + geshi.php + geshi.xml + geshi/geshi.php + geshi/geshi/css.php + geshi/geshi/html4strict.php + geshi/geshi/javascript.php + geshi/geshi/php.php + geshi/geshi/php-brief.php + geshi/geshi/sql.php + geshi/geshi/xml.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/index.html 4.6-complete/uploadfiles/mambots/content/index.html --- 4.6rc2/uploadfiles/mambots/content/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/legacybots.php 4.6-complete/uploadfiles/mambots/content/legacybots.php --- 4.6rc2/uploadfiles/mambots/content/legacybots.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/legacybots.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ +registerFunction( 'onPrepareContent', 'botLegacyBots' ); + +/** +* Process any legacy bots in the /mambots directory +* +* THIS FILE CAN BE **SAFELY REMOVED** IF YOU HAVE NO LEGACY MAMBOTS +* @param object A content object +* @param int A bit-wise mask of options +* @param int The page number +*/ +function botLegacyBots( $published, &$row, &$params, $page=0 ) { + global $mosConfig_absolute_path; + + // process any legacy bots + $bots = mosReadDirectory( "$mosConfig_absolute_path/mambots", "\.php$" ); + sort( $bots ); + foreach ($bots as $bot) { + require "mambots/$bot"; + } +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/legacybots.xml 4.6-complete/uploadfiles/mambots/content/legacybots.xml --- 4.6rc2/uploadfiles/mambots/content/legacybots.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/legacybots.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,16 @@ + + + legacybots + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Support for outdated Mambo 4.5 mambots + + legacybots.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/moscode.php 4.6-complete/uploadfiles/mambots/content/moscode.php --- 4.6rc2/uploadfiles/mambots/content/moscode.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/moscode.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,79 @@ +registerFunction( 'onPrepareContent', 'botMosCode' ); + +/** +* Code Highlighting Mambot +* +* Usage: +* {moscode}...some code...{/moscode} +*/ +function botMosCode( $published, &$row, &$params, $page=0 ) { + // define the regular expression for the bot + $regex = "#{moscode}(.*?){/moscode}#s"; + + if (is_callable(array($row, 'getText'))) $localtext = $row->getText(); + else $localtext = $row->text; + if (!$published) { + $localtext = preg_replace( $regex, '', $localtext ); + if (is_callable(array($row, 'saveText'))) $row->saveText($localtext); + else $row->text = $localtext; + return; + } + + + // perform the replacement + $localtext = preg_replace_callback( $regex, 'botMosCode_replacer', $localtext ); + if (is_callable(array($row, 'saveText'))) $row->saveText($localtext); + else $row->text = $localtext; + + return true; +} +/** +* Replaces the matched tags an image +* @param array An array of matches (see preg_match_all) +* @return string +*/ +function botMosCode_replacer( &$matches ) { + $html_entities_match = array("#<#", "#>#"); + $html_entities_replace = array("<", ">"); + + $text = $matches[1]; + + $text = preg_replace($html_entities_match, $html_entities_replace, $text ); + + // Replace 2 spaces with "  " so non-tabbed code indents without making huge long lines. + $text = str_replace(" ", "  ", $text); + // now Replace 2 spaces with "  " to catch odd #s of spaces. + $text = str_replace(" ", "  ", $text); + + // Replace tabs with "   " so tabbed code indents sorta right without making huge long lines. + $text = str_replace("\t", "   ", $text); + + $text = str_replace('<', '<', $text); + $text = str_replace('>', '>', $text); + + $text = highlight_string( $text, 1 ); + + $text = str_replace('&nbsp;', ' ', $text); + $text = str_replace('<br/>', '
          ', $text); + $text = str_replace('<br/>','
          ', $text); + $text = str_replace('&
          nbsp;', ' ', $text); + $text = str_replace('&nbsp;', ' ', $text); + $text = str_replace(';<br/>','
          ', $text); + + return $text; +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/moscode.xml 4.6-complete/uploadfiles/mambots/content/moscode.xml --- 4.6rc2/uploadfiles/mambots/content/moscode.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/moscode.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,17 @@ + + + moscode + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + Displays formatted code in content items + + moscode.php + moscode.xml + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/content/moscomment.php 4.6-complete/uploadfiles/mambots/content/moscomment.php --- 4.6rc2/uploadfiles/mambots/content/moscomment.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/moscomment.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,117 @@ +registerFunction( 'onPrepareContent', 'botMosComment' ); + +function botMosComment( $published, &$row, &$params, $page=0 ) { + + global $database, $mainframe, $option, $task; + global $mosConfig_lang, $mosConfig_absolute_path, $mosConfig_live_site, $mosConfig_usecaptcha, $my, $Itemid; + + # Load configuration file + require($mosConfig_absolute_path."/administrator/components/com_comment/config.comment.php"); + + $seclistarray = explode (",", $allow_comments_in_sections); + if (in_array ($row->sectionid, $seclistarray)) { + + # count number of comments + $database->setQuery( "SELECT count(*) FROM #__comment WHERE articleid='$row->id' AND published='1'" ); + $total = $database->loadResult(); + + if ($option=='com_content' AND $task=='view' AND !$params->get( 'intro_only' )) { + + # Check if valid user + $is_user = (strtolower($my->usertype) <> ''); + + if ( $total >= 0 ) { + + $comments = "
          "; + $comments .= ""; + $comments .= ""; + + $database->setQuery( "SELECT id as mcid, name as mcname, startdate as mcdate, comments as mccomment FROM #__comment WHERE articleid='$row->id' AND published='1'" ); + $mcrows = $database->loadObjectList(); + + + for ($i=0, $n=count( $mcrows ); $i < $n; $i++) { + $mcrow = &$mcrows[$i]; + $mcrow->mcname = stripslashes($mcrow->mcname); + $message = stripslashes(preg_replace("/(\015\012)|(\015)|(\012)/"," 
          ", $mcrow->mccomment)); + + $comments .= "
          ".T_('User Comments')."
          "; + $comments .= "
          "; + $comments .= "".T_('Comment by')." ".$mcrow->mcname." ".T_('on')." ".$mcrow->mcdate ."
          "; + $comments .= $message; + + // comments per page + if(($i+1)%$comments_per_page == 0 && ($i+1) < $n) { + $comments .= "

          "; + $comments .= "{mospagebreak}"; + $comments .= ""; + $comments .= ""; + }else { + $comments .= ""; + } + + } + + $comments .= "
          ".T_('Comments')."
          "; + } + + + # show comments form depending on config permissions + if (!$allow_anonymous_entries AND !$is_user) { + $comment_form = "Please login or register to add comments

          "; + } else { + // replace previously written comment if it exists in case user + // has simply mistyped or misread captcha code + if (isset($_GET['comments'])) $curr_com = $_GET['comments']; + else $curr_com = ''; + $comment_form = '
          '; + $comment_form .= ""; + $comment_form .= ""; + $comment_form .= ""; + $comment_form .= ""; + if ($my->username) { + $comment_form .= ""; + } else { + $comment_form .= ""; + } + $comment_form .= ""; + + if ($mosConfig_usecaptcha == '1') { + $comment_form .= "
          Security Check. Please enter this code. "; + $comment_form .= ""; + } + + $comment_form .= "

          "; + } + + # show comments then comments form + if (in_array ($row->sectionid, $seclistarray)) { + $row->text = $row->text.$comments.$comment_form; + } + + # If we are not on the content page itself + } elseif (in_array ($row->sectionid, $seclistarray)) { + $replacementlink = "
          "; + $row->text = $row->text.$replacementlink.T_('Write Comment')." (".$total.T_(' comments').")"; + } + + } + + return true; +} + +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/moscomment.xml 4.6-complete/uploadfiles/mambots/content/moscomment.xml --- 4.6rc2/uploadfiles/mambots/content/moscomment.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/moscomment.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,17 @@ + + + MOS Comment + Mambo Foundation + June 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + Adds a commenting feature to articles within selected sections + + moscomment.php + moscomment.xml + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/mosemailcloak.php 4.6-complete/uploadfiles/mambots/content/mosemailcloak.php --- 4.6rc2/uploadfiles/mambots/content/mosemailcloak.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mosemailcloak.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,74 @@ +registerFunction( 'onPrepareContent', 'botMosEmailCloak' ); + +/** +* Mambot that Cloaks all emails in content from spambots via javascript +*/ +function botMosEmailCloak( $published, &$row, &$cparams, $page=0, $params ) { + global $database; + + $mode = $params->def( 'mode', 1 ); + $search = "([[:alnum:]_\.\-]+)(\@[[:alnum:]\.\-]+\.+)([[:alnum:]\.\-]+)"; + $search_text = "([[:alnum:][:space:][:punct:]][^<>]+)"; + + // search for derivativs of link code email@amail.com + // extra handling for inclusion of title and target attributes either side of href attribute + $searchlink = "()". $search .""; + if (is_callable(array($row, 'getText'))) $localtext = $row->getText(); + else $localtext = $row->text; + while( eregi( $searchlink, $localtext, $regs ) ) { + $mail = $regs[2] . $regs[3] . $regs[4]; + $mail_text = $regs[5] . $regs[6] . $regs[7]; + + // check to see if mail text is different from mail addy + if ( $mail_text ) { + $replacement = mosHTML::emailCloaking( $mail, $mode, $mail_text ); + } else { + $replacement = mosHTML::emailCloaking( $mail, $mode ); + } + + // replace the found address with the js cloacked email + $localtext = str_replace( $regs[0], $replacement, $localtext ); + } + + // search for derivativs of link code anytext + // extra handling for inclusion of title and target attributes either side of href attribute + $searchlink = "(". $search_text .""; + while( eregi( $searchlink, $localtext, $regs ) ) { + $mail = $regs[2] . $regs[3] . $regs[4]; + $mail_text = $regs[5]; + + $replacement = mosHTML::emailCloaking( $mail, $mode, $mail_text, 0 ); + + // replace the found address with the js cloacked email + $localtext = str_replace( $regs[0], $replacement, $localtext ); + } + + // search for plain text email@amail.com + while( eregi( $search, $localtext, $regs ) ) { + $mail = $regs[0]; + + $replacement = mosHTML::emailCloaking( $mail, $mode ); + + // replace the found address with the js cloacked email + $localtext = str_replace( $regs[0], $replacement, $localtext ); + } + + if (is_callable(array($row, 'saveText'))) $row->saveText($localtext); + else $row->text = $localtext; + +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/mosemailcloak.xml 4.6-complete/uploadfiles/mambots/content/mosemailcloak.xml --- 4.6rc2/uploadfiles/mambots/content/mosemailcloak.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mosemailcloak.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,21 @@ + + + mosemailcloak + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Cloaks all emails in content from spambots using javascript + + mosemailcloak.php + + + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/mosimage.php 4.6-complete/uploadfiles/mambots/content/mosimage.php --- 4.6rc2/uploadfiles/mambots/content/mosimage.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mosimage.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,189 @@ +registerFunction( 'onPrepareContent', 'botMosImage' ); + +/** +*/ +function botMosImage( $published, &$row, &$cparams, $page=0, $params ) { + global $database; + + // expression to search for + $regex = '/{mosimage\s*.*?}/i'; + + // find all instances of mambot and put in $matches + if (is_callable(array($row, 'getText'))) $localtext = $row->getText(); + else $localtext = $row->text; + preg_match_all( $regex, $localtext, $matches ); + + // Number of mambots + $count = count( $matches[0] ); + + // mambot only processes if there are any instances of the mambot in the text + if ( $count ) { + // load mambot params info + $params->def( 'padding' ); + $params->def( 'margin' ); + $params->def( 'link', 0 ); + + $images = processImages( $row, $params ); + + // store some vars in globals to access from the replacer + $GLOBALS['botMosImageCount'] = 0; + $GLOBALS['botMosImageParams'] =& $params; + $GLOBALS['botMosImageArray'] =& $images; + //$GLOBALS['botMosImageArray'] =& $combine; + + // perform the replacement + $localtext = preg_replace_callback( $regex, 'botMosImage_replacer', $localtext ); + if (is_callable(array($row, 'saveText'))) $row->saveText($localtext); + else $row->text = $localtext; + + // clean up globals + unset( $GLOBALS['botMosImageCount'] ); + unset( $GLOBALS['botMosImageMask'] ); + unset( $GLOBALS['botMosImageArray'] ); + + return true; + } +} + +function processImages ( &$row, &$params ) { + global $mosConfig_absolute_path, $mosConfig_live_site; + + $images = array(); + + // split on \n the images fields into an array + if (is_callable(array($row, 'getImages'))) $localimages = $row->getImages(); + else $localimages = $row->images; + $rimages = explode( "\n", $localimages); + $total = count( $rimages ); + if (is_callable(array($row, 'saveImages'))) $row->saveImages($rimages); + else $row->images = $rimages; + + $start = 0; + for ( $i = $start; $i < $total; $i++ ) { + $img = trim( $rimages[$i] ); + + // split on pipe the attributes of the image + if ( $img ) { + $attrib = explode( '|', trim( $img ) ); + // $attrib[0] image name and path from /images/stories + + // $attrib[1] alignment + if ( !isset($attrib[1]) || !$attrib[1] ) { + $attrib[1] = ''; + } + + // $attrib[2] alt & title + if ( !isset($attrib[2]) || !$attrib[2] ) { + $attrib[2] = 'Image'; + } else { + $attrib[2] = htmlspecialchars( $attrib[2] ); + } + + // $attrib[3] border + if ( !isset($attrib[3]) || !$attrib[3] ) { + $attrib[3] = '0'; + } + + // $attrib[4] caption + if ( !isset($attrib[4]) || !$attrib[4] ) { + $attrib[4] = ''; + $border = $attrib[3]; + } else { + $border = 0; + } + + // $attrib[5] caption position + if ( !isset($attrib[5]) || !$attrib[5] ) { + $attrib[5] = ''; + } + + // $attrib[6] caption alignment + if ( !isset($attrib[6]) || !$attrib[6] ) { + $attrib[6] = ''; + } + + // $attrib[7] width + if ( !isset($attrib[7]) || !$attrib[7] ) { + $attrib[7] = ''; + $width = ''; + } else { + $width = ' width: '. $attrib[7] .'px;'; + } + + // image size attibutes + $size = ''; + if ( function_exists( 'getimagesize' ) ) { + $size = @getimagesize( $mosConfig_absolute_path .'/images/stories/'. $attrib[0] ); + if (is_array( $size )) { + $size = 'width="'. $size[0] .'" height="'. $size[1] .'"'; + } + } + + // assemble the tag + $image = ''; + + // assemble caption - if caption detected + if ( $attrib[4] ) { + $caption = '
          '; + $caption .= $attrib[4]; + $caption .='
          '; + } + + // final output + if ( $attrib[4] ) { + $img = '
          '; + + // display caption in top position + if ( $attrib[5] == 'top' ) { + $img .= $caption; + } + + $img .= $image; + + // display caption in bottom position + if ( $attrib[5] == 'bottom' ) { + $img .= $caption; + } + $img .='
          '; + } else { + $img = $image; + } + + + $images[] = $img; + } + } + + return $images; +} + +/** +* Replaces the matched tags an image +* @param array An array of matches (see preg_match_all) +* @return string +*/ +function botMosImage_replacer( &$matches ) { + $i = $GLOBALS['botMosImageCount']++; + + return @$GLOBALS['botMosImageArray'][$i]; +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/mosimage.xml 4.6-complete/uploadfiles/mambots/content/mosimage.xml --- 4.6rc2/uploadfiles/mambots/content/mosimage.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mosimage.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,19 @@ + + + mosimage + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Replaces {mosimage} tag in content with specified images + + mosimage.php + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/mosloadposition.php 4.6-complete/uploadfiles/mambots/content/mosloadposition.php --- 4.6rc2/uploadfiles/mambots/content/mosloadposition.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mosloadposition.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,95 @@ +registerFunction( 'onPrepareContent', 'botMosLoadPosition' ); + +/** +* Mambot that loads module positions within content +*/ +function botMosLoadPosition( $published, &$row, &$cparams, $page=0, $params ) { + global $database; + + // expression to search for + $regex = '/{mosloadposition\s*.*?}/i'; + + if (is_callable(array($row, 'getText'))) $localtext = $row->getText(); + else $localtext = $row->text; + // find all instances of mambot and put in $matches + preg_match_all( $regex, $localtext, $matches ); + + // Number of mambots + $count = count( $matches[0] ); + + // mambot only processes if there are any instances of the mambot in the text + if ( $count ) { + + // load mambot params info + $query = "SELECT id FROM #__mambots WHERE element = 'mosloadposition' AND folder = 'content'"; + $database->setQuery( $query ); + $id = $database->loadResult(); + $mambot = new mosMambot( $database ); + $mambot->load( $id ); + $params =& new mosParameters( $mambot->params ); + + $style = $params->def( 'style', -2 ); + + processPositions( $localtext, $matches, $count, $regex, $style ); + } + // Save the results of processing + if (is_callable(array($row, 'saveText'))) $row->saveText($localtext); + else $row->text = $localtext; + +} + +function processPositions ( &$text, &$matches, $count, $regex, $style ) { + global $database; + + $query = "SELECT position" + . "\n FROM #__template_positions" + . "\n ORDER BY position" + ; + $database->setQuery( $query ); + $positions = $database->loadResultArray(); + + for ( $i=0; $i < $count; $i++ ) { + $load = str_replace( 'mosloadposition', '', $matches[0][$i] ); + $load = str_replace( '{', '', $load ); + $load = str_replace( '}', '', $load ); + $load = trim( $load ); + + foreach ( $positions as $position ) { + if ( $position == @$load ) { + $modules = loadPosition( $load, $style ); + $text = preg_replace( '{'. $matches[0][$i] .'}', $modules, $text ); + break; + } + } + } + + // removes tags without matching module positions + $text = preg_replace( $regex, '', $text ); +} + +function loadPosition( $position, $style=-2 ) { + $modules = ''; + if ( mosCountModules( $position ) ) { + ob_start(); + mosLoadModules ( $position, $style ); + $modules = ob_get_contents(); + ob_end_clean(); + } + + return $modules; +} + diff -ruN 4.6rc2/uploadfiles/mambots/content/mosloadposition.xml 4.6-complete/uploadfiles/mambots/content/mosloadposition.xml --- 4.6rc2/uploadfiles/mambots/content/mosloadposition.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mosloadposition.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,23 @@ + + + mosloadposition + Mambo Project + January 2005 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Loads module positions within Content, Syntax: {mosloadposition user1} + + mosloadposition.php + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/mospaging.php 4.6-complete/uploadfiles/mambots/content/mospaging.php --- 4.6rc2/uploadfiles/mambots/content/mospaging.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mospaging.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,235 @@ +registerFunction( 'onPrepareContent', 'botMosPaging' ); + +/** +* Page break mambot +* +* Usage: +* {mospagebreak} +* {mospagebreak title=The page title} +* or +* {mospagebreak heading=The first page} +* or +* {mospagebreak title=The page title&heading=The first page} +* or +* {mospagebreak heading=The first page&title=The page title} +* +*/ +function botMosPaging( $published, &$row, &$cparams, $page=0, $params ) { + global $mainframe, $Itemid, $database; + + if (strtolower(get_class($row)) != 'mosextendedcontent') return; + + // expression to search for + $regex = '/{(mospagebreak)\s*(.*?)}/i'; + + if (!$published || $cparams->get( 'intro_only' )|| $cparams->get( 'popup' )) { + $row->text = preg_replace( $regex, '', $row->text ); + return; + } + + // find all instances of mambot and put in $matches + $matches = array(); + preg_match_all( $regex, $row->text, $matches, PREG_SET_ORDER ); + + // split the text around the mambot + $text = preg_split( $regex, $row->text ); + + // count the number of pages + $n = count( $text ); + + // we have found at least one mambot, therefore at least 2 pages + if ($n > 1) { + // load mambot params info + $title = $params->def( 'title', 1 ); + + // adds heading or title to Title + if ( $title ) { + $page_text = $page + 1; + $row->page_title = T_('Page') .' '. $page_text; + if ( !$page ) { + // processing for first page + parse_str( $matches[0][2], $args ); + + if ( @$args['heading'] ) { + $row->page_title = $args['heading']; + } else { + $row->page_title = ''; + } + } else if ( $matches[$page-1][2] ) { + parse_str( $matches[$page-1][2], $args ); + + if ( @$args['title'] ) { + $row->page_title = $args['title']; + } + } + } + + // reset the text, we already hold it in the $text array + $row->text = ''; + + $hasToc = $mainframe->getCfg( 'multipage_toc' ); + + if ( $hasToc ) { + // display TOC + createTOC( $row, $matches, $page ); + } else { + $row->toc = ''; + } + + // traditional mos page navigation + require_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/pageNavigation.php' ); + $pageNav = new mosPageNav( $n, $page, 1 ); + + // page counter + $row->text .= ''; + + // page text + $row->text .= $text[$page]; + + $row->text .= '
          '; + $row->text .= '
          '; + } + + return true; +} + +function createTOC( &$row, &$matches, &$page ) { + global $Itemid; + + $nonseflink = 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid; + $link = 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid; + $link = sefRelToAbs( $link ); + + $heading = $row->title; + // allows customization of first page title by checking for `heading` attribute in first bot + if ( @$matches[0][2] ) { + parse_str( $matches[0][2], $args ); + + if ( @$args['heading'] ) { + $heading = $args['heading']; + } + } + + // TOC Header + $row->toc = ' + + + + + '; + + // TOC First Page link + $row->toc .= ' + + + + '; + + $i = 2; + $args2 = array(); + + foreach ( $matches as $bot ) { + $link = $nonseflink .'&limit=1&limitstart='. ($i-1); + $link = sefRelToAbs( $link ); + + if ( @$bot[2] ) { + parse_str( str_replace( '&', '&', $bot[2] ), $args2 ); + + if ( @$args2['title'] ) { + $row->toc .= ' + + + + '; + } else { + $row->toc .= ' + + + + '; + } + } else { + $row->toc .= ' + + + + '; + } + $i++; + } + + $row->toc .= '
          ' + . T_('Article Index') . + '
          + ' + . $heading . + ' +
          + ' + . $args2['title'] . + ' +
          + ' + . T_('Page') .' '. $i . + ' +
          + ' + . T_('Page') .' '. $i . + ' +
          '; +} + +function createNavigation( &$row, $page, $n ) { + global $Itemid; + + $link = 'index.php?option=com_content&task=view&id='. $row->id .'&Itemid='. $Itemid; + + if ( $page < $n-1 ) { + $link_next = $link .'&limit=1&limitstart='. ( $page + 1 ); + $link_next = sefRelToAbs( $link_next ); + + $next = '' .T_('Next >>').''; + } else { + $next = T_('Next'); + } + + if ( $page > 0 ) { + $link_prev = $link .'&limit=1&limitstart='. ( $page - 1 ); + $link_prev = sefRelToAbs( $link_prev ); + + $prev = ''. T_('<<Previous') .''; + } else { + $prev = T_('Previous'); + } + + $row->text .= '
          ' . $prev . ' - ' . $next .'
          '; +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/mospaging.xml 4.6-complete/uploadfiles/mambots/content/mospaging.xml --- 4.6rc2/uploadfiles/mambots/content/mospaging.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mospaging.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,21 @@ + + + mospaging + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Add a Table of Contents functionality to a paginated item. Syntax: {mospagebreak} or {mospagebreak title=The page title} or {mospagebreak heading=The first page} or {mospagebreak title=The page title&heading=The first page} or {mospagebreak heading=The first page&title=The page title} + + mospaging.php + + + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/mossef.php 4.6-complete/uploadfiles/mambots/content/mossef.php --- 4.6rc2/uploadfiles/mambots/content/mossef.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mossef.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,53 @@ +registerFunction( 'onPrepareContent', 'botMosSef' ); + +/** +* Converting internal relative links to SEF URLs +* +* Usage: +* +*/ +function botMosSef( $published, &$row, &$params, $page=0 ) { + global $mosConfig_absolute_path, $mosConfig_live_site; + + if (is_callable(array($row, 'getText'))) $localtext = $row->getText(); + else $localtext = $row->text; + // define the regular expression for the bot + $regex = "#href=\"(.*?)\"#s"; + + // perform the replacement + $localtext = preg_replace_callback( $regex, 'botMosSef_replacer', $localtext ); + + if (is_callable(array($row, 'saveText'))) $row->saveText($localtext); + else $row->text = $localtext; + + return true; +} +/** +* Replaces the matched tags +* @param array An array of matches (see preg_match_all) +* @return string +*/ +function botMosSef_replacer( &$matches ) { + if ( substr($matches[1],0,1)=="#" ) { + // anchor + $temp = split("index.php", $_SERVER['REQUEST_URI']); + return "href=\"".sefRelToAbs("index.php".@$temp[1]).$matches[1]."\""; + } else { + return "href=\"".sefRelToAbs($matches[1])."\""; + } +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/mossef.xml 4.6-complete/uploadfiles/mambots/content/mossef.xml --- 4.6rc2/uploadfiles/mambots/content/mossef.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mossef.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,16 @@ + + + mossef + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Adds SEF support to links in content items. It operates directly on the html and does not require a special tag. + + mossef.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/content/mosvote.php 4.6-complete/uploadfiles/mambots/content/mosvote.php --- 4.6rc2/uploadfiles/mambots/content/mosvote.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mosvote.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,75 @@ +registerFunction( 'onBeforeDisplayContent', 'botVoting' ); + +function botVoting( &$row, &$params, $page=0 ) { + global $mosConfig_live_site, $mosConfig_absolute_path, $cur_template; + global $Itemid; + if (get_class($row) != 'mosExtendedContent') return; + if (is_callable(array($row,'getId'))) $id = $row->getId(); + else $id = $row->id; + $option = 'com_content'; + $task = mosGetParam( $_REQUEST, 'task', '' ); + + $html = ''; + if ($params->get( 'rating' ) && !$params->get( 'popup' )){ + if (is_callable(array($row,'getRating'))) $rating = $row->getRating(); + else $rating = $row->rating; + if (is_callable(array($row,'getRatingCount'))) $rating_count = $row->getRatingCount(); + else $rating_count = $row->rating_count; + $html .= '
          '; + $img = ''; + + // look for images in template if available + $mainframe =& mosMainFrame::getInstance(); + $starImageOn = $mainframe->ImageCheck( 'rating_star.png', '/images/M_images/' ); + $starImageOff = $mainframe->ImageCheck( 'rating_star_blank.png', '/images/M_images/' ); + + for ($i=0; $i < $rating; $i++) { + $img .= $starImageOn; + } + for ($i=$rating; $i < 5; $i++) { + $img .= $starImageOff; + } + $html .= ''; + $html .= T_('User Rating') . ':' . $img . ' / '; + $html .= intval( $rating_count ); + $html .= "\n
          \n"; + $url = @$_SERVER['REQUEST_URI']; + $url = ampReplace( $url ); + + if (!$params->get( 'intro_only' ) && $task != "blogsection") { + $html .= ''; + $html .= T_('Poor'); + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= T_('Best'); + $html .= ' '; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + $html .= "
          \n"; + } + return $html; +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/content/mosvote.xml 4.6-complete/uploadfiles/mambots/content/mosvote.xml --- 4.6rc2/uploadfiles/mambots/content/mosvote.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/content/mosvote.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,16 @@ + + + MOS Rating + Mambo Foundation + Sept 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + Add the Voting functionality to Items + + mosvote.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/index.html 4.6-complete/uploadfiles/mambots/editors/index.html --- 4.6rc2/uploadfiles/mambots/editors/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/about.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/about.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/about.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/about.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,41 @@ + + + +About + + + + +
          +

          About

          +
          + +
          +

          General information

          +
          +

          TinyMCE is a powerful WYSIWYG editor control for web browsers such as MSIE or Mozilla that enables the user to edit HTML contents in a more user friendly way. The editor control is very flexible and it's built for integration purposes for example usage within systems like Intranets, CMS, LMS and so forth.

          +

          + TinyMCE is developed by Moxiecode Systems AB and is currently released under the "LGPL" license, read the license agreement for details. +

          +

          Features

          +

          +

            +
          • Easy to integrate, takes only a couple lines of code.
          • +
          • Theme and template support.
          • +
          • Easy to extend with custom code. (Plugins and callbacks)
          • +
          • Customizable HTML output. Block elements and force attributes.
          • +
          • International language support (Language packs).
          • +
          • Multiple browser support, currently Mozilla (PC, Mac and Linux), MSIE (PC) and FireFox (PC, Mac and Linux) and some limited Safari support.
          • +
          +

          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/compatiblity_chart.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/compatiblity_chart.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/compatiblity_chart.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/compatiblity_chart.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,84 @@ + + + +Compatiblity Chart + + + + +
          +

          Compatiblity Chart

          +
          + +
          +

          Browser support

          +
          +

          TinyMCE uses advanced JavaScript and tries to be as smart as possible when it comes to different browsers, the main focus is on Microsoft Internet Explorer and Mozilla/Firefox. The table was reset to only show the browsers we ourselves can test on. It works with many older versions of Mozilla and Firefox. Just cause a browser is not listed on this page doesn't mean it does not work, try out the examples on our website.

          + +

          Since MacOS X 10.4 is more or less Linux we are not testing much on Linux any more, use the Sourceforge bug report system to submit bugs on the very latest browsers only.

          +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
           Windows XPMacOS X 10.4
          MSIE 6OK 
          MSIE 5.5 SP2OK 
          MSIE 5.0OK 
          Mozilla 1.7.xOKOK
          Firefox 1.0.xOKOK
          Firefox 1.5b2OKOK
          Safari 2.0 (412) OK(1)
          Opera 9 Preview 1OK(1)OK(1)
          +

          +

          +

            +
          • (1) - Partialy working
          • +
          • (2) - Buggy browser version
          • +
          +

          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/credits.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/credits.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/credits.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/credits.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,83 @@ + + + +Credits + + + + +
          +

          Credits

          +
          + +
          +

          Contributors

          +
          +

          These are the people, companies or organizations that have contributed in some way to the TinyMCE project. If you feel we are missing someone please inform us right away and we will correct this in future versions of TinyMCE.

          +

          + Please note that some of these have contributed with complete language packs and some have updated parts of language packs or similar. +

          +
          +
          +
          +

          +

            +
          • Code / Solutions / Features
          • +
              +
            • Digital Ventures
            • +
            • donadoni
            • +
            • Michael Keck
            • +
            • Victor Nilsson
            • +
            • Jrgen Baute
            • +
            • "Neirda"
            • +
            • "speednet"
            • +
            • Virtuelcom
            • +
            • "SlyD"
            • +
            • Ernst de Moor
            • +
            • "jamesw"
            • +
            • Vincent FIACK
            • +
            • Aptest
            • +
            +
          • Language packs
          • +
              +
            • Marcin Szymon Sznyra
            • +
            • "revyag"
            • +
            • Jim Kou
            • +
            • "Krokogras"
            • +
            • Hani Suleiman
            • +
            • Jan Moelgaard
            • +
            • Christopher Mller
            • +
            • Virtuelcom
            • +
            • Pavel Novk
            • +
            • Simon Rupf
            • +
            • "Fabrix Xm"
            • +
            • Mats Lfstrm, York Consulting AB
            • +
            • Morteza Zafari
            • +
            • Laurent Dran
            • +
            • Tobias Heer
            • +
            • "Innozent"
            • +
            • "cube316"
            • +
            • Jos Pedro Pereira
            • +
            • "Martin"
            • +
            • Sten Aksel Heien
            • +
            • Setzer Gabbiani
            • +
            • Jacaranda Bill
            • +
            • Pat Boens
            • +
            • Roman Filippov
            • +
            • Arnoud van Delden
            • +
            +
          +

          +

          There are also a few corporations that have contributed in various ways to have features developed by payed support. +

          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/css/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/css/screen.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/css/screen.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/css/screen.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/css/screen.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,168 @@ +body { + background-color: #FFFFFF; + font-family: Verdana, Arial, helvetica, sans-serif; + font-size: 12px; +} + +.header { + border: #E0E0E0 solid 1px; +} + +.footer { + border: #E0E0E0 solid 1px; + height: 20px; +} + +h1 { + font-size: 18px; + font-weight: bold; + padding: 0; + margin: 4px; +} + +h2 { + font-size: 14px; + font-weight: bold; + padding: 0; + margin: 0; + margin-top: 4px; + margin-bottom: 4px; +} + +h3 { + font-size: 11px; + font-weight: bold; + padding: 0; + margin: 0; + margin-bottom: 3px; +} + +.section { + margin-left: 15px; +} + +.column { + margin-right: 20px; + float: left +} + +.separator { + border-bottom: 1px solid #E6EBF1; + margin-top: 10px; + margin-bottom: 10px; +} + +p { +} + +.helpindex { + margin-left: 20px; + padding-left: 0; +} + + +.optionlist { + margin: 0; + padding: 0; + margin-bottom: 10px; +} + +.optionlist li { + padding: 0; + margin: 0; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 10px; + list-style-type: none; +} + +.helpindex li { + margin-top: 3px; +} + +.content { + margin: 10px; +} + +.example { + background-color: #E6EBF1; + margin-left: 10px; +} + +code, pre { + margin: 0; + padding: 0; + background-color: #E6EBF1; +} + +.copyright { + margin: 3px; + float: left; +} + +.helpindexlink { + margin: 3px; + float: right; +} + +a:visited { + color: #666666; + text-decoration: underline; +} + +a:active { + color: #666666; + text-decoration: underline; +} + +a:hover { + color: #666666; + text-decoration: underline; +} + +a { + color: #666666; + text-decoration: underline; +} + +.list_subtitle { + padding-top: 5px; +} + +.note { + margin-top: 5px; + margin-left: 10px; + font-size: 10px; +} + +.marked { + color: red; + font-weight: bold; +} + +thead { + background-color: #E6EBF1; +} + +.btable { +} + +.btable th { + border: 1px solid gray; + vertical-align: top; +} + +.btable td { + border: 1px solid gray; + vertical-align: top; +} + +.plist { + list-style-type: none; + margin: 0; + padding: 0; +} + +.plist li { + padding-bottom: 3px; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/customization_language_packs.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/customization_language_packs.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/customization_language_packs.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/customization_language_packs.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,57 @@ + + + +Customization - Creating a language pack + + + + +
          +

          Customization - Creating a language pack

          +
          + +
          +

          Making language packs

          +

          Language packs are simply JavaScript name/value arrays placed in the ".js" files in the "lang" directory. Remember to allways use the "lang_" prefix for these value names so that they don't override other variables in the templates. The example below shows how the cut, copy and paste texts are lang packed. Notice there are three kinds of language packs the first one is the general one shared by all themes these are located in the "jscripts/tiny_mce/langs" directory the secound ones are theme specific language packs these are contained in "jscripts/tiny_mce/themes/<some theme>/langs" and the last one is plugin specific language packs located in each plugin. +

          +

          +

          +
          +tinyMCE.addToLang('',{
          +cut_desc : 'Cut (Ctrl+X)',
          +copy_desc : 'Copy (Ctrl+C)',
          +paste_desc : 'Paste (Ctrl+P)'
          +);
          +
          +
          +

          +

          + Remember the last translation line should not have a , character at the end. The first parameter to the addToLang is the prefix to add before each variable, this was added to reduce the overall size of the language packs to reduce the overall download time. +

          +

          Files to edit

          +

          + When translating TinyMCE, these are the files that currently needs to be translated: +

          +

          + /tinymce/jscripts/tiny_mce/langs/en.js
          + /tinymce/jscripts/tiny_mce/plugins/<plugin>/langs/en.js
          + /tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js
          +

          +

          + Notice some language variables may include a name/url of a gif image or simmilar, for example the button for bold has a "F" character in the Swedish language pack. There are also relative window sizes located in the language packs, for example is the link dialog needs to be bigger inorder to fit a specific translation you can alter the width of the window by modifying these variables. +

          +

          Contributing your language pack

          +

          + Go to the sourceforge patch page and upload a zip containing all the language files in the correct directory structure.

          + Please translate all the plugins, even if you aren't using them.
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/customization_plugins.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/customization_plugins.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/customization_plugins.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/customization_plugins.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,227 @@ + + + +Customization - Creating a plugin + + + + +
          +

          Customization - Creating a plugin

          +
          + +
          + +

          Creating your own plugins

          +

          +Creating you own plugins for the TinyMCE application is fairly easy if you know the basics of HTML, CSS and Javascript. The most easy way is to copy the "_template" directory or one of the other core plugins and work from there. The "_template" directory is a tutorial plugin that shows how to create a plugin. After you copy the template you need to change the red sections marked below to the name of your plugin this is needed so that plugins don't overlap in other words it gives the plugin a unique name. +

          +

          If you want you may add plugin specific options/settings but remember to namespace them in the following format "<your plugin>_<option>" for example "yourplugin_someoption".

          +

          Specific callback functions that you don't need or doesn't do anything can be removed.

          + +
          +

          Plugin directory structure

          +

          + + + + + + + + + + + + +
          File/Directory + Description +
          cssPlugin specific CSS files
          docsPlugin specific documentation
          imagesPlugin specific images
          jscriptsPlugin specific jscripts for HTML dialogs
          langsPlugin specific language files
          editor_plugin.jsEditor plugin file (compressed).
          editor_plugin_src.jsEditor plugin file (source).
          somedialog.htmPlugin specific dialog HTML file.
          +

          +
          +

          Plugin example source

          +

          +The example below shows a simple empty plugin and all possible callbacks. +

          +

          +

          +
          +var TinyMCE_SomeNamePlugin = {
          +	/**
          +	 * Returns information about the plugin as a name/value array.
          +	 * The current keys are longname, author, authorurl, infourl and version.
          +	 *
          +	 * @returns Name/value array containing information about the plugin.
          +	 * @type Array 
          +	 */
          +	getInfo : function() {
          +		return {
          +			longname : 'Your plugin',
          +			author : 'Your name',
          +			authorurl : 'http://www.yoursite.com',
          +			infourl : 'http://www.yoursite.com/docs/template.html',
          +			version : "1.0"
          +		};
          +	},
          +
          +	/**
          +	 * Gets executed when a TinyMCE editor instance is initialized.
          +	 *
          +	 * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. 
          +	 */
          +	initInstance : function(inst) {
          +		// You can take out plugin specific parameters
          +		alert("Initialization parameter:" + tinyMCE.getParam("somename_someparam", false));
          +
          +		// Register custom keyboard shortcut
          +		inst.addShortcut('ctrl', 't', 'lang_somename_desc', 'mceSomeCommand');
          +	},
          +
          +	/**
          +	 * Returns the HTML code for a specific control or empty string if this plugin doesn't have that control.
          +	 * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface.
          +	 * The variable {$editor_id} will be replaced with the current editor instance id and {$pluginurl} will be replaced
          +	 * with the URL of the plugin. Language variables such as {$lang_somekey} will also be replaced with contents from
          +	 * the language packs.
          +	 *
          +	 * @param {string} cn Editor control/button name to get HTML for.
          +	 * @return HTML code for a specific control or empty string.
          +	 * @type string
          +	 */
          +	getControlHTML : function(cn) {
          +		switch (cn) {
          +			case "SomeControl":
          +				return tinyMCE.getButtonHTML(cn, 'lang_someplugin_button_desc', '{$pluginurl}/images/someimage.gif', 'mceSomeCommand');
          +		}
          +
          +		return "";
          +	},
          +
          +	getControlHTML : function(cn) {
          +		switch (cn) {
          +			case "advhr":
          +				return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
          +		}
          +
          +		return "";
          +	},
          +
          +
          +	/**
          +	 * Executes a specific command, this function handles plugin commands.
          +	 *
          +	 * @param {string} editor_id TinyMCE editor instance id that issued the command.
          +	 * @param {HTMLElement} element Body or root element for the editor instance.
          +	 * @param {string} command Command name to be executed.
          +	 * @param {string} user_interface True/false if a user interface should be presented.
          +	 * @param {mixed} value Custom value argument, can be anything.
          +	 * @return true/false if the command was executed by this plugin or not.
          +	 * @type
          +	 */
          +	execCommand : function(editor_id, element, command, user_interface, value) {
          +		// Handle commands
          +		switch (command) {
          +			// Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
          +			case "mceSomeCommand":
          +				// Do your custom command logic here.
          +
          +				return true;
          +		}
          +
          +		// Pass to next handler in chain
          +		return false;
          +	},
          +
          +	/**
          +	 * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable
          +	 * button controls depending on where the user are and what they have selected. This method gets executed
          +	 * alot and should be as performance tuned as possible.
          +	 *
          +	 * @param {string} editor_id TinyMCE editor instance id that was changed.
          +	 * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree.
          +	 * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled.
          +	 * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled.
          +	 * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables.
          +	 * @param {boolean} any_selection Is there any selection at all or is there only a cursor.
          +	 */
          +	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
          +	},
          +
          +	/**
          +	 * Gets called when a TinyMCE editor instance gets filled with content on startup.
          +	 *
          +	 * @param {string} editor_id TinyMCE editor instance id that was filled with content.
          +	 * @param {HTMLElement} body HTML body element of editor instance.
          +	 * @param {HTMLDocument} doc HTML document instance.
          +	 */
          +	setupContent : function(editor_id, body, doc) {
          +	},
          +
          +	/**
          +	 * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is
          +	 * added.
          +	 *
          +	 * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified.
          +	 */
          +	onChange : function(inst) {
          +	},
          +
          +	/**
          +	 * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE
          +	 * doesn't listen on all types of events so custom event handling may be required for
          +	 * some purposes.
          +	 *
          +	 * @param {Event} e HTML editor event reference.
          +	 * @return true - pass to next handler in chain, false - stop chain execution
          +	 * @type boolean
          +	 */
          +	handleEvent : function(e) {
          +		return true;
          +	},
          +
          +	/**
          +	 * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance.
          +	 * The type parameter contains what type of event that was performed and what format the content is in.
          +	 * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom.
          +	 *
          +	 * @param {string} type Cleanup event type.
          +	 * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element.
          +	 * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup.
          +	 * @return New content or the input content depending on action.
          +	 * @type string
          +	 */
          +	cleanup : function(type, content, inst) {
          +		return content;
          +	},
          +
          +	// Private plugin internal methods
          +
          +	/**
          +	 * This is just a internal plugin method, prefix all internal methods with a _ character.
          +	 * The prefix is needed so they doesn't collide with future TinyMCE callback functions.
          +	 *
          +	 * @param {string} a Some arg1.
          +	 * @param {string} b Some arg2.
          +	 * @return Some return.
          +	 * @type string
          +	 */
          +	_someInternalFunction : function(a, b) {
          +		return 1;
          +	}
          +};
          +
          +// Adds the plugin class to the list of available TinyMCE plugins
          +tinyMCE.addPlugin("someplugin", TinyMCE_SomePluginPlugin);
          +
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/customization_themes.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/customization_themes.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/customization_themes.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/customization_themes.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,262 @@ + + + +Customization - Creating a theme + + + + +
          +

          Customization - Creating a theme

          +
          + +
          +

          Creating your own Themes

          +

          +Creating you own themes for the TinyMCE application is fairly easy if you know the basics of HTML, CSS and Javascript. The most easy way is to copy the "simple" or the "advanced" template and rename it as your own name to for example "mytheme". After you copy the template you need to change the red sections marked below to "mytheme" this is needed so that themes don't overlap in other words it gives the theme a unique name. Then just alter the HTML code as you see fit but notice some elements needs to be there so check the docs below on each function also remember that your custom themes needs to be located in tiny_mce's "themes" directory. If you want you may add theme specific options/settings but remember to namespace them in the following format "theme_<your theme>_<option>". +

          +
          +

          Theme directory structure

          +

          + + + + + + + + + + + + +
          File/Directory + Description +
          cssTheme specific CSS files
          docsTheme specific documentation
          imagesTheme specific images
          jscriptsTheme specific jscripts for HTML dialogs
          langsTheme specific language files
          editor_template.jsEditor theme template file (compressed).
          editor_template_src.jsEditor theme template file (source).
          somedialog.htmTheme specific dialog HTML file.
          +

          +
          +

          Theme example source

          +

          +The example below shows a simple empty theme and all possible callbacks. +

          +

          +

          +
          +var TinyMCE_SomeNameTheme = {
          +	/**
          +	 * Returns information about the theme as a name/value array.
          +	 * The current keys are longname, author, authorurl, infourl and version.
          +	 *
          +	 * @returns Name/value array containing information about the theme.
          +	 * @type Array 
          +	 */
          +	getInfo : function() {
          +		return {
          +			longname : 'Your Theme',
          +			author : 'Your name',
          +			authorurl : 'http://www.yoursite.com',
          +			infourl : 'http://www.yoursite.com/docs/template.html',
          +			version : "1.0"
          +		};
          +	},
          +
          +	/**
          +	 * Gets executed when a TinyMCE editor instance is initialized.
          +	 *
          +	 * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. 
          +	 */
          +	initInstance : function(inst) {
          +		// You can take out theme specific parameters
          +		alert("Initialization parameter:" + tinyMCE.getParam("somename_someparam", false));
          +
          +		// Register custom keyboard shortcut
          +		inst.addShortcut('ctrl', 't', 'lang_somename_desc', 'mceSomeCommand');
          +	},
          +
          +	/**
          +	 * Returns the HTML code for a specific control or empty string if this theme doesn't have that control.
          +	 * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface.
          +	 * The variable {$editor_id} will be replaced with the current editor instance id and {$themeurl} will be replaced
          +	 * with the URL of the theme. Language variables such as {$lang_somekey} will also be replaced with contents from
          +	 * the language packs.
          +	 *
          +	 * @param {string} cn Editor control/button name to get HTML for.
          +	 * @return HTML code for a specific control or empty string.
          +	 * @type string
          +	 */
          +	getControlHTML : function(cn) {
          +		switch (cn) {
          +			case "SomeControl":
          +				return tinyMCE.getButtonHTML(cn, 'lang_sometheme_button_desc', '{$themeurl}/images/someimage.gif', 'mceSomeCommand');
          +		}
          +
          +		return "";
          +	},
          +
          +	/**
          +	 * Returns the HTML code that should be inserted for a specific editor instance.
          +	 * This function should return a name/value array with three items html, delta_width, delta_height.
          +	 * The html item should contain the HTML code to insert as a editor instance.
          +	 * The variable {$editor_id} will be replaced with the current editor instance id and {$themeurl} will be replaced
          +	 * with the URL of the theme. Language variables such as {$lang_somekey} will also be replaced with contents from
          +	 * the language packs. Any element with the id {$editor_id} will be replaced with the editor iframe element.
          +	 * The {$width} and {$height} variables will be replaced with the editors outside dimension values.
          +	 * The delta_width/height is the relative width/height in pixels to add or remove from the iframe dimensions.
          +	 *
          +	 * @param {Array} settings Name/Value array instance settings.
          +	 * @param {string} editor_id TinMYCE editor control instance id.
          +	 * @return Name/Value array of editor template data.
          +	 * @type Array
          +	 */
          +	getEditorTemplate : function(settings, editor_id) {
          +		var html = "";
          +
          +		// Build toolbar and editor instance
          +		html += "..";
          +
          +		return {
          +			html : html,
          +			delta_width : 0,
          +			delta_height : 0
          +		};
          +	},
          +
          +	/**
          +	 * Executes a specific command, this function handles theme commands.
          +	 *
          +	 * @param {string} editor_id TinyMCE editor instance id that issued the command.
          +	 * @param {HTMLElement} element Body or root element for the editor instance.
          +	 * @param {string} command Command name to be executed.
          +	 * @param {string} user_interface True/false if a user interface should be presented.
          +	 * @param {mixed} value Custom value argument, can be anything.
          +	 * @return true/false if the command was executed by this theme or not.
          +	 * @type
          +	 */
          +	execCommand : function(editor_id, element, command, user_interface, value) {
          +		// Handle commands
          +		switch (command) {
          +			// Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser.
          +			case "mceSomeCommand":
          +				// Do your custom command logic here.
          +
          +				return true;
          +		}
          +
          +		// Pass to next handler in chain
          +		return false;
          +	},
          +
          +	/**
          +	 * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable
          +	 * button controls depending on where the user are and what they have selected. This method gets executed
          +	 * alot and should be as performance tuned as possible.
          +	 *
          +	 * @param {string} editor_id TinyMCE editor instance id that was changed.
          +	 * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree.
          +	 * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled.
          +	 * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled.
          +	 * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables.
          +	 * @param {boolean} any_selection Is there any selection at all or is there only a cursor.
          +	 */
          +	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
          +	},
          +
          +	/**
          +	 * Gets called when a TinyMCE editor instance gets filled with content on startup.
          +	 *
          +	 * @param {string} editor_id TinyMCE editor instance id that was filled with content.
          +	 * @param {HTMLElement} body HTML body element of editor instance.
          +	 * @param {HTMLDocument} doc HTML document instance.
          +	 */
          +	setupContent : function(editor_id, body, doc) {
          +	},
          +
          +	/**
          +	 * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is
          +	 * added.
          +	 *
          +	 * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified.
          +	 */
          +	onChange : function(inst) {
          +	},
          +
          +	/**
          +	 * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE
          +	 * doesn't listen on all types of events so custom event handling may be required for
          +	 * some purposes.
          +	 *
          +	 * @param {Event} e HTML editor event reference.
          +	 * @return true - pass to next handler in chain, false - stop chain execution
          +	 * @type boolean
          +	 */
          +	handleEvent : function(e) {
          +		return true;
          +	},
          +
          +	/**
          +	 * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance.
          +	 * The type parameter contains what type of event that was performed and what format the content is in.
          +	 * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom.
          +	 *
          +	 * @param {string} type Cleanup event type.
          +	 * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element.
          +	 * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup.
          +	 * @return New content or the input content depending on action.
          +	 * @type string
          +	 */
          +	cleanup : function(type, content, inst) {
          +		return content;
          +	},
          +
          +	// Private theme internal methods
          +
          +	/**
          +	 * This is just a internal theme method, prefix all internal methods with a _ character.
          +	 * The prefix is needed so they doesn't collide with future TinyMCE callback functions.
          +	 *
          +	 * @param {string} a Some arg1.
          +	 * @param {string} b Some arg2.
          +	 * @return Some return.
          +	 * @type string
          +	 */
          +	_someInternalFunction : function(a, b) {
          +		return 1;
          +	}
          +};
          +
          +// Adds the theme class to the list of available TinyMCE themes
          +tinyMCE.addTheme("sometheme", TinyMCE_SomeThemeTheme);
          +
          +
          +

          +
          + +

          Creating popup HTML files

          +

          +When creating a popup you need to include the "tiny_mce_popup.js" this enables you to retrive the tinyMCE global instance in all popup windows. All variables and language definitions gets replaced in the page when it loads. So language variables such as {$lang_something} can be places in the HTML code, if you need to get a language string in JavaScript simply use the tinyMCE.getLang function. +

          +

          Example of simple popup file:

          +
          +
          +<html>
          +<head>
          +<title>{$lang_theme_sample_title}</title>
          +<script language="javascript" src="../../tiny_mce_popup.js"></script>
          +<script language="javascript">
          +     // getWindowArg returns any arguments passed to the window
          +     alert(tinyMCE.getWindowArg('some_arg'));
          +</script>
          +<body>
          +     <strong>{$lang_theme_sample_desc}</strong>
          +</body>
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/faq.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/faq.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/faq.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/faq.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,220 @@ + + + +Frequently Asked Questions + + + + +
          +

          Frequently Asked Questions

          +
          + +
          +

          Here are some common answers to common questions. If you need more help you can always visit the TinyMCE Forum on the TinyMCE web site.

          +

          +

          +

          + +
          + + +

          TinyMCE is broken, what should I do?

          +
          +

          There are a few things you should check before posting questions about your problem at the forum or sourceforge.

          +

          +

            +
          • Does TinyMCE work on the TinyMCE website. Then you know that TinyMCE works with your browser.
          • +
          • Try to disable any other JavaScripts on the page, some scripts interfere with internal functions that TinyMCE uses. Those scripts are probably poorly written.
          • +
          • Check that you havn't missed removing the last , character in your initialization code and that all the other rows have a trailing , character.
          • +
          • Verify that the path/URL to TinyMCE is correct, you can use the excellent tool Fiddler for this and other HTTP debugging.
          • +
          • Do not cross domain load TinyMCE or any other script unless you really really must, since this will invoke various browser security features. In other words, try placing everything on the same server.
          • +
          • Don't place textareas within paragraph elements since this is not valid HTML and it will break MSIE and TinyMCE.
          • +
          +

          +
          + +
          + + +

          Why is my paths incorrect, I want absolute/relative URLs?

          +
          +

          + These are the diffrent configuration scenarios for URLs within TinyMCE: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          OutputConfigDescription
          http://www.site.com/path1/path2/file.htm will be converted to path2/file.htm +relative_urls : true,
          +document_base_url : "http://www.site.com/path1/"
          +
          This will convert all URLs within the same domain to relative URLs.
          The URLs will be relative from the document_base_url.
          path2/file.htm will be converted to /path1/path2/file.htm +relative_urls : false,
          +remove_script_host : true,
          +document_base_url : "http://www.site.com/path1/"
          +
          This will convert all relative URLs to absolute URLs.
          The URLs will be absolute based on the document_base_url.
          path2/file.htm will be converted to http://www.site.com/path1/path2/file.htm +relative_urls : false,
          +remove_script_host : false,
          +document_base_url : "http://www.site.com/path1/"
          +
          This will convert all relative URLs to absolute URLs.
          The URLs will be absolute based on the document_base_url.
          path2/file.htm or http://www.site.com/path1/path2/file.htm will not be converted at all. +convert_urls : false
          +
          This option will preserve the URLs as they are in a separate attribute while editing, since browsers tend to auto convert URLs.
          +

          +
          + +
          + + +

          Why does TinyMCE strip aways attributes or tags from my source?

          +
          +

          You need to check out the "valid_elements" and "extended_valid_elements" option in the configuration. By default, TinyMCE only allows certain tags and attributes. TinyMCE also tries to follow the XHTML specification as much as possible (and so should you), this can cause some unexpected source changes, there are however configuration options to battle this issue, study the configuration options in details.

          +
          + +
          + + +

          How do I change the default font size/face color of the editor?

          +
          +

          + We recommend that you have a look at the content_css option, this enables you to switch the CSS file TinyMCE uses for it's editing area with a file with your CSS rules for font size and so forth. +

          +
          + +
          + + +

          How do I remove/add buttons/controls to TinyMCE?

          +
          +

          + There are quite a few options for this but a reference of all available buttons/control names can be found in the button/control reference. +

          +
          + +
          + + +

          Why does my HTML output include lots of \" like <a href=\"mylink.htm\">link</a>?

          +
          +

          This is probably because you are using PHP and it has a feature that's called magic quotes that is enabled by default. You can read more about this at the PHP website or use the stripslashes function.

          +
          + +
          + + +

          TinyMCE takes ages to load, is there a way to make it load quicker?

          +
          +

          + If you use PHP on your server you can use tiny_mce_gzip.php instead of tiny_mce.js in page script call. This PHP file bundles all .js files together into two HTTP requests instead of one for each plugin, language file and theme and it also GZip compresses these files. +

          +
          + +
          + + +

          TinyMCE stops working when placed in tabs or hidden divs?

          +
          +

          Since Gecko based browsers Mozilla/Firefox has a bug where it looses designMode on iframes that are hidden a special option is needed that re-enables the design mode when reappearing after being hidden. Enable this option to resolve the issue: "auto_reset_designmode".

          +
          + +
          + + +

          Can I use TinyMCE in my commercial application?

          +
          +

          Yes you can, the LGPL license is a Free Software License. You can read the whole license here or visit Free Software Foundation web site here

          +
          + +
          + + +

          Are there any restrictions to using TinyMCE in my commercial application?

          +
          +

          + Yes, all copyright notices must be intact. Moxiecode Systems are still the copyright holders of the source code, so you can not use the code for other applications. Any modifications or add-ons you make to the source has to be contributes back to the TinyMCE community. +

          +

          + If you start to make a lot of revenue from using TinyMCE, please remember the time and dedication that has been put into this by other developers, respect this and give credit to those who deserve it. +

          +
          + +
          + + +

          I don't like LGPL, is there a commercial license available for me?

          +
          +

          + Yes, we can draw up a license for you that enables you to remove copyright restrictions or anything else you would like to have in this license agreement. Contact us through email, sales (at) moxiecode (dot) com. +

          +
          + +
          + + +

          Do you provide support?

          +
          +

          + We do not provide any non-commercial support outside the forum on the TinyMCE web site. If you require commercial support, contact us by email, sales (at) moxiecode (dot) com. +

          +
          + +
          + + +

          Who made this software?

          +
          +

          + The author of TinyMCE is Moxiecode Systems, parts of code has also been contributed by others, here are the credits list. +

          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/images/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/images/moxiecode.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/images/moxiecode.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ + + + +TinyMCE Documentation - Index + + + + +
          +

          TinyMCE Documentation

          +
          + + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installation_example_00.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installation_example_00.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installation_example_00.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installation_example_00.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ + + + +Installation Example 00 + + + + + + +
          +

          Installation example 00

          +
          + +
          +

          Example

          +
          + +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installation_example_01.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installation_example_01.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installation_example_01.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installation_example_01.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,36 @@ + + + +Installation Example 01 + + + + + + +
          +

          Installation example 01

          +
          + +
          +

          Example

          +

          Open this page with "View source" or similar to see how the configuration is made.

          +
          + +
          +
          + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installation_example_02.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installation_example_02.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installation_example_02.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installation_example_02.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,52 @@ + + + +Installation Example 02 + + + + + + +
          +

          Installation example 02

          +
          + +
          +

          Example

          +

          Open this page with "View source" or similar to see how the configuration is made.

          +
          + +
          +
          + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installation_example_03.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installation_example_03.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installation_example_03.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installation_example_03.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,43 @@ + + + +Installation Example 02 + + + + + + +
          +

          Installation example 02

          +
          + +
          +

          Example

          +

          Open this page with "View source" or similar to see how the configuration is made.

          +
          + +
          +
          + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installing.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installing.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/installing.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/installing.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,121 @@ + + + +Installation instructions + + + + +
          +

          Installation instructions

          +
          + +
          +

          Installing TinyMCE is very simple, follow the instructions here. We give a few examples of to integrate TinyMCE, also look at the extensive options for configuration.

          + +
          + +

          Requirements

          +
          +

          TinyMCE has no direct requirements except for browser compatibility and of course JavaScript needs to be turned on. There is NO backend code distributed with TinyMCE. +

          +
          + +
          + +

          Downloading

          +
          +

          For download instructions check our web site.

          +
          + +
          + +

          Extracting the archives

          +
          +

          On windows you could use WinZip or something similar. And on other operating systems such as Linux you simply extract the archive with the tar command. You can find a example on how to extract the archived file on Linux below.

          +

          + You should extract TinyMCE in your wwwroot or site domain root folder +

          +

          Extract example using a shell:

          +
          +
          +$ cd wwwroot
          +$ gzip -d tinymce_1_44.tar.gz
          +$ tar xvf tinymce_1_44.tar
          +
          +
          +

          +

          A folder structure looking like this is created:

          +
          +
          +/tinymce/
          +/tinymce/docs/
          +/tinymce/docs/zh_cn/
          +/tinymce/examples/
          +/tinymce/examples/zh_cn/
          +/tinymce/jscripts/
          +/tinymce/jscripts/tiny_mce/
          +/tinymce/jscripts/tiny_mce/langs/
          +/tinymce/jscripts/tiny_mce/plugins/
          +/tinymce/jscripts/tiny_mce/plugins/<plugin folders>
          +/tinymce/jscripts/tiny_mce/themes/
          +/tinymce/jscripts/tiny_mce/themes/advanced/
          +/tinymce/jscripts/tiny_mce/themes/default/
          +/tinymce/jscripts/tiny_mce/themes/simple/
          +
          +
          +

          +
          + +
          + +

          Making changes on your web site

          +
          +

          Once you have extracted the archive you will need to edit the pages to include the configuration and javascript for TinyMCE. Please note that you should probably only include the TinyMCE javascript on the pages that need it, not all the pages of the web site. Remember to change the URL to the .js below to match your installation path.

          +

          +

          The most basic page integration (converts all textarea elements into editors):

          +
          +
          +<html>
          +<head>
          +<title>TinyMCE Test</title>
          +<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
          +<script language="javascript" type="text/javascript">
          +tinyMCE.init({
          +	mode : "textareas"
          +});
          +</script>
          +</head>
          +<body>
          +<form method="post">
          +	<textarea name="content" cols="50" rows="15">This is some content that will be editable with TinyMCE.</textarea>
          +</form>
          +</body>
          +</html>
          +
          +
          +

          +

          + Here are a few different example of how you could integrate TinyMCE. +

          +

          +

          +

          +

          + If you have any problems, you should check the forum on the TinyMCE web site.

          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/license.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/license.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/license.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/license.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,465 @@ + + + +TinyMCE License (LGPL) + + + + +
          +

          TinyMCE License (LGPL)

          +
          + +
          +

          +Visit the FAQ for general answers surrounding TinyMCE. Or visit http://www.fsf.org for more information about Open-Source licenses. +

          +
          +		  GNU LIBRARY GENERAL PUBLIC LICENSE
          +		       Version 2, June 1991
          +
          + Copyright (C) 1991 Free Software Foundation, Inc.
          + 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
          + Everyone is permitted to copy and distribute verbatim copies
          + of this license document, but changing it is not allowed.
          +
          +[This is the first released version of the library GPL.  It is
          + numbered 2 because it goes with version 2 of the ordinary GPL.]
          +
          +			    Preamble
          +
          +  The licenses for most software are designed to take away your
          +freedom to share and change it.  By contrast, the GNU General Public
          +Licenses are intended to guarantee your freedom to share and change
          +free software--to make sure the software is free for all its users.
          +
          +  This license, the Library General Public License, applies to some
          +specially designated Free Software Foundation software, and to any
          +other libraries whose authors decide to use it.  You can use it for
          +your libraries, too.
          +
          +  When we speak of free software, we are referring to freedom, not
          +price.  Our General Public Licenses are designed to make sure that you
          +have the freedom to distribute copies of free software (and charge for
          +this service if you wish), that you receive source code or can get it
          +if you want it, that you can change the software or use pieces of it
          +in new free programs; and that you know you can do these things.
          +
          +  To protect your rights, we need to make restrictions that forbid
          +anyone to deny you these rights or to ask you to surrender the rights.
          +These restrictions translate to certain responsibilities for you if
          +you distribute copies of the library, or if you modify it.
          +
          +  For example, if you distribute copies of the library, whether gratis
          +or for a fee, you must give the recipients all the rights that we gave
          +you.  You must make sure that they, too, receive or can get the source
          +code.  If you link a program with the library, you must provide
          +complete object files to the recipients so that they can relink them
          +with the library, after making changes to the library and recompiling
          +it.  And you must show them these terms so they know their rights.
          +
          +  Our method of protecting your rights has two steps: (1) copyright
          +the library, and (2) offer you this license which gives you legal
          +permission to copy, distribute and/or modify the library.
          +
          +  Also, for each distributor's protection, we want to make certain
          +that everyone understands that there is no warranty for this free
          +library.  If the library is modified by someone else and passed on, we
          +want its recipients to know that what they have is not the original
          +version, so that any problems introduced by others will not reflect on
          +the original authors' reputations.
          +.
          +  Finally, any free program is threatened constantly by software
          +patents.  We wish to avoid the danger that companies distributing free
          +software will individually obtain patent licenses, thus in effect
          +transforming the program into proprietary software.  To prevent this,
          +we have made it clear that any patent must be licensed for everyone's
          +free use or not licensed at all.
          +
          +  Most GNU software, including some libraries, is covered by the ordinary
          +GNU General Public License, which was designed for utility programs.  This
          +license, the GNU Library General Public License, applies to certain
          +designated libraries.  This license is quite different from the ordinary
          +one; be sure to read it in full, and don't assume that anything in it is
          +the same as in the ordinary license.
          +
          +  The reason we have a separate public license for some libraries is that
          +they blur the distinction we usually make between modifying or adding to a
          +program and simply using it.  Linking a program with a library, without
          +changing the library, is in some sense simply using the library, and is
          +analogous to running a utility program or application program.  However, in
          +a textual and legal sense, the linked executable is a combined work, a
          +derivative of the original library, and the ordinary General Public License
          +treats it as such.
          +
          +  Because of this blurred distinction, using the ordinary General
          +Public License for libraries did not effectively promote software
          +sharing, because most developers did not use the libraries.  We
          +concluded that weaker conditions might promote sharing better.
          +
          +  However, unrestricted linking of non-free programs would deprive the
          +users of those programs of all benefit from the free status of the
          +libraries themselves.  This Library General Public License is intended to
          +permit developers of non-free programs to use free libraries, while
          +preserving your freedom as a user of such programs to change the free
          +libraries that are incorporated in them.  (We have not seen how to achieve
          +this as regards changes in header files, but we have achieved it as regards
          +changes in the actual functions of the Library.)  The hope is that this
          +will lead to faster development of free libraries.
          +
          +  The precise terms and conditions for copying, distribution and
          +modification follow.  Pay close attention to the difference between a
          +"work based on the library" and a "work that uses the library".  The
          +former contains code derived from the library, while the latter only
          +works together with the library.
          +
          +  Note that it is possible for a library to be covered by the ordinary
          +General Public License rather than by this special one.
          +.
          +		  GNU LIBRARY GENERAL PUBLIC LICENSE
          +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
          +
          +  0. This License Agreement applies to any software library which
          +contains a notice placed by the copyright holder or other authorized
          +party saying it may be distributed under the terms of this Library
          +General Public License (also called "this License").  Each licensee is
          +addressed as "you".
          +
          +  A "library" means a collection of software functions and/or data
          +prepared so as to be conveniently linked with application programs
          +(which use some of those functions and data) to form executables.
          +
          +  The "Library", below, refers to any such software library or work
          +which has been distributed under these terms.  A "work based on the
          +Library" means either the Library or any derivative work under
          +copyright law: that is to say, a work containing the Library or a
          +portion of it, either verbatim or with modifications and/or translated
          +straightforwardly into another language.  (Hereinafter, translation is
          +included without limitation in the term "modification".)
          +
          +  "Source code" for a work means the preferred form of the work for
          +making modifications to it.  For a library, complete source code means
          +all the source code for all modules it contains, plus any associated
          +interface definition files, plus the scripts used to control compilation
          +and installation of the library.
          +
          +  Activities other than copying, distribution and modification are not
          +covered by this License; they are outside its scope.  The act of
          +running a program using the Library is not restricted, and output from
          +such a program is covered only if its contents constitute a work based
          +on the Library (independent of the use of the Library in a tool for
          +writing it).  Whether that is true depends on what the Library does
          +and what the program that uses the Library does.
          +  
          +  1. You may copy and distribute verbatim copies of the Library's
          +complete source code as you receive it, in any medium, provided that
          +you conspicuously and appropriately publish on each copy an
          +appropriate copyright notice and disclaimer of warranty; keep intact
          +all the notices that refer to this License and to the absence of any
          +warranty; and distribute a copy of this License along with the
          +Library.
          +
          +  You may charge a fee for the physical act of transferring a copy,
          +and you may at your option offer warranty protection in exchange for a
          +fee.
          +.
          +  2. You may modify your copy or copies of the Library or any portion
          +of it, thus forming a work based on the Library, and copy and
          +distribute such modifications or work under the terms of Section 1
          +above, provided that you also meet all of these conditions:
          +
          +    a) The modified work must itself be a software library.
          +
          +    b) You must cause the files modified to carry prominent notices
          +    stating that you changed the files and the date of any change.
          +
          +    c) You must cause the whole of the work to be licensed at no
          +    charge to all third parties under the terms of this License.
          +
          +    d) If a facility in the modified Library refers to a function or a
          +    table of data to be supplied by an application program that uses
          +    the facility, other than as an argument passed when the facility
          +    is invoked, then you must make a good faith effort to ensure that,
          +    in the event an application does not supply such function or
          +    table, the facility still operates, and performs whatever part of
          +    its purpose remains meaningful.
          +
          +    (For example, a function in a library to compute square roots has
          +    a purpose that is entirely well-defined independent of the
          +    application.  Therefore, Subsection 2d requires that any
          +    application-supplied function or table used by this function must
          +    be optional: if the application does not supply it, the square
          +    root function must still compute square roots.)
          +
          +These requirements apply to the modified work as a whole.  If
          +identifiable sections of that work are not derived from the Library,
          +and can be reasonably considered independent and separate works in
          +themselves, then this License, and its terms, do not apply to those
          +sections when you distribute them as separate works.  But when you
          +distribute the same sections as part of a whole which is a work based
          +on the Library, the distribution of the whole must be on the terms of
          +this License, whose permissions for other licensees extend to the
          +entire whole, and thus to each and every part regardless of who wrote
          +it.
          +
          +Thus, it is not the intent of this section to claim rights or contest
          +your rights to work written entirely by you; rather, the intent is to
          +exercise the right to control the distribution of derivative or
          +collective works based on the Library.
          +
          +In addition, mere aggregation of another work not based on the Library
          +with the Library (or with a work based on the Library) on a volume of
          +a storage or distribution medium does not bring the other work under
          +the scope of this License.
          +
          +  3. You may opt to apply the terms of the ordinary GNU General Public
          +License instead of this License to a given copy of the Library.  To do
          +this, you must alter all the notices that refer to this License, so
          +that they refer to the ordinary GNU General Public License, version 2,
          +instead of to this License.  (If a newer version than version 2 of the
          +ordinary GNU General Public License has appeared, then you can specify
          +that version instead if you wish.)  Do not make any other change in
          +these notices.
          +.
          +  Once this change is made in a given copy, it is irreversible for
          +that copy, so the ordinary GNU General Public License applies to all
          +subsequent copies and derivative works made from that copy.
          +
          +  This option is useful when you wish to copy part of the code of
          +the Library into a program that is not a library.
          +
          +  4. You may copy and distribute the Library (or a portion or
          +derivative of it, under Section 2) in object code or executable form
          +under the terms of Sections 1 and 2 above provided that you accompany
          +it with the complete corresponding machine-readable source code, which
          +must be distributed under the terms of Sections 1 and 2 above on a
          +medium customarily used for software interchange.
          +
          +  If distribution of object code is made by offering access to copy
          +from a designated place, then offering equivalent access to copy the
          +source code from the same place satisfies the requirement to
          +distribute the source code, even though third parties are not
          +compelled to copy the source along with the object code.
          +
          +  5. A program that contains no derivative of any portion of the
          +Library, but is designed to work with the Library by being compiled or
          +linked with it, is called a "work that uses the Library".  Such a
          +work, in isolation, is not a derivative work of the Library, and
          +therefore falls outside the scope of this License.
          +
          +  However, linking a "work that uses the Library" with the Library
          +creates an executable that is a derivative of the Library (because it
          +contains portions of the Library), rather than a "work that uses the
          +library".  The executable is therefore covered by this License.
          +Section 6 states terms for distribution of such executables.
          +
          +  When a "work that uses the Library" uses material from a header file
          +that is part of the Library, the object code for the work may be a
          +derivative work of the Library even though the source code is not.
          +Whether this is true is especially significant if the work can be
          +linked without the Library, or if the work is itself a library.  The
          +threshold for this to be true is not precisely defined by law.
          +
          +  If such an object file uses only numerical parameters, data
          +structure layouts and accessors, and small macros and small inline
          +functions (ten lines or less in length), then the use of the object
          +file is unrestricted, regardless of whether it is legally a derivative
          +work.  (Executables containing this object code plus portions of the
          +Library will still fall under Section 6.)
          +
          +  Otherwise, if the work is a derivative of the Library, you may
          +distribute the object code for the work under the terms of Section 6.
          +Any executables containing that work also fall under Section 6,
          +whether or not they are linked directly with the Library itself.
          +.
          +  6. As an exception to the Sections above, you may also compile or
          +link a "work that uses the Library" with the Library to produce a
          +work containing portions of the Library, and distribute that work
          +under terms of your choice, provided that the terms permit
          +modification of the work for the customer's own use and reverse
          +engineering for debugging such modifications.
          +
          +  You must give prominent notice with each copy of the work that the
          +Library is used in it and that the Library and its use are covered by
          +this License.  You must supply a copy of this License.  If the work
          +during execution displays copyright notices, you must include the
          +copyright notice for the Library among them, as well as a reference
          +directing the user to the copy of this License.  Also, you must do one
          +of these things:
          +
          +    a) Accompany the work with the complete corresponding
          +    machine-readable source code for the Library including whatever
          +    changes were used in the work (which must be distributed under
          +    Sections 1 and 2 above); and, if the work is an executable linked
          +    with the Library, with the complete machine-readable "work that
          +    uses the Library", as object code and/or source code, so that the
          +    user can modify the Library and then relink to produce a modified
          +    executable containing the modified Library.  (It is understood
          +    that the user who changes the contents of definitions files in the
          +    Library will not necessarily be able to recompile the application
          +    to use the modified definitions.)
          +
          +    b) Accompany the work with a written offer, valid for at
          +    least three years, to give the same user the materials
          +    specified in Subsection 6a, above, for a charge no more
          +    than the cost of performing this distribution.
          +
          +    c) If distribution of the work is made by offering access to copy
          +    from a designated place, offer equivalent access to copy the above
          +    specified materials from the same place.
          +
          +    d) Verify that the user has already received a copy of these
          +    materials or that you have already sent this user a copy.
          +
          +  For an executable, the required form of the "work that uses the
          +Library" must include any data and utility programs needed for
          +reproducing the executable from it.  However, as a special exception,
          +the source code distributed need not include anything that is normally
          +distributed (in either source or binary form) with the major
          +components (compiler, kernel, and so on) of the operating system on
          +which the executable runs, unless that component itself accompanies
          +the executable.
          +
          +  It may happen that this requirement contradicts the license
          +restrictions of other proprietary libraries that do not normally
          +accompany the operating system.  Such a contradiction means you cannot
          +use both them and the Library together in an executable that you
          +distribute.
          +.
          +  7. You may place library facilities that are a work based on the
          +Library side-by-side in a single library together with other library
          +facilities not covered by this License, and distribute such a combined
          +library, provided that the separate distribution of the work based on
          +the Library and of the other library facilities is otherwise
          +permitted, and provided that you do these two things:
          +
          +    a) Accompany the combined library with a copy of the same work
          +    based on the Library, uncombined with any other library
          +    facilities.  This must be distributed under the terms of the
          +    Sections above.
          +
          +    b) Give prominent notice with the combined library of the fact
          +    that part of it is a work based on the Library, and explaining
          +    where to find the accompanying uncombined form of the same work.
          +
          +  8. You may not copy, modify, sublicense, link with, or distribute
          +the Library except as expressly provided under this License.  Any
          +attempt otherwise to copy, modify, sublicense, link with, or
          +distribute the Library is void, and will automatically terminate your
          +rights under this License.  However, parties who have received copies,
          +or rights, from you under this License will not have their licenses
          +terminated so long as such parties remain in full compliance.
          +
          +  9. You are not required to accept this License, since you have not
          +signed it.  However, nothing else grants you permission to modify or
          +distribute the Library or its derivative works.  These actions are
          +prohibited by law if you do not accept this License.  Therefore, by
          +modifying or distributing the Library (or any work based on the
          +Library), you indicate your acceptance of this License to do so, and
          +all its terms and conditions for copying, distributing or modifying
          +the Library or works based on it.
          +
          +  10. Each time you redistribute the Library (or any work based on the
          +Library), the recipient automatically receives a license from the
          +original licensor to copy, distribute, link with or modify the Library
          +subject to these terms and conditions.  You may not impose any further
          +restrictions on the recipients' exercise of the rights granted herein.
          +You are not responsible for enforcing compliance by third parties to
          +this License.
          +.
          +  11. If, as a consequence of a court judgment or allegation of patent
          +infringement or for any other reason (not limited to patent issues),
          +conditions are imposed on you (whether by court order, agreement or
          +otherwise) that contradict the conditions of this License, they do not
          +excuse you from the conditions of this License.  If you cannot
          +distribute so as to satisfy simultaneously your obligations under this
          +License and any other pertinent obligations, then as a consequence you
          +may not distribute the Library at all.  For example, if a patent
          +license would not permit royalty-free redistribution of the Library by
          +all those who receive copies directly or indirectly through you, then
          +the only way you could satisfy both it and this License would be to
          +refrain entirely from distribution of the Library.
          +
          +If any portion of this section is held invalid or unenforceable under any
          +particular circumstance, the balance of the section is intended to apply,
          +and the section as a whole is intended to apply in other circumstances.
          +
          +It is not the purpose of this section to induce you to infringe any
          +patents or other property right claims or to contest validity of any
          +such claims; this section has the sole purpose of protecting the
          +integrity of the free software distribution system which is
          +implemented by public license practices.  Many people have made
          +generous contributions to the wide range of software distributed
          +through that system in reliance on consistent application of that
          +system; it is up to the author/donor to decide if he or she is willing
          +to distribute software through any other system and a licensee cannot
          +impose that choice.
          +
          +This section is intended to make thoroughly clear what is believed to
          +be a consequence of the rest of this License.
          +
          +  12. If the distribution and/or use of the Library is restricted in
          +certain countries either by patents or by copyrighted interfaces, the
          +original copyright holder who places the Library under this License may add
          +an explicit geographical distribution limitation excluding those countries,
          +so that distribution is permitted only in or among countries not thus
          +excluded.  In such case, this License incorporates the limitation as if
          +written in the body of this License.
          +
          +  13. The Free Software Foundation may publish revised and/or new
          +versions of the Library General Public License from time to time.
          +Such new versions will be similar in spirit to the present version,
          +but may differ in detail to address new problems or concerns.
          +
          +Each version is given a distinguishing version number.  If the Library
          +specifies a version number of this License which applies to it and
          +"any later version", you have the option of following the terms and
          +conditions either of that version or of any later version published by
          +the Free Software Foundation.  If the Library does not specify a
          +license version number, you may choose any version ever published by
          +the Free Software Foundation.
          +.
          +  14. If you wish to incorporate parts of the Library into other free
          +programs whose distribution conditions are incompatible with these,
          +write to the author to ask for permission.  For software which is
          +copyrighted by the Free Software Foundation, write to the Free
          +Software Foundation; we sometimes make exceptions for this.  Our
          +decision will be guided by the two goals of preserving the free status
          +of all derivatives of our free software and of promoting the sharing
          +and reuse of software generally.
          +
          +			    NO WARRANTY
          +
          +  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
          +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
          +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
          +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
          +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
          +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
          +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
          +LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
          +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
          +
          +  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
          +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
          +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
          +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
          +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
          +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
          +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
          +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
          +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
          +DAMAGES.
          +
          +		     END OF TERMS AND CONDITIONS
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_accessibility_focus.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_accessibility_focus.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_accessibility_focus.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_accessibility_focus.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: accessibility_focus + + + + +
          +

          Option: accessibility_focus

          +
          + +
          +

          + If this option is set to true some accessibility focus will available to all buttons, you will be able to tab through them all. If you set this option to false, focus will be placed inside the text area when you tab through the interface. +

          + +
          + +

          Example of usage of the accessibility_focus option:

          +
          +
          +tinyMCE.init({
          +	...
          +	accessibility_focus : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_accessibility_warnings.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_accessibility_warnings.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_accessibility_warnings.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_accessibility_warnings.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: accessibility_warnings + + + + +
          +

          Option: accessibility_warnings

          +
          + +
          +

          + If this option is set to true some accessibility warnings will be presented to the user if they miss specifying that information. This option is set to true default, since we should all try to make this world a better place for disabled people. But if you are annoyed with the warnings, set this option to false. +

          + +
          + +

          Example of usage of the accessibility_warnings option:

          +
          +
          +tinyMCE.init({
          +	...
          +	accessibility_warnings : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_add_form_submit_trigger.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_add_form_submit_trigger.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_add_form_submit_trigger.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_add_form_submit_trigger.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: add_form_submit_trigger + + + + +
          +

          Option: add_form_submit_trigger

          +
          + +
          +

          + This option enables you to turn on/off the onsubmit event listener. This feature adds a onsubmit event listener on all forms on the page, if a form is submitted a tinyMCE.triggerSave() JavaScript calls gets executed, this function moves HTML content from the editor iframe and to the hidden form element. This option is set to true by default. +

          + +
          + +

          Example of usage of the add_form_submit_trigger option:

          +
          +
          +tinyMCE.init({
          +	...
          +	add_form_submit_trigger : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_add_unload_trigger.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_add_unload_trigger.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_add_unload_trigger.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_add_unload_trigger.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: add_unload_trigger + + + + +
          +

          Option: add_unload_trigger

          +
          + +
          +

          + If you set this option to true, page contents will be stored away is the page is unloaded for example is the user navigates away from the page and then navigated back to it by pressing the back button. This option is set to true by default. +

          + +
          + +

          Example of usage of the add_unload_trigger option:

          +
          +
          +tinyMCE.init({
          +	...
          +	add_unload_trigger : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_apply_source_formatting.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_apply_source_formatting.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_apply_source_formatting.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_apply_source_formatting.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: apply_source_formatting + + + + +
          +

          Option: apply_source_formatting

          +
          + +
          +

          + This option enables you to tell TinyMCE to apply some source formatting to the output HTML code. This function is disabled by default. +

          + +
          + +

          Example of usage of the apply_source_formatting option:

          +
          +
          +tinyMCE.init({
          +	...
          +	apply_source_formatting : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_ask.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_ask.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_ask.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_ask.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: ask + + + + +
          +

          Option: ask

          +
          + +
          +

          + This option enables you to add a confirmation dialog when focusing textareas. This dialog asks if the focused textarea should be converted into a editor instance or not. It will only ask once since it would get annoying otherwice. The default value of this option is "false". +

          + +
          + +

          Example of usage of the ask option:

          +
          +
          +tinyMCE.init({
          +	...
          +	ask : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_auto_focus.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_auto_focus.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_auto_focus.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_auto_focus.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: auto_focus + + + + +
          +

          Option: auto_focus

          +
          + +
          +

          + This option enables you to auto focus a editor instance. The value of this option should be a editor instance id. Editor instance ids are specified as "mce_editor_<index>" where index is a value starting from 0. So if there are 3 editor instances on a page these would have the following ids mce_editor_0, mce_editor_1 and mce_editor_2. +

          + +
          + +

          Example of usage of the auto_focus option:

          +
          +
          +tinyMCE.init({
          +	...
          +	auto_focus : "mce_editor_2"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_auto_reset_designmode.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_auto_reset_designmode.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_auto_reset_designmode.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_auto_reset_designmode.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: auto_reset_designmode + + + + +
          +

          Option: auto_reset_designmode

          +
          + +
          +

          + This option is very useful if TinyMCE is used in a DHTML tab system or other divs that are hidden and displayed by some JavaScript. Since Mozilla has a bug when using display:none, the designMode state gets lost. To prevent this from happening you should enable this option. The default value of this option is "true". +

          + +
          + +

          Example of usage of the auto_reset_designmode option:

          +
          +
          +tinyMCE.init({
          +	...
          +	auto_reset_designmode : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_auto_resize.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_auto_resize.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_auto_resize.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_auto_resize.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: auto_resize + + + + +
          +

          Option: auto_resize

          +
          + +
          +

          + This option enables you to get the TinyMCE editor area to resize to the bounderies of the contents. This option is very experimental and is set to false by default. +

          + +
          + +

          Example of usage of the auto_resize option:

          +
          +
          +tinyMCE.init({
          +	...
          +	auto_resize : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_browsers.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_browsers.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_browsers.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_browsers.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: browsers + + + + +
          +

          Option: browsers

          +
          + +
          +

          + This option should contain a comma separated list of supported browsers. This enables you to for example disable the editor while running on Safari. The default value of this option is: msie,gecko,safari,opera and since the support for Safari is very limited a warning message will appear until a better version is released. The possible values of this option is msie, gecko and safari. +

          + +
          + +

          Example of usage of the browsers option:

          +
          +
          +tinyMCE.init({
          +	...
          +	browsers : "msie,gecko,opera"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_button_tile_map.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_button_tile_map.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_button_tile_map.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_button_tile_map.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: button_tile_map + + + + +
          +

          Option: button_tile_map

          +
          + +
          +

          + If this option is set to true TinyMCE will use tiled images instead of individual images for most of the editor controls. This produces faster loading time since only one GIF image needs to be loaded instead of a GIF for each individual button. This option is set to false by default since it doesn't work with some DOCTYPE declarations. +

          + +
          + +

          Example of usage of the button_tile_map option:

          +
          +
          +tinyMCE.init({
          +	...
          +	button_tile_map : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: cleanup + + + + +
          +

          Option: cleanup

          +
          + +
          +

          + This option enables you to turn on/off the built in cleanup functionality. TinyMCE is equipped with powerful cleanup functionality that enables you to specify what elements and attributes are allowed and how HTML contents should be generated. This option is set to true by default, but if you want to disable it you may set it to false. Notice: It's not recommended to disable this feature. +

          + +
          + +

          Example of usage of the cleanup option:

          +
          +
          +tinyMCE.init({
          +	...
          +	cleanup : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,72 @@ + + + +Option: cleanup_callback + + + + +
          +

          Option: cleanup_callback

          +
          + +
          +

          + This option enables you to add custom cleanup logic to TinyMCE. This function is called when the cleanup process is executed this process occures when the editor saves/submits content, user hits the cleanup button and when the HTML editor dialog is presented. The format of this function is: customCleanup(type, value). Where type can be "get_from_editor" when the contents is extracted from TinyMCE for example when the user submits the form. The "insert_to_editor" type value gets passed when new contents is inserted into the editor on initialization or when the HTML editor dialog commits new content. The "get_from_editor_dom" value is executed when cleanup process has a valid DOM tree and is extracted from the editor. The "insert_to_editor_dom" gets passed when the editor has a valid DOM tree and contents has been inserted into the editor. The example below illustrated all these types. +

          + +
          + +

          Example of usage of the cleanup_callback option:

          +
          +
          +function myCustomCleanup(type, value) {
          +	switch (type) {
          +		case "get_from_editor":
          +			alert("Value HTML string: " + value);
          +
          +			// Do custom cleanup code here
          +
          +			break;
          +
          +		case "insert_to_editor":
          +			alert("Value HTML string: " + value);
          +
          +			// Do custom cleanup code here
          +
          +			break;
          +
          +		case "get_from_editor_dom":
          +			alert("Value DOM Element " + value);
          +
          +			// Do custom cleanup code here
          +
          +			break;
          +
          +		case "insert_to_editor_dom":
          +			alert("Value DOM Element: " + value);
          +
          +			// Do custom cleanup code here
          +
          +			break;
          +	}
          +
          +	return value;
          +}
          +
          +tinyMCE.init({
          +	...
          +	cleanup_callback : "myCustomCleanup"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup_on_startup.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup_on_startup.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup_on_startup.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_cleanup_on_startup.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: cleanup_on_startup + + + + +
          +

          Option: cleanup_on_startup

          +
          + +
          +

          + If you set this option to true, TinyMCE will perform a HTML cleanup call when the editor loads. This option is set to false by default. +

          + +
          + +

          Example of usage of the cleanup_on_startup option:

          +
          +
          +tinyMCE.init({
          +	...
          +	cleanup_on_startup : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_content_css.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_content_css.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_content_css.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_content_css.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: content_css + + + + +
          +

          Option: content_css

          +
          + +
          +

          + This option enables you to specify a custom CSS file that extends the theme content CSS. This CSS file is the one used within the editor (the editable area). The default location of this CSS file is within the current theme. This option can also be a comma separated list of URLs. +

          + +
          + +

          Example of usage of the content_css option:

          +
          +
          +tinyMCE.init({
          +	...
          +	content_css : "/mycontent.css"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_convert_fonts_to_spans.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_convert_fonts_to_spans.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_convert_fonts_to_spans.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_convert_fonts_to_spans.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: convert_fonts_to_spans + + + + +
          +

          Option: convert_fonts_to_spans

          +
          + +
          +

          If you set this option to true, all TinyMCE will convert all font elements to span elements and generate span elements instead of font elements. This option should be used inorder to get more W3C compatible code, since font elements are deprecated. How sizes gets converted can be controlled by the font_size_classes and font_size_style_values options.

          +

          + More information about this subject can be found in this article: What's wrong with FONT FACE +

          +
          + +

          Example of usage of the convert_fonts_to_spans option:

          +
          +
          +tinyMCE.init({
          +	...
          +	convert_fonts_to_spans : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_convert_newlines_to_brs.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_convert_newlines_to_brs.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_convert_newlines_to_brs.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_convert_newlines_to_brs.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: convert_newlines_to_brs + + + + +
          +

          Option: convert_newlines_to_brs

          +
          + +
          +

          + If you set this option to true newline characters codes gets converted in to br elements. This option is set to false by default. +

          + +
          + +

          Example of usage of the convert_newlines_to_brs option:

          +
          +
          +tinyMCE.init({
          +	...
          +	convert_newlines_to_brs : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_convert_urls.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_convert_urls.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_convert_urls.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_convert_urls.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,36 @@ + + + +Option: convert_urls + + + + +
          +

          Option: convert_urls

          +
          + +
          +

          This option enables you to control if TinyMCE is to be clever and restore urls to their original values. URLs are auto converted/messed up by default since the built in browser logic works this way, there is no way to get the real URL unless you store it away. If you set this option to false it will try to keep these URLs intact. This option is set to true by default that means URLs will be forced absolute or relative depending on the state of relative_urls.

          + +
          + +

          Example of usage of the convert_urls option:

          +
          +
          +tinyMCE.init({
          +	...
          +	convert_urls : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_shortcuts.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_shortcuts.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_shortcuts.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_shortcuts.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Option: custom_shortcuts + + + + +
          +

          Option: custom_shortcuts

          +
          + +
          +

          + This option enables you to disable/enable the custom keyboard shortcuts plugins and themes may register. The value of this + option is set to true by default. +

          + +
          + +

          Example of usage of the custom_shortcuts option:

          +
          +
          +tinyMCE.init({
          +	...
          +	custom_shortcuts : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: custom_undo_redo + + + + +
          +

          Option: custom_undo_redo

          +
          + +
          +

          + This option is a true/false option that enables you to disable/enable the custom undo/redo logic within TinyMCE. This option is enabled by default, if you disable it some operations may not be undoable. +

          + +
          + +

          Example of usage of the custom_undo_redo option:

          +
          +
          +tinyMCE.init({
          +	...
          +	custom_undo_redo : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_keyboard_shortcuts.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_keyboard_shortcuts.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_keyboard_shortcuts.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_keyboard_shortcuts.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: custom_undo_redo_keyboard_shortcuts + + + + +
          +

          Option: custom_undo_redo_keyboard_shortcuts

          +
          + +
          +

          + This option enables you to disable/enable the usage of keyboard shortcuts for undo/redo. This feature is enabled by default. Keyboard shortcurs are Ctrl+Z for undo, Ctrl+Y for redo. +

          + +
          + +

          Example of usage of the custom_undo_redo_keyboard_shortcuts option:

          +
          +
          +tinyMCE.init({
          +	...
          +	custom_undo_redo_keyboard_shortcuts : "false"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_levels.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_levels.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_levels.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_levels.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: custom_undo_redo_levels + + + + +
          +

          Option: custom_undo_redo_levels

          +
          + +
          +

          + This option should contain the number of undo levels to keep in memory. This is set to -1 by default and such a value tells TinyMCE to use a unlimited number of undo levels. But this steals lots of memory so for low end systems a value of 10 may be better. +

          + +
          + +

          Example of usage of the custom_undo_redo_levels option:

          +
          +
          +tinyMCE.init({
          +	...
          +	custom_undo_redo_levels : 10
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_restore_selection.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_restore_selection.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_restore_selection.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_custom_undo_redo_restore_selection.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: custom_undo_redo_restore_selection + + + + +
          +

          Option: custom_undo_redo_restore_selection

          +
          + +
          +

          + This option gives you the possibility to turn on/off the restoration of the cursor/selection when a undo/redo event occurs. This option is enabled by default. +

          + +
          + +

          Example of usage of the custom_undo_redo_restore_selection option:

          +
          +
          +tinyMCE.init({
          +	...
          +	custom_undo_redo_restore_selection : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_debug.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_debug.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_debug.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_debug.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: debug + + + + +
          +

          Option: debug

          +
          + +
          +

          + If the value of this option is set to "true" some debugging information will appear such as a list of what CSS files are used. The default value of this option is false. +

          + +
          + +

          Example of usage of the debug option:

          +
          +
          +tinyMCE.init({
          +	...
          +	debug : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_dialog_type.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_dialog_type.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_dialog_type.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_dialog_type.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: dialog_type + + + + +
          +

          Option: dialog_type

          +
          + +
          +

          + This option enables you to specify how dialogs/popups should be opened, possible values are "window" and "modal", where the window option opens a normal window and the dialog option opens a modal dialog. This option is set to "window" by default. +

          + +
          + +

          Example of usage of the dialog_type option:

          +
          +
          +tinyMCE.init({
          +	...
          +	dialog_type : "modal"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_directionality.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_directionality.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_directionality.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_directionality.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: directionality + + + + +
          +

          Option: directionality

          +
          + +
          +

          + This option specifies the default writing direction, some languages writes from right to left instead of left to right. The default value of this option is ":ltr" but if you want to use from right to left mode specify "rtl" instead. +

          + +
          + +

          Example of usage of the directionality option:

          +
          +
          +tinyMCE.init({
          +	...
          +	directionality : "rtl"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_display_tab_class.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_display_tab_class.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_display_tab_class.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_display_tab_class.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: display_tab_class + + + + +
          +

          Option: display_tab_class

          +
          + +
          +

          + This option is useful when TinyMCE is used within tabs in MSIE. This property is needed since MSIE has a bug where it's impossible to retrive the width/height on elements like images while it's hidden using display:none. So use this property to define the class name that is used to hide a specific tab, this will help TinyMCE to display the tab while getting the image data. +

          + +
          + +

          Example of usage of the display_tab_class option:

          +
          +
          +tinyMCE.init({
          +	...
          +	display_tab_class : "showTab"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_docs_language.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_docs_language.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_docs_language.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_docs_language.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: docs_language + + + + +
          +

          Option: docs_language

          +
          + +
          +

          + This option should contain a language code of the editor documentation to use with TinyMCE. These codes are in ISO-639-1 format to see if your language is available check the contents of "tinymce/jscripts/tiny_mce/theme/<theme used>/docs". The default value of this option is the value specified in the "language" option or "en" for English. +

          + +
          + +

          Example of usage of the docs_language option:

          +
          +
          +tinyMCE.init({
          +	...
          +	docs_language : "sv"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_doctype.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_doctype.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_doctype.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_doctype.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ + + + +Option: doctype + + + + +
          +

          Option: doctype

          +
          + +
          +

          This option enables you to specify the doctype that is used while editing content within TinyMCE, this defaults to .

          +
          + +

          Example of usage of the doctype option:

          +
          +
          +tinyMCE.init({
          +	...
          +	doctype : "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_document_base_url.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_document_base_url.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_document_base_url.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_document_base_url.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,36 @@ + + + +Option: document_base_url + + + + +
          +

          Option: document_base_url

          +
          + +
          +

          This option enables you to specify the URL from where all URLs will be relative to this option is only used when the relative_urls option is set to true. The value of this option is set to the current document by default.

          + +
          + +

          Example of usage of the document_base_url option:

          +
          +
          +tinyMCE.init({
          +	...
          +	document_base_url : "/somedir/somfile.html"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_editor_css.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_editor_css.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_editor_css.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_editor_css.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: editor_css + + + + +
          +

          Option: editor_css

          +
          + +
          +

          + This option enables you to specify the CSS to be used for the editor toolbars/user interface of TinyMCE this option is set to a CSS file found in the currently used theme by default. This CSS contains layout information about panels and buttons used by TinyMCE. +

          + +
          + +

          Example of usage of the editor_css option:

          +
          +
          +tinyMCE.init({
          +	...
          +	editor_css : "/myeditor.css"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_editor_deselector.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_editor_deselector.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_editor_deselector.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_editor_deselector.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,49 @@ + + + +Option: editor_deselector + + + + +
          +

          Option: editor_deselector

          +
          + +
          +

          + This option enables you to specify a CSS class name that will be deselect textareas from being converted into editor instances. If this option isn't set to a value this option will not have any effect and the mode option will choose textareas instead. The default value of this option is "mceNoEditor" so if mceNoEditor is added to the class attribute of a textarea it will be excluded for convertion. +

          + +
          + +

          Example of usage of the editor_deselector option:

          +
          +
          +tinyMCE.init({
          +	...
          +	editor_deselector : "mceNoEditor"
          +});
          +
          +
          + +
          + +

          Example of usage in the HTML:

          +
          +
          +<textarea id="myarea1" class="mceNoEditor">This will be a NOT be a editor.</textarea>
          +
          +<textarea id="myarea2">This will be a editor.</textarea>
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_editor_selector.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_editor_selector.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_editor_selector.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_editor_selector.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,49 @@ + + + +Option: editor_selector + + + + +
          +

          Option: editor_selector

          +
          + +
          +

          + This option enables you to specify a CSS class name that will be required on the text areas that is to be converted. This enables you to select specific text areas for convertion by adding this CSS class name to the class attribute of the text area. If this option isn't set to a value this option will not have any effect and the mode option will choose textareas instead. If you want all editors to be converted and just specific editors to be excluded check the editor_deselector option. +

          + +
          + +

          Example of usage of the editor_selector option:

          +
          +
          +tinyMCE.init({
          +	...
          +	editor_selector : "mceEditor"
          +});
          +
          +
          + +
          + +

          Example of usage in the HTML:

          +
          +
          +<textarea id="myarea1" class="mceEditor">This will be a editor.</textarea>
          +
          +<textarea id="myarea2">This will NOT be a editor.</textarea>
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_elements.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_elements.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_elements.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_elements.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: elements + + + + +
          +

          Option: elements

          +
          + +
          +

          + This option should contain a comma separated list of element id's to convert into editor instances. This option is only used if mode is set to "exact". +

          + +
          + +

          Example of usage of the elements option:

          +
          +
          +tinyMCE.init({
          +	...
          +	elements : "elm1,elm2"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_encoding.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_encoding.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_encoding.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_encoding.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: encoding + + + + +
          +

          Option: encoding

          +
          + +
          +

          + This option enables you to get XML escaped contents out of TinyMCE. Posted content will be converted to a XML string escaping characters such as < > " & to &lt; &gt; &quot; &amp;. This option is set nothing by default and is there for disabled. +

          + +
          + +

          Example of usage of the encoding option:

          +
          +
          +tinyMCE.init({
          +	...
          +	encoding : "xml"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_entities.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_entities.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_entities.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_entities.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: entities + + + + +
          +

          Option: entities

          +
          + +
          +

          + This option contains a comma separated list of entity names that is used instead of characters. Odd items are the character code and even items are the name of the character code. The default value of this option is placed in the example below. +

          + +
          + +

          Example of usage of the entities option / default value:

          +
          +
          +tinyMCE.init({
          +	...
          +	entities : "160,nbsp,38,amp,34,quot,162,cent,8364,euro,163,pound,165,yen,169,copy,174,reg,8482,trade,8240,permil,181,micro,183,middot,8226,bull,8230,hellip,8242,prime,8243,Prime,167,sect,182,para,223,szlig,8249,lsaquo,8250,rsaquo,171,laquo,187,raquo,8216,lsquo,8217,rsquo,8220,ldquo,8221,rdquo,8218,sbquo,8222,bdquo,60,lt,62,gt,8804,le,8805,ge,8211,ndash,8212,mdash,175,macr,8254,oline,164,curren,166,brvbar,168,uml,161,iexcl,191,iquest,710,circ,732,tilde,176,deg,8722,minus,177,plusmn,247,divide,8260,frasl,215,times,185,sup1,178,sup2,179,sup3,188,frac14,189,frac12,190,frac34,402,fnof,8747,int,8721,sum,8734,infin,8730,radic,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8712,isin,8713,notin,8715,ni,8719,prod,8743,and,8744,or,172,not,8745,cap,8746,cup,8706,part,8704,forall,8707,exist,8709,empty,8711,nabla,8727,lowast,8733,prop,8736,ang,180,acute,184,cedil,170,ordf,186,ordm,8224,dagger,8225,Dagger,192,Agrave,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,202,Ecirc,203,Euml,204,Igrave,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,212,Ocirc,213,Otilde,214,Ouml,216,Oslash,338,OElig,217,Ugrave,219,Ucirc,220,Uuml,376,Yuml,222,THORN,224,agrave,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,234,ecirc,235,euml,236,igrave,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,244,ocirc,245,otilde,246,ouml,248,oslash,339,oelig,249,ugrave,251,ucirc,252,uuml,254,thorn,255,yuml,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,8501,alefsym,982,piv,8476,real,977,thetasym,978,upsih,8472,weierp,8465,image,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8756,there4,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,173,shy,233,eacute,237,iacute,243,oacute,250,uacute,193,Aacute,225,aacute,201,Eacute,205,Iacute,211,Oacute,218,Uacute,221,Yacute,253,yacute"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_entity_encoding.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_entity_encoding.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_entity_encoding.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_entity_encoding.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: entity_encoding + + + + +
          +

          Option: entity_encoding

          +
          + +
          +

          + This option controls how entities/characters gets processed by TinyMCE. The value can be set to numeric, named or raw. Where numeric is numeric representation such as "&#160;" named is entity names such as "&nbsp;" and raw is " ". The default value of this option is named, if named is used the entities option will be used to convert the codes into names. +

          + +
          + +

          Example of usage of the entity_encoding option:

          +
          +
          +tinyMCE.init({
          +	...
          +	entity_encoding : "raw"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_event_elements.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_event_elements.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_event_elements.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_event_elements.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: event_elements + + + + +
          +

          Option: event_elements

          +
          + +
          +

          + This option should contain a comma separated list of elements thay may have event attributes such as onclick and simmilar. This option is needed since some browsers execute these events while editing content. This option is set to "a,img" default. +

          + +
          + +

          Example of usage of the event_elements option:

          +
          +
          +tinyMCE.init({
          +	...
          +	event_elements : "a,img,span"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_execcommand_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_execcommand_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_execcommand_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_execcommand_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,69 @@ + + + +Option: execcommand_callback + + + + +
          +

          Option: execcommand_callback

          +
          + +
          +

          + This option allows you to add a custom callback function for execCommand handling. This enables you to override internal + command functions in TinyMCE. The example below shows how the mceLink and mceImage are overriden. +

          + +
          + +

          Example of usage of the execcommand_callback option:

          +
          +
          +function myCustomExecCommandHandler(editor_id, elm, command, user_interface, value) {
          +	var linkElm, imageElm, inst;
          +
          +	switch (command) {
          +		case "mceLink":
          +			inst = tinyMCE.getInstanceById(editor_id);
          +			linkElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "a");
          +
          +			if (linkElm)
          +				alert("Link dialog has been overriden. Found link href: " + tinyMCE.getAttrib(linkElm, "href"));
          +			else
          +				alert("Link dialog has been overriden.");
          +
          +			return true;
          +
          +		case "mceImage":
          +			inst = tinyMCE.getInstanceById(editor_id);
          +			imageElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "img");
          +
          +			if (imageElm)
          +				alert("Image dialog has been overriden. Found image src: " + tinyMCE.getAttrib(imageElm, "src"));
          +			else
          +				alert("Image dialog has been overriden.");
          +
          +			return true;
          +	}
          +
          +	return false; // Pass to next handler in chain
          +}
          +
          +tinyMCE.init({
          +	...
          +	execcommand_callback : "myCustomExecCommandHandler"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_extended_valid_elements.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_extended_valid_elements.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_extended_valid_elements.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_extended_valid_elements.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: extended_valid_elements + + + + +
          +

          Option: extended_valid_elements

          +
          + +
          +

          + This option is very similar to valid_elements the only diffrance between this option and valid_elements is that this one gets added to the existing rule set. This can be very useful if the existing rule set is fine but you want to add some specific elements that also should be valid. +

          + +
          + +

          Example of usage of the extended_valid_elements option:

          +
          +
          +tinyMCE.init({
          +	...
          +	extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_external_image_list_url.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_external_image_list_url.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_external_image_list_url.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_external_image_list_url.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,51 @@ + + + +Option: external_image_list_url + + + + +
          +

          Option: external_image_list_url

          +
          + +
          +

          + This option enables you to have a external list of images this list of images can be generated by a server side page and then inserted into the image dialog windows of TinyMCE. The images can be to internal site images or external URLs. +

          + +
          + +

          Example of usage of the external_image_list_url option:

          +
          +
          +tinyMCE.init({
          +	...
          +	external_image_list_url : "myexternallist.js"
          +});
          +
          +
          + +
          + +

          Example of a external link list file: (myexternallist.js)

          +
          +
          +var tinyMCEImageList = new Array(
          +	// Name, URL
          +	["Logo 1", "logo.jpg"],
          +	["Logo 2 Over", "logo_over.jpg"]
          +);
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_external_link_list_url.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_external_link_list_url.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_external_link_list_url.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_external_link_list_url.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,52 @@ + + + +Option: external_link_list_url + + + + +
          +

          Option: external_link_list_url

          +
          + +
          +

          + This option enables you to have a external list of links this list of links can be generated by a server side page and then inserted into the link dialog windows of TinyMCE. The links can be to internal site documents or external URLs. +

          + +
          + +

          Example of usage of the external_link_list_url option:

          +
          +
          +tinyMCE.init({
          +	...
          +	external_link_list_url : "myexternallist.js"
          +});
          +
          +
          + +
          + +

          Example of a external link list file: (myexternallist.js)

          +
          +
          +var tinyMCELinkList = new Array(
          +	// Name, URL
          +	["Moxiecode", "http://www.moxiecode.com"],
          +	["Freshmeat", "http://www.freshmeat.com"],
          +	["Sourceforge", "http://www.sourceforge.com"]
          +);
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_file_browser_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_file_browser_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_file_browser_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_file_browser_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,43 @@ + + + +Option: file_browser_callback + + + + +
          +

          Option: file_browser_callback

          +
          + +
          +

          + This option enables you to add your own file browser/image browser to TinyMCE. This function is executed each time a user clicks on the "browse" buttons in various dialogs. The format of this callback function is: fileBrowser(field_name, url, type, win) where field_name is the id/name of the form element that the browser should insert it's URL into. The url parameter contains the URL value that is currently inside the field. The type parameter contains what type of browser to present this value can be file, image or flash depending on what dialog is calling the function. The win parameter contains a reference to the dialog/window that executes the function. +

          + +
          + +

          Example of usage of the file_browser_callback option:

          +
          +
          +function myCustomFileBrowser(field_name, url, type, win) {
          +	// Do custom browser logic
          +	win.document.forms[0].elements[field_name].value = 'my browser value';
          +}
          +
          +tinyMCE.init({
          +	...
          +	file_browser_callback : "myCustomFileBrowser"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_fix_content_duplication.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_fix_content_duplication.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_fix_content_duplication.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_fix_content_duplication.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: fix_content_duplication + + + + +
          +

          Option: fix_content_duplication

          +
          + +
          +

          + This option is available since MSIE has a serious bug where the DOM tree sometimes can include the same node twice. This produces duplication of content when the cleanup process runs. This option is enabled by default and removes any duplicated nodes. +

          + +
          + +

          Example of usage of the fix_content_duplication option:

          +
          +
          +tinyMCE.init({
          +	...
          +	fix_content_duplication : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_fix_list_elements.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_fix_list_elements.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_fix_list_elements.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_fix_list_elements.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,62 @@ + + + +Option: fix_list_elements + + + + +
          +

          Option: fix_list_elements

          +
          + +
          +

          + This option enables you to specify that list elements UL/OL is to be converted to valid XHTML. This option is disabled by default.

          +

          +
          +This invalid list:
          +<ol>
          +	<li>a</li>
          +	<ol>
          +		<li>b</li>
          +		<li>c</li>
          +	</ol>
          +	<li>e</li>
          +</ol>
          +
          +Gets converted into this valid list:
          +<ol>
          +	<li>a
          +		<ol>
          +			<li>b</li>
          +			<li>c</li>
          +		</ol>
          +	</li>
          +	<li>e</li>
          +</ol>
          +
          +
          +

          + +
          + +

          Example of usage of the fix_list_elements option:

          +
          +
          +tinyMCE.init({
          +	...
          +	fix_list_elements : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_fix_table_elements.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_fix_table_elements.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_fix_table_elements.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_fix_table_elements.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,63 @@ + + + +Option: fix_table_elements + + + + +
          +

          Option: fix_table_elements

          +
          + +
          +

          + This option enables you to specify that list table elements should be moved outside paragraphs or other block elements. If you enable this option block elements will be split into two chunks when a table is found within it, see the example below for details. This option is disabled by default.

          +

          +
          +This invalid table:
          +<p>
          +a
          +<table>
          +	<tr><td>b</td></tr>
          +	<tr><td>c</td></tr>
          +</table>
          +d
          +</p>
          +
          +Gets converted into this valid XHTML:
          +<p>
          +a
          +</p>
          +<table>
          +	<tr><td>b</td></tr>
          +	<tr><td>c</td></tr>
          +</table>
          +<p>
          +d
          +</p>
          +
          +
          +

          + +
          + +

          Example of usage of the fix_table_elements option:

          +
          +
          +tinyMCE.init({
          +	...
          +	fix_table_elements : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_focus_alert.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_focus_alert.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_focus_alert.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_focus_alert.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: focus_alert + + + + +
          +

          Option: focus_alert

          +
          + +
          +

          + This option enables you to specify if a "Editor is not focused" alert message should appear if the user calls tinyMCE.execCommand and havn't selected a editor instance before. This message will normaly not appear unless some integration has been made. Using tinyMCE.execInstanceCommand prevents this from happening since it auto focuses the editor specified. The default value of this option is "true". +

          + +
          + +

          Example of usage of the focus_alert option:

          +
          +
          +tinyMCE.init({
          +	...
          +	focus_alert : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_font_size_classes.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_font_size_classes.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_font_size_classes.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_font_size_classes.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ + + + +Option: font_size_classes + + + + +
          +

          Option: font_size_classes

          +
          + +
          +

          Comma separated list of class names that is to be used when the user selects font sizes, this option is only used when the convert_fonts_to_spans option is enabled. This list of classes should be 7 items. This option is not used by default, but can be useful if you want to have custom classes for each font size for browser compatiblity.

          +
          + +

          Example of usage of the font_size_classes option:

          +
          +
          +tinyMCE.init({
          +	...
          +	font_size_classes : "fontSize1,fontSize2,fontSize3,fontSize4,fontSize5,fontSize6,fontSize7"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_font_size_style_values.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_font_size_style_values.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_font_size_style_values.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_font_size_style_values.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ + + + +Option: font_size_style_values + + + + +
          +

          Option: font_size_style_values

          +
          + +
          +

          Comma separated list of style values that is to be used when the user selects font sizes, this option is only used when the convert_fonts_to_spans option is enabled. This list of style values should be 7 items. This option is not used by default, but can be useful if you want to have custom CSS values for each font size for browser compatiblity. Defaults to: xx-small,x-small,small,medium,large,x-large,xx-large.

          +
          + +

          Example of usage of the font_size_style_values option:

          +
          +
          +tinyMCE.init({
          +	...
          +	font_size_style_values : "xx-small,x-small,small,medium,large,x-large,xx-large"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_force_br_newlines.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_force_br_newlines.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_force_br_newlines.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_force_br_newlines.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: force_br_newlines + + + + +
          +

          Option: force_br_newlines

          +
          + +
          +

          + If you set this option to true, TinyMCE will force BR elements on newlines instead of inserting paragraphs. This option is set to false by default since paragraphs is a much better concept. You can style P elements to be one row by adding p { margin: 0; padding: 0; } to your CSS, P tags where invented for a reason and should be used. BR elements should only be used when you really have to (mostly never). +

          + +
          + +

          Example of usage of the force_br_newlines option:

          +
          +
          +tinyMCE.init({
          +	...
          +	force_br_newlines : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_force_hex_style_colors.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_force_hex_style_colors.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_force_hex_style_colors.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_force_hex_style_colors.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ + + + +Option: force_hex_style_colors + + + + +
          +

          Option: force_hex_style_colors

          +
          + +
          +

          This option enables you to control TinyMCE to force the color format to use hexa decimal instead of rgb strings. It converts for example "color: rgb(255, 255, 0)" to "#FFFF00". This option is set to true by default since otherwice MSIE and Firefox would differ in this behavior.

          +
          + +

          Example of usage of the force_hex_style_colors option:

          +
          +
          +tinyMCE.init({
          +	...
          +	force_hex_style_colors : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_force_p_newlines.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_force_p_newlines.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_force_p_newlines.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_force_p_newlines.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: force_p_newlines + + + + +
          +

          Option: force_p_newlines

          +
          + +
          +

          + This option enables you to disable/enable the creation of paragraphs on return/enter in Mozilla/Firefox. The default value of this option is true. +

          + +
          + +

          Example of usage of the force_p_newlines option:

          +
          +
          +tinyMCE.init({
          +	...
          +	force_p_newlines : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_handle_event_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_handle_event_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_handle_event_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_handle_event_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,46 @@ + + + +Option: handle_event_callback + + + + +
          +

          Option: handle_event_callback

          +
          + +
          +

          + This option should contain a function name to be executed each time TinyMCE intercepts and handles a event such as keydown, mousedown and so forth. The format of this function is: handleEvent(event), where inst is the editor instance object reference. If the handle event function returns false it will terminate the internal event handling. +

          + +
          + +

          Example of usage of the handle_event_callback option:

          +
          +
          +// Remember to enable the possibility to switch status messages in the browser before trying the example below
          +
          +function myHandleEvent(e) {
          +	window.status = "event:" + e.type;
          +
          +	return true; // Continue handling
          +}
          +
          +tinyMCE.init({
          +	...
          +	handle_event_callback : "myHandleEvent"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_height.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_height.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_height.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_height.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: height + + + + +
          +

          Option: height

          +
          + +
          +

          + This option gives you the ability to specify the height of the editor in pixels or percent. This height can be very userful to specify if the editor is used in hidden tabs or if the editor area should be bigger than the replaced element. The default value of this option is set to the height of the HTML element TinyMCE replaces for example the pixel height of a textarea. +

          + +
          + +

          Example of usage of the height option:

          +
          +
          +tinyMCE.init({
          +	...
          +	height : "480"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_hidden_tab_class.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_hidden_tab_class.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_hidden_tab_class.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_hidden_tab_class.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: hidden_tab_class + + + + +
          +

          Option: hidden_tab_class

          +
          + +
          +

          + This option is useful when TinyMCE is used within tabs in MSIE. This property is needed since MSIE has a bug where it's impossible to retrive the width/height on elements like images while it's hidden using display:none. So use this property to define the class name that is used to hide a specific tab, this will help TinyMCE to display the tab while getting the image data. +

          + +
          + +

          Example of usage of the hidden_tab_class option:

          +
          +
          +tinyMCE.init({
          +	...
          +	hidden_tab_class : "hideTab"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_init_instance_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_init_instance_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_init_instance_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_init_instance_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,42 @@ + + + +Option: init_instance_callback + + + + +
          +

          Option: init_instance_callback

          +
          + +
          +

          + This option should contain a function name to be executed each time a editor instance is initialized. The format of this function is: initInstance(inst) where inst is the editor instance object reference. +

          + +
          + +

          Example of usage of the init_instance_callback option:

          +
          +
          +function myCustomInitInstance(inst) {
          +	alert("Editor: " + inst.editorId + " is now initialized.");
          +}
          +
          +tinyMCE.init({
          +	...
          +	init_instance_callback : "myCustomInitInstance"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_inline_styles.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_inline_styles.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_inline_styles.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_inline_styles.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: inline_styles + + + + +
          +

          Option: inline_styles

          +
          + +
          +

          + If you enable the inline styles feature by setting this option to true. Most of the attributes gets converted into CSS style attributes instead. This will make the editor output more XHTML strict compatible. +

          + +
          + +

          Example of usage of the inline_styles option:

          +
          +
          +tinyMCE.init({
          +	...
          +	inline_styles : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_insertimage_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_insertimage_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_insertimage_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_insertimage_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,60 @@ + + + +Option: insertimage_callback + + + + +
          +

          (deprecated) Option: insertimage_callback

          +
          + +
          +

          + This callback was removed in 2.0.3, use execcommand_callback instead this also enables you to override other things than the image and link dialogs. +

          +

          + This option enables you to override the built in functionality for inserting images. This option should contain a function name to be executed when a new image is inserted into TinyMCE. The format of this callback function is: insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action). Where most of these options are self explained the action can be "update" or "insert" depending on what operation type. This function should return an array with the same values as the incomming parameters, the example below describes how this is done. This option is set to a internal TinyMCE function by default. +

          + +
          + +

          Example of usage of the insertimage_callback option:

          +
          +
          +function myCustomInsertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action) {
          +	var result = new Array();
          +
          +	// Do some custom logic
          +	result['src'] = "logo.jpg";
          +	result['alt'] = "test description";
          +	result['border'] = "2";
          +	result['hspace'] = "5";
          +	result['vspace'] = "5";
          +	result['width'] = width;
          +	result['height'] = height;
          +	result['align'] = "right";
          +	result['title'] = "Some title";
          +	result['onmouseover'] = "";
          +	result['onmouseout'] = "";
          +
          +	return data;
          +}
          +
          +tinyMCE.init({
          +	...
          +	insertimage_callback : "myCustomInsertImage"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_insertlink_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_insertlink_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_insertlink_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_insertlink_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,53 @@ + + + +Option: insertlink_callback + + + + +
          +

          (deprecated) Option: insertlink_callback

          +
          + +
          +

          + This callback was removed in 2.0.3, use execcommand_callback instead this also enables you to override other things than the image and link dialogs. +

          +

          + This option enables you to override the built in functionality for inserting links. This option should contain a function name to be executed when a new link is inserted into TinyMCE. The format of this callback function is: insertLink(href, target, title, onclick, action). Where most of these options are self explained the action can be "update" or "insert" depending on what operation type. This function should return an array with the same values as the incomming parameters, the example below describes how this is done. This option is set to a internal TinyMCE function by default. +

          + +
          + +

          Example of usage of the insertlink_callback option:

          +
          +
          +function myCustomInsertLink(href, target, title, onclick, action) {
          +	var result = new Array();
          +
          +	// Do some custom logic
          +	result['href'] = "some_page.htm";
          +	result['target'] = "_self";
          +	result['title'] = "Some link title";
          +	result['onclick'] = "";
          +
          +	return data;
          +}
          +
          +tinyMCE.init({
          +	...
          +	insertlink_callback : "myCustomInsertLink"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_invalid_elements.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_invalid_elements.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_invalid_elements.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_invalid_elements.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: invalid_elements + + + + +
          +

          Option: invalid_elements

          +
          + +
          +

          + This option should contain a comma separated list of element names to exclude from the content. Elements in this list will removed when TinyMCE executes a cleanup. +

          + +
          + +

          Example of usage of the invalid_elements option:

          +
          +
          +tinyMCE.init({
          +	...
          +	invalid_elements : "strong,em"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_language.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_language.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_language.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_language.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,42 @@ + + + +Option: language + + + + +
          +

          Option: language

          +
          + +
          +

          + This option should contain a language code of the language pack to use with TinyMCE. These codes are in ISO-639-1 format to see if your language is available check the contents of "tinymce/jscripts/tiny_mce/langs". The default value of this option is "en" for English. +

          + +

          + If TinyMCE doesn't have a language pack for your language you could always write your own and contribute this back to this project by uploading it as a Patch at SourceForge. A description on how to create language packs can be found in Language packs section. +

          + +
          + +

          Example of usage of the language option:

          +
          +
          +tinyMCE.init({
          +	...
          +	language : "en"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_merge_styles_invalid_parents.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_merge_styles_invalid_parents.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_merge_styles_invalid_parents.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_merge_styles_invalid_parents.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,37 @@ + + + +Option: merge_styles_invalid_parents + + + + +
          +

          Option: merge_styles_invalid_parents

          +
          + +
          +

          This option enables you to specify a regexp with elements you want to exclude from parent mergeing. By default style information are attached to the parent element of a selection if all childrent/the whole element contents is selected. For example if you select a whole strong element and select a font size, the font-size style will be applied to the strong element and not with a wrapping style element. But sometimes you want to force a span element, this is where this option comes in to place. This option is set to nothing by default and applies to the font size/face/color and class drop drown lists.

          + +
          + +

          Example of usage of the merge_styles_invalid_parents option:

          +
          +
          +tinyMCE.init({
          +	...
          +	// Excludes table cells and strong elements from any parent merge operation
          +	merge_styles_invalid_parents : "^TD|STRONG$"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_mode.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_mode.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_mode.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_mode.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,54 @@ + + + +Option: mode + + + + +
          +

          Option: mode

          +
          + +
          +

          + This option specifies how elements is to be converted into TinyMCE WYSIWYG editor instances. This option can be set to any of the values below. +

          + +

          +

          textareas

          + Converts all textarea elements to editors when the page loads. +

          + +

          +

          specific_textareas

          + Converts all textarea elements with the a textarea_trigger attribute set to "true". +

          + +

          +

          exact

          + exact - Converts only explicit elements, these are listed in the elements option. These elements can be any kind for example textareas or divs. +

          + +
          + +

          Example of usage of the mode option:

          +
          +
          +tinyMCE.init({
          +	...
          +	mode : "exact",
          +	elements : "elm1,elm2"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_nowrap.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_nowrap.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_nowrap.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_nowrap.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: nowrap + + + + +
          +

          Option: nowrap

          +
          + +
          +

          + This nowrap option enables you to control how whitespace is to be wordwrapped within the editor. This option is set to false by default, but if you enable it by setting it to true editor contents will never wrap. +

          + +
          + +

          Example of usage of the nowrap option:

          +
          +
          +tinyMCE.init({
          +	...
          +	nowrap : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_object_resizing.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_object_resizing.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_object_resizing.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_object_resizing.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: object_resizing + + + + +
          +

          Option: object_resizing

          +
          + +
          +

          + This true/false option gives you the ability to turn on/off the inline resizing controls of tables and images in Firefox/Mozilla. These are enabled by default. +

          + +
          + +

          Example of usage of the object_resizing option:

          +
          +
          +tinyMCE.init({
          +	...
          +	object_resizing : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_onchange_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_onchange_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_onchange_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_onchange_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,43 @@ + + + +Option: onchange_callback + + + + +
          +

          Option: onchange_callback

          +
          + +
          +

          + This option should contain a function name to be executed each time contents is modified by TinyMCE. This function is called each time a undo level is added to TinyMCE. The format of this function is: onchange(inst), where inst is the editor instance object reference. +

          + +
          + +

          Example of usage of the onchange_callback option:

          +
          +
          +function myCustomOnChangeHandler(inst) {
          +	alert("Some one modified something");
          +	alert("The HTML is now:" + inst.getBody().innerHTML);
          +}
          +
          +tinyMCE.init({
          +	...
          +	onchange_callback : "myCustomOnChangeHandler"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_oninit.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_oninit.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_oninit.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_oninit.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,42 @@ + + + +Option: oninit + + + + +
          +

          Option: oninit

          +
          + +
          +

          + This option enables you to specify a function name to be executed when all editor instances has finished it's initialization. This is much like the onload event of a HTML page. +

          + +
          + +

          Example of usage of the oninit option:

          +
          +
          +function myCustomOnInit() {
          +	alert("We are ready to rumble!!");
          +}
          +
          +tinyMCE.init({
          +	...
          +	oninit : "myCustomOnInit"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_onpageload.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_onpageload.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_onpageload.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_onpageload.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,42 @@ + + + +Option: onpageload + + + + +
          +

          Option: onpageload

          +
          + +
          +

          + This option enables you to specify a function name to be executed when the page is loaded but before the TinyMCE instances are created. +

          + +
          + +

          Example of usage of the onpageload option:

          +
          +
          +function myCustomOnPageLoad() {
          +	alert("We are nearly ready to rumble!!");
          +}
          +
          +tinyMCE.init({
          +	...
          +	onpageload : "myCustomOnPageLoad"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_plugins.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_plugins.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_plugins.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_plugins.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,45 @@ + + + +Option: plugins + + + + +
          +

          Option: plugins

          +
          + +
          +

          + This option should contain a comma separated list of plugins. Plugins are loaded from the "tinymce/jscripts/tiny_mce/plugins" directory and the plugin name matches the name of the directory. TinyMCE is shipped with some core plugins these are described in greater detail in the Plugins reference. +

          +

          + TinyMCE also supports the ability to have plugins added from a external resource, these plugins needs to be self registrering and loaded after the tinyMCE.init call. You should also prefix these plugins with a "-" character so that TinyMCE doesn't try to load it from the TinyMCE plugins directory. +

          + +

          + There are many third party plugins for TinyMCE some of these may be found under "Plugins" at SourceForge and if you have developed one of your own please contribute it to this project by uploading it to SourceForge. +

          + +
          + +

          Example of usage of the plugins option:

          +
          +
          +tinyMCE.init({
          +	...
          +	plugins : "table,contextmenu,paste,-externalplugin"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_popups_css.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_popups_css.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_popups_css.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_popups_css.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: popups_css + + + + +
          +

          Option: popups_css

          +
          + +
          +

          + This option enables you to specify the CSS to be used in all popup/dialog windows within TinyMCE this option is set to a CSS file found in the currently used theme by default. +

          + +
          + +

          Example of usage of the popups_css option:

          +
          +
          +tinyMCE.init({
          +	...
          +	popups_css : "/mypopup.css"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_preformatted.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_preformatted.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_preformatted.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_preformatted.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: preformatted + + + + +
          +

          Option: preformatted

          +
          + +
          +

          + If you enable this feature, whitespace such as tabs and spaces will be preserved. Much like the bahavior of a PRE element. This can be handy when integrating TinyMCE with webmail clients. This option is disabled by default. +

          + +
          + +

          Example of usage of the preformatted option:

          +
          +
          +tinyMCE.init({
          +	...
          +	preformatted : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_relative_urls.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_relative_urls.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_relative_urls.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_relative_urls.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,36 @@ + + + +Option: relative_urls + + + + +
          +

          Option: relative_urls

          +
          + +
          +

          If this option is set to true, all URLs returned from the MCFileManager will be relative from the specified document_base_url if it's set to false all URLs will be converted to absolute URLs. This feature can not be disabled since MSIE and FF modifies the URLs of DOM objects by them self so TinyMCE tries to solve this problem by reconverting them. This option is set to true by default.

          + +
          + +

          Example of usage of the relative_urls option:

          +
          +
          +tinyMCE.init({
          +	...
          +	relative_urls : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_remove_linebreaks.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_remove_linebreaks.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_remove_linebreaks.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_remove_linebreaks.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: remove_linebreaks + + + + +
          +

          Option: remove_linebreaks

          +
          + +
          +

          + This option controls if linebreak characters should be removed from output HTML or not. This option is enabled by default since many backend systems use newline to <br /> convertion since they used to be plain old textarea based. With this option enables all HTML content will be placed on one line. +

          + +
          + +

          Example of usage of the remove_linebreaks option:

          +
          +
          +tinyMCE.init({
          +	...
          +	remove_linebreaks : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_remove_script_host.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_remove_script_host.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_remove_script_host.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_remove_script_host.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,37 @@ + + + +Option: remove_script_host + + + + +
          +

          Option: remove_script_host

          +
          + +
          +

          If this option is enabled the protocol and host part of the URLs returned from the MCFileManager will be removed. This option is only used if the relative_urls option is set to false. This option is set to true by default.

          +

          URL:s will be returned in this format: "/somedir/somefile.htm" instead of the default mode: "http://www.somesite.com/somedir/somefile.htm".

          + +
          + +

          Example of usage of the remove_script_host option:

          +
          +
          +tinyMCE.init({
          +	...
          +	remove_script_host : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_save_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_save_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_save_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_save_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,45 @@ + + + +Option: save_callback + + + + +
          +

          Option: save_callback

          +
          + +
          +

          + This option enables you to add custom logic to be executed when the contents is extracted/saved. This custom logic can then modify the contents before it's submited to a serverside page. This can be useful if you want to do your own regexp cleanups and so forth. The format of this function is: saveContent(element_id, html, body). Where element id is the form element/div id of the editor and HTML is the HTML contents after the built in cleanup process has executed. This function should return the new HTML contents. +

          + +
          + +

          Example of usage of the save_callback option:

          +
          +
          +function myCustomSaveContent(element_id, html, body) {
          +	// Do some custom HTML cleanup
          +	html = html.replace(/a/g,'b');
          +
          +	return html;
          +}
          +
          +tinyMCE.init({
          +	...
          +	save_callback : "myCustomSaveContent"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_setupcontent_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_setupcontent_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_setupcontent_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_setupcontent_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,43 @@ + + + +Option: setupcontent_callback + + + + +
          +

          Option: setupcontent_callback

          +
          + +
          +

          + This option enables you to execute custom setup content logic when the editor initializes. The format of this callback is: + setupContent(editor_id, body, doc). Where editor_id is the TinyMCE editor instance id the editor instance object reference can be retrived by using tinyMCE.getInstanceById(editor_id). The body parameter is a reference to the iframes body element and doc is the iframes document element. This option is not used if it's not specified. +

          + +
          + +

          Example of usage of the setupcontent_callback option:

          +
          +
          +function myCustomSetupContent(editor_id, body, doc) {
          +	body.innerHTML = "my new content" + body.innerHTML;
          +}
          +
          +tinyMCE.init({
          +	...
          +	setupcontent_callback : "myCustomSetupContent"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_strict_loading_mode.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_strict_loading_mode.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_strict_loading_mode.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_strict_loading_mode.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + + Option: strict_loading_mode + + + + +
          +

          Option: strict_loading_mode

          +
          + +
          +

          + This option will force TinyMCE to load script using a DOM insert method instead of document.write on Gecko browsers. Since this results in asynchronous script loading a build in synchronized will ensure that themes, plugins and language packs files are loaded in the correct order. This will on the otherhand make the initialization procedure of TinyMCE a bit slower thats why this isn't the default behavior. So this option is set to true by default if the document content type is application/xhtml+xml. +

          + +
          + +

          Example of usage of the strict_loading_mode option:

          +
          +
          +tinyMCE.init({
          +	...
          +	strict_loading_mode : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_submit_patch.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_submit_patch.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_submit_patch.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_submit_patch.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: submit_patch + + + + +
          +

          Option: submit_patch

          +
          + +
          +

          + This toggle option enables you to turn on/off the auto patching of the submit function in forms. TinyMCE will auto move contents from the iframe to the hidden textarea field if for example a JavaScript uses a form[0].submit() call. This is the same as using the tinyMCE.triggerSave() call. This option is set to true by default. +

          + +
          + +

          Example of usage of the submit_patch option:

          +
          +
          +tinyMCE.init({
          +	...
          +	submit_patch : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_table_inline_editing.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_table_inline_editing.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_table_inline_editing.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_table_inline_editing.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: table_inline_editing + + + + +
          +

          Option: table_inline_editing

          +
          + +
          +

          + This true/false option gives you the ability to turn on/off the inline table editing controls in Firefox/Mozilla. These controls are somewhat buggy and not redesignable so they are disabled by default. +

          + +
          + +

          Example of usage of the table_inline_editing option:

          +
          +
          +tinyMCE.init({
          +	...
          +	table_inline_editing : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_textarea_trigger.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_textarea_trigger.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_textarea_trigger.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_textarea_trigger.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,47 @@ + + + +Option: textarea_trigger + + + + +
          +

          Option: textarea_trigger

          +
          + +
          +

          + This option enables you to specify the name of the attribute to check if it's value is true/false. If the mode option is set to "specific_textareas", only specific textareas with a attribute by the name of the value of this option gets converted and only if it's set to true. This option defaults to "mce_editable". +

          + +

          + If the mode is set to textareas and the textarea trigger attribute value is set to false, these textareas will not be converted. +

          + +

          + Notice: This option is deprecated. + We strongly recommend you to use the editor_selector/editor_deselector options instead since they validate with W3C specifications. +

          + +
          + +

          Example of usage of the textarea_trigger option:

          +
          +
          +tinyMCE.init({
          +	...
          +	textarea_trigger : "convert_this"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,49 @@ + + + +Option: theme + + + + +
          +

          Option: theme

          +
          + +
          +

          + This option enables you to specify what theme to use when rendering the TinyMCE WYSIWYG editor instances. This name matches the directories located in "tinymce/jscripts/tiny_mce/themes". The default value of this option is "advanced". TinyMCE has three built in themes and these are described in greater detail below. +

          + +

          +

          advanced

          + This is the advanced theme of TinyMCE, this theme enables users to add/remove buttons and panels and is a lot more flexible than the simple or default theme. For more information about this themes specific options check the "Advanced theme" configuration section. +

          + +

          +

          simple

          + This is the most simple theme for TinyMCE it contains only the basic functions. +

          + +
          + +

          Example of usage of the theme option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme : "advanced",
          +	theme_advanced_buttons3_add_before : "tablecontrols,separator"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_blockformats.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_blockformats.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_blockformats.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_blockformats.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_blockformats + + + + +
          +

          Option: theme_advanced_blockformats

          +
          + +
          +

          + This option should contain a comma separated list of block formats the default value of this option is "p,div,address,pre,h1,h2,h3,h4,h5,h6". This option is only available if the advanced theme is used. +

          + +
          + +

          Example of usage of the theme_advanced_blockformats option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_blockformats : "p,div,h1,h2,h3,h4,h5,h6,div,blockquote,dt,dd,code,samp"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ + + + +Option: theme_advanced_buttons<1-n> + + + + +
          +

          Option: theme_advanced_buttons<1-n>

          +
          + +
          +

          + This option should contain a comma separated list of button/control names to insert into the toolbar. The number 1-n is the row number to insert the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins. + This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". +

          +

          + A complete reference of all built in buttons and controls can be found in the button/control reference page. +

          + +
          + +

          Example of usage of the theme_advanced_buttons<1-n> option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_buttons1 : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"
          +	theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"
          +	theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n_add.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n_add.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n_add.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n_add.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ + + + +Option: theme_advanced_buttons<1-n_add> + + + + +
          +

          Option: theme_advanced_buttons<1-n_add>

          +
          + +
          +

          + This option should contain a comma separated list of button/control names to add to the end of the specified toolbar row. The number 1-n is the row number to add the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins. + This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". +

          +

          + A complete reference of all built in buttons and controls can be found in the button/control reference page. +

          + +
          + +

          Example of usage of the theme_advanced_buttons<1-n>_add option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_buttons1_add : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"
          +	theme_advanced_buttons2_add : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"
          +	theme_advanced_buttons3_add : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n_add_before.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n_add_before.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n_add_before.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_buttons_n_add_before.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ + + + +Option: theme_advanced_buttons<1-n_add_before> + + + + +
          +

          Option: theme_advanced_buttons<1-n_add_before>

          +
          + +
          +

          + This option should contain a comma separated list of button/control names to add to the beginning of the specified toolbar row. The number 1-n is the row number to add the buttons/controls to. Below is a list of built in controls, plugins may include other controls names that can be inserted but these are documented in the individual plugins. + This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". +

          +

          + A complete reference of all built in buttons and controls can be found in the button/control reference page. +

          + +
          + +

          Example of usage of the theme_advanced_buttons<1-n>_add_before option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_buttons1_add_before : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor"
          +	theme_advanced_buttons2_add_before : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code"
          +	theme_advanced_buttons3_add_before : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Option: theme_advanced_container_<container> + + + + +
          +

          Option: theme_advanced_container_<container>

          +
          + +
          +

          + This option should contain buttons/control that you wich to insert into the container, the button names available is the same as in the theme_advanced_buttons_<1-3> option but two extra controls available when this layout option is used these are "mceEditor" and "mceElementpath". The <container> part of this option should be replaced with a name within the theme_advanced_containers list. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". +

          + +
          + +

          Example of usage of the theme_advanced_container_<container> option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_container_somecontainer1 : "bold,italic",
          +	theme_advanced_container_somecontainer2 : "strikethrough,cut"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container_align.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container_align.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container_align.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container_align.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Option: theme_advanced_container_align + + + + +
          +

          Option: theme_advanced_container_<container>_align

          +
          + +
          +

          + This option is used to set the alignment of a specific containerer. The <container> part of this option should be replaced with a name within the theme_advanced_containers list. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". +

          + +
          + +

          Example of usage of the theme_advanced_container_<container>_align option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_container_somecontainer1_align : "left"
          +	theme_advanced_container_somecontainer2_align : "right"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container_class.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container_class.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container_class.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_container_class.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Option: theme_advanced_container_<container>_class + + + + +
          +

          Option: theme_advanced_container_<container>_class

          +
          + +
          +

          + This option is used to set the class of a specific container. The <container> part of this option should be replaced with a name within the theme_advanced_containers list. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". +

          + +
          + +

          Example of usage of the theme_advanced_container_<container>_class option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_container_somecontainer1_class : "someclass",
          +	theme_advanced_container_somecontainer2_class : "someotherclass"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_containers + + + + +
          +

          Option: theme_advanced_containers

          +
          + +
          +

          + This option should contain a comma separated list of container/panel names. These names are then matched agains the other container options. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". +

          + +
          + +

          Example of usage of the theme_advanced_containers option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_containers : "mycontainer1,mycontainer2"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers_default_align.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers_default_align.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers_default_align.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers_default_align.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_containers_default_align + + + + +
          +

          Option: theme_advanced_containers_default_align

          +
          + +
          +

          + This option should contain the default container/panel alignment this can be a value of "left", "center" or "right". This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". +

          + +
          + +

          Example of usage of the theme_advanced_containers_default_align option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_containers_default_align : "left"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers_default_class.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers_default_class.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers_default_class.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_containers_default_class.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_containers_default_class + + + + +
          +

          Option: theme_advanced_containers_default_class

          +
          + +
          +

          + This option should contain the default container/panel class name. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". +

          + +
          + +

          Example of usage of the theme_advanced_containers_default_class option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_containers_default_class : "myPanelClass"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_custom_layout.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_custom_layout.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_custom_layout.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_custom_layout.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,49 @@ + + + +Option: theme_advanced_custom_layout + + + + +
          +

          Option: theme_advanced_custom_layout

          +
          + +
          +

          + This option is used to specify a custom layout manager function. The format of this function is: customLayout(template) where template is the template array within the advanced theme, this function should return a new template array containing the editor HTML in a key called html. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the value of "RowLayout". + + CustomLayout + + template +

          + +
          + +

          Example of usage of the theme_advanced_custom_layout option:

          +
          +
          +function myCustomLayout(template) {
          +	// Make custom layout
          +	template['html'] = "make new layout";
          +
          +	return template;
          +}
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_custom_layout : "myCustomLayout"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_disable.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_disable.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_disable.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_disable.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_disable + + + + +
          +

          Option: theme_advanced_disable

          +
          + +
          +

          + This option should contain a comma separated list of controls to disable from any toolbar row/panel in TinyMCE. +

          + +
          + +

          Example of usage of the theme_advanced_disable option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_disable : "bold,italic"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_fonts.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_fonts.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_fonts.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_fonts.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_fonts + + + + +
          +

          Option: theme_advanced_fonts

          +
          + +
          +

          + This option should contain a semicolon separated list of font titles and font families separated by =. The titles are the ones that get presented to the user in the fonts drop down list and and the font family names is the string that gets inserted into the font face or fontFamily CSS style. +

          + +
          + +

          Example of usage of the theme_advanced_fonts option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_fonts : "Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_layout_manager.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_layout_manager.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_layout_manager.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_layout_manager.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,39 @@ + + + +Option: theme_advanced_layout_manager + + + + +
          +

          Option: theme_advanced_layout_manager

          +
          + +
          +

          + This option enables you to switch button and panel layout functionality. There are three diffrent layout manager options + SimpleLayout that is the default layout manager, RowLayout that is the more advanced manager and finaly CustomLayout that executes a custom layout manager function. Each of these layout managers have diffrent options and can be configurated in diffrent ways. This option is only available if the advanced theme is used. +

          + +
          + +

          Example of usage of the theme_advanced_layout_manager option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_layout_manager : "RowLayout"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_link_targets.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_link_targets.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_link_targets.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_link_targets.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_link_targets + + + + +
          +

          Option: theme_advanced_link_targets

          +
          + +
          +

          + This option should contain a semicolon separated list of link target titles and target names separated by =. The titles are the ones that get presented to the user in the link target drop down list and and the target names is the target that gets inserted as a target attribute. +

          + +
          + +

          Example of usage of the theme_advanced_link_targets option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_link_targets : "Some frame=someframe;Some other frame=otherframe"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_path.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_path.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_path.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_path.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_path + + + + +
          +

          Option: theme_advanced_path

          +
          + +
          +

          + This option gives you the ability to enable/disable the element path. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to true by default. +

          + +
          + +

          Example of usage of the theme_advanced_path option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_path : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_path_location.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_path_location.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_path_location.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_path_location.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_path_location + + + + +
          +

          Option: theme_advanced_path_location

          +
          + +
          +

          + This option enables you to specify where the element path should be located. This option can be set to "top", "bottom" or "none". The default value is set to "none". This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". +

          + +
          + +

          Example of usage of the theme_advanced_path_location option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_path_location : "bottom"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resize_horizontal.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resize_horizontal.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resize_horizontal.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resize_horizontal.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + + Option: theme_advanced_resize_horizontal + + + + +
          +

          Option: theme_advanced_resize_horizontal

          +
          + +
          +

          + This option gives you the ability to enable/disable the horizontal resizing. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom" and when the theme_advanced_resizing is set to true. This option is set to true by default, that makes resizing horizontal and vertical. +

          + +
          + +

          Example of usage of the theme_advanced_resize_horizontal option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_resize_horizontal : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resizing.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resizing.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resizing.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resizing.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_resizing + + + + +
          +

          Option: theme_advanced_resizing

          +
          + +
          +

          + This option gives you the ability to enable/disable the resizing button. This option is only useful if the theme_advanced_statusbar_location option is set to "top" or "bottom". This option is set to false by default. +

          + +
          + +

          Example of usage of the theme_advanced_resizing option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_resizing : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resizing_use_cookie.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resizing_use_cookie.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resizing_use_cookie.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_resizing_use_cookie.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ + + + +Option: theme_advanced_resizing_use_cookie + + + + +
          +

          Option: theme_advanced_resizing_use_cookie

          +
          + +
          +

          This option enables you to disable the storage of editor size in a cookie. By default the editors size is stored and retrived from a cookie.

          +
          + +

          Example of usage of the theme_advanced_resizing_use_cookie option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_resizing_use_cookie : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_height.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_height.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_height.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_height.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_source_editor_height + + + + +
          +

          Option: theme_advanced_source_editor_height

          +
          + +
          +

          + This option is used to define the height of the source editor dialog. This option is set to 400 by default. +

          + +
          + +

          Example of usage of the theme_advanced_source_editor_height option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_source_editor_height : "600"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_width.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_width.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_width.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_width.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_source_editor_width + + + + +
          +

          Option: theme_advanced_source_editor_width

          +
          + +
          +

          + This option is used to define the width of the source editor dialog. This option is set to 500 by default. +

          + +
          + +

          Example of usage of the theme_advanced_source_editor_width option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_source_editor_width : "700"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_wrap.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_wrap.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_wrap.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_source_editor_wrap.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_source_editor_wrap + + + + +
          +

          Option: theme_advanced_source_editor_wrap

          +
          + +
          +

          + This option enables you to force word wrap for the source editor, this option is set to true by default. +

          + +
          + +

          Example of usage of the theme_advanced_source_editor_wrap option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_source_editor_wrap : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_statusbar_location.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_statusbar_location.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_statusbar_location.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_statusbar_location.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_statusbar_location + + + + +
          +

          Option: theme_advanced_statusbar_location

          +
          + +
          +

          + This option enables you to specify where the element statusbar with the path and resize tool should be located. This option can be set to "top", "bottom" or "none". The default value is set to "none". This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". +

          + +
          + +

          Example of usage of the theme_advanced_statusbar_location option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_statusbar_location : "bottom"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_styles.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_styles.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_styles.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_styles.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_styles + + + + +
          +

          Option: theme_advanced_styles

          +
          + +
          +

          + This option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted. If this option isn't defined TinyMCE auto imports the classes from the content CSS. +

          + +
          + +

          Example of usage of the theme_advanced_styles option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_toolbar_align.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_toolbar_align.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_toolbar_align.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_toolbar_align.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: theme_advanced_toolbar_align + + + + +
          +

          Option: theme_advanced_toolbar_align

          +
          + +
          +

          + This option enables you to specify the alignment of the toolbar, this value can be left, right or center the default value is center. This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". +

          + +
          + +

          Example of usage of the theme_advanced_toolbar_align option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_toolbar_align : "left"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_toolbar_location.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_toolbar_location.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_toolbar_location.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_theme_advanced_toolbar_location.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,41 @@ + + + +Option: theme_advanced_toolbar_location + + + + +
          +

          Option: theme_advanced_toolbar_location

          +
          + +
          +

          + This option enables you to specify where the toolbar should be located. This option can be set to "top" or "bottom". The default value is set to "bottom". This option can only be used when theme is set to advanced and when the theme_advanced_layout_manager option is set to the default value of "SimpleLayout". +

          +

          + There is a special "external" location, this option adds the toolbar to a DIV element and sets the class of this DIV to "mceToolbarExternal". This enables you to freely specify the location of the toolbar. +

          + +
          + +

          Example of usage of the theme_advanced_toolbar_location option:

          +
          +
          +tinyMCE.init({
          +	...
          +	theme_advanced_toolbar_location : "top"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_trim_span_elements.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_trim_span_elements.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_trim_span_elements.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_trim_span_elements.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: trim_span_elements + + + + +
          +

          Option: trim_span_elements

          +
          + +
          +

          + This option controls if spans without attributes will be removed or not. This option is set to true by default. +

          + +
          + +

          Example of usage of the trim_span_elements option:

          +
          +
          +tinyMCE.init({
          +	...
          +	trim_span_elements : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_urlconverter_callback.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_urlconverter_callback.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_urlconverter_callback.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_urlconverter_callback.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,46 @@ + + + +Option: urlconverter_callback + + + + +
          +

          Option: urlconverter_callback

          +
          + +
          +

          + This option enable you to add your own URL converter logic. This option should contain a JavaScript function name. The format of this converter function is: URLConverter(url, node, on_save). There URL is the URL string to convert, node is the element that contains the URL that is to be converted this parameter may be set to null if there is no element for the URL and on_save is set to true when contents is to be extracted from the editor for example when the user submits the HTML form. This function should return the converted URL as a string. This option is set to a internal TinyMCE function "TinyMCE.prototype.convertURL" by default. You may call this function from your extention inorder to use the built in convert options. +

          + +
          + +

          Example of usage of the urlconverter_callback option:

          +
          +
          +function myCustomURLConverter(url, node, on_save) {
          +	// Do some custom URL convertion
          +	url = url.substring(3);
          +
          +	// Return new URL
          +	return url;
          +}
          +
          +tinyMCE.init({
          +	...
          +	urlconverter_callback : "myCustomURLConverter"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_valid_elements.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_valid_elements.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_valid_elements.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_valid_elements.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,348 @@ + + + +Option: valid_elements + + + + +
          +

          Option: valid_elements

          +
          + +
          +

          + This option should contain a comma separated list element convertion chunks. Each chunk contains information about how one element and it's attributes should be treated. The default rule set for this option is specified below. +

          +

          + + + + + + + + + + + + + + + + + +
          Control characters:
          ,Separates element chunk definitions.
          /Separates element synonymous. The first element is the one that will be outputted.
          |Separates attribute definitions.
          [Starts a new attribute list for a element definition.
          ]Ends a attribute list for a element definition.
          =Makes the attribute to default to the specified value. For example "target=_blank"
          :Makes the attribute to be forced to the specified value. For example "border:0"
          <Verifies the value of a attribute. For example "target<_blank?_self"
          ?Separates attribute verification values, see above.
          +Makes the element open if no child nodes exists. Example: +a.
          -Enables removal of empty elements such as >strong /<. Example: -strong.
          #Enables padding of empty elements, this will padd with &nbsp; if they are empty. Example: #p.
          + Wildcards such as *,+,? may be used in element or attribute name matching. +

          +

          + Special variables:
          + {$uid} Results in a unique ID. For example "p[id:{$uid}]".
          +
          + Use *[*] to include all elements and all attributes this can be very useful when used with the invalid_elements option. +

          + +
          + +

          Example of usage of the valid_elements option:

          +

          + This example string tells TinyMCE to remove all elements that are not a "a, strong, div or br" element, convert b elements to strong elements, default target to "_blank" and keep the href, target and align attributes of the elements. +

          +
          +
          +tinyMCE.init({
          +	...
          +	valid_elements : "a[href|target=_blank],strong/b,div[align],br"
          +});
          +
          +
          + +
          + +

          Default rule set:

          +

          + This is the default string used by TinyMCE to cleanup the HTML contents. +

          +
          +
          ++a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],-td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang]
          +
          +
          + +
          + +

          Full XHTML rule set:

          +

          + The following will validate that the page complies fully with the XHTML specification. +

          +
          +
          +valid_elements : ""
          ++"a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name"
          +  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev"
          +  +"|shape<circle?default?poly?rect|style|tabindex|title|target|type],"
          ++"abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title],"
          ++"applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase"
          +  +"|height|hspace|id|name|object|style|title|vspace|width],"
          ++"area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref"
          +  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup"
          +  +"|shape<circle?default?poly?rect|style|tabindex|title|target],"
          ++"base[href|target],"
          ++"basefont[color|face|id|size],"
          ++"bdo[class|dir<ltr?rtl|id|lang|style|title],"
          ++"big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"blockquote[dir|style|cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
          +  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
          +  +"|onmouseover|onmouseup|style|title],"
          ++"body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink],"
          ++"br[class|clear<all?left?none?right|id|style|title],"
          ++"button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur"
          +  +"|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown"
          +  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type"
          +  +"|value],"
          ++"caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
          +  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
          +  +"|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
          +  +"|valign<baseline?bottom?middle?top|width],"
          ++"colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl"
          +  +"|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
          +  +"|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
          +  +"|valign<baseline?bottom?middle?top|width],"
          ++"dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
          ++"del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title],"
          ++"dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title],"
          ++"div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title],"
          ++"dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
          ++"em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"font[class|color|dir<ltr?rtl|face|id|lang|size|style|title],"
          ++"form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang"
          +  +"|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit"
          +  +"|style|title|target],"
          ++"frame[class|frameborder|id|longdesc|marginheight|marginwidth|name"
          +  +"|noresize<noresize|scrolling<auto?no?yes|src|style|title],"
          ++"frameset[class|cols|id|onload|onunload|rows|style|title],"
          ++"h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"head[dir<ltr?rtl|lang|profile],"
          ++"hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|size|style|title|width],"
          ++"html[dir<ltr?rtl|lang|version],"
          ++"iframe[align<bottom?left?middle?right?top|class|frameborder|height|id"
          +  +"|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style"
          +  +"|title|width],"
          ++"img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height"
          +  +"|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|src|style|title|usemap|vspace|width],"
          ++"input[accept|accesskey|align<bottom?left?middle?right?top|alt"
          +  +"|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang"
          +  +"|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
          +  +"|readonly<readonly|size|src|style|tabindex|title"
          +  +"|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text"
          +  +"|usemap|value],"
          ++"ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title],"
          ++"isindex[class|dir<ltr?rtl|id|lang|prompt|style|title],"
          ++"kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick"
          +  +"|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
          +  +"|onmouseover|onmouseup|style|title],"
          ++"legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang"
          +  +"|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type"
          +  +"|value],"
          ++"link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type],"
          ++"map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title],"
          ++"meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme],"
          ++"noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"noscript[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"object[align<bottom?left?middle?right?top|archive|border|class|classid"
          +  +"|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name"
          +  +"|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap"
          +  +"|vspace|width],"
          ++"ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|start|style|title|type],"
          ++"optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick"
          +  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
          +  +"|onmouseover|onmouseup|selected<selected|style|title|value],"
          ++"p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|style|title],"
          ++"param[id|name|type|value|valuetype<DATA?OBJECT?REF],"
          ++"pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
          +  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
          +  +"|onmouseover|onmouseup|style|title|width],"
          ++"q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"s[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
          ++"samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"script[charset|defer|language|src|type],"
          ++"select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name"
          +  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style"
          +  +"|tabindex|title],"
          ++"small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title],"
          ++"strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title],"
          ++"strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"style[dir<ltr?rtl|lang|media|title|type],"
          ++"sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title],"
          ++"table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class"
          +  +"|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules"
          +  +"|style|summary|title|width],"
          ++"tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id"
          +  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
          +  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
          +  +"|valign<baseline?bottom?middle?top],"
          ++"td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
          +  +"|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
          +  +"|style|title|valign<baseline?bottom?middle?top|width],"
          ++"textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name"
          +  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
          +  +"|readonly<readonly|rows|style|tabindex|title],"
          ++"tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
          +  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
          +  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
          +  +"|valign<baseline?bottom?middle?top],"
          ++"th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
          +  +"|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
          +  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
          +  +"|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
          +  +"|style|title|valign<baseline?bottom?middle?top|width],"
          ++"thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
          +  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
          +  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
          +  +"|valign<baseline?bottom?middle?top],"
          ++"title[dir<ltr?rtl|lang],"
          ++"tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class"
          +  +"|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title|valign<baseline?bottom?middle?top],"
          ++"tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
          ++"u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
          +  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
          ++"ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
          +  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
          +  +"|onmouseup|style|title|type],"
          ++"var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
          +  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
          +  +"|title]"
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_verify_css_classes.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_verify_css_classes.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_verify_css_classes.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_verify_css_classes.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: verify_css_classes + + + + +
          +

          (Removed)Option: verify_css_classes

          +
          + +
          +

          + If you enable this function, class names placed in class attributes will be verified agains the content CSS. So elements with a class attribute containing a class that doesn't exist in the CSS will be removed. +

          + +
          + +

          Example of usage of the verify_css_classes option:

          +
          +
          +tinyMCE.init({
          +	...
          +	verify_css_classes : true
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_verify_html.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_verify_html.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_verify_html.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_verify_html.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: verify_html + + + + +
          +

          Option: verify_html

          +
          + +
          +

          + This option enabled or disables the element cleanup functionality. If you set this option to false, all element cleanup will be skipped but other cleanup functionality such as URL convertion will still be executed. +

          + +
          + +

          Example of usage of the verify_html option:

          +
          +
          +tinyMCE.init({
          +	...
          +	verify_html : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_visual.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_visual.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_visual.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_visual.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: visual + + + + +
          +

          Option: visual

          +
          + +
          +

          + This true/false option gives you the ability to turn on/off the visual aid for border less tables. If a the border of a table is set to 0 TinyMCE adds a dotted line around the table by default. +

          + +
          + +

          Example of usage of the visual option:

          +
          +
          +tinyMCE.init({
          +	...
          +	visual : false
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_visual_table_class.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_visual_table_class.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_visual_table_class.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_visual_table_class.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: visual_table_class + + + + +
          +

          Option: visual_table_class

          +
          + +
          +

          + This option enables you to specify what CSS class to use for presenting visual aids for border less tables. The default value of this option is set to "mceVisualAid". +

          + +
          + +

          Example of usage of the visual_table_class option:

          +
          +
          +tinyMCE.init({
          +	...
          +	visual_table_class : "myCustomVisualAidTableClass"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_width.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_width.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/option_width.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/option_width.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + +Option: width + + + + +
          +

          Option: width

          +
          + +
          +

          + This option gives you the ability to specify the width of the editor in pixels or percent. This width can be very useful to specify if the editor is used in hidden tabs or if the editor area should be bigger than the replaced element. The default value of this option is set to the width of the HTML element TinyMCE replaces for example the pixel width of a textarea. +

          + +
          + +

          Example of usage of the width option:

          +
          +
          +tinyMCE.init({
          +	...
          +	width : "640"
          +});
          +
          +
          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_advhr.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_advhr.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_advhr.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_advhr.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,46 @@ + + + +Plugin: advhr + + + + +
          +

          Plugin: advhr

          +
          + +
          +

          This is a more advanced hr dialog contributed by Michael Keck. This hr plugin supports noshade, width and size.

          + +

          Installation Instructions

          +

          +

            +
          • Copy the advhr directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "advhr".
          • +
          • Add this "hr[class|width|size|noshade]" to extended_valid_elements option.
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "advhr",
          +	theme_advanced_buttons1_add : "advhr",
          +	extended_valid_elements : "hr[class|width|size|noshade]"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_advimage.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_advimage.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_advimage.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_advimage.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,57 @@ + + + +Plugin: advimage + + + + +
          +

          Plugin: advimage

          +
          + +
          +

          This is a more advanced image dialog mostly based on code contributed by Michael Keck. This one supports mouseover/out image swapping.

          + +

          Installation Instructions

          +

          +

            +
          • Copy the advimage directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "advimage".
          • +
          • Add this "a[name|href|target|title|onclick]" to extended_valid_elements option.
          • +
          +

          + +

          + + + + + + +
          Advimage plugin options
          advimage_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
          advimage_update_dimensions_onchangeThis option enables you to control if the image dimensions should be updated with new data if the image src field is changed. This option is enabled by default.
          +
          +

          + +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "preview"
          +});
          +
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_advlink.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_advlink.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_advlink.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_advlink.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,55 @@ + + + +Plugin: advlink + + + + +
          +

          Plugin: advlink

          +
          + +
          +

          This is a more advanced link dialog mostly based on code contributed by Michael Keck. This link plugin supports popup windows and targets.

          + +

          Installation Instructions

          +

          +

            +
          • Copy the advlink directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "advlink".
          • +
          • Add this "a[name|href|target|title|onclick]" to extended_valid_elements option.
          • +
          + +

          + + + + + +
          Advlink plugin options
          advlink_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
          +
          +

          + +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "advlink"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_autosave.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_autosave.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_autosave.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_autosave.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ + + + +Plugin: autosave + + + + +
          +

          Plugin: autosave

          +
          + +
          +

          This plugin gives the user a warning if they made modifications to a editor instance but didn't submit them. This plugin will most likely be extended in the future to provide AJAX auto save support.

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "autosave"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_contextmenu.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_contextmenu.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_contextmenu.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_contextmenu.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,43 @@ + + + +Plugin: contextmenu + + + + +
          +

          Plugin: contextmenu

          +
          + +
          +

          + +

          Installation Instructions

          +

          +

            +
          • Copy the contextmenu directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "contextmenu".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "contextmenu"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_directionality.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_directionality.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_directionality.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_directionality.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ + + + +Plugin: directionality + + + + +
          +

          Plugin: directionality

          +
          + +
          +

          This plugin adds directionality icons to TinyMCE that enables TinyMCE to better handle languages that is written from right to left.

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "directionality".
          • +
          • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "ltr,rtl".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "directionality",
          +	theme_advanced_buttons3_add : "ltr,rtl"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_emotions.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_emotions.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_emotions.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_emotions.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,53 @@ + + + +Plugin: emotions + + + + +
          +

          Plugin: emotions

          +
          + +
          +

          The emotions plugin is able to insert smiley images into the TinyMCE editable area.

          + +

          Installation Instructions

          +

          +

            +
          • Copy the emotions directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "emotions".
          • +
          • Add the emotions button name to button list, example: theme_advanced_buttons3_add : "emotions".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "emotions",
          +	theme_advanced_buttons3_add : "emotions"
          +});
          +
          +

          + +
          + +

          Copyright notice

          +

          + These emotions where taken from Mozilla Thunderbird. I hope they don't get angry if I use them here after all this is a open source project aswell and I realy love their product. +

          +
          + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_flash.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_flash.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_flash.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_flash.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,79 @@ + + + +Plugin: flash + + + + +
          +

          Plugin: flash

          +
          + +
          +

          This is the "Insert Flash" Dialog, it enables users to insert flash movies into TinyMCE.

          +

          You can control the wmode, quality and menu by setting the flash_wmode, flash_quality and flash_menu options.

          + +

          Installation Instructions

          +

          +

            +
          • Copy the flash directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "flash".
          • +
          • Add this "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]" to extended_valid_elements option.
          • +
          • Add the flash button name to button list, example: theme_advanced_buttons3_add : "flash".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "flash",
          +	extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]"
          +	flash_external_list_url : "example_flash_list.js", // Optional URL to a list of SWF movies
          +	flash_wmode : "transparent",
          +	flash_quality : "high",
          +	flash_menu : "false"
          +});
          +
          +

          + +
          + +

          Additional note

          +

          + The flash plugin has been heavily modified (the original is editor_plugin_original.js) since the original did not play nicely with html content that already contained existing flash tags and in fact stripped out the object + tags for existing flash html. The rewrite corrects this as well attempts + to preserve the existing flash tags where possible. The tinyMCE.init call + should be be something like: +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "flash",
          +	extended_valid_elements : "img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|obj|param|embed]"
          +});
          +
          +

          +

          Note the extra obj,param,embed attributes for the img tag. These attributes + are used to serialize data from existing flash tags so that they can be + properly restored. Editing a flash tag with the plugin will cause this + information to be lost (sorry!) but still produces a working flash nevertheless. +

          +
          + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_fullpage.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_fullpage.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_fullpage.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_fullpage.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,112 @@ + + + +Plugin: fullpage + + + + +
          +

          Plugin: fullpage

          +
          + +
          +

          This plugin adds fullpage editing support. This enables you to edit whole documents with both head and body.

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "fullpage".
          • +
          • Add the fullpage button name to button list, example: theme_advanced_buttons3_add : "fullpage".
          • +
          +

          + +

          +

          Options

          +

          +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          [fullpage_doctypes]This is a name/value list of possible document types. The value format of this option is name=value,name=value. These document types will be presented in the document type selection list. The default value of this option is: XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">">,HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">.
          [fullpage_fonts]This option enables you specify what font family style values that can be added to the body element. The value format of this option is name=value;name=value. The default value of this option is: Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings +
          [fullpage_fontsizes]This is a comma separated list of possible font sizes for the style attribute of the body element. This option defaults to: 10px,11px,12px,13px,14px,15px,16px.
          [fullpage_encodings]This option enables you to specify what the document character encoding sets the user may select from. The default value of this option is: Western european (iso-8859-1)=iso-8859-1,Central European (iso-8859-2)=iso-8859-2,Unicode (UTF-8)=utf-8,Chinese traditional (Big5)=big5,Cyrillic (iso-8859-5)=iso-8859-5,Japanese (iso-2022-jp)=iso-2022-jp,Greek (iso-8859-7)=iso-8859-7,Korean (iso-2022-kr)=iso-2022-kr,ASCII (us-ascii)=us-ascii +
          [fullpage_default_doctype]This option enables you to specify the default doctype for the output HTML.
          [fullpage_default_encoding]This option enables you to specify the default encoding for the output HTML.
          [fullpage_default_title]This option enables you to specify the default title for the output HTML.
          [fullpage_default_font_size]This option enables you to specify the default font size for body element.
          [fullpage_default_font_family]This option enables you to specify the default font family for body element.
          [fullpage_default_text_color]This option enables you to specify the default text color for body element.
          [fullpage_default_langcode]This option enables you to specify the default langcode for the output HTML.
          [fullpage_default_xml_pi]This option enables you to specify if a XML declaration should be added or not true/false option.
          +

          +

          +

          Initialization Example

          +

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "fullpage",
          +	theme_advanced_buttons3_add : "fullpage",
          +	fullpage_fontsizes : '13px,14px,15px,18pt,xx-large',
          +	fullpage_default_xml_pi : false,
          +	fullpage_default_langcode : 'en',
          +	fullpage_default_title : "My document title"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_fullscreen.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_fullscreen.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_fullscreen.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_fullscreen.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,58 @@ + + + +Plugin: fullscreen + + + + +
          +

          Plugin: fullscreen

          +
          + +
          +

          This plugin adds fullscreen editing mode to TinyMCE.

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "fullscreen".
          • +
          • Add the fullscreen button name to button list, example: theme_advanced_buttons3_add : "fullscreen".
          • +
          +

          + +

          + + + + + +
          Fullscreen plugin options
          fullscreen_settingsThis option gives you the ability to have diffrent settings applied when the editor is in fullscreen mode for example more tools.
          +
          +

          + +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "fullscreen",
          +	theme_advanced_buttons3_add : "fullscreen",
          +	fullscreen_settings : {
          +		theme_advanced_path_location : "top"
          +	}
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_iespell.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_iespell.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_iespell.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_iespell.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,45 @@ + + + +Plugin: iespell + + + + +
          +

          Plugin: iespell

          +
          + +
          +

          + +

          Installation Instructions

          +

          +

            +
          • Copy the iespell directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "iespell".
          • +
          • Add the iespell button name to button list, example: theme_advanced_buttons3_add : "iespell".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "iespell",
          +	theme_advanced_buttons3_add : "iespell"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_inlinepopups.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_inlinepopups.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_inlinepopups.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_inlinepopups.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,36 @@ + + + +Plugin: inlinepopups + + + + +
          +

          Plugin: inlinepopups

          +
          + +
          +

          This plugin makes all dialogs to open as floating DIV layers instead of popup windows. This option can be very useful inorder to get around popup blockers. This plugin should be treated as experimental since it's not 100% compatible yet.

          + +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "inlinepopups"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_insertdatetime.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_insertdatetime.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_insertdatetime.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_insertdatetime.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,107 @@ + + + +Plugin: insertdatetime + + + + +
          +

          Plugin: insertdatetime

          +
          + +
          +

          + +

          Installation Instructions

          +

          +

            +
          • Copy the iespell directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "iespell".
          • +
          • Add the insertdate or inserttime button name to button list, example: theme_advanced_buttons3_add : "insertdate,inserttime".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "insertdatetime",
          +	theme_advanced_buttons3_add : "insertdate,inserttime"
          +    plugin_insertdate_dateFormat : "%Y-%m-%d",
          +    plugin_insertdate_timeFormat : "%H:%M:%S"
          +});
          +
          +

          +

          +

          Options

          +

          +

          + plugin_insertdate_dateFormat - Format that the date is output as. Defaults to: "%Y-%m-%d".
          + plugin_insertdate_timeFormat - Format that the time is output as. Defaults to: "%H:%M:%S". +

          +

          Replacement variables

          +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          %yyear as a decimal number without a century (range 00 to 99)
          %Yyear as a decimal number including the century
          %dday of the month as a decimal number (range 01 to 31)
          %mmonth as a decimal number (range 01 to 12)
          %Dsame as %m/%d/%y
          %rtime in a.m. and p.m. notation
          %Hhour as a decimal number using a 24-hour clock (range 00 to 23)
          %Ihour as a decimal number using a 12-hour clock (range 01 to 12)
          %Mminute as a decimal number (range 00-59)
          %Ssecond as a decimal number (range 00-59)
          %peither "am" or "pm" according to the given time value
          %%a literal "%" character
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_layer.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_layer.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_layer.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_layer.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,46 @@ + + + +Plugin: layer + + + + +
          +

          Plugin: layer

          +
          + +
          +

          Adds a layer suport to TinyMCE by making it possible to create/remove and z-index block elements.

          + +

          These are the possible button control that this plugin contains: insertlayer,moveforward,movebackward,absolute

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "layer".
          • +
          • Add the insertlayer,moveforward,movebackward,absolute button names to button list, example: theme_advanced_buttons3_add : "insertlayer,moveforward,movebackward,absolute".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "layer",
          +	theme_advanced_buttons3_add : "insertlayer,moveforward,movebackward,absolute"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_noneditable.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_noneditable.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_noneditable.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_noneditable.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,54 @@ + + + +Plugin: noneditable + + + + +
          +

          Plugin: noneditable

          +
          + +
          +

          Adds non editable elements support for MSIE and Mozilla/FF. Any element with the "mceItemNonEditable" class will be blocked from modifications and treated as a single character. This class name is configurable using the "noneditable_noneditable_class". Any elements with the MSIE specific attribute "contenteditable" will be converted into classes instead.

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "noneditable",
          +	noneditable_leave_contenteditable : true
          +});
          +
          +

          + +

          +

          Options

          + + + + + + + + + + + + + +
          [noneditable_editable_class]Class name to be used for editable elements, this would be the the same as contenteditable=true, forcing a element to be editable. This option defaults to: "mceItemEditable". Notice that classes with the mceItem prefix is invisible within TinyMCE.
          [noneditable_noneditable_class]Class name to be used for non editable elements, this would be the same as contenteditable=false. This option defaults to: "mceItemNonEditable". Notice that classes with the mceItem prefix is invisible within TinyMCE.
          [noneditable_leave_contenteditable]If the value of this option is set to true, all contenteditable attributes will be left intact. This option is set to false by default, since this attribute is not a valid W3C attribute and the class approach is better.
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_paste.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_paste.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_paste.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_paste.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,139 @@ + + + +Plugin: paste + + + + +
          +

          Plugin: paste

          +
          + +
          +

          This plugin adds paste as plain text and paste from Word icons to TinyMCE. This plugin was developed by Ryan Demmer and modified by the TinyMCE crew to be more general and some extra features where added.

          +

          + On 25 May 2005, this plugin was modified by speednet: IE now pastes directly into the editor, bypassing the extra steps of opening the Insert box, selecting options, and clicking Insert. Speednet also added the Select All command, which highlights all the content in the editor when the user clicks the toolbar button (Other miscellaneous cleanup also). +

          +

          On 28 October 2005, this plugin was modified by monkeybrain: Added the paste_strip_class_attributes option.

          +

          Installation Instructions

          +

          +

            +
          • Copy the paste directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "paste".
          • +
          • Add the button names to button list, example: theme_advanced_buttons3_add : "pastetext,pasteword,selectall".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "paste",
          +	theme_advanced_buttons3_add : "pastetext,pasteword,selectall",
          +	paste_create_paragraphs : false,
          +	paste_create_linebreaks : false,
          +	paste_use_dialog : true,
          +	paste_auto_cleanup_on_paste : true,
          +	paste_convert_middot_lists : false,
          +	paste_unindented_list_class : "unindentedList",
          +	paste_convert_headers_to_strong : true,
          +	paste_insert_word_content_callback : "convertWord"
          +});
          +
          +function convertWord(type, content) {
          +	switch (type) {
          +		// Gets executed before the built in logic performes it's cleanups
          +		case "before":
          +			content = content.toLowerCase(); // Some dummy logic
          +			break;
          +
          +		// Gets executed after the built in logic performes it's cleanups
          +		case "after":
          +			content = content.toLowerCase(); // Some dummy logic
          +			break;
          +	}
          +
          +	return content;
          +}
          +
          +
          +

          +

          +

          Options

          +

          +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          [paste_create_paragraphs]If enabled double linefeeds are converted to paragraph elements when using the plain text dialog. This is enabled by default.
          [paste_create_linebreaks]If enabled single linefeeds are converted to hard line break elements when using the plain text dialog. This is enabled by default.
          [paste_use_dialog]MSIE specific option, if you set this to true both Mozilla and MSIE will present a paste dialog. If you set it to false pasting in MSIE will be done directly. This option is set to false by default.
          [paste_auto_cleanup_on_paste]MSIE specific option. If you enable this feature, a word paste will be executed when the user copy/paste content to the editor. This feature is disabled by default.
          [paste_convert_middot_lists]If this feature is enabled middot lists are converted into UL lists, these will be assign a special class.
          [paste_unindented_list_class]This option enables you to specify what class to assign to the UL list of middot converted lists. Middot lists are unindented in MS Office. This option defaults to "unIndentedList".
          [paste_convert_headers_to_strong]This feature converts H1-6 elements to strong elements on paste, this is feature is disabled by default.
          [paste_remove_spans]This enables you to control if the word parse operation should remove or keep span elements, they will be removed by default.
          [paste_remove_styles]This enables you to control if the word parse operation should remove or keep style attributes, they will be removed by default.
          [paste_replace_list]Comma separated list of search/replace chunks. Where even items is the regexp that is to be used for the search and odd values are the contents that are to be replaced. +

          This option defaults to: "\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-" this list replaces some custom MS 1250 characters. +

          + The \uXXXX values is the hex values of the Unicode characters. Trick use javascript:alert('<unicode char>'.charCodeAt(0).toString(16)); to retive these numbers.
          [paste_strip_class_attributes]This feature allows you to control whether or not class attributes are stripped when using pasteword. Valid values are: +
            +
          • all - will strip all class attributes from the pasted content. This is the default value.
          • +
          • none - will not strip any class attributes from the pasted content.
          • +
          • mso - will strip out all of the class attribute values that start with "Mso", but retain all others.
          • +
          +
          [paste_insert_word_content_callback]This option enables you to specify a callback function. This callback is executed when the user pastes word content, the return value of this function will be the new content string. Check the example above for more details. +
          +

          + +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_preview.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_preview.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_preview.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_preview.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,66 @@ + + + +Plugin: preview + + + + +
          +

          Plugin: preview

          +
          + +
          +

          This plugin adds a preview button to TinyMCE, pressing the button opens a popup showing the current content.

          + +

          Installation Instructions

          +

          +

            +
          • Copy the preview directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "preview".
          • +
          • Add the button name to button list, example: theme_advanced_buttons3_add : "preview".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "preview",
          +	theme_advanced_buttons3_add : "preview",
          +	plugin_preview_width : "500",
          +	plugin_preview_height : "600"
          +});
          +
          +

          +

          +

          Options

          +

          +

          + + + + + + + + + + + + + +
          [plugin_preview_width]Preview window width. Defaults to 550.
          [plugin_preview_height]Preview window height. Defaults to 600.
          [plugin_preview_pageurl]Custom preview page URL relative from theme use "../../plugins/preview/example.html" for a example.
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_print.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_print.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_print.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_print.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,45 @@ + + + +Plugin: paste + + + + +
          +

          Plugin: print

          +
          + +
          +

          This plugin adds a print button to TinyMCE.

          + +

          Installation Instructions

          +

          +

            +
          • Copy the print directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          • +
          • Add plugin to TinyMCE plugin option list example: plugins : "print".
          • +
          • Add the button name to button list, example: theme_advanced_buttons3_add : "print".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "print",
          +	theme_advanced_buttons3_add : "print"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_save.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_save.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_save.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_save.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,65 @@ + + + +Plugin: save + + + + +
          +

          Plugin: save

          +
          + +
          +

          This plugin adds a save button to TinyMCE this save button will submit the form that the editor is within.

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "save".
          • +
          • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "save".
          • +
          +

          + +

          +

          Options

          +

          +

          + + + + + + + + + +
          [save_enablewhendirty]If you set this option to true, the edit button will be disabled/dimmed until modifications are made. This is disabled by default.
          [onchange_callback]This option enables you to add a custom function to be called when the save button/command is invoked. This is not used by default.
          +

          + +

          +

          Initialization Example

          +

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "save",
          +	theme_advanced_buttons3_add : "save",
          +	save_enablewhendirty : true,
          +	onchange_callback : "mysave"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_searchreplace.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_searchreplace.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_searchreplace.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_searchreplace.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ + + + +Plugin: searchreplace + + + + +
          +

          Plugin: searchreplace

          +
          + +
          +

          This plugin adds search/replace dialogs to TinyMCE.

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "searchreplace".
          • +
          • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "search,replace".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "searchreplace",
          +	theme_advanced_buttons3_add : "search,replace"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_spellchecker.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_spellchecker.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_spellchecker.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_spellchecker.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,72 @@ + + + +Plugin: spellchecker + + + + +
          +

          Plugin: spellchecker

          +
          + +
          +

          This plugin adds spellchecker functionality to TinyMCE by providing a new button that performs a AJAX call to a backend PHP page that uses pspell.

          +

          Installation Instructions

          +

          +

            +
          1. Download the spellchecker plugin from the TinyMCE website.
          2. +
          3. Copy the spellchecker directory to the plugins directory of TinyMCE (/jscripts/tiny_mce/plugins).
          4. +
          5. Add plugin to TinyMCE plugin option list example: plugins : "spellchecker".
          6. +
          7. Add the button name to button list, example: theme_advanced_buttons3_add : "spellchecker".
          8. +
          +

          +

          Spellchecker plugins/modes

          +

          + TinyMCE Spellchecker currently supports 3 modes. These are available as configurable PHP classes. +

            +
          • TinyPspell - Run pspell within PHP. (PHP needs to be compiled with pspell support)
          • +
          • TinyPspellShell - Run pspell as a command line shell application.
          • +
          • TinyGoogleSpell - Use HTTP proxy bridge to connect to a Google XML Web Service.
          • +
          + Use this as the value for the the languages option when you are using the GoogleSpell class: +English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "spellchecker",
          +	theme_advanced_buttons3_add : "spellchecker",
          +	spellchecker_languages : "+English=en,Swedish=sv",
          +	spellchecker_word_separator_chars : "\\s!\"#$%&()*+,-./:;<=>?@[\]ˆ_{|}©«®»\u201d\u201c"
          +});
          +
          +
          +

          +

          +

          Options

          +

          +

          + + + + + + + + + +
          [spellchecker_languages]Enables you to specify what languages your pspell installation can handle. The value of this option should be a comma separated name value list in the following format name1=value1,name2=value,name3=value where name is the string to present in the menu and the value is a ISO language code like sv or en. If you add a + character infront of the name it will be the default value for the spellchecker. The default value for this option is: +English=en.
          [spellchecker_word_separator_chars]This option enables you to specify the word separator characters. The default value for this option is: \\s!"#$%&()*+,-./:;<=>?@[\]^_{|}\u201d\u201c.
          +

          +
          + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_style.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_style.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_style.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_style.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,303 @@ + + + +Plugin: style + + + + +
          +

          Plugin: style

          +
          + +
          +

          Adds CSS style editing support to TinyMCE, this will enable you to edit allmost any CSS style property in a visual way.

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "style".
          • +
          • Add the styleprops butto names to button list, example: theme_advanced_buttons3_add : "styleprops".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "style",
          +	theme_advanced_buttons3_add : "styleprops"
          +});
          +
          +

          +
          + +

          Options

          +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          [style_font]Semicolon separated list of select box option name/values. Default: Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;Times New Roman, Times, serif=Times New Roman, Times, serif;Courier New, Courier, mono=Courier New, Courier, mono;Times New Roman, Times, serif=Times New Roman, Times, serif;Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif
          [style_font_size]Semicolon separated list of select box option name/values. In format key1=value1;key2=value2;..
          [style_font_size_measurement]Semicolon separated list of select box option name/values.
          [style_text_case]Semicolon separated list of select box option name/values.
          [style_font_weight]Semicolon separated list of select box option name/values.
          [style_font_style]Semicolon separated list of select box option name/values.
          [style_font_variant]Semicolon separated list of select box option name/values.
          [style_font_line_height]Semicolon separated list of select box option name/values.
          [style_font_line_height_measurement]Semicolon separated list of select box option name/values.
          [style_background_attachment]Semicolon separated list of select box option name/values.
          [style_background_repeat]Semicolon separated list of select box option name/values.
          [style_background_hpos_measurement]Semicolon separated list of select box option name/values.
          [style_background_vpos_measurement]Semicolon separated list of select box option name/values.
          [style_background_hpos]Semicolon separated list of select box option name/values.
          [style_background_vpos]Semicolon separated list of select box option name/values.
          [style_wordspacing]Semicolon separated list of select box option name/values.
          [style_wordspacing_measurement]Semicolon separated list of select box option name/values.
          [style_letterspacing]Semicolon separated list of select box option name/values.
          [style_letterspacing_measurement]Semicolon separated list of select box option name/values.
          [style_vertical_alignment]Semicolon separated list of select box option name/values.
          [style_text_align]Semicolon separated list of select box option name/values.
          [style_whitespace]Semicolon separated list of select box option name/values.
          [style_display]Semicolon separated list of select box option name/values.
          [style_text_indent_measurement]Semicolon separated list of select box option name/values.
          [style_box_width_measurement]Semicolon separated list of select box option name/values.
          [style_box_height_measurement]Semicolon separated list of select box option name/values.
          [style_float]Semicolon separated list of select box option name/values.
          [style_clear]Semicolon separated list of select box option name/values.
          [style_padding_left_measurement]Semicolon separated list of select box option name/values.
          [style_padding_top_measurement]Semicolon separated list of select box option name/values.
          [style_padding_bottom_measurement]Semicolon separated list of select box option name/values.
          [style_padding_right_measurement]Semicolon separated list of select box option name/values.
          [style_margin_left_measurement]Semicolon separated list of select box option name/values.
          [style_margin_top_measurement]Semicolon separated list of select box option name/values.
          [style_margin_bottom_measurement]Semicolon separated list of select box option name/values.
          [style_margin_right_measurement]Semicolon separated list of select box option name/values.
          [style_border_style_top]Semicolon separated list of select box option name/values.
          [style_border_style_right]Semicolon separated list of select box option name/values.
          [style_border_style_bottom]Semicolon separated list of select box option name/values.
          [style_border_style_left]Semicolon separated list of select box option name/values.
          [style_border_width_top]Semicolon separated list of select box option name/values.
          [style_border_width_right]Semicolon separated list of select box option name/values.
          [style_border_width_bottom]Semicolon separated list of select box option name/values.
          [style_border_width_left]Semicolon separated list of select box option name/values.
          [style_border_width_top_measurement]Semicolon separated list of select box option name/values.
          [style_border_width_right_measurement]Semicolon separated list of select box option name/values.
          [style_border_width_bottom_measurement]Semicolon separated list of select box option name/values.
          [style_border_width_left_measurement]Semicolon separated list of select box option name/values.
          [style_list_type]Semicolon separated list of select box option name/values.
          [style_list_position]Semicolon separated list of select box option name/values.
          [style_positioning_type]Semicolon separated list of select box option name/values.
          [style_positioning_visibility]Semicolon separated list of select box option name/values.
          [style_positioning_width_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_height_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_overflow]Semicolon separated list of select box option name/values.
          [style_positioning_placement_top_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_placement_right_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_placement_bottom_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_placement_left_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_clip_top_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_clip_right_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_clip_bottom_measurement]Semicolon separated list of select box option name/values.
          [style_positioning_clip_left_measurement]Semicolon separated list of select box option name/values.
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_table.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_table.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_table.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_table.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,104 @@ + + + +Plugin: table + + + + +
          +

          Plugin: table

          +
          + +
          +

          + This plugin adds table management functionality to TinyMCE. +

          + +

          + + + + + + + + + + + + + + + + + + +
          Table controls/buttons
          tablecontrolsAll table control below and some separators between them.
          tableInsert table control.
          row_propsEdit row properties (tr).
          cell_propsEdit cell properties (td).
          delete_colDelete column control.
          delete_rowDelete row control.
          col_afterColumn after control.
          col_beforeColumn before control.
          row_afterRow after control.
          row_beforeRow before control.
          row_afterRow after control.
          row_beforeRow before control.
          split_cellsSplits a merged cell into rows and columns.
          merge_cellsMergers selected cells into one cell.
          +

          + +

          + + + + + + + + + + + +
          Table commands to use with execCommand
          mceInsertTableInserts a new table at cursor location the default size is 2x2. If the value parameter is specified it should contain a name/value array, this array has the following options cols, rows, border, cellspacing, cellpadding. The default border is set to: 0.
          mceTableInsertRowBeforeInserts a row before/above the current cursor location.
          mceTableInsertRowAfterInserts a row after/under the current cursor location.
          mceTableDeleteRowDeletes the row at the current cursor location.
          mceTableInsertColBeforeInserts a column before the current cursor location.
          mceTableInsertColAfterInserts a column after the current cursor location.
          mceTableDeleteColDeletes the column at the current cursor location.
          +

          + +

          + + + + + + + + + + +
          Options
          table_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
          table_cell_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
          table_row_stylesThis option should contain a semicolon separated list of class titles and class names separated by =. The titles are the ones that get presented to the user in the styles drop down list and and the class names is the classes that gets inserted.
          table_cell_limitEnables you to specify the max number of cells for a table.
          table_row_limitEnables you to specify the max number of rows for a table.
          table_col_limitEnables you to specify the max number of columns for a table.
          +
          +

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "directionality".
          • +
          • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "ltr,rtl".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "table",
          +	theme_advanced_buttons3_add : "tablecontrols",
          +	table_styles : "Header 1=header1;Header 2=header2;Header 3=header3",
          +	table_cell_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Cell=tableCel1",
          +	table_row_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1",
          +	table_cell_limit : 100,
          +	table_row_limit : 5,
          +	table_col_limit : 5
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_zoom.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_zoom.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/plugin_zoom.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/plugin_zoom.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,44 @@ + + + +Plugin: zoom + + + + +
          +

          Plugin: zoom

          +
          + +
          +

          Adds a zoom drop list in MSIE5.5+, this plugin was mostly created to show how to add custom droplists as plugins.

          + +

          Installation Instructions

          +

          +

            +
          • Add plugin to TinyMCE plugin option list example: plugins : "zoom".
          • +
          • Add the ltr, rtl button names to button list, example: theme_advanced_buttons3_add : "zoom".
          • +
          +

          +

          Initialization Example

          +

          +

          +
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas",
          +	plugins : "zoom",
          +	theme_advanced_buttons3_add : "zoom"
          +});
          +
          +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/reference_buttons.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/reference_buttons.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/reference_buttons.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/reference_buttons.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,149 @@ + + + +List of all buttons/controls available, and their plugin requirements. + + + + +
          +

          List of all buttons/controls available, and their plugin requirements.

          +
          + +
          +

          + This is a list of all the avalible buttons that you can configure, the requirements are also listed as some buttons require you to include the plugin first. Check each plugin for more information, some plugins have seperate configurations. Use the theme_advanced_buttons<1-n>, theme_advanced_buttons<1-n>_add or theme_advanced_buttons<1-n>_add_before options to add new buttons and to disable buttons use the theme_advanced_disable option. +

          +
          + +

          +

          Default buttons available in the advanced theme

          + bold
          + italic
          + underline
          + strikethrough
          + justifyleft
          + justifycenter
          + justifyright
          + justifyfull
          + bullist
          + numlist
          + outdent
          + indent
          + cut
          + copy
          + paste
          + undo
          + redo
          + link
          + unlink
          + image
          + cleanup
          + help
          + code
          + hr
          + removeformat
          + formatselect
          + fontselect
          + fontsizeselect
          + styleselect
          + sub
          + sup
          + forecolor
          + backcolor
          + charmap
          + visualaid
          + anchor
          + newdocument
          + separator
          +

          +

          +

          Plugins with the button name same as plugin name

          + save
          + emotions
          + flash
          + iespell
          + preview
          + print
          + zoom
          + fullscreen
          + advhr
          + fullpage
          + spellchecker
          +
          +

          +

          +

          Plugins with custom buttons

          +
            + +
          • advlink
          • +
              +
            • Will override the "link" button
            • +
            +
          • advimage
          • +
              +
            • Will override the "image" button
            • +
            +
          • paste
          • +
              +
            • pastetext
            • +
            • pasteword
            • +
            • selectall
            • +
            +
          • searchreplace
          • +
              +
            • search
            • +
            • replace
            • +
            +
          • insertdatetime
          • +
              +
            • insertdate
            • +
            • inserttime
            • +
            +
          • table
          • +
              +
            • tablecontrols
            • +
            • table
            • +
            • row_props
            • +
            • cell_props
            • +
            • delete_col
            • +
            • delete_row
            • +
            • col_after
            • +
            • col_before
            • +
            • row_after
            • +
            • row_before
            • +
            • row_after
            • +
            • row_before
            • +
            • split_cells
            • +
            • merge_cells
            • +
            +
          • directionality
          • +
              +
            • ltr
            • +
            • rtl
            • +
            +
          • layer
          • +
              +
            • moveforward
            • +
            • movebackward
            • +
            • absolute
            • +
            • insertlayer
            • +
            +
          • style
          • +
              +
            • styleprops
            • +
            +
          +

          +
          + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/reference_configuration.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/reference_configuration.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/reference_configuration.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/reference_configuration.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,228 @@ + + + +Configuration reference + + + + +
          +

          Configuration reference

          +
          + +
          +

          This document is the index/reference page for all available core configuration options in TinyMCE.

          + +
          + +

          Configuration options

          +
          +

          All configuration options below is to be placed within the init JavaScript call.

          + +

          + + + +
          +

          +
          + +
          + +

          Initialization of TinyMCE

          +
          +

          Inorder to initialize the TinyMCE the following code must be placed within HEAD element of a document. The following example is configurated to convert all TEXTAREA elements to into editors when the page loads, there are other modes as well.

          +

          Example of TinyMCE configuration:

          +
          +
          +<html>
          +<head>
          +<script language="javascript" type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script>
          +<script language="javascript" type="text/javascript">
          +tinyMCE.init({
          +	theme : "advanced",
          +	mode : "textareas"
          +});
          +</script>
          +</head>
          +
          +
          +
          + Note: Remember to remove the last "," character in the options list. +
          +
          + + +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/reference_javascript_functions.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/reference_javascript_functions.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/reference_javascript_functions.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/reference_javascript_functions.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,597 @@ + + + +Javascript Functions + + + + +
          +

          Javascript Functions

          +
          + +
          +

          This is for advanced users, TinyMCE has a global instance with some public functions that can be called from the page.

          +

          tinyMCE.triggerSave([skip_cleanup], [skip_callback]);

          +

          +Makes a cleanup and moves the contents from the editor to the form field. This method is automaticly called by tinyMCE by adding a trigger on the forms submit method. +

          +

          + + + + + + + + + + + + + + + + +
          Parameters
          [skip_cleanup]Disables the cleanup process of trigger save. Defaults to false. (Optional)
          [skip_callback]Disables the execution of the save_callback function. Defaults to false. (Optional)
          + +skip_callback +

          +

          +Returns: Nothing +

          +
          +

          tinyMCE.updateContent(form_element_name);

          +

          +Moves the contents from the form element to the editor, this does the opposite of triggerSave(). This method can be used when you want to change the contents of the editor dynamicly. +

          +

          + + + + + + + + + + + + +
          Parameters
          form_element_nameThe name of the form element to get contents from.
          +

          +

          +Returns: Nothing +

          +
          +

          tinyMCE.execInstanceCommand(editor_id, command, [user_interface], [value]);

          +

          +This method executes a command by name on the editor instance specified by the editor_id parameter. +

          +

          + + + + + + + + + + + + + + + + + + + + + + + + +
          Parameters
          editor_idID of editor instance or element id/name of the replaced element.
          commandCommand to execute check the execCommand function for details.
          [user_interface]Is a user interface to be used or not.
          [value]Value to pass with command for example a URL..
          +

          +

          +Returns: Nothing +

          +
          +

          tinyMCE.execCommand(command, [user_interface], [value]);

          +

          +This method executes a command by name on the selected editor instance. +

          +

          + + + + + + + + + + + + + + + + + + + + +
          Parameters
          commandCommand to execute for example "Bold" or "Italic". These are defined by Mozilla Midas specification or Microsoft specification. But there are a some TinyMCE specific commands many other commands are available within plugins and themes.

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          mceLinkOpens the insert link dialog and inserts a link.
          mceImageOpens the insert image dialog and inserts a image.
          mceCleanupRemoved unwanted elements and attributes from the HTML code.
          mceHelpOpens the manual pages.
          mceAddControlAdds a editor control to the element id/name specified as value.
          mceRemoveControlRemoves a specific control by editor_id name. The value is the editor_id to remove, editor ids are in the following format: "mce_editor_<index>". DOM element ids and form element names can allso be used.
          mceFocusFocuses the editor by the id placed in value. Editor id's are in the format "mce_editor_". DOM element ids and form element names can allso be used.
          mceSetCSSClassSets the CSS class attribute or creates a new span of the selection. The value is the css class name to assign to selected element or new span element.
          mceInsertContentInserts contents of value parameter to current cursor position.
          mceReplaceContentReplaces the current selection with the HTML code in value. The {$selection} variable gets replaced with the currently selected text contents.
          mceSetAttributeSets a attribute of the currenly selected element. The value of this command should be a name/value array with the following parameters.

          + name - Attribute name to set.
          + value - Attrbute value to set.
          + [targets] - Target elements to add attribute on. Default: p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address.

          + Example of usage:
          + tinyMCE.execCommand('mceSetAttribute',false,{name:'align',value:'right'});
          +
          mceToggleVisualAidToggles visual aid/guidelines mode on/off.
          mceAnchorInserts a named anchor element, the value is the name of the anchor.
          mceResetDesignModeResets the designMode state of all editor instances, this command is useful on Firefox if the editor is placed in tabs or shown/hidden with style.display="none/block". Call this command after the editor displayed again.
          mceSelectNodeSelects the node/element passed as value. This command will also scroll to the elements location within the editor.
          mceSelectNodeDepthSelects the node/element by depth relative from the current node. So a value of 0 will select the currently focused node. This command will also scroll to the elements location within the editor.
          mceRemoveNodeRemoves the specified node and places the contents of the node in the same location. Specify the node reference to remove in the value parameter or null if the currently selected node is to be removed.
          +
          [user_interface]Tells if the command is to display a user interface or not. True/False option.
          [value]Value to pass for the command for example to insertLink it's the URL of the link.
          + +

          +

          +Returns: Nothing +

          +

          +Example: +

          +

          +

          +
          +<a href="javascript:tinymce.execCommand('Bold');">[Do bold]</a>
          +
          +
          +

          +
          +

          (Deprecated) tinyMCE.insertLink(href, target);

          +

          This method is deprecated and removed as of 2.0.3. Use tinyMCE.execCommand('mceInsertContent',false,'custom html'); instead and tinyMCE.getInstanceById('<inst>').selection.getFocusElement() to retrive/update the selected element.

          +

          But if you realy need the old function it's marked internal but is available in the advanced theme and you can call it by using tinyMCE.themes['advanced']._insertLink(href, target);. But the recommended way is to modify your code to use the logic above.

          +

          This method inserts a link a the cursor position of the selected editor instance or updates the selected link with new data. This method should be called upon "ok" in the insertLink popup when you create custom themes. +

          + + + + + + + + + + + + + + + + +
          Parameters
          hrefHREF/URL of the link.
          targetTarget of the link.
          +

          +Returns: Nothing +

          +
          +

          (Deprecated) tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);

          +

          This method is deprecated and removed as of 2.0.3. Use tinyMCE.execCommand('mceInsertContent',false,'custom html'); instead or if you realy need the old function it's marked internal but is available in the advanced theme and you can call it by using tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout);. But the recommended way is to modify your code to use the logic above.

          +

          +This method inserts a image a the cursor position of the selected editor instance or updates the selected image with new data. This method should be called upon "ok" in the insertImage popup when you create custom themes. +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Parameters
          srcImage src url.
          altAlternative text of img element.
          borderBorder of image element.
          hspaceHorizontal spacing of image element.
          vspaceVertical spacing of image element.
          widthWidth of image element.
          heightHeight of image element.
          alignAlignment of image element.
          titleLink title of image element.
          onmouseoverOn mouse over event handler of image element.
          onmouseoutOn mouse out event handler of image element.
          +

          +Returns: Nothing +

          +
          +

          tinyMCE.triggerNodeChange();

          +

          This method is to be called when external changes is made to the editor. This method will then call the "handleNodeChangeCallback" callback in the theme. +

          +

          +Parameters: +

          +

          +None +

          +

          +Returns: Nothing +

          +
          +

          tinyMCE.getContent();

          +

          +This method returns the HTML contents of the currently selected editor or null if no editor was selected. +

          +

          +Parameters: +

          +

          +None +

          +

          +Returns: HTML contents of the currently selected editor or null. +

          +
          +

          Syntax: tinyMCE.setContent(html);

          + +

          This method sets the HTML contents of the currently selected editor.

          + +

          + + + + + + + + + + + + +
          Parameters
          htmlHTML Source code to set.
          +

          +

          +Returns: None. +

          +
          +

          tinyMCE.getInstanceById(editor_id);

          +

          +This method returns a editor instance by editor id. +

          +

          + + + + + + + + + + + + +
          Parameters
          editor_idEditor instance to retrive.
          +

          +

          +Returns: TinyMCE Editor instance (TinyMCE_Control). +

          +
          +

          tinyMCE.importThemeLanguagePack([theme]);

          +

          +This method imports/loads theme specific language packs. This may be called from custom themes. +

          +

          + + + + + + + + + + + + +
          Parameters
          [theme]Name of the current theme. This is a optional parameter it defaults to the global "theme" setting. This parameter is useful within theme plugins.
          +

          +

          +Returns: None. +

          +
          +

          tinyMCE.importPluginLanguagePack(plugin, valid_languages);

          +

          +This method imports/loads plugin specific language packs. This may be called from custom plugins. +

          +

          + + + + + + + + + + + + + + + + +
          Parameters
          pluginName of the current plugin.
          valid_languagesComma separated list of supported languagepacks.
          +

          +

          +Returns: None. +

          +
          +

          tinyMCE.applyTemplate(html);

          +

          +This method replaces settings and lang variables in the theme. +

          +

          + + + + + + + + + + + + +
          Parameters
          htmlHTML code to apply theme variable substitution on.
          +

          +

          +Returns: New converted, HTML code. +

          +
          +

          tinyMCE.openWindow(template, [args]);

          +

          This method opens a new window by the template data assigned, it will get the width, height and html data from template parameters. The args array contains variable names to be substituted.

          +

          +There are some custom window arguments: +

          +

          + + + + + + + + + + + + + + + + +
          Parameters
          mce_replacevariablesEnables/Disables the language/variable replacement of the document HTML. Enabled by default.
          mce_windowresizeEnables/Disables the auto resize feature of popupwindows. Enabled by default.
          +

          + +

          + + + + + + + + + + + + + + + + +
          Parameters
          templateName/Value array with width, height, html and file keys in it.
          [args]Name/Value array with variable names to replace. Variables in the template file key value (URL) gets replaced with the argument list.
          +

          +

          +Returns: None. +

          +
          +

          tinyMCE.getWindowArg(name, [default_value]);

          +

          +This method returns a window argument defined by name. This function is to be used in theme popup windows to retrive dialog parameters. +

          +

          + + + + + + + + + + + + + + + + +
          Parameters
          nameName of window argument to get.
          [default_value]Default value to be returned if window argument is missing.
          +

          +

          +Returns: Window argument value. +

          +
          +

          tinyMCE.setWindowArg(name, value);

          +

          This method sets a window argument by name. This can for example be useful if plugin are to call other plugins.

          +

          + + + + + + + + + + + + + + + + +
          Parameters
          nameName of window argument to set.
          valueValue to set in window argument.
          +

          +

          +Returns: Window argument value. +

          +
          +

          tinyMCE.getParam(name, [default_value], [strip_whitespace]);

          +

          This method returns a TinyMCE configuration parameter.

          +

          + + + + + + + + + + + + + + + + + + + + +
          Parameters:
          nameName of window argument to get.
          [default_value]Default value to be returned if window argument is missing.
          [strip_whitespace]If true all whitespace will be removed from return value, default: false.
          +

          +

          +Returns: TinyMCE configuration parameter. +

          +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/reference_plugins.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/reference_plugins.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/docs/reference_plugins.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/docs/reference_plugins.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,78 @@ + + + +Plugins Reference + + + + +
          +

          Plugins reference

          +
          + +
          +

          Here are some information about the different plugins.

          + +
          + +

          Plugins

          +
          +

          To use a plugin, you need to use the advanced theme and add the plugin name in the "plugin" comma seperated line. You also need to add the button to the interface, read more about the advanced plugin to configure this.

          +

          +

          + + +
          +

          +

          + Please notice that the plugins can require some configuration, click on the plugin link to read more about that plugin. +

          +
          + +
          + + +
          + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/auth_plugin.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/auth_plugin.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/auth_plugin.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/auth_plugin.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,36 @@ +usertype = $my->usertype; + $this->username = $my->username; + $this->grp = $my->gid; + $this->mainframe = mosMainFrame::getInstance(); + } + function getUserName() + { + return $this->username; + } + function getUserType() + { + return $this->usertype; + } + function isAdmin() + { + return ( strtolower( $this->usertype ) == 'superadministrator' || strtolower( $this->usertype ) == 'super administrator' || $this->grp == 16 ) ? true : false; + } +} + +?> diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/blank.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/blank.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/blank.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/blank.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,9 @@ + + + blank_page + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/info/editor_info_english.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/info/editor_info_english.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/info/editor_info_english.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/info/editor_info_english.txt 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,27 @@ +MOStlyCE
          + MOStlyCE Content Editor - a wysiwyg editor for Mambo, based on Moxiecode's TinyMCE! and mosCE
          +
          + Features:
          +
          +
            +
          • All the features of TinyMCE 2.0.6.1 by Moxiecode http://tinymce.moxiecode.com
          • +
          • Originally based on mosCE 1.0.3 Final
          • +
          • Editor compression
          • +
          • Font styling, tables, emotions, search & replace, etc
          • +
          • Familiar MS Word like editing
          • +
          • Ability to enable / disable certain plugins as needed
          • +
          +
          + + Installation:
          +
            +
          • You may need to chmod MOStlyCE folders to 755 and files to 644 in mambots/editors/mostlyce
            + if you receive internal server errors with the Image Manager.
          • +
          • Warning : mostlyce_config.php must remain writable!
          • +
          • If you want to use a custom_css file for the editor, make a copy of your site template CSS,
            + rename it to editor_content.css (or whatever you specify in the paramters) and place it in your
            + template css folder. Activate the 'Overide Theme CSS' in paramters.
          • +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/info/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/info/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/info/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/info/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/langs/en.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,41 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +bold_desc : 'Bold (Ctrl+B)', +italic_desc : 'Italic (Ctrl+I)', +underline_desc : 'Underline (Ctrl+U)', +striketrough_desc : 'Strikethrough', +justifyleft_desc : 'Align left', +justifycenter_desc : 'Align center', +justifyright_desc : 'Align right', +justifyfull_desc : 'Align full', +bullist_desc : 'Unordered list', +numlist_desc : 'Ordered list', +outdent_desc : 'Outdent', +indent_desc : 'Indent', +undo_desc : 'Undo (Ctrl+Z)', +redo_desc : 'Redo (Ctrl+Y)', +link_desc : 'Insert/edit link', +unlink_desc : 'Unlink', +image_desc : 'Insert/edit image', +cleanup_desc : 'Cleanup messy code', +focus_alert : 'A editor instance must be focused before using this command.', +edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?', +insert_link_title : 'Insert/edit link', +insert : 'Insert', +update : 'Update', +cancel : 'Cancel', +insert_link_url : 'Link URL', +insert_link_target : 'Target', +insert_link_target_same : 'Open link in the same window', +insert_link_target_blank : 'Open link in a new window', +insert_image_title : 'Insert/edit image', +insert_image_src : 'Image URL', +insert_image_alt : 'Image description', +help_desc : 'Help', +bold_img : "bold.gif", +italic_img : "italic.gif", +underline_img : "underline.gif", +clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?', +popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/langs/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/langs/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/langs/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/langs/readme.txt 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,7 @@ +Language packs are from version 2.0.5 removed from the core but can be downloadable from the TinyMCE website. +http://tinymce.moxiecode.com/download.php + +The language pack codes are based on ISO-639-1 +http://www.loc.gov/standards/iso639-2/englangn.html + +Try using entires if possible. å etc. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/license.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/license.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/license.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/license.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,437 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. +. + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. +. + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. +. + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. +. + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. +. + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. +. + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. +. + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. +. + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,41 @@ + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_functions.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_functions.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_functions.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_functions.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,10 @@ +function MamboSave(editor_id, html, body) +{ + if(convert_urls){ + base_url = tinyMCE.settings['mambo_base_url']; + html = tinyMCE.regexpReplace(html, 'href\s*=\s*"?'+base_url+'', 'href="', 'gi'); + html = tinyMCE.regexpReplace(html, 'src\s*=\s*"?'+base_url+'', 'src="', 'gi'); + html = tinyMCE.regexpReplace(html, 'value\s*=\s*"?'+base_url+'', 'value="', 'gi'); + } + return html; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('template','en,tr,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl');var TinyMCE_TemplatePlugin={getInfo:function(){return{longname:'Template plugin',author:'Your name',authorurl:'http://www.yoursite.com',infourl:'http://www.yoursite.com/docs/template.html',version:"1.0"};},initInstance:function(inst){alert("Initialization parameter:"+tinyMCE.getParam("template_someparam",false));inst.addShortcut('ctrl','t','lang_template_desc','mceTemplate');},getControlHTML:function(cn){switch(cn){case"template":return tinyMCE.getButtonHTML(cn,'lang_template_desc','{$pluginurl}/images/template.gif','mceTemplate',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceTemplate":if(user_interface){var template=new Array();template['file']='../../plugins/template/popup.htm';template['width']=300;template['height']=200;tinyMCE.openWindow(template,{editor_id:editor_id,some_custom_arg:"somecustomdata"});tinyMCE.triggerNodeChange(false);}else{alert("execCommand: mceTemplate gets called from popup.");}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node.parentNode.nodeName=="STRONG"||node.parentNode.nodeName=="B"){tinyMCE.switchClass(editor_id+'_template','mceButtonSelected');return true;}tinyMCE.switchClass(editor_id+'_template','mceButtonNormal');},setupContent:function(editor_id,body,doc){},onChange:function(inst){},handleEvent:function(e){top.status="template plugin event: "+e.type;return true;},cleanup:function(type,content,inst){switch(type){case"get_from_editor":alert("[FROM] Value HTML string: "+content);break;case"insert_to_editor":alert("[TO] Value HTML string: "+content);break;case"get_from_editor_dom":alert("[FROM] Value DOM Element "+content.innerHTML);break;case"insert_to_editor_dom":alert("[TO] Value DOM Element: "+content.innerHTML);break;}return content;},_someInternalFunction:function(a,b){return 1;}};tinyMCE.addPlugin("template",TinyMCE_TemplatePlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,238 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.12 $ + * $Date: 2006/02/22 20:06:23 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('template', 'en,tr,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl'); // <- Add a comma separated list of all supported languages + +/**** + * Steps for creating a plugin from this template: + * + * 1. Change all "template" to the name of your plugin. + * 2. Remove all the callbacks in this file that you don't need. + * 3. Remove the popup.htm file if you don't need any popups. + * 4. Add your custom logic to the callbacks you needed. + * 5. Write documentation in a readme.txt file on how to use the plugin. + * 6. Upload it under the "Plugins" section at sourceforge. + * + ****/ + +// Singleton class +var TinyMCE_TemplatePlugin = { + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @returns Name/value array containing information about the plugin. + * @type Array + */ + getInfo : function() { + return { + longname : 'Template plugin', + author : 'Your name', + authorurl : 'http://www.yoursite.com', + infourl : 'http://www.yoursite.com/docs/template.html', + version : "1.0" + }; + }, + + /** + * Gets executed when a TinyMCE editor instance is initialized. + * + * @param {TinyMCE_Control} Initialized TinyMCE editor control instance. + */ + initInstance : function(inst) { + // You can take out plugin specific parameters + alert("Initialization parameter:" + tinyMCE.getParam("template_someparam", false)); + + // Register custom keyboard shortcut + inst.addShortcut('ctrl', 't', 'lang_template_desc', 'mceTemplate'); + }, + + /** + * Returns the HTML code for a specific control or empty string if this plugin doesn't have that control. + * A control can be a button, select list or any other HTML item to present in the TinyMCE user interface. + * The variable {$editor_id} will be replaced with the current editor instance id and {$pluginurl} will be replaced + * with the URL of the plugin. Language variables such as {$lang_somekey} will also be replaced with contents from + * the language packs. + * + * @param {string} cn Editor control/button name to get HTML for. + * @return HTML code for a specific control or empty string. + * @type string + */ + getControlHTML : function(cn) { + switch (cn) { + case "template": + return tinyMCE.getButtonHTML(cn, 'lang_template_desc', '{$pluginurl}/images/template.gif', 'mceTemplate', true); + } + + return ""; + }, + + /** + * Executes a specific command, this function handles plugin commands. + * + * @param {string} editor_id TinyMCE editor instance id that issued the command. + * @param {HTMLElement} element Body or root element for the editor instance. + * @param {string} command Command name to be executed. + * @param {string} user_interface True/false if a user interface should be presented. + * @param {mixed} value Custom value argument, can be anything. + * @return true/false if the command was executed by this plugin or not. + * @type + */ + execCommand : function(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + // Remember to have the "mce" prefix for commands so they don't intersect with built in ones in the browser. + case "mceTemplate": + // Show UI/Popup + if (user_interface) { + // Open a popup window and send in some custom data in a window argument + var template = new Array(); + + template['file'] = '../../plugins/template/popup.htm'; // Relative to theme + template['width'] = 300; + template['height'] = 200; + + tinyMCE.openWindow(template, {editor_id : editor_id, some_custom_arg : "somecustomdata"}); + + // Let TinyMCE know that something was modified + tinyMCE.triggerNodeChange(false); + } else { + // Do a command this gets called from the template popup + alert("execCommand: mceTemplate gets called from popup."); + } + + return true; + } + + // Pass to next handler in chain + return false; + }, + + /** + * Gets called ones the cursor/selection in a TinyMCE instance changes. This is useful to enable/disable + * button controls depending on where the user are and what they have selected. This method gets executed + * alot and should be as performance tuned as possible. + * + * @param {string} editor_id TinyMCE editor instance id that was changed. + * @param {HTMLNode} node Current node location, where the cursor is in the DOM tree. + * @param {int} undo_index The current undo index, if this is -1 custom undo/redo is disabled. + * @param {int} undo_levels The current undo levels, if this is -1 custom undo/redo is disabled. + * @param {boolean} visual_aid Is visual aids enabled/disabled ex: dotted lines on tables. + * @param {boolean} any_selection Is there any selection at all or is there only a cursor. + */ + handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { + // Select template button if parent node is a strong or b + if (node.parentNode.nodeName == "STRONG" || node.parentNode.nodeName == "B") { + tinyMCE.switchClass(editor_id + '_template', 'mceButtonSelected'); + return true; + } + + // Deselect template button + tinyMCE.switchClass(editor_id + '_template', 'mceButtonNormal'); + }, + + /** + * Gets called when a TinyMCE editor instance gets filled with content on startup. + * + * @param {string} editor_id TinyMCE editor instance id that was filled with content. + * @param {HTMLElement} body HTML body element of editor instance. + * @param {HTMLDocument} doc HTML document instance. + */ + setupContent : function(editor_id, body, doc) { + }, + + /** + * Gets called when the contents of a TinyMCE area is modified, in other words when a undo level is + * added. + * + * @param {TinyMCE_Control} inst TinyMCE editor area control instance that got modified. + */ + onChange : function(inst) { + }, + + /** + * Gets called when TinyMCE handles events such as keydown, mousedown etc. TinyMCE + * doesn't listen on all types of events so custom event handling may be required for + * some purposes. + * + * @param {Event} e HTML editor event reference. + * @return true - pass to next handler in chain, false - stop chain execution + * @type boolean + */ + handleEvent : function(e) { + // Display event type in statusbar + top.status = "template plugin event: " + e.type; + + return true; // Pass to next handler + }, + + /** + * Gets called when HTML contents is inserted or retrived from a TinyMCE editor instance. + * The type parameter contains what type of event that was performed and what format the content is in. + * Possible valuses for type is get_from_editor, insert_to_editor, get_from_editor_dom, insert_to_editor_dom. + * + * @param {string} type Cleanup event type. + * @param {mixed} content Editor contents that gets inserted/extracted can be a string or DOM element. + * @param {TinyMCE_Control} inst TinyMCE editor instance control that performes the cleanup. + * @return New content or the input content depending on action. + * @type string + */ + cleanup : function(type, content, inst) { + switch (type) { + case "get_from_editor": + alert("[FROM] Value HTML string: " + content); + + // Do custom cleanup code here + + break; + + case "insert_to_editor": + alert("[TO] Value HTML string: " + content); + + // Do custom cleanup code here + + break; + + case "get_from_editor_dom": + alert("[FROM] Value DOM Element " + content.innerHTML); + + // Do custom cleanup code here + + break; + + case "insert_to_editor_dom": + alert("[TO] Value DOM Element: " + content.innerHTML); + + // Do custom cleanup code here + + break; + } + + return content; + }, + + // Private plugin internal methods + + /** + * This is just a internal plugin method, prefix all internal methods with a _ character. + * The prefix is needed so they doesn't collide with future TinyMCE callback functions. + * + * @param {string} a Some arg1. + * @param {string} b Some arg2. + * @return Some return. + * @type string + */ + _someInternalFunction : function(a, b) { + return 1; + } +}; + +// Adds the plugin class to the list of available TinyMCE plugins +tinyMCE.addPlugin("template", TinyMCE_TemplatePlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/images/template.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/images/template.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,8 @@ +// UK lang variables + +/* Remember to namespace the language parameters lang__ */ + +tinyMCE.addToLang('',{ +template_title : 'This is just a template popup', +template_desc : 'This is just a template button' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/popup.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/popup.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/popup.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/popup.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,48 @@ + + + {$lang_template_title} + + + + + +
          +

          {$lang_template_title}

          + + +
          + The selected element name: +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/_template/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +This is a template/tutorial plugin that where created to help you in the development of own plugins for TinyMCE. \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/css/advhr.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/css/advhr.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/css/advhr.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/css/advhr.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,23 @@ +input.radio { + border: 1px none #000000; + background-color: transparent; + vertical-align: middle; +} + +.panel_wrapper div.current { + height: 80px; +} + +#width { + width: 50px; + vertical-align: middle; +} + +#width2 { + width: 50px; + vertical-align: middle; +} + +#size { + width: 100px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/css/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('advhr','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_AdvancedHRPlugin={getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advhr.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"advhr":return tinyMCE.getButtonHTML(cn,'lang_insert_advhr_desc','{$pluginurl}/images/advhr.gif','mceAdvancedHr');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_advhr_delta_width',0);template['height']+=tinyMCE.getLang('lang_advhr_delta_height',0);var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):"";}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'});}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'
          ');}else{tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",size:size,width:width,noshade:noshade,mceDo:'insert'});}}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="HR"){tinyMCE.switchClass(editor_id+'_advhr','mceButtonSelected');return true;}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advhr','mceButtonNormal');return true;}};tinyMCE.addPlugin("advhr",TinyMCE_AdvancedHRPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,92 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.19 $ + * $Date: 2006/02/10 16:29:37 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('advhr', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk'); + +var TinyMCE_AdvancedHRPlugin = { + getInfo : function() { + return { + longname : 'Advanced HR', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advhr.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + } + }, + + getControlHTML : function(cn) { + switch (cn) { + case "advhr": + return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr'); + } + + return ""; + }, + + /** + * Executes the mceAdvanceHr command. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mceAdvancedHr": + var template = new Array(); + + template['file'] = '../../plugins/advhr/rule.htm'; // Relative to theme + template['width'] = 250; + template['height'] = 160; + + template['width'] += tinyMCE.getLang('lang_advhr_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0); + + var size = "", width = "", noshade = ""; + if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") { + tinyMCE.hrElement = tinyMCE.selectedElement; + + if (tinyMCE.hrElement) { + size = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : ""; + width = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : ""; + noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : ""; + } + + tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'}); + } else { + if (tinyMCE.isMSIE) { + tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'
          '); + } else { + tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'}); + } + } + + return true; + } + + // Pass to next handler in chain + return false; + }, + + handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { + if (node == null) + return; + + do { + if (node.nodeName == "HR") { + tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected'); + return true; + } + } while ((node = node.parentNode)); + + tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal'); + + return true; + } +}; + +tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin); Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/images/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,41 @@ +function init() { + var formObj = document.forms[0]; + formObj.width.value = tinyMCE.getWindowArg('width'); + formObj.size.value = tinyMCE.getWindowArg('size'); + formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'),'Insert',true); + if (tinyMCE.getWindowArg('noshade')) { + formObj.noshade.checked = true; + } + if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) { + formObj.width2.value = "%"; + formObj.width.value = formObj.width.value.substring(0,formObj.width.value.length-1); + } +} + +function insertHR() { + var formObj = document.forms[0]; + var width = formObj.width.value; + var size = formObj.size.value; + var html = ' \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/readme.txt 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/rule.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/rule.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/rule.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advhr/rule.htm 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,61 @@ + + + {$lang_insert_advhr_desc} + + + + + + + +
          + + +
          +
          + + + + + + + + + + + + + +
          + + +
          +
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/css/advimage.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/css/advimage.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/css/advimage.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/css/advimage.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,66 @@ +/* CSS file for advimage plugin popup */ + +.mceImageList { + width: 280px; +} + +.mceActionPanel { + margin-top: 7px; +} + +.alignPreview { + border: 1px solid black; + width: 140px; + height: 140px; + overflow: hidden; + padding: 5px; +} + +.checkbox { + border: 0; +} + +.panel_wrapper div.current { + height: 305px; +} + +#prev { + margin: 0; + border: 1px + solid black; + width: 99%; + height: 150px; + overflow: auto; +} + +#align, #classlist { + width: 150px; +} + +#width, #height { + vertical-align: middle; + width: 50px; + text-align: center; +} + +#vspace, #hspace, #border { + vertical-align: middle; + width: 30px; + text-align: center; +} + +#classlist { + width: 180px; +} + +input { + width: 280px; +} + +#constrain, #onmousemovecheck { + width: auto; +} + +#id, #dir, #lang, #usemap, #longdesc { + width: 200px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/css/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('advimage','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da');var TinyMCE_AdvancedImagePlugin={getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advimage.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"image":return tinyMCE.getButtonHTML(cn,'lang_image_desc','{$themeurl}/images/image.gif','mceAdvImage');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvImage":var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=480;template['height']=380;template['width']+=tinyMCE.getLang('lang_advimage_delta_width',0);template['height']+=tinyMCE.getLang('lang_advimage_delta_height',0);var inst=tinyMCE.getInstanceById(editor_id);var elm=inst.getFocusElement();if(elm!=null&&tinyMCE.getAttrib(elm,'class').indexOf('mceItem')!=-1)return true;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;}return false;},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i + + {$lang_insert_image_title} + + + + + + + + +
          + + +
          +
          +
          + {$lang_advimage_general} + + + + + + + + + + + + + + + + + + +
          + + + + +
           
           
          +
          + +
          + {$lang_advimage_preview} + +
          +
          + +
          +
          + {$lang_advimage_tab_appearance} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + {$lang_advimage_example_img} + Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam + nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum + edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam + erat volutpat. +
          +
          + x + px +
            + + + + +
          +
          + +
          +
          +
          + +
          +
          + {$lang_advimage_swap_image} + + + + + + + + + + + + + + + + + + + + + +
          + + + + +
           
           
          + + + + +
           
           
          +
          + +
          + {$lang_advimage_misc} + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + +
          + + + + +
           
          +
          +
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/images/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/images/sample.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/images/sample.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,545 @@ +/* Functions for the advimage plugin popup */ + +var preloadImg = null; +var orgImageWidth, orgImageHeight; + +function preinit() { + // Initialize + tinyMCE.setWindowArg('mce_windowresize', false); + + // Import external list url javascript + var url = tinyMCE.getParam("external_image_list_url"); + if (url != null) { + // Fix relative + if (url.charAt(0) != '/' && url.indexOf('://') == -1) + url = tinyMCE.documentBasePath + "/" + url; + + document.write(''); + } +} + +function convertURL(url, node, on_save) { + return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);"); +} + +function getImageSrc(str) { + var pos = -1; + + if (!str) + return ""; + + if ((pos = str.indexOf('this.src=')) != -1) { + var src = str.substring(pos + 10); + + src = src.substring(0, src.indexOf('\'')); + + if (tinyMCE.getParam('convert_urls')) + src = convertURL(src, null, true); + + return src; + } + + return ""; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var elm = inst.getFocusElement(); + var action = "insert"; + var html = ""; + + // Image list src + html = getImageListHTML('imagelistsrc','src','onSelectMainImage'); + if (html == "") + document.getElementById("imagelistsrcrow").style.display = 'none'; + else + document.getElementById("imagelistsrccontainer").innerHTML = html; + + // Image list oversrc + html = getImageListHTML('imagelistover','onmouseoversrc'); + if (html == "") + document.getElementById("imagelistoverrow").style.display = 'none'; + else + document.getElementById("imagelistovercontainer").innerHTML = html; + + // Image list outsrc + html = getImageListHTML('imagelistout','onmouseoutsrc'); + if (html == "") + document.getElementById("imagelistoutrow").style.display = 'none'; + else + document.getElementById("imagelistoutcontainer").innerHTML = html; + + // Src browser + html = getBrowserHTML('srcbrowser','src','image','advimage'); + document.getElementById("srcbrowsercontainer").innerHTML = html; + + // Over browser + html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage'); + document.getElementById("onmouseoversrccontainer").innerHTML = html; + + // Out browser + html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage'); + document.getElementById("onmouseoutsrccontainer").innerHTML = html; + + // Longdesc browser + html = getBrowserHTML('longdescbrowser','longdesc','file','advimage'); + document.getElementById("longdesccontainer").innerHTML = html; + + // Resize some elements + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '260px'; + + if (isVisible('oversrcbrowser')) + document.getElementById('onmouseoversrc').style.width = '260px'; + + if (isVisible('outsrcbrowser')) + document.getElementById('onmouseoutsrc').style.width = '260px'; + + if (isVisible('longdescbrowser')) + document.getElementById('longdesc').style.width = '180px'; + + // Check action + if (elm != null && elm.nodeName == "IMG") + action = "update"; + + formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); + + if (action == "update") { + var src = tinyMCE.getAttrib(elm, 'src'); + var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover'))); + var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout'))); + + src = convertURL(src, elm, true); + + // Use mce_src if found + var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src'); + if (mceRealSrc != "") { + src = mceRealSrc; + + if (tinyMCE.getParam('convert_urls')) + src = convertURL(src, elm, true); + } + + if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls')) + onmouseoversrc = convertURL(onmouseoversrc, elm, true); + + if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls')) + onmouseoutsrc = convertURL(onmouseoutsrc, elm, true); + + // Setup form data + var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style")); + + // Store away old size + orgImageWidth = trimSize(getStyle(elm, 'width')) + orgImageHeight = trimSize(getStyle(elm, 'height')); + + formObj.src.value = src; + formObj.alt.value = tinyMCE.getAttrib(elm, 'alt'); + formObj.title.value = tinyMCE.getAttrib(elm, 'title'); + formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth')); + formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace'); + formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace'); + formObj.width.value = orgImageWidth; + formObj.height.value = orgImageHeight; + formObj.onmouseoversrc.value = onmouseoversrc; + formObj.onmouseoutsrc.value = onmouseoutsrc; + formObj.id.value = tinyMCE.getAttrib(elm, 'id'); + formObj.dir.value = tinyMCE.getAttrib(elm, 'dir'); + formObj.lang.value = tinyMCE.getAttrib(elm, 'lang'); + formObj.longdesc.value = tinyMCE.getAttrib(elm, 'longdesc'); + formObj.usemap.value = tinyMCE.getAttrib(elm, 'usemap'); + formObj.style.value = tinyMCE.serializeStyle(style); + + // Select by the values + if (tinyMCE.isMSIE) + selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat')); + else + selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat')); + + addClassesToList('classlist', 'advimage_styles'); + + selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class')); + selectByValue(formObj, 'imagelistsrc', src); + selectByValue(formObj, 'imagelistover', onmouseoversrc); + selectByValue(formObj, 'imagelistout', onmouseoutsrc); + + updateStyle(); + showPreviewImage(src, true); + changeAppearance(); + + window.focus(); + } else + addClassesToList('classlist', 'advimage_styles'); + + // If option enabled default contrain proportions to checked + if (tinyMCE.getParam("advimage_constrain_proportions", true)) + formObj.constrain.checked = true; + + // Check swap image if valid data + if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "") + setSwapImageDisabled(false); + else + setSwapImageDisabled(true); +} + +function setSwapImageDisabled(state) { + var formObj = document.forms[0]; + + formObj.onmousemovecheck.checked = !state; + + setBrowserDisabled('overbrowser', state); + setBrowserDisabled('outbrowser', state); + + if (formObj.imagelistover) + formObj.imagelistover.disabled = state; + + if (formObj.imagelistout) + formObj.imagelistout.disabled = state; + + formObj.onmouseoversrc.disabled = state; + formObj.onmouseoutsrc.disabled = state; +} + +function setAttrib(elm, attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib]; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value != "") { + elm.setAttribute(attrib, value); + + if (attrib == "style") + attrib = "style.cssText"; + + if (attrib == "longdesc") + attrib = "longDesc"; + + if (attrib == "width") { + attrib = "style.width"; + value = value + "px"; + } + + if (attrib == "height") { + attrib = "style.height"; + value = value + "px"; + } + + if (attrib == "class") + attrib = "className"; + + eval('elm.' + attrib + "=value;"); + } else + elm.removeAttribute(attrib); +} + +function makeAttrib(attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib]; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value == "") + return ""; + + // XML encode it + value = value.replace(/&/g, '&'); + value = value.replace(/\"/g, '"'); + value = value.replace(//g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function insertAction() { + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var elm = inst.getFocusElement(); + var formObj = document.forms[0]; + var src = formObj.src.value; + var onmouseoversrc = formObj.onmouseoversrc.value; + var onmouseoutsrc = formObj.onmouseoutsrc.value; + + if (tinyMCE.getParam("accessibility_warnings")) { + if (formObj.alt.value == "") { + var answer = confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true)); + if (answer == true) { + formObj.alt.value = " "; + } + } else { + var answer = true; + } + + if (!answer) + return; + } + + if (onmouseoversrc && onmouseoversrc != "") + onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';"; + + if (onmouseoutsrc && onmouseoutsrc != "") + onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';"; + + if (elm != null && elm.nodeName == "IMG") { + setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement)); + setAttrib(elm, 'mce_src', src); + setAttrib(elm, 'alt'); + setAttrib(elm, 'title'); + setAttrib(elm, 'border'); + setAttrib(elm, 'vspace'); + setAttrib(elm, 'hspace'); + setAttrib(elm, 'width'); + setAttrib(elm, 'height'); + setAttrib(elm, 'onmouseover', onmouseoversrc); + setAttrib(elm, 'onmouseout', onmouseoutsrc); + setAttrib(elm, 'id'); + setAttrib(elm, 'dir'); + setAttrib(elm, 'lang'); + setAttrib(elm, 'longdesc'); + setAttrib(elm, 'usemap'); + setAttrib(elm, 'style'); + setAttrib(elm, 'class', getSelectValue(formObj, 'classlist')); + setAttrib(elm, 'align', getSelectValue(formObj, 'align')); + + //tinyMCEPopup.execCommand("mceRepaint"); + + // Repaint if dimensions changed + if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight) + inst.repaint(); + + // Refresh in old MSIE + if (tinyMCE.isMSIE5) + elm.outerHTML = elm.outerHTML; + } else { + var html = "' + + getImageData(src); +} + +function getImageData(src) { + preloadImg = new Image(); + + tinyMCE.addEvent(preloadImg, "load", updateImageData); + tinyMCE.addEvent(preloadImg, "error", resetImageData); + + preloadImg.src = src; +} + +function updateImageData() { + var formObj = document.forms[0]; + + if (formObj.width.value == "") + formObj.width.value = preloadImg.width; + + if (formObj.height.value == "") + formObj.height.value = preloadImg.height; + + updateStyle(); +} + +function resetImageData() { + var formObj = document.forms[0]; + formObj.width.value = formObj.height.value = ""; +} + +function getSelectValue(form_obj, field_name) { + var elm = form_obj.elements[field_name]; + + if (elm == null || elm.options == null) + return ""; + + return elm.options[elm.selectedIndex].value; +} + +function getImageListHTML(elm_id, target_form_element, onchange_func) { + if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0) + return ""; + + var html = ""; + + html += ''; + + return html; + + // tinyMCE.debug('-- image list start --', html, '-- image list end --'); +} + +// While loading +preinit(); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/langs/en.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,27 @@ +// UK lang variables + +tinyMCE.addToLang('advimage',{ +tab_general : 'General', +tab_appearance : 'Appearance', +tab_advanced : 'Advanced', +general : 'General', +title : 'Title', +preview : 'Preview', +constrain_proportions : 'Constrain proportions', +langdir : 'Language direction', +langcode : 'Language code', +long_desc : 'Long description link', +style : 'Style', +classes : 'Classes', +ltr : 'Left to right', +rtl : 'Right to left', +id : 'Id', +image_map : 'Image map', +swap_image : 'Swap image', +alt_image : 'Alternative image', +mouseover : 'for mouse over', +mouseout : 'for mouse out', +misc : 'Miscellaneous', +example_img : 'Appearance preview image', +missing_alt : 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/langs/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advimage/readme.txt 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/css/advlink.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/css/advlink.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/css/advlink.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/css/advlink.css 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,35 @@ +/* CSS file for advimage plugin popup */ + +.mceLinkList, .mceAnchorList, #targetlist { + width: 280px; +} + +.mceActionPanel { + margin-top: 7px; +} + +.panel_wrapper div.current { + height: 320px; +} + +#classlist, #title, #href { + width: 280px; +} + +#popupurl, #popupname { + width: 200px; +} + +#popupwidth, #popupheight, #popupleft, #popuptop { + width: 30px; + vertical-align: middle; + text-align: center; +} + +#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey { + width: 200px; +} + +#events_panel input { + width: 200px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/css/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('advlink','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da');var TinyMCE_AdvancedLinkPlugin={getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){inst.addShortcut('ctrl','k','lang_advlink_desc','mceAdvLink');},getControlHTML:function(cn){switch(cn){case"link":return tinyMCE.getButtonHTML(cn,'lang_link_desc','{$themeurl}/images/link.gif','mceAdvLink');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvLink":var anySelection=false;var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var selectedText=inst.selection.getSelectedText();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(anySelection||(focusElm!=null&&focusElm.nodeName=="A")){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=480;template['height']=400;template['width']+=tinyMCE.getLang('lang_advlink_delta_width',0);template['height']+=tinyMCE.getLang('lang_advlink_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="A"&&tinyMCE.getAttrib(node,'href')!=""){tinyMCE.switchClass(editor_id+'_advlink','mceButtonSelected');return true;}}while((node=node.parentNode));if(any_selection){tinyMCE.switchClass(editor_id+'_advlink','mceButtonNormal');return true;}tinyMCE.switchClass(editor_id+'_advlink','mceButtonDisabled');return true;}};tinyMCE.addPlugin("advlink",TinyMCE_AdvancedLinkPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,90 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.24 $ + * $Date: 2006/02/10 16:29:38 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('advlink', 'en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,es,is,zh_tw,zh_tw_utf8,sk,da'); + +var TinyMCE_AdvancedLinkPlugin = { + getInfo : function() { + return { + longname : 'Advanced link', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_advlink.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + initInstance : function(inst) { + inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink'); + }, + + getControlHTML : function(cn) { + switch (cn) { + case "link": + return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink'); + } + + return ""; + }, + + execCommand : function(editor_id, element, command, user_interface, value) { + switch (command) { + case "mceAdvLink": + var anySelection = false; + var inst = tinyMCE.getInstanceById(editor_id); + var focusElm = inst.getFocusElement(); + var selectedText = inst.selection.getSelectedText(); + + if (tinyMCE.selectedElement) + anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0); + + if (anySelection || (focusElm != null && focusElm.nodeName == "A")) { + var template = new Array(); + + template['file'] = '../../plugins/advlink/link.htm'; + template['width'] = 480; + template['height'] = 400; + + // Language specific width and height addons + template['width'] += tinyMCE.getLang('lang_advlink_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0); + + tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); + } + + return true; + } + + return false; + }, + + handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { + if (node == null) + return; + + do { + if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") { + tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected'); + return true; + } + } while ((node = node.parentNode)); + + if (any_selection) { + tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal'); + return true; + } + + tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled'); + + return true; + } +}; + +tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,568 @@ +/* Functions for the advlink plugin popup */ + +var templates = { + "window.open" : "window.open('${url}','${target}','${options}')" +}; + +function preinit() { + // Initialize + tinyMCE.setWindowArg('mce_windowresize', false); + + // Import external list url javascript + var url = tinyMCE.getParam("external_link_list_url"); + if (url != null) { + // Fix relative + if (url.charAt(0) != '/' && url.indexOf('://') == -1) + url = tinyMCE.documentBasePath + "/" + url; + + document.write(''); + } +} + +function changeClass() { + var formObj = document.forms[0]; + formObj.classes.value = getSelectValue(formObj, 'classlist'); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var elm = inst.getFocusElement(); + var action = "insert"; + var html; + + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink'); + document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink'); + document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href'); + document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href'); + document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target'); + + // Link list + html = getLinkListHTML('linklisthref','href'); + if (html == "") + document.getElementById("linklisthrefrow").style.display = 'none'; + else + document.getElementById("linklisthrefcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '260px'; + + if (isVisible('popupurlbrowser')) + document.getElementById('popupurl').style.width = '180px'; + + elm = tinyMCE.getParentElement(elm, "a"); + if (elm != null && elm.nodeName == "A") + action = "update"; + + formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); + + setPopupControlsDisabled(true); + + if (action == "update") { + var href = tinyMCE.getAttrib(elm, 'href'); + + href = convertURL(href, elm, true); + + // Use mce_href if found + var mceRealHref = tinyMCE.getAttrib(elm, 'mce_href'); + if (mceRealHref != "") { + href = mceRealHref; + + if (tinyMCE.getParam('convert_urls')) + href = convertURL(href, elm, true); + } + + var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick')); + + // Setup form data + setFormValue('href', href); + setFormValue('title', tinyMCE.getAttrib(elm, 'title')); + setFormValue('id', tinyMCE.getAttrib(elm, 'id')); + setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style")))); + setFormValue('rel', tinyMCE.getAttrib(elm, 'rel')); + setFormValue('rev', tinyMCE.getAttrib(elm, 'rev')); + setFormValue('charset', tinyMCE.getAttrib(elm, 'charset')); + setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang')); + setFormValue('dir', tinyMCE.getAttrib(elm, 'dir')); + setFormValue('lang', tinyMCE.getAttrib(elm, 'lang')); + setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('type', tinyMCE.getAttrib(elm, 'type')); + setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus'))); + setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur'))); + setFormValue('onclick', onclick); + setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick'))); + setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown'))); + setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup'))); + setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover'))); + setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove'))); + setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout'))); + setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress'))); + setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown'))); + setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup'))); + setFormValue('target', tinyMCE.getAttrib(elm, 'target')); + setFormValue('classes', tinyMCE.getAttrib(elm, 'class')); + + // Parse onclick data + if (onclick != null && onclick.indexOf('window.open') != -1) + parseWindowOpen(onclick); + else + parseFunction(onclick); + + // Select by the values + selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir')); + selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel')); + selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev')); + selectByValue(formObj, 'linklisthref', href); + + if (href.charAt(0) == '#') + selectByValue(formObj, 'anchorlist', href); + + addClassesToList('classlist', 'advlink_styles'); + + selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true); + selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true); + } else + addClassesToList('classlist', 'advlink_styles'); + + window.focus(); +} + +function setFormValue(name, value) { + document.forms[0].elements[name].value = value; +} + +function convertURL(url, node, on_save) { + return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);"); +} + +function parseWindowOpen(onclick) { + var formObj = document.forms[0]; + + // Preprocess center code + if (onclick.indexOf('return false;') != -1) { + formObj.popupreturn.checked = true; + onclick = onclick.replace('return false;', ''); + } else + formObj.popupreturn.checked = false; + + var onClickData = parseLink(onclick); + + if (onClickData != null) { + formObj.ispopup.checked = true; + setPopupControlsDisabled(false); + + var onClickWindowOptions = parseOptions(onClickData['options']); + var url = onClickData['url']; + + if (tinyMCE.getParam('convert_urls')) + url = convertURL(url, null, true); + + formObj.popupname.value = onClickData['target']; + formObj.popupurl.value = url; + formObj.popupwidth.value = getOption(onClickWindowOptions, 'width'); + formObj.popupheight.value = getOption(onClickWindowOptions, 'height'); + + formObj.popupleft.value = getOption(onClickWindowOptions, 'left'); + formObj.popuptop.value = getOption(onClickWindowOptions, 'top'); + + if (formObj.popupleft.value.indexOf('screen') != -1) + formObj.popupleft.value = "c"; + + if (formObj.popuptop.value.indexOf('screen') != -1) + formObj.popuptop.value = "c"; + + formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes"; + formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes"; + formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes"; + formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes"; + formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes"; + formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes"; + formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes"; + + buildOnClick(); + } +} + +function parseFunction(onclick) { + var formObj = document.forms[0]; + var onClickData = parseLink(onclick); + + // TODO: Add stuff here +} + +function getOption(opts, name) { + return typeof(opts[name]) == "undefined" ? "" : opts[name]; +} + +function setPopupControlsDisabled(state) { + var formObj = document.forms[0]; + + formObj.popupname.disabled = state; + formObj.popupurl.disabled = state; + formObj.popupwidth.disabled = state; + formObj.popupheight.disabled = state; + formObj.popupleft.disabled = state; + formObj.popuptop.disabled = state; + formObj.popuplocation.disabled = state; + formObj.popupscrollbars.disabled = state; + formObj.popupmenubar.disabled = state; + formObj.popupresizable.disabled = state; + formObj.popuptoolbar.disabled = state; + formObj.popupstatus.disabled = state; + formObj.popupreturn.disabled = state; + formObj.popupdependent.disabled = state; + + setBrowserDisabled('popupurlbrowser', state); +} + +function parseLink(link) { + link = link.replace(new RegExp(''', 'g'), "'"); + + var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1"); + + // Is function name a template function + var template = templates[fnName]; + if (template) { + // Build regexp + var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi")); + var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\("; + var replaceStr = ""; + for (var i=0; i'); + for (var i=0; i'; + html += ''; + + for (var i=0; i' + name + ''; + } + + html += ''; + + return html; +} + +function insertAction() { + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var elm = inst.getFocusElement(); + + elm = tinyMCE.getParentElement(elm, "a"); + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + + // Create new anchor elements + if (elm == null) { + if (tinyMCE.isSafari) + tinyMCEPopup.execCommand("mceInsertContent", false, '' + inst.selection.getSelectedHTML() + ''); + else + tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#"); + + var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#"); + for (var i=0; i' + tinyMCELinkList[i][0] + ''; + + html += ''; + + return html; + + // tinyMCE.debug('-- image list start --', html, '-- image list end --'); +} + +function getTargetListHTML(elm_id, target_form_element) { + var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';'); + var html = ''; + + html += ''; + + return html; +} + +// While loading +preinit(); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/langs/en.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,46 @@ +// UK lang variables + +tinyMCE.addToLang('advlink',{ +general_tab : 'General', +popup_tab : 'Popup', +events_tab : 'Events', +advanced_tab : 'Advanced', +general_props : 'General properties', +popup_props : 'Popup properties', +event_props : 'Events', +advanced_props : 'Advanced properties', +popup_opts : 'Options', +anchor_names : 'Anchors', +target_same : 'Open in this window / frame', +target_parent : 'Open in parent window / frame', +target_top : 'Open in top frame (replaces all frames)', +target_blank : 'Open in new window', +popup : 'Javascript popup', +popup_url : 'Popup URL', +popup_name : 'Window name', +popup_return : 'Insert \'return false\'', +popup_scrollbars : 'Show scrollbars', +popup_statusbar : 'Show status bar', +popup_toolbar : 'Show toolbars', +popup_menubar : 'Show menu bar', +popup_location : 'Show location bar', +popup_resizable : 'Make window resizable', +popup_dependent : 'Dependent (Mozilla/Firefox only)', +popup_size : 'Size', +popup_position : 'Position (X/Y)', +id : 'Id', +style: 'Style', +classes : 'Classes', +target_name : 'Target name', +langdir : 'Language direction', +target_langcode : 'Target language', +langcode : 'Language code', +encoding : 'Target character encoding', +mime : 'Target MIME type', +rel : 'Relationship page to target', +rev : 'Relationship target to page', +tabindex : 'Tabindex', +accesskey : 'Accesskey', +ltr : 'Left to right', +rtl : 'Right to left' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/langs/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/link.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/link.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/link.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/link.htm 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,334 @@ + + + {$lang_insert_link_title} + + + + + + + + +
          + + +
          +
          +
          + {$lang_advlink_general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + + +
           
           
           
           
          + +
          +
          +
          + + + +
          +
          + {$lang_advlink_advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          +
          +
          +
          + +
          +
          + {$lang_advlink_event_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          +
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/advlink/readme.txt 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('autosave','en,tr,sv,cs,he,nb,hu,de,da,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl,pt_br');var TinyMCE_AutoSavePlugin={getInfo:function(){return{longname:'Auto save',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},_beforeUnloadHandler:function(){var n,inst,anyDirty=false,msg=tinyMCE.getLang("lang_autosave_unload_msg");if(tinyMCE.getParam("fullscreen_is_enabled"))return;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(inst.isDirty())return msg;}return;}};window.onbeforeunload=TinyMCE_AutoSavePlugin._beforeUnloadHandler;tinyMCE.addPlugin("autosave",TinyMCE_AutoSavePlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,48 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.11 $ + * $Date: 2006/03/22 12:21:21 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('autosave', 'en,tr,sv,cs,he,nb,hu,de,da,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,pl,pt_br'); + +var TinyMCE_AutoSavePlugin = { + getInfo : function() { + return { + longname : 'Auto save', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_autosave.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + // Private plugin internal methods + + _beforeUnloadHandler : function() { + var n, inst, anyDirty = false, msg = tinyMCE.getLang("lang_autosave_unload_msg"); + + if (tinyMCE.getParam("fullscreen_is_enabled")) + return; + + for (n in tinyMCE.instances) { + inst = tinyMCE.instances[n]; + + if (!tinyMCE.isInstance(inst)) + continue; + + if (inst.isDirty()) + return msg; + } + + return; + } +}; + +window.onbeforeunload = TinyMCE_AutoSavePlugin._beforeUnloadHandler; + +tinyMCE.addPlugin("autosave", TinyMCE_AutoSavePlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,5 @@ +// EN lang variables + +tinyMCE.addToLang('',{ +autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/autosave/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,12 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.10 $ + * $Date: 2006/02/10 16:29:38 $ + * + * Experimental plugin for new Cleanup routine, this logic will be moved into the core ones it's stable enougth. + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Dummy file since cleanup is now moved to core */ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/cleanup/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Dummy plugin since cleanup is now moved into core. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,74 @@ +.contextMenuIEPopup { + padding: 0; + margin: 0; + border: 0; + overflow: hidden; +} + +.contextMenu { + position: absolute; + cursor: default; + z-index: 1000; + border: 1px solid #D4D0C8; + background-color: #FFFFFF; +} + +.contextMenuItem, .contextMenuItemOver { +} + +.contextMenuSeparator { + width: 100%; + background-color: #D4D0C8; + border: 0; +} + +.contextMenuImage, .contextMenuItemDisabled { + border: 0; +} + +.contextMenuIcon { + background-color: #F0F0EE; +} + +.contextMenuItemOver .contextMenuIcon { + background-color: #B6BDD2; +} + +.contextMenuIcon { + background-color: #F0F0EE; +} + +.contextMenuItemDisabled img { + filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); + -moz-opacity:0.3; + opacity: 0.3; +} + +.contextMenuText { + font-family: Tahoma, Verdana, Arial, Helvetica; + font-size: 11px; + line-height: 20px; +} + +.contextMenuItemDisabled { + color: #AAAAAA; +} + +.contextMenuText a { + display: block; + line-height: 20px; + width: 100%; + text-decoration: none; + color: black; + font-weight: normal; + margin: 0; + padding: 0; +} + +.contextMenuText a:hover { + background-color: #B6BDD2; + text-decoration: none !important; + font-weight: normal; + margin: 0; + padding: 0; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +if(!tinyMCE.settings['contextmenu_skip_plugin_css']){tinyMCE.loadCSS(tinyMCE.baseURL+"/plugins/contextmenu/css/contextmenu.css");}var TinyMCE_ContextMenuPlugin={_contextMenu:null,getInfo:function(){return{longname:'Context menus',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_contextmenu.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isMSIE5_0&&tinyMCE.isOpera)return;TinyMCE_ContextMenuPlugin._contextMenu=new TinyMCE_ContextMenu({commandhandler:"TinyMCE_ContextMenuPlugin._commandHandler",spacer_image:tinyMCE.baseURL+"/plugins/contextmenu/images/spacer.gif"});tinyMCE.addEvent(inst.getDoc(),"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"contextmenu",function(e){TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?inst.contentWindow.event:e,inst);});}else tinyMCE.addEvent(inst.getDoc(),"contextmenu",TinyMCE_ContextMenuPlugin._onContextMenu);},_onContextMenu:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var targetInst,body;if((body=tinyMCE.getParentElement(elm,"body"))!=null){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(body==inst.getBody()){targetInst=inst;break;}}return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?targetInst.contentWindow.event:e,targetInst);}},_showContextMenu:function(e,inst){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}var x,y,elm,contextMenu;var pos=tinyMCE.getAbsPosition(inst.iframeElement);x=tinyMCE.isMSIE?e.screenX:pos.absLeft+(e.pageX-inst.getBody().scrollLeft);y=tinyMCE.isMSIE?e.screenY:pos.absTop+(e.pageY-inst.getBody().scrollTop);elm=tinyMCE.isMSIE?e.srcElement:e.target;contextMenu=this._contextMenu;contextMenu.inst=inst;window.setTimeout(function(){var theme=tinyMCE.getParam("theme");contextMenu.clearAll();var sel=inst.selection.getSelectedText().length!=0||elm.nodeName=="IMG";contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_cut_desc","Cut","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_copy_desc","Copy","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_paste_desc","Paste","",false);if(sel||(elm?(elm.nodeName=='A')||(elm.nodeName=='IMG'):false)){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/link.gif","$lang_link_desc",inst.hasPlugin("advlink")?"mceAdvLink":"mceLink");contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/unlink.gif","$lang_unlink_desc","unlink","",(elm?(elm.nodeName!='A')&&(elm.nodeName!='IMG'):true));}elm=tinyMCE.getParentElement(elm,"img,table,td"+(inst.hasPlugin("advhr")?',hr':''));if(elm){switch(elm.nodeName){case"IMG":contextMenu.addSeparator();if(tinyMCE.getAttrib(elm,'class').indexOf('mceItemFlash')!=-1)contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_flash_props","mceFlash");else contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/image.gif","$lang_image_props_desc",inst.hasPlugin("advimage")?"mceAdvImage":"mceImage");break;case"HR":contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/advhr/images/advhr.gif","$lang_insert_advhr_desc","mceAdvancedHr");break;case"TABLE":case"TD":if(inst.hasPlugin("table")){var colspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"colspan");var rowspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_table_cut_row_desc","mceTableCutRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_table_copy_row_desc","mceTableCopyRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_before_desc","mceTablePasteRowBefore","",inst.tableRowClipboard==null);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_after_desc","mceTablePasteRowAfter","",inst.tableRowClipboard==null);contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_props_desc","mceInsertTable");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_cell_props.gif","$lang_table_cell_desc","mceTableCellProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete.gif","$lang_table_del","mceTableDelete");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_row_props.gif","$lang_table_row_desc","mceTableRowProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_before.gif","$lang_table_row_before_desc","mceTableInsertRowBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_after.gif","$lang_table_row_after_desc","mceTableInsertRowAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_row.gif","$lang_table_delete_row_desc","mceTableDeleteRow");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_before.gif","$lang_table_col_before_desc","mceTableInsertColBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_after.gif","$lang_table_col_after_desc","mceTableInsertColAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_col.gif","$lang_table_delete_col_desc","mceTableDeleteCol");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_split_cells.gif","$lang_table_split_cells_desc","mceTableSplitCells","",(colspan=="1"&&rowspan=="1"));contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_merge_cells.gif","$lang_table_merge_cells_desc","mceTableMergeCells","",false);}break;}}else{if(inst.hasPlugin("table")){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");}}contextMenu.show(x,y);},10);tinyMCE.cancelEvent(e);return false;},_hideContextMenu:function(){if(TinyMCE_ContextMenuPlugin._contextMenu)TinyMCE_ContextMenuPlugin._contextMenu.hide();},_commandHandler:function(command,value){var cm=TinyMCE_ContextMenuPlugin._contextMenu;cm.hide();var ui=false;if(command=="mceInsertTable"||command=="mceTableCellProps"||command=="mceTableRowProps"||command=="mceTableMergeCells")ui=true;if(command=="Paste")value=null;if(tinyMCE.getParam("dialog_type")=="modal"&&tinyMCE.isMSIE){window.setTimeout(function(){cm.inst.execCommand(command,ui,value);},100);}else cm.inst.execCommand(command,ui,value);}};tinyMCE.addPlugin("contextmenu",TinyMCE_ContextMenuPlugin);function TinyMCE_ContextMenu(settings){function defParam(key,def_val){settings[key]=typeof(settings[key])!="undefined"?settings[key]:def_val;}var self=this;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.contextMenuDiv=document.createElement("div");this.contextMenuDiv.className="contextMenu";this.contextMenuDiv.setAttribute("class","contextMenu");this.contextMenuDiv.style.display="none";this.contextMenuDiv.style.position='absolute';this.contextMenuDiv.style.zindex=1000;this.contextMenuDiv.style.left='0';this.contextMenuDiv.style.top='0';this.contextMenuDiv.unselectable="on";document.body.appendChild(this.contextMenuDiv);defParam("commandhandler","");defParam("spacer_image","images/spacer.gif");this.items=new Array();this.settings=settings;this.html="";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop=window.createPopup();doc=this.pop.document;doc.open();doc.write('');doc.close();}};TinyMCE_ContextMenu.prototype={clearAll:function(){this.html="";this.contextMenuDiv.innerHTML="";},addSeparator:function(){this.html+='';},addItem:function(icon,title,command,value,disabled){if(title.charAt(0)=='$')title=tinyMCE.getLang(title.substring(1));var onMouseDown='';var html='';if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)onMouseDown='contextMenu.execCommand(\''+command+'\', \''+value+'\');return false;';else onMouseDown=this.settings['commandhandler']+'(\''+command+'\', \''+value+'\');return false;';if(icon=="")icon=this.settings['spacer_image'];if(!disabled)html+='';else html+='';html+='';html+='
          ';html+=' ';html+=title;html+=' ';html+='
          ';html+='';this.html+=html;},show:function(x,y){var vp,width,height;if(this.html=="")return;var html='';html+='';html+=this.html;html+='
          ';this.contextMenuDiv.innerHTML=html;this.contextMenuDiv.style.display="block";width=this.contextMenuDiv.offsetWidth;height=this.contextMenuDiv.offsetHeight;this.contextMenuDiv.style.display="none";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop.document.body.innerHTML='
          '+html+"
          ";this.pop.document.tinyMCE=tinyMCE;this.pop.document.contextMenu=this;this.pop.show(x,y,width,height);}else{vp=this.getViewPort();this.contextMenuDiv.style.left=(x>vp.width-width?vp.width-width:x)+'px';this.contextMenuDiv.style.top=(y>vp.height-height?vp.height-height:y)+'px';this.contextMenuDiv.style.display="block";}},getViewPort:function(){return{width:document.documentElement.offsetWidth||document.body.offsetWidth,height:self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight};},hide:function(){if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera)this.pop.hide();else this.contextMenuDiv.style.display="none";},execCommand:function(command,value){eval(this.settings['commandhandler']+"(command, value);");}}; \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,356 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.31 $ + * $Date: 2006/05/03 10:46:41 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +//tinyMCE.importPluginLanguagePack('contextmenu', 'en,tr,zh_cn,cs,fa,fr_ca,fr,de,nb'); +if (!tinyMCE.settings['contextmenu_skip_plugin_css']) { + tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/css/contextmenu.css"); +} + +var TinyMCE_ContextMenuPlugin = { + // Private fields + _contextMenu : null, + + getInfo : function() { + return { + longname : 'Context menus', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_contextmenu.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + initInstance : function(inst) { + // Is not working on MSIE 5.0 or Opera no contextmenu event + if (tinyMCE.isMSIE5_0 && tinyMCE.isOpera) + return; + + TinyMCE_ContextMenuPlugin._contextMenu = new TinyMCE_ContextMenu({ + commandhandler : "TinyMCE_ContextMenuPlugin._commandHandler", + spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif" + }); + + // Add hide event handles + tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_ContextMenuPlugin._hideContextMenu); + tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu); + tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu); + tinyMCE.addEvent(document, "click", TinyMCE_ContextMenuPlugin._hideContextMenu); + tinyMCE.addEvent(document, "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu); + tinyMCE.addEvent(document, "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu); + + // Attach contextmenu event + if (tinyMCE.isGecko) { + tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);}); + } else + tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_ContextMenuPlugin._onContextMenu); + }, + + // Private plugin internal methods + + _onContextMenu : function(e) { + var elm = tinyMCE.isMSIE ? e.srcElement : e.target; + var targetInst, body; + + // Find instance + if ((body = tinyMCE.getParentElement(elm, "body")) != null) { + for (var n in tinyMCE.instances) { + var inst = tinyMCE.instances[n]; + if (!tinyMCE.isInstance(inst)) + continue; + + if (body == inst.getBody()) { + targetInst = inst; + break; + } + } + + return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst); + } + }, + + _showContextMenu : function(e, inst) { + function getAttrib(elm, name) { + return elm.getAttribute(name) ? elm.getAttribute(name) : ""; + } + + var x, y, elm, contextMenu; + var pos = tinyMCE.getAbsPosition(inst.iframeElement); + + x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft); + y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop); + elm = tinyMCE.isMSIE ? e.srcElement : e.target; + + contextMenu = this._contextMenu; + contextMenu.inst = inst; + + // Mozilla needs some time + window.setTimeout(function () { + var theme = tinyMCE.getParam("theme"); + + contextMenu.clearAll(); + var sel = inst.selection.getSelectedText().length != 0 || elm.nodeName == "IMG"; + + // Default items + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false); + + if (sel || (elm ? (elm.nodeName == 'A') || (elm.nodeName == 'IMG') : false)) { + contextMenu.addSeparator(); + contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/link.gif", "$lang_link_desc", inst.hasPlugin("advlink") ? "mceAdvLink" : "mceLink"); + contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/unlink.gif", "$lang_unlink_desc", "unlink", "", (elm ? (elm.nodeName != 'A') && (elm.nodeName != 'IMG') : true)); + } + + // Get element + elm = tinyMCE.getParentElement(elm, "img,table,td" + (inst.hasPlugin("advhr") ? ',hr' : '')); + if (elm) { + switch (elm.nodeName) { + case "IMG": + contextMenu.addSeparator(); + + // If flash + if (tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') != -1) + contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash"); + else + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", inst.hasPlugin("advimage") ? "mceAdvImage" : "mceImage"); + break; + + case "HR": + contextMenu.addSeparator(); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/advhr/images/advhr.gif", "$lang_insert_advhr_desc", "mceAdvancedHr"); + break; + + case "TABLE": + case "TD": + // Is table plugin loaded + if (inst.hasPlugin("table")) { + var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan"); + var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan"); + + colspan = colspan == "" ? "1" : colspan; + rowspan = rowspan == "" ? "1" : rowspan; + + contextMenu.addSeparator(); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow"); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow"); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null); + + /* contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyleft.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifycenter.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyright.gif", "$lang_justifyright_desc", "JustifyRight", "", false); + contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyfull.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/ + contextMenu.addSeparator(); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert"); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable"); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps"); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete"); + contextMenu.addSeparator(); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps"); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore"); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter"); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow"); + contextMenu.addSeparator(); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore"); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter"); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol"); + contextMenu.addSeparator(); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1")); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false); + } + break; + } + } else { + // Add table specific + if (inst.hasPlugin("table")) { + contextMenu.addSeparator(); + contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert"); + } + } + + contextMenu.show(x, y); + }, 10); + + // Cancel default handeling + tinyMCE.cancelEvent(e); + return false; + }, + + _hideContextMenu : function() { + if (TinyMCE_ContextMenuPlugin._contextMenu) + TinyMCE_ContextMenuPlugin._contextMenu.hide(); + }, + + _commandHandler : function(command, value) { + var cm = TinyMCE_ContextMenuPlugin._contextMenu; + + cm.hide(); + + // UI must be true on these + var ui = false; + if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells") + ui = true; + + if (command == "Paste") + value = null; + + if (tinyMCE.getParam("dialog_type") == "modal" && tinyMCE.isMSIE) { + // Cell properties will generate access denied error is this isn't done?! + window.setTimeout(function() { + cm.inst.execCommand(command, ui, value); + }, 100); + } else + cm.inst.execCommand(command, ui, value); + } +}; + +tinyMCE.addPlugin("contextmenu", TinyMCE_ContextMenuPlugin); + +// Context menu class + +function TinyMCE_ContextMenu(settings) { + // Default value function + function defParam(key, def_val) { + settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val; + } + + var self = this; + + this.isMSIE = (navigator.appName == "Microsoft Internet Explorer"); + + // Setup contextmenu div + this.contextMenuDiv = document.createElement("div"); + this.contextMenuDiv.className = "contextMenu"; + this.contextMenuDiv.setAttribute("class", "contextMenu"); + this.contextMenuDiv.style.display = "none"; + this.contextMenuDiv.style.position = 'absolute'; + this.contextMenuDiv.style.zindex = 1000; + this.contextMenuDiv.style.left = '0'; + this.contextMenuDiv.style.top = '0'; + this.contextMenuDiv.unselectable = "on"; + + document.body.appendChild(this.contextMenuDiv); + + // Setup default values + defParam("commandhandler", ""); + defParam("spacer_image", "images/spacer.gif"); + + this.items = new Array(); + this.settings = settings; + this.html = ""; + + // IE Popup + if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) { + this.pop = window.createPopup(); + doc = this.pop.document; + doc.open(); + doc.write(''); + doc.close(); + } +}; + +TinyMCE_ContextMenu.prototype = { + clearAll : function() { + this.html = ""; + this.contextMenuDiv.innerHTML = ""; + }, + + addSeparator : function() { + this.html += ''; + }, + + addItem : function(icon, title, command, value, disabled) { + if (title.charAt(0) == '$') + title = tinyMCE.getLang(title.substring(1)); + + var onMouseDown = ''; + var html = ''; + + if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0) + onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;'; + else + onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;'; + + if (icon == "") + icon = this.settings['spacer_image']; + + if (!disabled) + html += ''; + else + html += ''; + + html += ''; + html += ''; + html += ''; + + // Add to main + this.html += html; + }, + + show : function(x, y) { + var vp, width, height; + + if (this.html == "") + return; + + var html = ''; + + html += ''; + html += this.html; + html += '
          '; + + this.contextMenuDiv.innerHTML = html; + + // Get dimensions + this.contextMenuDiv.style.display = "block"; + width = this.contextMenuDiv.offsetWidth; + height = this.contextMenuDiv.offsetHeight; + this.contextMenuDiv.style.display = "none"; + + if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) { + // Setup popup and show + this.pop.document.body.innerHTML = '
          ' + html + "
          "; + this.pop.document.tinyMCE = tinyMCE; + this.pop.document.contextMenu = this; + this.pop.show(x, y, width, height); + } else { + vp = this.getViewPort(); + + this.contextMenuDiv.style.left = (x > vp.width - width ? vp.width - width : x) + 'px'; + this.contextMenuDiv.style.top = (y > vp.height - height ? vp.height - height : y) + 'px'; + this.contextMenuDiv.style.display = "block"; + } + }, + + getViewPort : function() { + return { + width : document.documentElement.offsetWidth || document.body.offsetWidth, + height : self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight + }; + }, + + hide : function() { + if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) + this.pop.hide(); + else + this.contextMenuDiv.style.display = "none"; + }, + + execCommand : function(command, value) { + eval(this.settings['commandhandler'] + "(command, value);"); + } +}; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/contextmenu/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('directionality','en,tr,sv,fr_ca,zh_cn,cs,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,pl,nl,fr,pt_br');var TinyMCE_DirectionalityPlugin={getInfo:function(){return{longname:'Directionality',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"ltr":return tinyMCE.getButtonHTML(cn,'lang_directionality_ltr_desc','{$pluginurl}/images/ltr.gif','mceDirectionLTR');case"rtl":return tinyMCE.getButtonHTML(cn,'lang_directionality_rtl_desc','{$pluginurl}/images/rtl.gif','mceDirectionRTL');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case"mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):"";}if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm){tinyMCE.switchClass(editor_id+'_ltr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_rtl','mceButtonDisabled');return true;}tinyMCE.switchClass(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_rtl','mceButtonNormal');var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClass(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClass(editor_id+'_rtl','mceButtonSelected');return true;}};tinyMCE.addPlugin("directionality",TinyMCE_DirectionalityPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,92 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.16 $ + * $Date: 2006/02/10 21:34:28 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('directionality', 'en,tr,sv,fr_ca,zh_cn,cs,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,pl,nl,fr,pt_br'); + +var TinyMCE_DirectionalityPlugin = { + getInfo : function() { + return { + longname : 'Directionality', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_directionality.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + getControlHTML : function(cn) { + switch (cn) { + case "ltr": + return tinyMCE.getButtonHTML(cn, 'lang_directionality_ltr_desc', '{$pluginurl}/images/ltr.gif', 'mceDirectionLTR'); + + case "rtl": + return tinyMCE.getButtonHTML(cn, 'lang_directionality_rtl_desc', '{$pluginurl}/images/rtl.gif', 'mceDirectionRTL'); + } + + return ""; + }, + + execCommand : function(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mceDirectionLTR": + var inst = tinyMCE.getInstanceById(editor_id); + var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); + + if (elm) + elm.setAttribute("dir", "ltr"); + + tinyMCE.triggerNodeChange(false); + return true; + + case "mceDirectionRTL": + var inst = tinyMCE.getInstanceById(editor_id); + var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); + + if (elm) + elm.setAttribute("dir", "rtl"); + + tinyMCE.triggerNodeChange(false); + return true; + } + + // Pass to next handler in chain + return false; + }, + + handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { + function getAttrib(elm, name) { + return elm.getAttribute(name) ? elm.getAttribute(name) : ""; + } + + if (node == null) + return; + + var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address"); + if (!elm) { + tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonDisabled'); + return true; + } + + tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonNormal'); + + var dir = getAttrib(elm, "dir"); + if (dir == "ltr" || dir == "") + tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonSelected'); + else + tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonSelected'); + + return true; + } +}; + +tinyMCE.addPlugin("directionality", TinyMCE_DirectionalityPlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,6 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +directionality_ltr_desc : 'Direction left to right', +directionality_rtl_desc : 'Direction right to left' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/directionality/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('emotions','en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_EmotionsPlugin={getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_emotions.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"emotions":return tinyMCE.getButtonHTML(cn,'lang_emotions_desc','{$pluginurl}/images/emotions.gif','mceEmotion');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=160;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;}return false;}};tinyMCE.addPlugin('emotions',TinyMCE_EmotionsPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,65 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.23 $ + * $Date: 2006/02/10 16:29:38 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('emotions', 'en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk'); + +// Plucin static class +var TinyMCE_EmotionsPlugin = { + getInfo : function() { + return { + longname : 'Emotions', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_emotions.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + /** + * Returns the HTML contents of the emotions control. + */ + getControlHTML : function(cn) { + switch (cn) { + case "emotions": + return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion'); + } + + return ""; + }, + + /** + * Executes the mceEmotion command. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mceEmotion": + var template = new Array(); + + template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme + template['width'] = 160; + template['height'] = 160; + + // Language specific width and height addons + template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0); + + tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); + + return true; + } + + // Pass to next handler in chain + return false; + } +}; + +// Register plugin +tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/emotions.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/emotions.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/emotions.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/emotions.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,40 @@ + + + {$lang_emotions_title} + + + + + +
          +
          {$lang_emotions_title}:

          + + + + + + + + + + + + + + + + + + + + + + + + + + +
          {$lang_emotions_cool}{$lang_emotions_cry}{$lang_emotions_embarassed}{$lang_emotions_foot_in_mouth}
          {$lang_emotions_frown}{$lang_emotions_innocent}{$lang_emotions_kiss}{$lang_emotions_laughing}
          {$lang_emotions_money_mouth}{$lang_emotions_sealed}{$lang_emotions_smile}{$lang_emotions_surprised}
          {$lang_emotions_tongue-out}{$lang_emotions_undecided}{$lang_emotions_wink}{$lang_emotions_yell}
          +
          + + Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,2 @@ +These emotions where taken from Mozilla Thunderbird. +I hope they don't get angry if I use them here after all this is a open source project aswell. Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,21 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); +} + +function insertEmotion(file_name, title) { + title = tinyMCE.getLang(title); + + if (title == null) + title = ""; + + // XML encode + title = title.replace(/&/g, '&'); + title = title.replace(/\"/g, '"'); + title = title.replace(//g, '>'); + + var html = '' + title + ''; + + tinyMCE.execCommand('mceInsertContent', false, html); + tinyMCEPopup.close(); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,22 @@ +// UK lang variables + +tinyMCE.addToLang('emotions',{ +title : 'Insert emotion', +desc : 'Emotions', +cool : 'Cool', +cry : 'Cry', +embarassed : 'Embarassed', +foot_in_mouth : 'Foot in mouth', +frown : 'Frown', +innocent : 'Innocent', +kiss : 'Kiss', +laughing : 'Laughing', +money_mouth : 'Money mouth', +sealed : 'Sealed', +smile : 'Smile', +surprised : 'Surprised', +tongue_out : 'Tongue out', +undecided : 'Undecided', +wink : 'Wink', +yell : 'Yell' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/emotions/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/content.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/content.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/content.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/content.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,7 @@ +.mceItemFlash { + border: 1px dotted #cc0000; + background-image: url('../images/flash.gif'); + background-position: center; + background-repeat: no-repeat; + background-color: #ffffcc; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/flash.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/flash.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/flash.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/flash.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,11 @@ +.panel_wrapper div.current { + height: 100px; +} + +#width, #height { + width: 50px; +} + +#file { + width: 250px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('flash','en,tr,de,sv,zh_cn,cs,fa,fr_ca,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk,pt_br');var TinyMCE_FlashPlugin={getInfo:function(){return{longname:'Flash',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_flash.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/css/content.css");},getControlHTML:function(cn){switch(cn){case"flash":return tinyMCE.getButtonHTML(cn,'lang_flash_desc','{$pluginurl}/images/flash.gif','mceFlash');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=430;template['height']=175;template['width']+=tinyMCE.getLang('lang_flash_delta_width',0);template['height']+=tinyMCE.getLang('lang_flash_delta_height',0);if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=tinyMCE.getAttrib(focusElm,'class');if(name.indexOf('mceItemFlash')==-1)return true;swffile=tinyMCE.getAttrib(focusElm,'alt');if(tinyMCE.getParam('convert_urls'))swffile=eval(tinyMCE.settings['urlconverter_callback']+"(swffile, null, true);");swfwidth=tinyMCE.getAttrib(focusElm,'width');swfheight=tinyMCE.getAttrib(focusElm,'height');action="update";}tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true;}return false;},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":if(tinyMCE.getParam('convert_urls')){var imgs=content.getElementsByTagName("img");for(var i=0;i','gi'),'');content=content.replace(new RegExp('<[ ]*object','gi'),'','gi'),'');while((startPos=content.indexOf('',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs;}var index=0;while((startPos=content.indexOf('=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+=''+content.substring(endPos);content+=contentAfter;index++;startPos++;}var index=0;while((startPos=content.indexOf('=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+=''+content.substring(endPos);content+=contentAfter;index++;startPos++;}break;case"get_from_editor":var startPos=-1;while((startPos=content.indexOf('',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+4,endPos));if(attribs['class']!="mceItemFlash")continue;endPos+=2;var embedHTML='';var wmode=tinyMCE.getParam("flash_wmode","");var quality=tinyMCE.getParam("flash_quality","high");var menu=tinyMCE.getParam("flash_menu","false");embedHTML+='';embedHTML+='';embedHTML+='';embedHTML+='';embedHTML+='';embedHTML+='';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter;}break;}return content;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItemFlash')==0){tinyMCE.switchClass(editor_id+'_flash','mceButtonSelected');return true;}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_flash','mceButtonNormal');return true;},_parseAttributes:function(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i','gi'),''); + content = content.replace(new RegExp('<[ ]*object','gi'),'','gi'),''); + + // Parse all embed tags + while ((startPos = content.indexOf('', startPos); + var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 6, endPos)); + embedList[embedList.length] = attribs; + } + + // Parse all object tags and replace them with images from the embed data + var index = 0; + while ((startPos = content.indexOf('= embedList.length) + break; + + var attribs = embedList[index]; + + // Find end of object + endPos = content.indexOf('', startPos); + endPos += 9; + + // Insert image + var contentAfter = content.substring(endPos); + content = content.substring(0, startPos); + content += '' + content.substring(endPos); + content += contentAfter; + index++; + + startPos++; + } + + // Parse all embed tags and replace them with images from the embed data + var index = 0; + while ((startPos = content.indexOf('= embedList.length) + break; + + var attribs = embedList[index]; + + // Find end of embed + endPos = content.indexOf('>', startPos); + endPos += 9; + + // Insert image + var contentAfter = content.substring(endPos); + content = content.substring(0, startPos); + content += '' + content.substring(endPos); + content += contentAfter; + index++; + + startPos++; + } + + break; + + case "get_from_editor": + // Parse all img tags and replace them with object+embed + var startPos = -1; + + while ((startPos = content.indexOf('', startPos); + var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 4, endPos)); + + // Is not flash, skip it + if (attribs['class'] != "mceItemFlash") + continue; + + endPos += 2; + + var embedHTML = ''; + var wmode = tinyMCE.getParam("flash_wmode", ""); + var quality = tinyMCE.getParam("flash_quality", "high"); + var menu = tinyMCE.getParam("flash_menu", "false"); + + // Insert object + embed + embedHTML += ''; + embedHTML += ''; + embedHTML += ''; + embedHTML += ''; + embedHTML += ''; + embedHTML += ''; + + // Insert embed/object chunk + chunkBefore = content.substring(0, startPos); + chunkAfter = content.substring(endPos); + content = chunkBefore + embedHTML + chunkAfter; + } + break; + } + + // Pass through to next handler in chain + return content; + }, + + handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { + if (node == null) + return; + + do { + if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItemFlash') == 0) { + tinyMCE.switchClass(editor_id + '_flash', 'mceButtonSelected'); + return true; + } + } while ((node = node.parentNode)); + + tinyMCE.switchClass(editor_id + '_flash', 'mceButtonNormal'); + + return true; + }, + + // Private plugin internal functions + + _parseAttributes : function(attribute_string) { + var attributeName = ""; + var attributeValue = ""; + var withInName; + var withInValue; + var attributes = new Array(); + var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g'); + + if (attribute_string == null || attribute_string.length < 2) + return null; + + withInName = withInValue = false; + + for (var i=0; i +
          + + +
          +
          +
          + {$lang_flash_general} + + + + + + + + + + + + + + +
          + + + + + +
           
          +
           
          + +  x  + +
          +
          +
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/images/flash.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/images/flash.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,107 @@ +var url = tinyMCE.getParam("flash_external_list_url"); +if (url != null) { + // Fix relative + if (url.charAt(0) != '/' && url.indexOf('://') == -1) + url = tinyMCE.documentBasePath + "/" + url; + + document.write(''); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById("filebrowsercontainer").innerHTML = getBrowserHTML('filebrowser','file','flash','flash'); + + // Image list outsrc + var html = getFlashListHTML('filebrowser','file','flash','flash'); + if (html == "") + document.getElementById("linklistrow").style.display = 'none'; + else + document.getElementById("linklistcontainer").innerHTML = html; + + var formObj = document.forms[0]; + var swffile = tinyMCE.getWindowArg('swffile'); + var swfwidth = '' + tinyMCE.getWindowArg('swfwidth'); + var swfheight = '' + tinyMCE.getWindowArg('swfheight'); + + if (swfwidth.indexOf('%')!=-1) { + formObj.width2.value = "%"; + formObj.width.value = swfwidth.substring(0,swfwidth.length-1); + } else { + formObj.width2.value = "px"; + formObj.width.value = swfwidth; + } + + if (swfheight.indexOf('%')!=-1) { + formObj.height2.value = "%"; + formObj.height.value = swfheight.substring(0,swfheight.length-1); + } else { + formObj.height2.value = "px"; + formObj.height.value = swfheight; + } + + formObj.file.value = swffile; + formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); + + selectByValue(formObj, 'linklist', swffile); + + // Handle file browser + if (isVisible('filebrowser')) + document.getElementById('file').style.width = '230px'; + + // Auto select flash in list + if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) { + for (var i=0; i 0) { + var html = ""; + + html += ''; + + return html; + } + + return ""; +} + +function insertFlash() { + var formObj = document.forms[0]; + var html = ''; + var file = formObj.file.value; + var width = formObj.width.value; + var height = formObj.height.value; + if (formObj.width2.value=='%') { + width = width + '%'; + } + if (formObj.height2.value=='%') { + height = height + '%'; + } + + if (width == "") + width = 100; + + if (height == "") + height = 100; + + html += '' + + '' + file + ''; + + tinyMCEPopup.execCommand("mceInsertContent", true, html); + tinyMCE.selectedInstance.repaint(); + + tinyMCEPopup.close(); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,11 @@ +// UK lang variables + +tinyMCE.addToLang('flash',{ +title : 'Insert / edit Flash Movie', +desc : 'Insert / edit Flash Movie', +file : 'Flash-File (.swf)', +size : 'Size', +list : 'Flash files', +props : 'Flash properties', +general : 'General' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/flash/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/blank.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/blank.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/blank.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/blank.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,9 @@ + + + blank_page + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,172 @@ +/* Hide the advanced tab */ +#advanced_tab { + display: none; +} + +#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright { + width: 280px; +} + +#doctype, #docencoding { + width: 200px; +} + +#langcode { + width: 30px; +} + +#bgimage { + width: 220px; +} + +#fontface { + width: 240px; +} + +#leftmargin, #rightmargin, #topmargin, #bottommargin { + width: 50px; +} + +.panel_wrapper div.current { + height: 400px; +} + +#stylesheet, #style { + width: 240px; +} + +/* Head list classes */ + +.headlistwrapper { + width: 100%; +} + +.addbutton, .removebutton, .moveupbutton, .movedownbutton { + border-top: 1px solid; + border-left: 1px solid; + border-bottom: 1px solid; + border-right: 1px solid; + border-color: #F0F0EE; + cursor: default; + display: block; + width: 20px; + height: 20px; +} + +.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover { + border: 1px solid #0A246A; + background-color: #B6BDD2; +} + +.addbutton { + background-image: url('../images/add.gif'); + float: left; + margin-right: 3px; +} + +.removebutton { + background-image: url('../images/remove.gif'); + float: left; +} + +.moveupbutton { + background-image: url('../images/move_up.gif'); + float: left; + margin-right: 3px; +} + +.movedownbutton { + background-image: url('../images/move_down.gif'); + float: left; +} + +.selected { + border: 1px solid #0A246A; + background-color: #B6BDD2; +} + +.toolbar { + width: 100%; +} + +#headlist { + width: 100%; + margin-top: 3px; + font-size: 11px; +} + +#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element { + display: none; +} + +#addmenu { + position: absolute; + border: 1px solid gray; + display: none; + z-index: 100; + background-color: white; +} + +#addmenu a { + display: block; + width: 100%; + line-height: 20px; + text-decoration: none; + background-color: white; +} + +#addmenu a:hover { + background-color: #B6BDD2; + color: black; +} + +#addmenu span { + padding-left: 10px; + padding-right: 10px; +} + +#updateElementPanel { + display: none; +} + +#script_element .panel_wrapper div.current { + height: 108px; +} + +#style_element .panel_wrapper div.current { + height: 108px; +} + +#link_element .panel_wrapper div.current { + height: 140px; +} + +#element_script_value { + width: 100%; + height: 100px; +} + +#element_comment_value { + width: 100%; + height: 120px; +} + +#element_style_value { + width: 100%; + height: 100px; +} + +#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title { + width: 250px; +} + +.updateElementButton { + margin-top: 3px; +} + +/* MSIE specific styles */ + +* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton { + width: 22px; + height: 22px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('fullpage','en,tr,sv');var TinyMCE_FullPagePlugin={getInfo:function(){return{longname:'Fullpage',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullpage.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"fullpage":return tinyMCE.getButtonHTML(cn,'lang_fullpage_desc','{$pluginurl}/images/fullpage.gif','mceFullPageProperties');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFullPageProperties":var template=new Array();template['file']='../../plugins/fullpage/fullpage.htm';template['width']=430;template['height']=485+(tinyMCE.isOpera?5:0);template['width']+=tinyMCE.getLang('lang_fullpage_delta_width',0);template['height']+=tinyMCE.getLang('lang_fullpage_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceFullPageUpdate":TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));return true;}return false;},cleanup:function(type,content,inst){switch(type){case"insert_to_editor":var tmp=content.toLowerCase();var pos=tmp.indexOf('',pos);pos2=tmp.lastIndexOf('');inst.fullpageTopContent=content.substring(0,pos+1);content=content.substring(pos+1,pos2);}else{if(!inst.fullpageTopContent){var docType=tinyMCE.getParam("fullpage_default_doctype",'');var enc=tinyMCE.getParam("fullpage_default_encoding",'utf-8');var title=tinyMCE.getParam("fullpage_default_title",'Untitled document');var lang=tinyMCE.getParam("fullpage_default_langcode",'en');var pi=tinyMCE.getParam("fullpage_default_xml_pi",true);var ff=tinyMCE.getParam("fullpage_default_font_family","");var fz=tinyMCE.getParam("fullpage_default_font_size","");var ds=tinyMCE.getParam("fullpage_default_style","");var dtc=tinyMCE.getParam("fullpage_default_text_color","");title=title.replace(/&/g,'&');title=title.replace(/\"/g,'"');title=title.replace(//g,'>');tmp='';if(pi)tmp+='\n';tmp+=docType+'\n';tmp+='\n';tmp+='\n';tmp+='\t'+title+'\n';tmp+='\t\n';tmp+='\n';tmp+='\n";break;}return content;},_addToHead:function(inst){var doc=inst.getDoc();var head=doc.getElementsByTagName("head")[0];var body=doc.body;var h=inst.fullpageTopContent;var e=doc.createElement("body");var nl,i,le,tmp;h=h.replace(/(\r|\n)/gi,'');h=h.replace(/<\?[^\>]*\>/gi,'');h=h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi,'');h=h.replace(//gi,'');h=h.replace(//gi,'');h=h.replace(/<(meta|base)[^>]*>/gi,'');h=h.replace(/]*)\/>/gi,'
          ');h=h.replace(/0){body.style.cssText=tinyMCE.getAttrib(nl[0],'style');if((tmp=tinyMCE.getAttrib(nl[0],'leftmargin'))!=''&&body.style.marginLeft=='')body.style.marginLeft=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'rightmargin'))!=''&&body.style.marginRight=='')body.style.marginRight=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'topmargin'))!=''&&body.style.marginTop=='')body.style.marginTop=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'bottommargin'))!=''&&body.style.marginBottom=='')body.style.marginBottom=tmp+"px";body.dir=tinyMCE.getAttrib(nl[0],'dir');body.vLink=tinyMCE.getAttrib(nl[0],'vlink');body.aLink=tinyMCE.getAttrib(nl[0],'alink');body.link=tinyMCE.getAttrib(nl[0],'link');body.text=tinyMCE.getAttrib(nl[0],'text');if((tmp=tinyMCE.getAttrib(nl[0],'background'))!='')body.style.backgroundImage=tmp;if((tmp=tinyMCE.getAttrib(nl[0],'bgcolor'))!='')body.style.backgroundColor=tmp;}}};tinyMCE.addPlugin("fullpage",TinyMCE_FullPagePlugin);
          \ No newline at end of file
          diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js
          --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js	1969-12-31 18:00:00.000000000 -0600
          +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js	2006-09-20 19:05:07.000000000 -0500
          @@ -0,0 +1,229 @@
          +/**
          + * $RCSfile: editor_plugin_src.js,v $
          + * $Revision: 1.12 $
          + * $Date: 2006/02/23 16:16:34 $
          + *
          + * @author Moxiecode
          + * @copyright Copyright  2004-2006, Moxiecode Systems AB, All rights reserved.
          + */
          +
          +/* Import plugin specific language pack */
          +tinyMCE.importPluginLanguagePack('fullpage', 'en,tr,sv');
          +
          +var TinyMCE_FullPagePlugin = {
          +	getInfo : function() {
          +		return {
          +			longname : 'Fullpage',
          +			author : 'Moxiecode Systems',
          +			authorurl : 'http://tinymce.moxiecode.com',
          +			infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_fullpage.html',
          +			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
          +		};
          +	},
          +
          +	getControlHTML : function(cn) {
          +		switch (cn) {
          +			case "fullpage":
          +				return tinyMCE.getButtonHTML(cn, 'lang_fullpage_desc', '{$pluginurl}/images/fullpage.gif', 'mceFullPageProperties');
          +		}
          +
          +		return "";
          +	},
          +
          +	execCommand : function(editor_id, element, command, user_interface, value) {
          +		// Handle commands
          +		switch (command) {
          +			case "mceFullPageProperties":
          +				var template = new Array();
          +
          +				template['file']   = '../../plugins/fullpage/fullpage.htm';
          +				template['width']  = 430;
          +				template['height'] = 485 + (tinyMCE.isOpera ? 5 : 0);
          +
          +				template['width'] += tinyMCE.getLang('lang_fullpage_delta_width', 0);
          +				template['height'] += tinyMCE.getLang('lang_fullpage_delta_height', 0);
          +
          +				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
          +			return true;
          +
          +			case "mceFullPageUpdate":
          +				TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));
          +				return true;
          +	   }
          +
          +	   // Pass to next handler in chain
          +	   return false;
          +	},
          +
          +	cleanup : function(type, content, inst) {
          +		switch (type) {
          +			case "insert_to_editor":
          +				var tmp = content.toLowerCase();
          +				var pos = tmp.indexOf('', pos);
          +					pos2 = tmp.lastIndexOf('');
          +					inst.fullpageTopContent = content.substring(0, pos + 1);
          +					content = content.substring(pos + 1, pos2);
          +					// tinyMCE.debug(inst.fullpageTopContent, content);
          +				} else {
          +					if (!inst.fullpageTopContent) {
          +						var docType = tinyMCE.getParam("fullpage_default_doctype", '');
          +						var enc = tinyMCE.getParam("fullpage_default_encoding", 'utf-8');
          +						var title = tinyMCE.getParam("fullpage_default_title", 'Untitled document');
          +						var lang = tinyMCE.getParam("fullpage_default_langcode", 'en');
          +						var pi = tinyMCE.getParam("fullpage_default_xml_pi", true);
          +						var ff = tinyMCE.getParam("fullpage_default_font_family", "");
          +						var fz = tinyMCE.getParam("fullpage_default_font_size", "");
          +						var ds = tinyMCE.getParam("fullpage_default_style", "");
          +						var dtc = tinyMCE.getParam("fullpage_default_text_color", "");
          +
          +						// Xml encode it
          +						title = title.replace(/&/g, '&');
          +						title = title.replace(/\"/g, '"');
          +						title = title.replace(//g, '>');
          +
          +						tmp = '';
          +
          +						// Make default chunk
          +						if (pi)
          +							tmp += '\n';
          +
          +						tmp += docType + '\n';
          +						tmp += '\n';
          +						tmp += '\n';
          +						tmp += '\t' + title + '\n';
          +						tmp += '\t\n';
          +						tmp += '\n';
          +						tmp += '\n";
          +
          +				break;
          +		}
          +
          +		// Pass through to next handler in chain
          +		return content;
          +	},
          +
          +	// Private plugin internal methods
          +
          +	_addToHead : function(inst) {
          +		var doc = inst.getDoc();
          +		var head = doc.getElementsByTagName("head")[0];
          +		var body = doc.body;
          +		var h = inst.fullpageTopContent;
          +		var e = doc.createElement("body");
          +		var nl, i, le, tmp;
          +
          +		// Remove stuff we don't want
          +		h = h.replace(/(\r|\n)/gi, '');
          +		h = h.replace(/<\?[^\>]*\>/gi, '');
          +		h = h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi, '');
          +		h = h.replace(//gi, '');
          +		h = h.replace(//gi, '');
          +		h = h.replace(/<(meta|base)[^>]*>/gi, '');
          +
          +		// Make link and style elements into pre
          +		h = h.replace(/]*)\/>/gi, '
          ');
          +		//h = h.replace(/]*)>(.*?)<\/style>/gi, '
          $2
          '); + + // Make body a div + h = h.replace(/ 0) { + body.style.cssText = tinyMCE.getAttrib(nl[0], 'style'); + + if ((tmp = tinyMCE.getAttrib(nl[0], 'leftmargin')) != '' && body.style.marginLeft == '') + body.style.marginLeft = tmp + "px"; + + if ((tmp = tinyMCE.getAttrib(nl[0], 'rightmargin')) != '' && body.style.marginRight == '') + body.style.marginRight = tmp + "px"; + + if ((tmp = tinyMCE.getAttrib(nl[0], 'topmargin')) != '' && body.style.marginTop == '') + body.style.marginTop = tmp + "px"; + + if ((tmp = tinyMCE.getAttrib(nl[0], 'bottommargin')) != '' && body.style.marginBottom == '') + body.style.marginBottom = tmp + "px"; + + body.dir = tinyMCE.getAttrib(nl[0], 'dir'); + body.vLink = tinyMCE.getAttrib(nl[0], 'vlink'); + body.aLink = tinyMCE.getAttrib(nl[0], 'alink'); + body.link = tinyMCE.getAttrib(nl[0], 'link'); + body.text = tinyMCE.getAttrib(nl[0], 'text'); + + if ((tmp = tinyMCE.getAttrib(nl[0], 'background')) != '') + body.style.backgroundImage = tmp; + + if ((tmp = tinyMCE.getAttrib(nl[0], 'bgcolor')) != '') + body.style.backgroundColor = tmp; + } + } +}; + +tinyMCE.addPlugin("fullpage", TinyMCE_FullPagePlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,577 @@ + + + {$lang_fullpage_title} + + + + + + + + + +
          + + +
          +
          +
          + {$lang_fullpage_meta_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
           
           
           
           
           
            + +
          +
          + +
          + {$lang_fullpage_langprops} + + + + + + + + + + + + + + + + + + + + + + +
          + +
            + +
           
          + +
           
          +
          +
          + +
          +
          + {$lang_fullpage_appearance_textprops} + + + + + + + + + + + + + + + + +
          + +
          + +
          + + + + + +
           
          +
          +
          + +
          + {$lang_fullpage_appearance_bgprops} + + + + + + + + + + +
          + + + + + +
           
          +
          + + + + + +
           
          +
          +
          + +
          + {$lang_fullpage_appearance_marginprops} + + + + + + + + + + + + + + +
          +
          + +
          + {$lang_fullpage_appearance_linkprops} + + + + + + + + + + + + + + + + + + + +
          + + + + + +
          +
          + + + + + +
           
          +
          + + + + + +
           
          +
            
          +
          + +
          + {$lang_fullpage_appearance_style} + + + + + + + + + + +
          + + + + +
           
          +
          +
          + +
          + + +
          + {$lang_fullpage_head_elements} + +
          +
          +
          + + +
          +
          + + +
          +
          +
          + +
          +
          + +
          + {$lang_fullpage_meta_element} + + + + + + + + + + + + + + +
          + + +
          + +
          + {$lang_fullpage_title_element} + + + + + + +
          + + +
          + +
          + {$lang_fullpage_script_element} + + + +
          + +
          +
          + + + + + + + + + + + + + + + + + +
          + + + + +
           
          +
          + +
          + +
          +
          + + +
          + +
          + {$lang_fullpage_style_element} + + + +
          + +
          +
          + + + + + + + + + +
          +
          + +
          + +
          +
          + + +
          + +
          + {$lang_fullpage_base_element} + + + + + + + + + + +
          + + +
          + + + +
          + {$lang_fullpage_comment_element} + + + + +
          +
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/add.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/add.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,580 @@ +// + +var defaultDocTypes = + 'XHTML 1.0 Transitional=,' + + 'XHTML 1.0 Frameset=,' + + 'XHTML 1.0 Strict=,' + + 'XHTML 1.1=">,' + + 'HTML 4.01 Transitional=,' + + 'HTML 4.01 Strict=,' + + 'HTML 4.01 Frameset='; + +var defaultEncodings = + 'Western european (iso-8859-1)=iso-8859-1,' + + 'Central European (iso-8859-2)=iso-8859-2,' + + 'Unicode (UTF-8)=utf-8,' + + 'Chinese traditional (Big5)=big5,' + + 'Cyrillic (iso-8859-5)=iso-8859-5,' + + 'Japanese (iso-2022-jp)=iso-2022-jp,' + + 'Greek (iso-8859-7)=iso-8859-7,' + + 'Korean (iso-2022-kr)=iso-2022-kr,' + + 'ASCII (us-ascii)=us-ascii'; + +var defaultMediaTypes = + 'all=all,' + + 'screen=screen,' + + 'print=print,' + + 'tty=tty,' + + 'tv=tv,' + + 'projection=projection,' + + 'handheld=handheld,' + + 'braille=braille,' + + 'aural=aural'; + +var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings'; +var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px'; + +var addMenuLayer = new MCLayer("addmenu"); +var lastElementType = null; +var topDoc; + +function init() { + var f = document.forms['fullpage']; + var i, p, doctypes, encodings, mediaTypes, fonts; + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + + // Setup doctype select box + doctypes = tinyMCE.getParam("fullpage_doctypes", defaultDocTypes).split(','); + for (i=0; i 1) + addSelectValue(f, 'doctypes', p[0], p[1]); + } + + // Setup fonts select box + fonts = tinyMCE.getParam("fullpage_fonts", defaultFontNames).split(';'); + for (i=0; i 1) + addSelectValue(f, 'fontface', p[0], p[1]); + } + + // Setup fontsize select box + fonts = tinyMCE.getParam("fullpage_fontsizes", defaultFontSizes).split(','); + for (i=0; i 1) { + addSelectValue(f, 'element_style_media', p[0], p[1]); + addSelectValue(f, 'element_link_media', p[0], p[1]); + } + } + + // Setup encodings select box + encodings = tinyMCE.getParam("fullpage_encodings", defaultEncodings).split(','); + for (i=0; i 1) { + addSelectValue(f, 'docencoding', p[0], p[1]); + addSelectValue(f, 'element_script_charset', p[0], p[1]); + addSelectValue(f, 'element_link_charset', p[0], p[1]); + } + } + + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color'); + //document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color'); + document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color'); + document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color'); + document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor'); + document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage'); + document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage'); + document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage'); + document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage'); + + // Resize some elements + if (isVisible('stylesheetbrowser')) + document.getElementById('stylesheet').style.width = '220px'; + + if (isVisible('link_href_browser')) + document.getElementById('element_link_href').style.width = '230px'; + + if (isVisible('bgimage_browser')) + document.getElementById('bgimage').style.width = '210px'; + + // Create iframe + var iframe = document.createElement('iframe'); + + iframe.id = 'tempFrame'; + iframe.style.display = 'none'; + iframe.src = tinyMCE.baseURL + "/plugins/fullpage/blank.htm"; + + document.body.appendChild(iframe); + + tinyMCEPopup.resizeToInnerSize(); +} + +function setupIframe(doc) { + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var hc = inst.fullpageTopContent; + var f = document.forms[0]; + var xmlVer, xmlEnc, docType; + var nodes, i, x, name, value, tmp, l; + + // Keep it from not loading/executing stuff + hc = hc.replace(/ + + + + +
          + +
          + + Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,6 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +fullscreen_title : 'Fullscreen mode', +fullscreen_desc : 'Toggle fullscreen mode' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/fullscreen/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,15 @@ + + + +blank_page + + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,34 @@ +// Tiny MCE Template Plugin + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('htmltemplate', 'en'); + +function TinyMCE_htmltemplate_getControlHTML(control_name) { + switch (control_name) { + case "htmltemplate": + return ''; + } + return ''; +} +function TinyMCE_htmltemplate_execCommand(editor_id, element, command, user_interface, value) { + switch (command) { + case "mceHTMLTemplate": + var template = new Array(); + template['file'] = '../../plugins/htmltemplate/htmltemplate.php'; // Relative to theme + template['width'] = 450; + template['height'] = 420; + var HTMLtemplate = ""; + tinyMCE.openWindow(template, {editor_id : editor_id, HTMLtemplate: HTMLtemplate, resizable : "yes", scrollbars : "no", mceDo : 'insert'}); + return true; + } + + // Pass to next handler in chain + return false; +} +function TinyMCE_htmltemplate__insertContent(content) { + + // Insert cleaned content + tinyMCE.execCommand("mceAddUndoLevel"); + tinyMCE.execCommand("mceInsertContent", false, content); +} + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,257 @@ + '.' && $file <> '..') { + if ($isDir) { + if ($recurse) { + $arr2 = listFiles( $dir, $filter, $recurse, $fullpath ); + $arr = array_merge( $arr, $arr2 ); + } + } else { + if (preg_match( "/$filter/", $file )) { + if ($fullpath) { + $arr[] = $path . $file; + } else { + $arr[] = $file; + } + } + } + } + } + closedir( $handle ); + asort( $arr ); + return $arr; +} + +$tmplRegex = '\.(html|htm)$'; +$path = $mosConfig_absolute_path.$editor_tmpl_dir; + +if( is_dir( $path ) ){ + $d = listFiles( $path, $tmplRegex ); + foreach ( $d as $file ) { + $filepath = $path.$file; + if (eregi($tmplRegex, $file)) { + $temp = array( + 'name' => $file, + 'path' => $filepath, + 'url' => str_replace( '\\', '/', $editor_tmpl_dir ) . '/' . $file, + ); + } + $files[] = $temp; + } +}else{ + echo "Directory $path not found!"; +} + +$javascript = "onChange=\"selectTmpl(this.value)\""; +$list['tmpl'] = ""; + +?> + + +{$lang_htmltemplate_desc} + + + + + + + + + + +
          + + + + + + + + + + + + + + + + + +
          {$lang_htmltemplate_desc}
          {$lang_htmltemplate_title}
          + + View HTML Source +
          + +
          +
          + + Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/htmltemplate.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/htmltemplate.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,3 @@ +// UK lang variables +tinyMCELang['lang_htmltemplate_desc'] = 'Insert HTML Template'; +tinyMCELang['lang_htmltemplate_title'] = 'Select HTML Template to insert.'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('iespell','en,tr,cs,el,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl,da,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_IESpellPlugin={getInfo:function(){return{longname:'IESpell (MSIE Only)',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_iespell.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){if(cn=="iespell"&&(tinyMCE.isMSIE&&!tinyMCE.isOpera))return tinyMCE.getButtonHTML(cn,'lang_iespell_desc','{$pluginurl}/images/iespell.gif','mceIESpell');return"";},execCommand:function(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','');}else alert("Error Loading ieSpell: Exception "+e.number);}return true;}return false;}};tinyMCE.addPlugin("iespell",TinyMCE_IESpellPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,60 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.20 $ + * $Date: 2006/02/10 16:29:39 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('iespell', 'en,tr,cs,el,fr_ca,it,ko,sv,zh_cn,fr,de,pl,pt_br,nl,da,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk'); + +var TinyMCE_IESpellPlugin = { + getInfo : function() { + return { + longname : 'IESpell (MSIE Only)', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_iespell.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + /** + * Returns the HTML contents of the iespell control. + */ + getControlHTML : function(cn) { + // Is it the iespell control and is the brower MSIE. + if (cn == "iespell" && (tinyMCE.isMSIE && !tinyMCE.isOpera)) + return tinyMCE.getButtonHTML(cn, 'lang_iespell_desc', '{$pluginurl}/images/iespell.gif', 'mceIESpell'); + + return ""; + }, + + /** + * Executes the mceIESpell command. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + // Handle ieSpellCommand + if (command == "mceIESpell") { + try { + var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension"); + ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement); + } catch (e) { + if (e.number == -2146827859) { + if (confirm(tinyMCE.getLang("lang_iespell_download", "", true))) + window.open('http://www.iespell.com/download.php', 'ieSpellDownload', ''); + } else + alert("Error Loading ieSpell: Exception " + e.number); + } + + return true; + } + + // Pass to next handler in chain + return false; + } +}; + +tinyMCE.addPlugin("iespell", TinyMCE_IESpellPlugin); Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/images/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/langs/en.js 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,7 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +iespell_desc : 'Run spell checking', +iespell_download : "ieSpell not detected. Click OK to go to download page." +}); + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/langs/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/iespell/readme.txt 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,69 @@ +/* Window classes */ + +.mceWindow { + position: absolute; + left: 0; + top: 0; + border: 1px solid black; + background-color: #D4D0C8; +} + +.mceWindowHead { + background-color: #334F8D; + width: 100%; + height: 18px; + cursor: move; + overflow: hidden; +} + +.mceWindowBody { + clear: both; + background-color: white; +} + +.mceWindowStatusbar { + background-color: #D4D0C8; + height: 12px; + border-top: 1px solid black; +} + +.mceWindowTitle { + float: left; + font-family: "MS Sans Serif"; + font-size: 9pt; + font-weight: bold; + line-height: 18px; + color: white; + margin-left: 2px; + overflow: hidden; +} + +.mceWindowHeadTools { + margin-right: 2px; +} + +.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize { + display: block; + float: right; + overflow: hidden; + margin-top: 2px; +} + +.mceWindowClose { + margin-left: 2px; +} + +.mceWindowMinimize { +} + +.mceWindowMaximize { +} + +.mceWindowResize { + display: block; + float: right; + overflow: hidden; + cursor: se-resize; + width: 12px; + height: 12px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +var TinyMCE_InlinePopupsPlugin={getInfo:function(){return{longname:'Inline Popups',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_inlinepopups.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};}};tinyMCE.addPlugin("inlinepopups",TinyMCE_InlinePopupsPlugin);TinyMCE_Engine.prototype.orgOpenWindow=TinyMCE_Engine.prototype.openWindow;TinyMCE_Engine.prototype.openWindow=function(template,args){if(args['inline']!="yes"||tinyMCE.isOpera||tinyMCE.getParam("plugins").indexOf('inlinepopups')==-1){mcWindows.selectedWindow=null;args['mce_inside_iframe']=false;this.orgOpenWindow(template,args);return;}var url,resizable,scrollbars;args['mce_inside_iframe']=true;tinyMCE.windowArgs=args;if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";height+=18;for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]));}var elm=document.getElementById(this.selectedInstance.editorId+'_parent');var pos=tinyMCE.getAbsPosition(elm);pos.absLeft+=Math.round((elm.firstChild.clientWidth/2)-(width/2));pos.absTop+=Math.round((elm.firstChild.clientHeight/2)-(height/2));mcWindows.open(url,mcWindows.idCounter++,"modal=yes,width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars+",statusbar="+resizable+",left="+pos.absLeft+",top="+pos.absTop);};TinyMCE_Engine.prototype.orgCloseWindow=TinyMCE_Engine.prototype.closeWindow;TinyMCE_Engine.prototype.closeWindow=function(win){if(mcWindows.selectedWindow!=null)mcWindows.selectedWindow.close();else this.orgCloseWindow(win);};TinyMCE_Engine.prototype.setWindowTitle=function(win_ref,title){for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win_ref.name==win.id+"_iframe")window.frames[win.id+"_iframe"].document.getElementById(win.id+'_title').innerHTML=title;}};function TinyMCE_Windows(){this.settings=new Array();this.windows=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.action="none";this.selectedWindow=null;this.lastSelectedWindow=null;this.zindex=100;this.mouseDownScreenX=0;this.mouseDownScreenY=0;this.mouseDownLayerX=0;this.mouseDownLayerY=0;this.mouseDownWidth=0;this.mouseDownHeight=0;this.idCounter=0;};TinyMCE_Windows.prototype.init=function(settings){this.settings=settings;if(this.isMSIE)this.addEvent(document,"mousemove",mcWindows.eventDispatcher);else this.addEvent(window,"mousemove",mcWindows.eventDispatcher);this.addEvent(document,"mouseup",mcWindows.eventDispatcher);this.doc=document;};TinyMCE_Windows.prototype.getParam=function(name,default_value){var value=null;value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");return value;};TinyMCE_Windows.prototype.eventDispatcher=function(e){e=typeof(e)=="undefined"?window.event:e;if(mcWindows.selectedWindow==null)return;if(mcWindows.isGecko&&e.type=="mousedown"){var elm=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.headElement==elm||win.resizeElement==elm){win.focus();break;}}}switch(e.type){case"mousemove":mcWindows.selectedWindow.onMouseMove(e);break;case"mouseup":mcWindows.selectedWindow.onMouseUp(e);break;case"mousedown":mcWindows.selectedWindow.onMouseDown(e);break;case"focus":mcWindows.selectedWindow.onFocus(e);break;}};TinyMCE_Windows.prototype.addEvent=function(obj,name,handler){if(this.isMSIE)obj.attachEvent("on"+name,handler);else obj.addEventListener(name,handler,true);};TinyMCE_Windows.prototype.cancelEvent=function(e){if(this.isMSIE){e.returnValue=false;e.cancelBubble=true;}else e.preventDefault();};TinyMCE_Windows.prototype.parseFeatures=function(opts){opts=opts.toLowerCase();opts=opts.replace(/;/g,",");opts=opts.replace(/[^0-9a-z=,]/g,"");var optionChunks=opts.split(',');var options=new Array();options['left']="10";options['top']="10";options['width']="300";options['height']="300";options['resizable']="yes";options['minimizable']="yes";options['maximizable']="yes";options['close']="yes";options['movable']="yes";options['statusbar']="yes";options['scrollbars']="auto";options['modal']="no";if(opts=="")return options;for(var i=0;i';html+='';html+='';html+='Wrapper iframe';html+='';html+='';html+='';html+='';html+='
          ';html+='
          ';html+='
          ';html+='
          ';html+='
          ';html+='
          ';if(features['statusbar']=="yes"){html+='
          ';if(features['resizable']=="yes"){if(this.isGecko)html+='
          ';else html+='
          ';}html+='
          ';}html+='
          ';html+='';html+='';this.createFloatingIFrame(id,features['left'],features['top'],features['width'],features['height'],html);};TinyMCE_Windows.prototype.setDocumentLock=function(state){if(state){var elm=document.getElementById('mcWindowEventBlocker');if(elm==null){elm=document.createElement("div");elm.id="mcWindowEventBlocker";elm.style.position="absolute";elm.style.left="0";elm.style.top="0";document.body.appendChild(elm);}elm.style.display="none";var imgPath=this.getParam("images_path");var width=document.body.clientWidth;var height=document.body.clientHeight;elm.style.width=width;elm.style.height=height;elm.innerHTML='';elm.style.zIndex=mcWindows.zindex-1;elm.style.display="block";}else{var elm=document.getElementById('mcWindowEventBlocker');if(mcWindows.windows.length==0)elm.parentNode.removeChild(elm);else elm.style.zIndex=mcWindows.zindex-1;}};TinyMCE_Windows.prototype.onLoad=function(name){var win=mcWindows.windows[name];var id="mcWindow_"+name;var wrapperIframe=window.frames[id+"_iframe"].frames[0];var wrapperDoc=window.frames[id+"_iframe"].document;var doc=window.frames[id+"_iframe"].document;var winDiv=document.getElementById("mcWindow_"+name+"_div");var realIframe=window.frames[id+"_iframe"].frames[0];win.id="mcWindow_"+name;win.winElement=winDiv;win.bodyElement=doc.getElementById(id+'_body');win.iframeElement=doc.getElementById(id+'_iframe');win.headElement=doc.getElementById(id+'_head');win.titleElement=doc.getElementById(id+'_title');win.resizeElement=doc.getElementById(id+'_resize');win.containerElement=doc.getElementById(id+'_container');win.left=win.features['left'];win.top=win.features['top'];win.frame=window.frames[id+'_iframe'].frames[0];win.wrapperFrame=window.frames[id+'_iframe'];win.wrapperIFrameElement=document.getElementById(id+"_iframe");mcWindows.addEvent(win.headElement,"mousedown",mcWindows.eventDispatcher);if(win.resizeElement!=null)mcWindows.addEvent(win.resizeElement,"mousedown",mcWindows.eventDispatcher);if(mcWindows.isMSIE){mcWindows.addEvent(realIframe.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe.document,"mouseup",mcWindows.eventDispatcher);}else{mcWindows.addEvent(realIframe,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"focus",mcWindows.eventDispatcher);}for(var i=0;i'; + html += ''; + html += ''; + + html += '
          '; + html += '
          '; + html += '
          '; +// html += ' '; +// html += ' '; + html += '
          '; + html += '
          '; + html += '
          '; + + if (features['statusbar'] == "yes") { + html += '
          '; + + if (features['resizable'] == "yes") { + if (this.isGecko) + html += '
          '; + else + html += '
          '; + } + + html += '
          '; + } + + html += '
          '; + + html += ''; + html += ''; + + // Create iframe + this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html); +}; + +// Blocks the document events by placing a image over the whole document +TinyMCE_Windows.prototype.setDocumentLock = function(state) { + if (state) { + var elm = document.getElementById('mcWindowEventBlocker'); + if (elm == null) { + elm = document.createElement("div"); + + elm.id = "mcWindowEventBlocker"; + elm.style.position = "absolute"; + elm.style.left = "0"; + elm.style.top = "0"; + + document.body.appendChild(elm); + } + + elm.style.display = "none"; + + var imgPath = this.getParam("images_path"); + var width = document.body.clientWidth; + var height = document.body.clientHeight; + + elm.style.width = width; + elm.style.height = height; + elm.innerHTML = ''; + + elm.style.zIndex = mcWindows.zindex-1; + elm.style.display = "block"; + } else { + var elm = document.getElementById('mcWindowEventBlocker'); + + if (mcWindows.windows.length == 0) + elm.parentNode.removeChild(elm); + else + elm.style.zIndex = mcWindows.zindex-1; + } +}; + +// Gets called when wrapper iframe is initialized +TinyMCE_Windows.prototype.onLoad = function(name) { + var win = mcWindows.windows[name]; + var id = "mcWindow_" + name; + var wrapperIframe = window.frames[id + "_iframe"].frames[0]; + var wrapperDoc = window.frames[id + "_iframe"].document; + var doc = window.frames[id + "_iframe"].document; + var winDiv = document.getElementById("mcWindow_" + name + "_div"); + var realIframe = window.frames[id + "_iframe"].frames[0]; + + // Set window data + win.id = "mcWindow_" + name; + win.winElement = winDiv; + win.bodyElement = doc.getElementById(id + '_body'); + win.iframeElement = doc.getElementById(id + '_iframe'); + win.headElement = doc.getElementById(id + '_head'); + win.titleElement = doc.getElementById(id + '_title'); + win.resizeElement = doc.getElementById(id + '_resize'); + win.containerElement = doc.getElementById(id + '_container'); + win.left = win.features['left']; + win.top = win.features['top']; + win.frame = window.frames[id + '_iframe'].frames[0]; + win.wrapperFrame = window.frames[id + '_iframe']; + win.wrapperIFrameElement = document.getElementById(id + "_iframe"); + + // Add event handlers + mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher); + + if (win.resizeElement != null) + mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher); + + if (mcWindows.isMSIE) { + mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher); + mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher); + } else { + mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher); + mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher); + mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher); + } + + for (var i=0; i \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/spacer.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/spacer.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_close.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_close.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,455 @@ +/** + * $RCSfile: mcwindows.js,v $ + * $Revision: 1.2 $ + * $Date: 2005/10/18 13:59:43 $ + * + * Moxiecode DHTML Windows script. + * + * @author Moxiecode + * @copyright Copyright 2004, Moxiecode Systems AB, All rights reserved. + */ + +// Windows handler +function MCWindows() { + this.settings = new Array(); + this.windows = new Array(); + this.isMSIE = (navigator.appName == "Microsoft Internet Explorer"); + this.isGecko = navigator.userAgent.indexOf('Gecko') != -1; + this.isSafari = navigator.userAgent.indexOf('Safari') != -1; + this.isMac = navigator.userAgent.indexOf('Mac') != -1; + this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1); + this.action = "none"; + this.selectedWindow = null; + this.zindex = 100; + this.mouseDownScreenX = 0; + this.mouseDownScreenY = 0; + this.mouseDownLayerX = 0; + this.mouseDownLayerY = 0; + this.mouseDownWidth = 0; + this.mouseDownHeight = 0; +}; + +MCWindows.prototype.init = function(settings) { + this.settings = settings; + + if (this.isMSIE) + this.addEvent(document, "mousemove", mcWindows.eventDispatcher); + else + this.addEvent(window, "mousemove", mcWindows.eventDispatcher); + + this.addEvent(document, "mouseup", mcWindows.eventDispatcher); +}; + +MCWindows.prototype.getParam = function(name, default_value) { + var value = null; + + value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name]; + + // Fix bool values + if (value == "true" || value == "false") + return (value == "true"); + + return value; +}; + +MCWindows.prototype.eventDispatcher = function(e) { + e = typeof(e) == "undefined" ? window.event : e; + + if (mcWindows.selectedWindow == null) + return; + + // Switch focus + if (mcWindows.isGecko && e.type == "mousedown") { + var elm = e.currentTarget; + + for (var n in mcWindows.windows) { + var win = mcWindows.windows[n]; + if (typeof(win) == 'function') + continue; + + if (win.headElement == elm || win.resizeElement == elm) { + win.focus(); + break; + } + } + } + + switch (e.type) { + case "mousemove": + mcWindows.selectedWindow.onMouseMove(e); + break; + + case "mouseup": + mcWindows.selectedWindow.onMouseUp(e); + break; + + case "mousedown": + mcWindows.selectedWindow.onMouseDown(e); + break; + + case "focus": + mcWindows.selectedWindow.onFocus(e); + break; + } +} + +MCWindows.prototype.addEvent = function(obj, name, handler) { + if (this.isMSIE) + obj.attachEvent("on" + name, handler); + else + obj.addEventListener(name, handler, true); +}; + +MCWindows.prototype.cancelEvent = function(e) { + if (this.isMSIE) { + e.returnValue = false; + e.cancelBubble = true; + } else + e.preventDefault(); +}; + +MCWindows.prototype.parseFeatures = function(opts) { + // Cleanup the options + opts = opts.toLowerCase(); + opts = opts.replace(/;/g, ","); + opts = opts.replace(/[^0-9a-z=,]/g, ""); + + var optionChunks = opts.split(','); + var options = new Array(); + + options['left'] = 10; + options['top'] = 10; + options['width'] = 300; + options['height'] = 300; + options['resizable'] = true; + options['minimizable'] = true; + options['maximizable'] = true; + options['close'] = true; + options['movable'] = true; + + if (opts == "") + return options; + + for (var i=0; i'; + + html += '
          '; + html += '
          '; + html += '
          '; +// html += ' '; +// html += ' '; + html += '
          '; + html += '
          '; + html += '
          '; + html += '
          '; + html += '
          '; + html += '
          '; + html += '
          '; + + html += ''; + html += ''; + + // Create iframe + this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html); +}; + +// Gets called when wrapper iframe is initialized +MCWindows.prototype.onLoad = function(name) { + var win = mcWindows.windows[name]; + var id = "mcWindow_" + name; + var wrapperIframe = window.frames[id + "_iframe"].frames[0]; + var wrapperDoc = window.frames[id + "_iframe"].document; + var doc = window.frames[id + "_iframe"].document; + var winDiv = document.getElementById("mcWindow_" + name + "_div"); + var realIframe = window.frames[id + "_iframe"].frames[0]; + + // Set window data + win.id = "mcWindow_" + name + "_iframe"; + win.winElement = winDiv; + win.bodyElement = doc.getElementById(id + '_body'); + win.iframeElement = doc.getElementById(id + '_iframe'); + win.headElement = doc.getElementById(id + '_head'); + win.titleElement = doc.getElementById(id + '_title'); + win.resizeElement = doc.getElementById(id + '_resize'); + win.containerElement = doc.getElementById(id + '_container'); + win.left = win.features['left']; + win.top = win.features['top']; + win.frame = window.frames[id + '_iframe'].frames[0]; + win.wrapperFrame = window.frames[id + '_iframe']; + win.wrapperIFrameElement = document.getElementById(id + "_iframe"); + + // Add event handlers + mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher); + mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher); + + if (mcWindows.isMSIE) { + mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher); + mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher); + } else { + mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher); + mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher); + mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher); + } + + for (var i=0; i \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,12 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +insertdate_def_fmt : '%Y-%m-%d', +inserttime_def_fmt : '%H:%M:%S', +insertdate_desc : 'Insert date', +inserttime_desc : 'Insert time', +inserttime_months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"), +inserttime_months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"), +inserttime_day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"), +inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('layer','en');var TinyMCE_LayerPlugin={getInfo:function(){return{longname:'Layer',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_layer.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isMSIE&&!tinyMCE.isOpera)inst.getDoc().execCommand('2D-Position');},handleEvent:function(e){var inst=tinyMCE.selectedInstance,self=TinyMCE_LayerPlugin;var w=inst.getWin(),le=inst._lastStyleElm,e;if(tinyMCE.isGecko){e=self._getParentLayer(inst.getFocusElement());if(e){if(!inst._lastStyleElm){e.style.overflow='auto';inst._lastStyleElm=e;}}else if(le){le=inst._lastStyleElm;le.style.width=le.scrollWidth+'px';le.style.height=le.scrollHeight+'px';le.style.overflow='';inst._lastStyleElm=null;}}return true;},handleVisualAid:function(el,deep,state,inst){var nl=inst.getDoc().getElementsByTagName("div"),i;for(i=0;i-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1;}}else{for(i=0;iz[ci]){fi=i;break;}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else nl[ci].style.zIndex=z[ci]+1;}inst.repaint();},_getParentLayer:function(n){return tinyMCE.getParentNode(n,function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position);});},_insertLayer:function(){var inst=tinyMCE.selectedInstance;var e=tinyMCE.getParentElement(inst.getFocusElement());var p=tinyMCE.getAbsPosition(e);var d=inst.getDoc();var ne=d.createElement('div');var h=inst.selection.getSelectedHTML();ne.style.position='absolute';ne.style.left=p.absLeft+'px';ne.style.top=(p.absTop>20?p.absTop:20)+'px';ne.style.width='100px';ne.style.height='100px';ne.className='mceVisualAid';if(!h)h=tinyMCE.getLang('lang_layer_content');ne.innerHTML=h;d.body.appendChild(ne);},_toggleAbsolute:function(){var inst=tinyMCE.selectedInstance,self=TinyMCE_LayerPlugin;var le=self._getParentLayer(inst.getFocusElement());if(le==null)le=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');if(le){if(le.style.position.toLowerCase()=="absolute"){le.style.position="";le.style.left="";le.style.top="";}else{le.style.position="absolute";if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';tinyMCE.handleVisualAid(inst.getBody(),true,inst.visualAid,inst);}inst.repaint();tinyMCE.triggerNodeChange();}}};tinyMCE.addPlugin("layer",TinyMCE_LayerPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,252 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.2 $ + * $Date: 2006/05/03 14:12:12 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('layer', 'en'); + +var TinyMCE_LayerPlugin = { + getInfo : function() { + return { + longname : 'Layer', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_layer.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + initInstance : function(inst) { + if (tinyMCE.isMSIE && !tinyMCE.isOpera) + inst.getDoc().execCommand('2D-Position'); + }, + + handleEvent : function(e) { + var inst = tinyMCE.selectedInstance, self = TinyMCE_LayerPlugin; + var w = inst.getWin(), le = inst._lastStyleElm, e; + + if (tinyMCE.isGecko) { + e = self._getParentLayer(inst.getFocusElement()); + + if (e) { + if (!inst._lastStyleElm) { + e.style.overflow = 'auto'; + inst._lastStyleElm = e; + } + } else if (le) { + le = inst._lastStyleElm; + le.style.width = le.scrollWidth + 'px'; + le.style.height = le.scrollHeight + 'px'; + le.style.overflow = ''; + inst._lastStyleElm = null; + } + } + + return true; + }, + + handleVisualAid : function(el, deep, state, inst) { + var nl = inst.getDoc().getElementsByTagName("div"), i; + + for (i=0; i -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else { + if (z[ci] > 0) + nl[ci].style.zIndex = z[ci] - 1; + } + } else { + // Move forward + + // Try find a higher one + for (i=0; i z[ci]) { + fi = i; + break; + } + } + + if (fi > -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else + nl[ci].style.zIndex = z[ci] + 1; + } + + inst.repaint(); + }, + + _getParentLayer : function(n) { + return tinyMCE.getParentNode(n, function(n) { + return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position); + }); + }, + + _insertLayer : function() { + var inst = tinyMCE.selectedInstance; + var e = tinyMCE.getParentElement(inst.getFocusElement()); + var p = tinyMCE.getAbsPosition(e); + var d = inst.getDoc(); + var ne = d.createElement('div'); + var h = inst.selection.getSelectedHTML(); + + // Move div + ne.style.position = 'absolute'; + ne.style.left = p.absLeft + 'px'; + ne.style.top = (p.absTop > 20 ? p.absTop : 20) + 'px'; + ne.style.width = '100px'; + ne.style.height = '100px'; + ne.className = 'mceVisualAid'; + + if (!h) + h = tinyMCE.getLang('lang_layer_content'); + + ne.innerHTML = h; + + // Add it + d.body.appendChild(ne); + }, + + _toggleAbsolute : function() { + var inst = tinyMCE.selectedInstance, self = TinyMCE_LayerPlugin; + var le = self._getParentLayer(inst.getFocusElement()); + + if (le == null) + le = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img'); + + if (le) { + if (le.style.position.toLowerCase() == "absolute") { + le.style.position = ""; + le.style.left = ""; + le.style.top = ""; + } else { + le.style.position = "absolute"; + + if (le.style.left == "") + le.style.left = 20 + 'px'; + + if (le.style.top == "") + le.style.top = 20 + 'px'; + + if (le.style.width == "") + le.style.width = le.width ? (le.width + 'px') : '100px'; + + if (le.style.height == "") + le.style.height = le.height ? (le.height + 'px') : '100px'; + + tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); + } + + inst.repaint(); + tinyMCE.triggerNodeChange(); + } + } +}; + +tinyMCE.addPlugin("layer", TinyMCE_LayerPlugin); Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/absolute.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/absolute.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/backward.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/backward.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/forward.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/forward.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/insert_layer.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/images/insert_layer.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,9 @@ +// UK lang variables + +tinyMCE.addToLang('layer',{ +insertlayer_desc : 'Insert new layer', +forward_desc : 'Move forward', +backward_desc : 'Move backward', +absolute_desc : 'Toggle absolute positioning', +content : 'New layer...' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/layer/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,28 @@ +/* Import theme specific language pack */ +tinyMCE.importPluginLanguagePack('mambo', tinyMCE.settings['lang_list']); + +function TinyMCE_mambo_getControlHTML(control_name) { + switch (control_name) { + case "mosimage": + return ''; + case "mospagebreak": + return ''; + } + return ""; +} + +function TinyMCE_mambo_execCommand(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mceMosPageBreak": + var template = new Array(); + template['file'] = '../../plugins/mambo/mospagebreak.htm'; // Relative to theme + template['width'] = 300; + template['height'] = 260; + var title = "", atext = "", ctext = "", btext = ""; + tinyMCE.openWindow(template, {editor_id : editor_id, title : title, atext : atext, ctext : ctext, btext : btext, mceDo : 'insert'}); + return true; + } + // Pass to next handler in chain + return false; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/images/mosimage.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/images/mosimage.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/images/mospagebreak.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/images/mospagebreak.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/de.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/de.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/de.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/de.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,10 @@ +// DE lang variables +// Edited 2005 by Nico Kruber + +tinyMCELang['lang_insert_mosimage_desc'] = 'MosImage einfgen'; +tinyMCELang['lang_insert_mospagebreak_desc'] = 'MosPageBreak einfgen'; +tinyMCELang['lang_insert_mospagebreak_title'] = 'Einstellung fr MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_atext'] = 'Seiten-Titel'; +tinyMCELang['lang_insert_mospagebreak_ctext'] = 'Inhaltsverzeichnis'; +tinyMCELang['lang_insert_mospagebreak_btext'] = 'Heading'; +tinyMCELang['lang_insert_mambo_title'] = 'Mambo Elemente Plugin'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,9 @@ +// UK lang variables + +tinyMCELang['lang_insert_mosimage_desc'] = 'Insert MosImage' +tinyMCELang['lang_insert_mospagebreak_desc'] = 'Insert MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_title'] = 'Settings for MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_atext'] = 'Page Title'; +tinyMCELang['lang_insert_mospagebreak_ctext'] = 'Table of Contents'; +tinyMCELang['lang_insert_mospagebreak_btext'] = 'Heading'; +tinyMCELang['lang_insert_mambo_title'] = 'Mambo elements plugin'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fi.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fi.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fi.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fi.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,15 @@ +/** +* @version $Id: fi.js,v 1.1 2005/09/16 19:39:58 msuominen Exp $ +* Finnish language file for mosCE 1.0 +* Creator: Finnish Joomla! translation team +* Homepage: http://www.joomlaportal.fi +* Author: Markku Suominen +*/ + +tinyMCELang['lang_insert_mosimage_desc'] = 'Lis MosImage' +tinyMCELang['lang_insert_mospagebreak_desc'] = 'Lis MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_title'] = 'MosPageBreak asetukset'; +tinyMCELang['lang_insert_mospagebreak_atext'] = 'Sivun otsikko'; +tinyMCELang['lang_insert_mospagebreak_ctext'] = 'Sisllysluettelo'; +tinyMCELang['lang_insert_mospagebreak_btext'] = 'Otsikko'; +tinyMCELang['lang_insert_mambo_title'] = 'Mambo plugin-elementti'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fr.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fr.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fr.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fr.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,9 @@ +// UK lang variables + +tinyMCELang['lang_insert_mosimage_desc'] = 'Insrer une MosImage' +tinyMCELang['lang_insert_mospagebreak_desc'] = 'Insrer un MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_title'] = 'Rglage pour MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_atext'] = 'Titre de la page'; +tinyMCELang['lang_insert_mospagebreak_ctext'] = 'Table des matires'; +tinyMCELang['lang_insert_mambo_title'] = 'Elements de plugin Mambo'; +tinyMCELang['lang_insert_mospagebreak_btext'] = 'Heading'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/nl.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/nl.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/nl.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/nl.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,9 @@ +// nl lang variables + +tinyMCELang['lang_insert_mosimage_desc'] = 'Invoegen MosImage' +tinyMCELang['lang_insert_mospagebreak_desc'] = 'Invoegen MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_title'] = 'Instellingen voor MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_atext'] = 'Pagina titel'; +tinyMCELang['lang_insert_mospagebreak_ctext'] = 'Inhoudsopgave'; +tinyMCELang['lang_insert_mospagebreak_btext'] = 'Kopregel'; +tinyMCELang['lang_insert_mambo_title'] = 'Mambo elementen plugin'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pl.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pl.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pl.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pl.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,15 @@ +// *********************************************************************** +// ** Title.........: TinyMCE_EXP_1.2 polish lang. Image Manager Dialog, Image Manager +// ** Version.......: 1.0 +// ** Author........: Stefan Wajda , Diabl0/MAO Group, http://www.mao.pl +// ** Filename......: pl.js (polish language file) +// ** Last changed..: 8 Feb 2005 +// ***********************************************************************/ + +tinyMCELang['lang_insert_mosimage_desc'] = 'Wstaw grafik' +tinyMCELang['lang_insert_mospagebreak_desc'] = 'Wstaw podzia strony'; +tinyMCELang['lang_insert_mospagebreak_title'] = 'Ustawienia podziau stron'; +tinyMCELang['lang_insert_mospagebreak_atext'] = 'Tytu strony'; +tinyMCELang['lang_insert_mospagebreak_ctext'] = 'Spis treci'; +tinyMCELang['lang_insert_mospagebreak_btext'] = 'Heading'; +tinyMCELang['lang_insert_mambo_title'] = 'Wtyczki Mambo'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pt_br.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pt_br.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pt_br.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pt_br.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,9 @@ +// PT_BR lang variables + +tinyMCELang['lang_insert_mosimage_desc'] = 'Inserir MosImage' +tinyMCELang['lang_insert_mospagebreak_desc'] = 'Inserir MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_title'] = 'Configuraes do MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_atext'] = 'Ttulo da pgina'; +tinyMCELang['lang_insert_mospagebreak_ctext'] = 'Tabela de Contedos'; +tinyMCELang['lang_insert_mospagebreak_btext'] = 'Heading'; +tinyMCELang['lang_insert_mambo_title'] = 'Plugin de elementos do Mambo'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/th.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/th.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/th.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/langs/th.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,10 @@ +// TH lang variables Thai contributed by www.mambohub.com +// Additional by Akarawuth T., Supachai T. + +tinyMCELang['lang_insert_mosimage_desc'] = ' MosImage' +tinyMCELang['lang_insert_mospagebreak_desc'] = ' MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_title'] = 'õ駤Ѻ MosPageBreak'; +tinyMCELang['lang_insert_mospagebreak_atext'] = 'ͧ˹'; +tinyMCELang['lang_insert_mospagebreak_ctext'] = 'ҧͧ'; +tinyMCELang['lang_insert_mospagebreak_btext'] = 'Ǣ'; +tinyMCELang['lang_insert_mambo_title'] = 'ǹСͺԹ'; diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/mospagebreak.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/mospagebreak.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/mospagebreak.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/mambo/mospagebreak.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,138 @@ + + + + +{$lang_insert_mambo_title} + + + + + +
          + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          {$lang_insert_mospagebreak_desc}
          Mambo 4.5.1
          {$lang_insert_mospagebreak_atext}: + +
          {$lang_insert_mospagebreak_ctext}: + No + Yes +
          Mambo 4.5.2 or greater
          {$lang_insert_mospagebreak_atext}: + +
          {$lang_insert_mospagebreak_btext}: + +
          + + +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,17 @@ +/* This is the CSS file for the noneditable elements plugin */ + +.mceEditable { + /*border: 1px dotted #0000cc;*/ + -moz-user-focus: none; + -moz-user-input: auto; + -moz-user-modify: auto; + -moz-user-select: text; +} + +.mceNonEditable { + /*border: 1px dotted #cc0000;*/ + -moz-user-focus: ignore; + /*-moz-user-input: disabled;*/ + -moz-user-modify: read-only; + -moz-user-select: all; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +var TinyMCE_NonEditablePlugin={getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_noneditable.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable');if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"keyup",TinyMCE_NonEditablePlugin._fixKeyUp);}},cleanup:function(type,content,inst){switch(type){case"insert_to_editor_dom":var nodes=tinyMCE.getNodeTree(content,new Array(),1);var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");for(var i=0;i \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/noneditable/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/blank.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/blank.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/blank.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/blank.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,19 @@ + + + blank_page + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/blank.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/blank.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/blank.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/blank.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,13 @@ +body { + background-color: #FFFFFF; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/pasteword.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/pasteword.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/pasteword.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/css/pasteword.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,3 @@ +.sourceIframe { + border: 1px solid #808080; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('paste','en,tr,sv,cs,zh_cn,fr_ca,da,he,nb,de,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,pl,nl,fr,pt_br');var TinyMCE_PastePlugin={getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_paste.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isMSIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false))tinyMCE.addEvent(inst.getBody(),"paste",TinyMCE_PastePlugin._handlePasteEvent);},getControlHTML:function(cn){switch(cn){case"pastetext":return tinyMCE.getButtonHTML(cn,'lang_paste_text_desc','{$pluginurl}/images/pastetext.gif','mcePasteText',true);case"pasteword":return tinyMCE.getButtonHTML(cn,'lang_paste_word_desc','{$pluginurl}/images/pasteword.gif','mcePasteWord',true);case"selectall":return tinyMCE.getButtonHTML(cn,'lang_selectall_desc','{$pluginurl}/images/selectall.gif','mceSelectAll',true);}return'';},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePasteText":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'});}}else TinyMCE_PastePlugin._insertText(value['html'],value['linebreaks']);return true;case"mcePasteWord":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false)){var html=TinyMCE_PastePlugin._clipboardHTML();if(html&&html.length>0)TinyMCE_PastePlugin._insertWordContent(html);}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'});}}else TinyMCE_PastePlugin._insertWordContent(value);return true;case"mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true;}return false;},_handlePasteEvent:function(e){switch(e.type){case"paste":var html=TinyMCE_PastePlugin._clipboardHTML();var r,inst=tinyMCE.selectedInstance;if(inst&&(r=inst.getRng())&&r.text.length>0)tinyMCE.execCommand('delete');if(html&&html.length>0)tinyMCE.execCommand('mcePasteWord',false,html);tinyMCE.cancelEvent(e);return false;}return true;},_insertText:function(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("paste_create_paragraphs",true)){var rl=tinyMCE.getParam("paste_replace_list",'\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i

          ","gi");content=tinyMCE.regexpReplace(content,"\r\r","

          ","gi");content=tinyMCE.regexpReplace(content,"\n\n","

          ","gi");if((pos=content.indexOf('

          '))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node;}}while(node=node.parentNode);var before="",after="

          ";before+=content.substring(0,pos);for(var i=0;i";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">";}before+="

          ";content=before+content.substring(pos+7)+after;}}if(tinyMCE.getParam("paste_create_linebreaks",true)){content=tinyMCE.regexpReplace(content,"\r\n","
          ","gi");content=tinyMCE.regexpReplace(content,"\r","
          ","gi");content=tinyMCE.regexpReplace(content,"\n","
          ","gi");}}tinyMCE.execCommand("mceInsertRawHTML",false,content);}},_insertWordContent:function(content){if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);var cb;if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('before', content)");var rl=tinyMCE.getParam("paste_replace_list",'\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i(.*?)<\/p>','gi'),'

          $1

          ');}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)
          ","gi"),"

          "+middot+"$1

          ");content=content.replace(new RegExp('','gi'),""+bull);content=content.replace(/<\/o:p>/gi,"");content=content.replace(new RegExp('
          ]*>/gi,"");if(tinyMCE.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(tinyMCE.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break;}content=content.replace(new RegExp('href="?'+TinyMCE_PastePlugin._reEscape(""+document.location)+'','gi'),'href="'+tinyMCE.settings['document_base_url']);content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*

           <\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!tinyMCE.settings['force_p_newlines']){content=content.replace('','','gi');content=content.replace('

          ','

          ','gi');}if(!tinyMCE.isMSIE&&!tinyMCE.settings['force_p_newlines']){content=content.replace(/<\/?p[^>]*>/gi,"");}content=content.replace(/<\/?div[^>]*>/gi,"");if(tinyMCE.getParam("paste_convert_middot_lists",true)){var div=document.createElement("div");div.innerHTML=content;var className=tinyMCE.getParam("paste_unindented_list_class","unIndentedList");while(TinyMCE_PastePlugin._convertMiddots(div,"--list--"));while(TinyMCE_PastePlugin._convertMiddots(div,middot,className));while(TinyMCE_PastePlugin._convertMiddots(div,bull));content=div.innerHTML;}if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/ <\/h[1-6]>/gi,'

            

          ');content=content.replace(//gi,'

          ');content=content.replace(/<\/h[1-6]>/gi,'

          ');content=content.replace(/ <\/b>/gi,'  ');content=content.replace(/^( )*/gi,'');}content=content.replace(/--list--/gi,"");if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('after', content)");tinyMCE.execCommand("mceInsertContent",false,content);window.setTimeout('tinyMCE.execCommand("mceCleanup");',1);}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i 0) + TinyMCE_PastePlugin._insertWordContent(html); + } else { + var template = new Array(); + template['file'] = '../../plugins/paste/pasteword.htm'; // Relative to theme + template['width'] = 450; + template['height'] = 400; + var plain_text = ""; + tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'}); + } + } else + TinyMCE_PastePlugin._insertWordContent(value); + + return true; + + case "mceSelectAll": + tinyMCE.execInstanceCommand(editor_id, 'selectall'); + return true; + + } + + // Pass to next handler in chain + return false; + }, + + // Private plugin internal methods + + _handlePasteEvent : function(e) { + switch (e.type) { + case "paste": + var html = TinyMCE_PastePlugin._clipboardHTML(); + var r, inst = tinyMCE.selectedInstance; + + // Removes italic, strong etc, the if was needed due to bug #1437114 + if (inst && (r = inst.getRng()) && r.text.length > 0) + tinyMCE.execCommand('delete'); + + if (html && html.length > 0) + tinyMCE.execCommand('mcePasteWord', false, html); + + tinyMCE.cancelEvent(e); + return false; + } + + return true; + }, + + _insertText : function(content, bLinebreaks) { + if (content && content.length > 0) { + if (bLinebreaks) { + // Special paragraph treatment + if (tinyMCE.getParam("paste_create_paragraphs", true)) { + var rl = tinyMCE.getParam("paste_replace_list", '\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(','); + for (var i=0; i

          ", "gi"); + content = tinyMCE.regexpReplace(content, "\r\r", "

          ", "gi"); + content = tinyMCE.regexpReplace(content, "\n\n", "

          ", "gi"); + + // Has paragraphs + if ((pos = content.indexOf('

          ')) != -1) { + tinyMCE.execCommand("Delete"); + + var node = tinyMCE.selectedInstance.getFocusElement(); + + // Get list of elements to break + var breakElms = new Array(); + + do { + if (node.nodeType == 1) { + // Don't break tables and break at body + if (node.nodeName == "TD" || node.nodeName == "BODY") + break; + + breakElms[breakElms.length] = node; + } + } while(node = node.parentNode); + + var before = "", after = "

          "; + before += content.substring(0, pos); + + for (var i=0; i"; + after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; + } + + before += "

          "; + content = before + content.substring(pos+7) + after; + } + } + + if (tinyMCE.getParam("paste_create_linebreaks", true)) { + content = tinyMCE.regexpReplace(content, "\r\n", "
          ", "gi"); + content = tinyMCE.regexpReplace(content, "\r", "
          ", "gi"); + content = tinyMCE.regexpReplace(content, "\n", "
          ", "gi"); + } + } + + tinyMCE.execCommand("mceInsertRawHTML", false, content); + } + }, + + _insertWordContent : function(content) { + if (content && content.length > 0) { + // Cleanup Word content + var bull = String.fromCharCode(8226); + var middot = String.fromCharCode(183); + var cb; + + if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "") + content = eval(cb + "('before', content)"); + + var rl = tinyMCE.getParam("paste_replace_list", '\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(','); + for (var i=0; i(.*?)<\/p>', 'gi'), '

          $1

          '); + } + + content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--"); + content = content.replace(new RegExp(bull + "(.*?)
          ", "gi"), "

          " + middot + "$1

          "); + content = content.replace(new RegExp('', 'gi'), "" + bull); // Covert to bull list + content = content.replace(/<\/o:p>/gi, ""); + content = content.replace(new RegExp('
          ]*>/gi, ""); + + if (tinyMCE.getParam("paste_remove_styles", true)) + content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3"); + + content = content.replace(/<\/?font[^>]*>/gi, ""); + + // Strips class attributes. + switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) { + case "all": + content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3"); + break; + + case "mso": + content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3"); + break; + } + + content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']); + content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3"); + content = content.replace(/<\\?\?xml[^>]*>/gi, ""); + content = content.replace(/<\/?\w+:[^>]*>/gi, ""); + content = content.replace(/-- page break --\s*

           <\/p>/gi, ""); // Remove pagebreaks + content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks + + // content = content.replace(/\/? */gi, "");   + // content = content.replace(/

           <\/p>/gi, ''); + + if (!tinyMCE.settings['force_p_newlines']) { + content = content.replace('', '' ,'gi'); + content = content.replace('

          ', '

          ' ,'gi'); + } + + if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) { + content = content.replace(/<\/?p[^>]*>/gi, ""); + } + + content = content.replace(/<\/?div[^>]*>/gi, ""); + + // Convert all middlot lists to UL lists + if (tinyMCE.getParam("paste_convert_middot_lists", true)) { + var div = document.createElement("div"); + div.innerHTML = content; + + // Convert all middot paragraphs to li elements + var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList"); + + while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull + while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot + while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull + + content = div.innerHTML; + } + + // Replace all headers with strong and fix some other issues + if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) { + content = content.replace(/ <\/h[1-6]>/gi, '

            

          '); + content = content.replace(//gi, '

          '); + content = content.replace(/<\/h[1-6]>/gi, '

          '); + content = content.replace(/ <\/b>/gi, '  '); + content = content.replace(/^( )*/gi, ''); + } + + content = content.replace(/--list--/gi, ""); // Remove --list-- + + if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "") + content = eval(cb + "('after', content)"); + + // Insert cleaned content + tinyMCE.execCommand("mceInsertContent", false, content); + window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread + } + }, + + _reEscape : function(s) { + var l = "?.\\*[](){}+^$:"; + var o = ""; + + for (var i=0; i \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/images/selectall.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/images/selectall.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,34 @@ +function saveContent() { + if (document.forms[0].htmlSource.value == '') { + tinyMCEPopup.close(); + return false; + } + + tinyMCEPopup.execCommand('mcePasteText', false, { + html : document.forms[0].htmlSource.value, + linebreaks : document.forms[0].linebreaks.checked + }); + + tinyMCEPopup.close(); +} + +function onLoadInit() { + tinyMCEPopup.resizeToInnerSize(); + + resizeInputs(); +} + +var wHeight=0, wWidth=0, owHeight=0, owWidth=0; + +function resizeInputs() { + if (!tinyMCE.isMSIE) { + wHeight = self.innerHeight-80; + wWidth = self.innerWidth-17; + } else { + wHeight = document.body.clientHeight-80; + wWidth = document.body.clientWidth-17; + } + + document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px'; + document.forms[0].htmlSource.style.width = Math.abs(wWidth) + 'px'; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,46 @@ +function saveContent() { + var html = document.getElementById("frmData").contentWindow.document.body.innerHTML; + + if (html == ''){ + tinyMCEPopup.close(); + return false; + } + + tinyMCEPopup.execCommand('mcePasteWord', false, html); + tinyMCEPopup.close(); +} + +function onLoadInit() { + tinyMCEPopup.resizeToInnerSize(); + + // Fix for endless reloading in FF + window.setTimeout('createIFrame();', 10); +} + +function createIFrame() { + document.getElementById('iframecontainer').innerHTML = ''; +} + +var wHeight=0, wWidth=0, owHeight=0, owWidth=0; + +function initIframe(doc) { + var dir = tinyMCE.selectedInstance.settings['directionality']; + doc.body.dir = dir; + resizeInputs(); +} + +function resizeInputs() { + if (!tinyMCE.isMSIE) { + wHeight = self.innerHeight - 80; + wWidth = self.innerWidth - 18; + } else { + wHeight = document.body.clientHeight - 80; + wWidth = document.body.clientWidth - 18; + } + + var elm = document.getElementById('frmData'); + if (elm) { + elm.style.height = Math.abs(wHeight) + 'px'; + elm.style.width = Math.abs(wWidth) + 'px'; + } +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,10 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +paste_text_desc : 'Paste as Plain Text', +paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.', +paste_text_linebreaks : 'Keep linebreaks', +paste_word_desc : 'Paste from Word', +paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.', +selectall_desc : 'Select All' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/pastetext.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/pastetext.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/pastetext.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/pastetext.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,34 @@ + + + {$lang_paste_text_desc} + + + + + + +
          +
          {$lang_paste_text_desc}
          + +
          + +
          + +
          + +
          {$lang_paste_text_title}
          + + + +
          +
          + +
          + +
          + +
          +
          +
          + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/pasteword.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/pasteword.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/pasteword.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/pasteword.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,29 @@ + + + + {$lang_paste_word_desc} + + + + + + +
          +
          {$lang_paste_word_desc}
          + +
          {$lang_paste_word_title}
          + +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/paste/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('preview','en,tr,cs,de,el,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_PreviewPlugin={getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_preview.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"preview":return tinyMCE.getButtonHTML(cn,'lang_preview_desc','{$pluginurl}/images/preview.gif','mcePreview');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",inline:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")});}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="";var c=tinyMCE.getContent();var pos=c.indexOf('',pos);pos2=c.lastIndexOf('');c=c.substring(pos+1,pos2);}html+=tinyMCE.getParam('doctype');html+='';html+='';html+=''+tinyMCE.getLang('lang_preview_desc')+'';html+='';html+='';html+='';html+='';html+='';html+=c;html+='';html+='';win.document.write(html);win.document.close();}return true;}return false;}};tinyMCE.addPlugin("preview",TinyMCE_PreviewPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,92 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.23 $ + * $Date: 2006/03/20 12:03:44 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('preview', 'en,tr,cs,de,el,fr_ca,it,ko,pt,sv,zh_cn,fa,fr,pl,pt_br,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,es,cy,is,zh_tw,zh_tw_utf8,sk'); + +var TinyMCE_PreviewPlugin = { + getInfo : function() { + return { + longname : 'Preview', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_preview.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + /** + * Returns the HTML contents of the preview control. + */ + getControlHTML : function(cn) { + switch (cn) { + case "preview": + return tinyMCE.getButtonHTML(cn, 'lang_preview_desc', '{$pluginurl}/images/preview.gif', 'mcePreview'); + } + + return ""; + }, + + /** + * Executes the mcePreview command. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mcePreview": + var previewPage = tinyMCE.getParam("plugin_preview_pageurl", null); + var previewWidth = tinyMCE.getParam("plugin_preview_width", "550"); + var previewHeight = tinyMCE.getParam("plugin_preview_height", "600"); + + // Use a custom preview page + if (previewPage) { + var template = new Array(); + + template['file'] = previewPage; + template['width'] = previewWidth; + template['height'] = previewHeight; + + tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "yes", inline : "yes", content : tinyMCE.getContent(), content_css : tinyMCE.getParam("content_css")}); + } else { + var win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + previewWidth + ",height=" + previewHeight); + var html = ""; + var c = tinyMCE.getContent(); + var pos = c.indexOf('', pos); + pos2 = c.lastIndexOf(''); + c = c.substring(pos + 1, pos2); + } + + html += tinyMCE.getParam('doctype'); + html += ''; + html += ''; + html += '' + tinyMCE.getLang('lang_preview_desc') + ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += c; + html += ''; + html += ''; + + win.document.write(html); + win.document.close(); + } + + return true; + } + + return false; + } +}; + +tinyMCE.addPlugin("preview", TinyMCE_PreviewPlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/example.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/example.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/example.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/example.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,13 @@ + + + +Example of a custom preview page + + + + +Editor contents:
          +{$content} + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/images/preview.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/images/preview.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,5 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +preview_desc : 'Preview' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/preview/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('print','en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_PrintPlugin={getInfo:function(){return{longname:'Print',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_print.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"print":return tinyMCE.getButtonHTML(cn,'lang_print_desc','{$pluginurl}/images/print.gif','mcePrint');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true;}return false;}};tinyMCE.addPlugin("print",TinyMCE_PrintPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,49 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.19 $ + * $Date: 2006/02/10 16:29:40 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import theme specific language pack */ +tinyMCE.importPluginLanguagePack('print', 'en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,es,cy,is,zh_tw,zh_tw_utf8,sk'); + +var TinyMCE_PrintPlugin = { + getInfo : function() { + return { + longname : 'Print', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_print.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + getControlHTML : function(cn) { + switch (cn) { + case "print": + return tinyMCE.getButtonHTML(cn, 'lang_print_desc', '{$pluginurl}/images/print.gif', 'mcePrint'); + } + + return ""; + }, + + /** + * Executes the search/replace commands. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mcePrint": + tinyMCE.getInstanceById(editor_id).contentWindow.print(); + return true; + } + + // Pass to next handler in chain + return false; + } +}; + +tinyMCE.addPlugin("print", TinyMCE_PrintPlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/images/print.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/images/print.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,5 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +print_desc : 'Print' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/print/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +This is the location you place TinyMCE plugins. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('save','en,tr,sv,zh_cn,cs,fa,fr_ca,fr,de,pl,pt_br,nl,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,da,es,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_SavePlugin={getInfo:function(){return{longname:'Save',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_save.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){inst.addShortcut('ctrl','s','lang_save_desc','mceSave');},getControlHTML:function(cn){switch(cn){case"save":return tinyMCE.getButtonHTML(cn,'lang_save_desc','{$pluginurl}/images/save.gif','mceSave');}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceSave":if(tinyMCE.getParam("fullscreen_is_enabled"))return true;var inst=tinyMCE.selectedInstance;var formObj=inst.formElement.form;if(tinyMCE.getParam("save_enablewhendirty")&&!inst.isDirty())return true;if(formObj){tinyMCE.triggerSave();var os;if((os=tinyMCE.getParam("save_onsavecallback"))){if(eval(os+'(inst);')){inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);tinyMCE.triggerNodeChange(false,true);}return true;}for(var i=0;i \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/images/save.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/images/save.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,5 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +save_desc : 'Save' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/save/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('searchreplace','en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_SearchReplacePlugin={getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_searchreplace.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){inst.addShortcut('ctrl','f','lang_searchreplace_search_desc','mceSearch',true);},getControlHTML:function(cn){switch(cn){case"search":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_search_desc','{$pluginurl}/images/search.gif','mceSearch',true);case"replace":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_replace_desc','{$pluginurl}/images/replace.gif','mceSearchReplace',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){var instance=tinyMCE.getInstanceById(editor_id);function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key];}function replaceSel(search_str,str,back){instance.execCommand('mceInsertContent',false,str);}if(!value)value=new Array();defValue("editor_id",editor_id);defValue("searchstring","");defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);defValue("inline","yes");switch(command){case"mceResetSearch":tinyMCE.lastSearchRng=null;return true;case"mceSearch":if(user_interface){var template=new Array();if(value['replacestring']!=null){template['file']='../../plugins/searchreplace/replace.htm';template['width']=320;template['height']=100+(tinyMCE.isNS7?20:0);template['width']+=tinyMCE.getLang('lang_searchreplace_replace_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_replace_delta_height',0);}else{template['file']='../../plugins/searchreplace/search.htm';template['width']=310;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_searchreplace_search_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_replace_delta_height',0);}instance.execCommand('SelectAll');if(tinyMCE.isMSIE){var r=instance.selection.getRng();r.collapse(true);r.select();}else instance.selection.getSel().collapseToStart();tinyMCE.openWindow(template,value);}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;if(body.innerHTML==""){alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true;}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring'],value['backwards']);value['replacemode']="none";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}if(tinyMCE.isMSIE){var rng=tinyMCE.lastSearchRng?tinyMCE.lastSearchRng:doc.selection.createRange();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(!rng.findText){alert('This operation is currently not supported by this browser.');return true;}if(value['replacemode']=="all"){while(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(false);replaceSel(value['string'],value['replacestring'],value['backwards']);}alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select();rng.collapse(value['backwards']);tinyMCE.lastSearchRng=rng;}else alert(tinyMCE.getLang('lang_searchreplace_notfound'));}else{if(value['replacemode']=="all"){while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))replaceSel(value['string'],value['replacestring'],value['backwards']);alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));return true;}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))alert(tinyMCE.getLang('lang_searchreplace_notfound'));}}return true;case"mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true;}return false;}};tinyMCE.addPlugin("searchreplace",TinyMCE_SearchReplacePlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,185 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.27 $ + * $Date: 2006/02/13 15:09:28 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import theme specific language pack */ +tinyMCE.importPluginLanguagePack('searchreplace', 'en,tr,sv,zh_cn,fa,fr_ca,fr,de,pl,pt_br,cs,nl,da,he,nb,hu,ru,ru_KOI8-R,ru_UTF-8,nn,fi,cy,es,is,zh_tw,zh_tw_utf8,sk'); + +var TinyMCE_SearchReplacePlugin = { + getInfo : function() { + return { + longname : 'Search/Replace', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_searchreplace.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + initInstance : function(inst) { + inst.addShortcut('ctrl', 'f', 'lang_searchreplace_search_desc', 'mceSearch', true); + }, + + getControlHTML : function(cn) { + switch (cn) { + case "search": + return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_search_desc', '{$pluginurl}/images/search.gif', 'mceSearch', true); + case "replace": + return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_replace_desc', '{$pluginurl}/images/replace.gif', 'mceSearchReplace', true); + } + return ""; + }, + + /** + * Executes the search/replace commands. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + var instance = tinyMCE.getInstanceById(editor_id); + + function defValue(key, default_value) { + value[key] = typeof(value[key]) == "undefined" ? default_value : value[key]; + } + + function replaceSel(search_str, str, back) { + instance.execCommand('mceInsertContent', false, str); + } + + if (!value) + value = new Array(); + + // Setup defualt values + defValue("editor_id", editor_id); + defValue("searchstring", ""); + defValue("replacestring", null); + defValue("replacemode", "none"); + defValue("casesensitive", false); + defValue("backwards", false); + defValue("wrap", false); + defValue("wholeword", false); + defValue("inline", "yes"); + + // Handle commands + switch (command) { + case "mceResetSearch": + tinyMCE.lastSearchRng = null; + return true; + + case "mceSearch": + if (user_interface) { + // Open search dialog + var template = new Array(); + + if (value['replacestring'] != null) { + template['file'] = '../../plugins/searchreplace/replace.htm'; // Relative to theme + template['width'] = 320; + template['height'] = 100 + (tinyMCE.isNS7 ? 20 : 0); + template['width'] += tinyMCE.getLang('lang_searchreplace_replace_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_searchreplace_replace_delta_height', 0); + } else { + template['file'] = '../../plugins/searchreplace/search.htm'; // Relative to theme + template['width'] = 310; + template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0); + template['width'] += tinyMCE.getLang('lang_searchreplace_search_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_searchreplace_replace_delta_height', 0); + } + + instance.execCommand('SelectAll'); + + if (tinyMCE.isMSIE) { + var r = instance.selection.getRng(); + r.collapse(true); + r.select(); + } else + instance.selection.getSel().collapseToStart(); + + tinyMCE.openWindow(template, value); + } else { + var win = tinyMCE.getInstanceById(editor_id).contentWindow; + var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document; + var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body; + + // Whats the point + if (body.innerHTML == "") { + alert(tinyMCE.getLang('lang_searchreplace_notfound')); + return true; + } + + // Handle replace current + if (value['replacemode'] == "current") { + replaceSel(value['string'], value['replacestring'], value['backwards']); + + // Search next one + value['replacemode'] = "none"; + tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false); + + return true; + } + + if (tinyMCE.isMSIE) { + var rng = tinyMCE.lastSearchRng ? tinyMCE.lastSearchRng : doc.selection.createRange(); + var flags = 0; + + if (value['wholeword']) + flags = flags | 2; + + if (value['casesensitive']) + flags = flags | 4; + + if (!rng.findText) { + alert('This operation is currently not supported by this browser.'); + return true; + } + + // Handle replace all mode + if (value['replacemode'] == "all") { + while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) { + rng.scrollIntoView(); + rng.select(); + rng.collapse(false); + replaceSel(value['string'], value['replacestring'], value['backwards']); + } + + alert(tinyMCE.getLang('lang_searchreplace_allreplaced')); + return true; + } + + if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) { + rng.scrollIntoView(); + rng.select(); + rng.collapse(value['backwards']); + tinyMCE.lastSearchRng = rng; + } else + alert(tinyMCE.getLang('lang_searchreplace_notfound')); + } else { + if (value['replacemode'] == "all") { + while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) + replaceSel(value['string'], value['replacestring'], value['backwards']); + + alert(tinyMCE.getLang('lang_searchreplace_allreplaced')); + return true; + } + + if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) + alert(tinyMCE.getLang('lang_searchreplace_notfound')); + } + } + return true; + + case "mceSearchReplace": + value['replacestring'] = ""; + + tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false); + return true; + } + + // Pass to next handler in chain + return false; + } +}; + +tinyMCE.addPlugin("searchreplace", TinyMCE_SearchReplacePlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,40 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + + formObj.searchstring.value = tinyMCE.getWindowArg("searchstring"); + formObj.replacestring.value = tinyMCE.getWindowArg("replacestring"); + formObj.casesensitivebox.checked = tinyMCE.getWindowArg("casesensitive"); +// formObj.backwards[0].checked = tinyMCE.getWindowArg("backwards"); +// formObj.backwards[1].checked = !tinyMCE.getWindowArg("backwards"); +// formObj.wrapatend.checked = tinyMCE.getWindowArg("wrap"); +// formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword"); + + tinyMCEPopup.execCommand("mceResetSearch", false, {dummy : ""}, false); +} + +function searchNext(replacemode) { + var formObj = document.forms[0]; + + // Whats the point? + if (formObj.searchstring.value == "" || formObj.searchstring.value == formObj.replacestring.value) + return; + + // Do search + tinyMCEPopup.execCommand('mceSearch', false, { + string : formObj.searchstring.value, + replacestring : formObj.replacestring.value, + replacemode : replacemode, + casesensitive : formObj.casesensitivebox.checked, + backwards : false +// wrap : formObj.wrapatend.checked, +// wholeword : formObj.wholeword.checked + }, false); + + window.focus(); +} + +function cancelAction() { + tinyMCEPopup.close(); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,36 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + + formObj.searchstring.value = tinyMCE.getWindowArg("searchstring"); + formObj.casesensitivebox.checked = tinyMCE.getWindowArg("casesensitive"); + formObj.backwards[0].checked = tinyMCE.getWindowArg("backwards"); + formObj.backwards[1].checked = !tinyMCE.getWindowArg("backwards"); +// formObj.wrapatend.checked = tinyMCE.getWindowArg("wrap"); +// formObj.wholeword.checked = tinyMCE.getWindowArg("wholeword"); + + tinyMCEPopup.execCommand("mceResetSearch", false, {dummy : ""}, false); +} + +function searchNext() { + var formObj = document.forms[0]; + + if (formObj.searchstring.value == "") + return; + + // Do search + tinyMCEPopup.execCommand('mceSearch', false, { + string : formObj.searchstring.value, + casesensitive : formObj.casesensitivebox.checked, + backwards : formObj.backwards[0].checked +// wrap : formObj.wrapatend.checked, +// wholeword : formObj.wholeword.checked + }, false); + + window.focus(); +} + +function cancelAction() { + tinyMCEPopup.close(); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,21 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +searchreplace_search_desc : 'Find', +searchreplace_searchnext_desc : 'Find again', +searchreplace_replace_desc : 'Find/Replace', +searchreplace_notfound : 'The search has been completed. The search string could not be found.', +searchreplace_search_title : 'Find', +searchreplace_replace_title : 'Find/Replace', +searchreplace_allreplaced : 'All occurrences of the search string were replaced.', +searchreplace_findwhat : 'Find what', +searchreplace_replacewith : 'Replace with', +searchreplace_direction : 'Direction', +searchreplace_up : 'Up', +searchreplace_down : 'Down', +searchreplace_case : 'Match case', +searchreplace_findnext : 'Find next', +searchreplace_replace : 'Replace', +searchreplace_replaceall : 'Replace all', +searchreplace_cancel : 'Cancel' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/replace.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/replace.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/replace.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/replace.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,49 @@ + + + {$lang_searchreplace_replace_title} + + + + + +
          + + + + + + + + + + + + + + + +
          + + + + +
          + + + + + + + +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/search.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/search.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/search.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/searchreplace/search.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,42 @@ + + + {$lang_searchreplace_search_title} + + + + + +
          + + + + + + + + + + +
           
          + + + + + + + +
          + + + + +
          + + + + + +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,11 @@ +Version 1.0.2 (2006-08-02) + Added new spellchecker_report_mispellings option, contributed by Jeremy B. + Fixed various regexp bugs and issues. Some where contributed by Jeremy B. + Fixed the Google speller class so it uses curl, patch contributed by Yuriy Kramar. + Fixed encoding issues with language specific characters, patch contributed by codepit. + Fixed bug where the spellchecker wasn't working in MSIE if the editor was placed in a P tag. +Version 1.0.1 (2006-05-05) + Since sourceforge has a serious bug when it comes to replacing files with the same name this release was necessary. + Goggle spellchecker class was added. +Version 1.0 (2006-05-03) + Official first release. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/HttpClient.class.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/HttpClient.class.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/HttpClient.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/HttpClient.class.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,339 @@ +cookies array ready for the next request + // Note: This currently ignores the cookie path (and time) completely. Time is not important, + // but path could possibly lead to security problems. + var $persist_referers = true; // For each request, sends path of last request as referer + var $debug = false; + var $handle_redirects = true; // Auaomtically redirect if Location or URI header is found + var $max_redirects = 5; + var $headers_only = false; // If true, stops receiving once headers have been read. + // Basic authorization variables + var $username; + var $password; + // Response vars + var $status; + var $headers = array(); + var $content = ''; + var $errormsg; + // Tracker variables + var $redirect_count = 0; + var $cookie_host = ''; + function HttpClient($host, $port=80) { + $this->host = $host; + $this->port = $port; + } + function get($path, $data = false) { + $this->path = $path; + $this->method = 'GET'; + if ($data) { + $this->path .= '?'.$this->buildQueryString($data); + } + return $this->doRequest(); + } + function post($path, $data) { + $this->path = $path; + $this->method = 'POST'; + $this->postdata = $this->buildQueryString($data); + return $this->doRequest(); + } + function buildQueryString($data) { + $querystring = ''; + if (is_array($data)) { + // Change data in to postable data + foreach ($data as $key => $val) { + if (is_array($val)) { + foreach ($val as $val2) { + $querystring .= urlencode($key).'='.urlencode($val2).'&'; + } + } else { + $querystring .= urlencode($key).'='.urlencode($val).'&'; + } + } + $querystring = substr($querystring, 0, -1); // Eliminate unnecessary & + } else { + $querystring = $data; + } + return $querystring; + } + function doRequest() { + // Performs the actual HTTP request, returning true or false depending on outcome + if (!$fp = @fsockopen($this->host, $this->port, $errno, $errstr, $this->timeout)) { + // Set error message + switch($errno) { + case -3: + $this->errormsg = 'Socket creation failed (-3)'; + case -4: + $this->errormsg = 'DNS lookup failure (-4)'; + case -5: + $this->errormsg = 'Connection refused or timed out (-5)'; + default: + $this->errormsg = 'Connection failed ('.$errno.')'; + $this->errormsg .= ' '.$errstr; + $this->debug($this->errormsg); + } + return false; + } + socket_set_timeout($fp, $this->timeout); + $request = $this->buildRequest(); + $this->debug('Request', $request); + fwrite($fp, $request); + // Reset all the variables that should not persist between requests + $this->headers = array(); + $this->content = ''; + $this->errormsg = ''; + // Set a couple of flags + $inHeaders = true; + $atStart = true; + // Now start reading back the response + while (!feof($fp)) { + $line = fgets($fp, 4096); + if ($atStart) { + // Deal with first line of returned data + $atStart = false; + if (!preg_match('/HTTP\/(\\d\\.\\d)\\s*(\\d+)\\s*(.*)/', $line, $m)) { + $this->errormsg = "Status code line invalid: ".htmlentities($line); + $this->debug($this->errormsg); + return false; + } + $http_version = $m[1]; // not used + $this->status = $m[2]; + $status_string = $m[3]; // not used + $this->debug(trim($line)); + continue; + } + if ($inHeaders) { + if (trim($line) == '') { + $inHeaders = false; + $this->debug('Received Headers', $this->headers); + if ($this->headers_only) { + break; // Skip the rest of the input + } + continue; + } + if (!preg_match('/([^:]+):\\s*(.*)/', $line, $m)) { + // Skip to the next header + continue; + } + $key = strtolower(trim($m[1])); + $val = trim($m[2]); + // Deal with the possibility of multiple headers of same name + if (isset($this->headers[$key])) { + if (is_array($this->headers[$key])) { + $this->headers[$key][] = $val; + } else { + $this->headers[$key] = array($this->headers[$key], $val); + } + } else { + $this->headers[$key] = $val; + } + continue; + } + // We're not in the headers, so append the line to the contents + $this->content .= $line; + } + fclose($fp); + // If data is compressed, uncompress it + if (isset($this->headers['content-encoding']) && $this->headers['content-encoding'] == 'gzip') { + $this->debug('Content is gzip encoded, unzipping it'); + $this->content = substr($this->content, 10); // See http://www.php.net/manual/en/function.gzencode.php + $this->content = gzinflate($this->content); + } + // If $persist_cookies, deal with any cookies + if ($this->persist_cookies && isset($this->headers['set-cookie']) && $this->host == $this->cookie_host) { + $cookies = $this->headers['set-cookie']; + if (!is_array($cookies)) { + $cookies = array($cookies); + } + foreach ($cookies as $cookie) { + if (preg_match('/([^=]+)=([^;]+);/', $cookie, $m)) { + $this->cookies[$m[1]] = $m[2]; + } + } + // Record domain of cookies for security reasons + $this->cookie_host = $this->host; + } + // If $persist_referers, set the referer ready for the next request + if ($this->persist_referers) { + $this->debug('Persisting referer: '.$this->getRequestURL()); + $this->referer = $this->getRequestURL(); + } + // Finally, if handle_redirects and a redirect is sent, do that + if ($this->handle_redirects) { + if (++$this->redirect_count >= $this->max_redirects) { + $this->errormsg = 'Number of redirects exceeded maximum ('.$this->max_redirects.')'; + $this->debug($this->errormsg); + $this->redirect_count = 0; + return false; + } + $location = isset($this->headers['location']) ? $this->headers['location'] : ''; + $uri = isset($this->headers['uri']) ? $this->headers['uri'] : ''; + if ($location || $uri) { + $url = parse_url($location.$uri); + // This will FAIL if redirect is to a different site + return $this->get($url['path']); + } + } + return true; + } + function buildRequest() { + $headers = array(); + $headers[] = "{$this->method} {$this->path} HTTP/1.0"; // Using 1.1 leads to all manner of problems, such as "chunked" encoding + $headers[] = "Host: {$this->host}"; + $headers[] = "User-Agent: {$this->user_agent}"; + $headers[] = "Accept: {$this->accept}"; + if ($this->use_gzip) { + $headers[] = "Accept-encoding: {$this->accept_encoding}"; + } + $headers[] = "Accept-language: {$this->accept_language}"; + if ($this->referer) { + $headers[] = "Referer: {$this->referer}"; + } + // Cookies + if ($this->cookies) { + $cookie = 'Cookie: '; + foreach ($this->cookies as $key => $value) { + $cookie .= "$key=$value; "; + } + $headers[] = $cookie; + } + // Basic authentication + if ($this->username && $this->password) { + $headers[] = 'Authorization: BASIC '.base64_encode($this->username.':'.$this->password); + } + // If this is a POST, set the content type and length + if ($this->postdata) { + $headers[] = 'Content-Type: application/x-www-form-urlencoded'; + $headers[] = 'Content-Length: '.strlen($this->postdata); + } + $request = implode("\r\n", $headers)."\r\n\r\n".$this->postdata; + return $request; + } + function getStatus() { + return $this->status; + } + function getContent() { + return $this->content; + } + function getHeaders() { + return $this->headers; + } + function getHeader($header) { + $header = strtolower($header); + if (isset($this->headers[$header])) { + return $this->headers[$header]; + } else { + return false; + } + } + function getError() { + return $this->errormsg; + } + function getCookies() { + return $this->cookies; + } + function getRequestURL() { + $url = 'http://'.$this->host; + if ($this->port != 80) { + $url .= ':'.$this->port; + } + $url .= $this->path; + return $url; + } + // Setter methods + function setUserAgent($string) { + $this->user_agent = $string; + } + function setAuthorization($username, $password) { + $this->username = $username; + $this->password = $password; + } + function setCookies($array) { + $this->cookies = $array; + } + // Option setting methods + function useGzip($boolean) { + $this->use_gzip = $boolean; + } + function setPersistCookies($boolean) { + $this->persist_cookies = $boolean; + } + function setPersistReferers($boolean) { + $this->persist_referers = $boolean; + } + function setHandleRedirects($boolean) { + $this->handle_redirects = $boolean; + } + function setMaxRedirects($num) { + $this->max_redirects = $num; + } + function setHeadersOnly($boolean) { + $this->headers_only = $boolean; + } + function setDebug($boolean) { + $this->debug = $boolean; + } + // "Quick" static methods + function quickGet($url) { + $bits = parse_url($url); + $host = $bits['host']; + $port = isset($bits['port']) ? $bits['port'] : 80; + $path = isset($bits['path']) ? $bits['path'] : '/'; + if (isset($bits['query'])) { + $path .= '?'.$bits['query']; + } + $client = new HttpClient($host, $port); + if (!$client->get($path)) { + return false; + } else { + return $client->getContent(); + } + } + function quickPost($url, $data) { + $bits = parse_url($url); + $host = $bits['host']; + $port = isset($bits['port']) ? $bits['port'] : 80; + $path = isset($bits['path']) ? $bits['path'] : '/'; + $client = new HttpClient($host, $port); + if (!$client->post($path, $data)) { + return false; + } else { + return $client->getContent(); + } + } + function debug($msg, $object = false) { + if ($this->debug) { + print '
          HttpClient Debug: '.$msg; + if ($object) { + ob_start(); + print_r($object); + $content = htmlentities(ob_get_contents()); + ob_end_clean(); + print '
          '.$content.'
          '; + } + print '
          '; + } + } +} + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,107 @@ +lang = $lang; + } + + // Returns array with bad words or false if failed. + function checkWords($word_array) { + $words = array(); + $wordstr = implode(' ', $word_array); + + $matches = $this->_getMatches($wordstr); + + for ($i=0; $iunhtmlentities(mb_substr($wordstr, $matches[$i][1], $matches[$i][2], "UTF-8")); + + return $words; + } + + function unhtmlentities($string) { + $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string); + $string = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $string); + + $trans_tbl = get_html_translation_table(HTML_ENTITIES); + $trans_tbl = array_flip($trans_tbl); + + return strtr($string, $trans_tbl); + } + + // Returns array with suggestions or false if failed. + function getSuggestion($word) { + $sug = array(); + + $matches = $this->_getMatches($word); + + if (count($matches) > 0) + $sug = explode("\t", utf8_encode($this->unhtmlentities($matches[0][4]))); + + return $sug; + } + + function _xmlChars($string) { + $trans = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES); + + foreach ($trans as $k => $v) + $trans[$k] = "&#".ord($k).";"; + + return strtr($string, $trans); + } + + function _getMatches($word_list) { + $server = "www.google.com"; + $port = 443; + $path = "/tbproxy/spell?lang=" . $this->lang . "&hl=en"; + $host = "www.google.com"; + $url = "https://" . $server; + + // Setup XML request + $xml = '' . $word_list . ''; + + $header = "POST ".$path." HTTP/1.0 \r\n"; + $header .= "MIME-Version: 1.0 \r\n"; + $header .= "Content-type: application/PTI26 \r\n"; + $header .= "Content-length: ".strlen($xml)." \r\n"; + $header .= "Content-transfer-encoding: text \r\n"; + $header .= "Request-number: 1 \r\n"; + $header .= "Document-type: Request \r\n"; + $header .= "Interface-Version: Test 1.4 \r\n"; + $header .= "Connection: close \r\n\r\n"; + $header .= $xml; + //$this->_debugData($xml); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL,$url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + $xml = curl_exec($ch); + curl_close($ch); + + //$this->_debugData($xml); + + // Grab and parse content + preg_match_all('/([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER); + + return $matches; + } + + function _debugData($data) { + $fh = @fopen("debug.log", 'a+'); + @fwrite($fh, $data); + @fclose($fh); + } +} + +// Setup classname, should be the same as the name of the spellchecker class +$spellCheckerConfig['class'] = "TinyGoogleSpell"; + +?> diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,64 @@ +lang = $lang; + $this->mode = $mode; + $this->plink = false; + $this->errorMsg = array(); + + if (!function_exists("pspell_new")) { + $this->errorMsg[] = "PSpell not found."; + return; + } + + $this->plink = pspell_new($this->lang, $this->spelling, $this->jargon, $this->encoding, $this->mode); + } + + // Returns array with bad words or false if failed. + function checkWords($wordArray) { + if (!$this->plink) { + $this->errorMsg[] = "No PSpell link found for checkWords."; + return array(); + } + + $wordError = array(); + foreach($wordArray as $word) { + if(!pspell_check($this->plink, trim($word))) + $wordError[] = $word; + } + + return $wordError; + } + + // Returns array with suggestions or false if failed. + function getSuggestion($word) { + if (!$this->plink) { + $this->errorMsg[] = "No PSpell link found for getSuggestion."; + return array(); + } + + return pspell_suggest($this->plink, $word); + } +} + +// Setup classname, should be the same as the name of the spellchecker class +$spellCheckerConfig['class'] = "TinyPspell"; + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,121 @@ +lang = $lang; + $this->mode = $mode; + $this->error = false; + $this->errorMsg = array(); + + $this->tmpfile = tempnam($config['tinypspellshell.tmp'], "tinyspell"); + + if(preg_match("#win#i",php_uname())) + $this->cmd = $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang." --encoding=utf-8 -H < $this->tmpfile 2>&1"; + else + $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --encoding=utf-8 -H --lang=". $this->lang; + } + + // Returns array with bad words or false if failed. + function checkWords($wordArray) { + if ($fh = fopen($this->tmpfile, "w")) { + fwrite($fh, "!\n"); + foreach($wordArray as $key => $value) + fwrite($fh, "^" . $value . "\n"); + fclose($fh); + } else { + $this->errorMsg[] = "PSpell not found."; + return array(); + } + + $data = shell_exec($this->cmd); + @unlink($this->tmpfile); + + $returnData = array(); + $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); + + foreach($dataArr as $dstr) { + $matches = array(); + + // Skip this line. + if (strpos($dstr, "@") === 0) + continue; + + preg_match("/\& (.*) .* .*: .*/i", $dstr, $matches); + + if (!empty($matches[1])) + $returnData[] = $matches[1]; + } + + return $returnData; + } + + // Returns array with suggestions or false if failed. + function getSuggestion($word) { + if (function_exists("mb_convert_encoding")) + $word = mb_convert_encoding($word, "ISO-8859-1", mb_detect_encoding($word, "UTF-8")); + else + $word = utf8_encode($word); + + if ($fh = fopen($this->tmpfile, "w")) { + fwrite($fh, "!\n"); + fwrite($fh, "^$word\n"); + fclose($fh); + } else + die("Error opening tmp file."); + + $data = shell_exec($this->cmd); + + @unlink($this->tmpfile); + + $returnData = array(); + $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); + + foreach($dataArr as $dstr) { + $matches = array(); + + // Skip this line. + if (strpos($dstr, "@") === 0) + continue; + + preg_match("/\& .* .* .*: (.*)/i", $dstr, $matches); + + if (!empty($matches[1])) { + // For some reason, the exec version seems to add commas? + $returnData[] = str_replace(",", "", $matches[1]); + } + } + return $returnData; + } + + function _debugData($data) { + $fh = @fopen("debug.log", 'a+'); + @fwrite($fh, $data); + @fclose($fh); + } + +} + +// Setup classname, should be the same as the name of the spellchecker class +$spellCheckerConfig['class'] = "TinyPspellShell"; + +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,24 @@ + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/content.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/content.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/content.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/content.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,5 @@ +.mceItemHiddenSpellWord { + background: url('../images/wline.gif') repeat-x bottom left; + bo2rder-bottom: 1px dashed red; + cursor: default; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/spellchecker.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/spellchecker.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/spellchecker.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/spellchecker.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,34 @@ +.mceMsgBox { + border: 1px solid gray; + padding: 8px; +} + +.mceMsgBox span { + vertical-align: top; + color: #555555; +} + +/* Misc */ + +.mceBlockBox { + display: none; + position: absolute; + left: 0; + top: 0; + z-index: 100; + filter:progid:DXImageTransform.Microsoft.Alpha(style=0, opacity=60); + -moz-opacity:0.6; + opacity: 0.6; + background-color: white; +} + +.mceMsgBox { + display: none; + z-index: 101; + position: absolute; + left: 0; + top: 0; + font-family: Arial, Verdana, Tahoma, Helvetica; + font-weight: bold; + font-size: 11px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('spellchecker','en,fr,sv,nn,nb');var TinyMCE_SpellCheckerPlugin={_contextMenu:new TinyMCE_Menu(),_menu:new TinyMCE_Menu(),_counter:0,_ajaxPage:'/tinyspell.php',getInfo:function(){return{longname:'Spellchecker',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_spellchecker.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},handleEvent:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var inst=tinyMCE.selectedInstance,args='';var self=TinyMCE_SpellCheckerPlugin;var cm=self._contextMenu;var p,p2,x,y,sx,sy,h,elm;if((e.type=="click"||e.type=="contextmenu")&&elm){do{if(tinyMCE.getAttrib(elm,'class')=="mceItemHiddenSpellWord"){inst.spellCheckerElm=elm;args+='id='+inst.editorId+"|"+(++self._counter);args+='&cmd=suggest&check='+encodeURIComponent(elm.innerHTML);args+='&lang='+escape(inst.spellCheckerLang);elm=inst.spellCheckerElm;p=tinyMCE.getAbsPosition(inst.iframeElement);p2=tinyMCE.getAbsPosition(elm);h=parseInt(elm.offsetHeight);sx=inst.getBody().scrollLeft;sy=inst.getBody().scrollTop;x=p.absLeft+p2.absLeft-sx;y=p.absTop+p2.absTop-sy+h;cm.clear();cm.addTitle(tinyMCE.getLang('lang_spellchecker_wait','',true));cm.show();cm.moveTo(x,y);inst.selection.selectNode(elm,false,false);self._sendAjax(self.baseURL+self._ajaxPage,self._ajaxResponse,'post',args);tinyMCE.cancelEvent(e);return false;}}while((elm=elm.parentNode));}return true;},initInstance:function(inst){var self=TinyMCE_SpellCheckerPlugin,m=self._menu,cm=self._contextMenu,e;tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/spellchecker/css/content.css");if(!tinyMCE.hasMenu('spellcheckercontextmenu')){tinyMCE.importCSS(document,tinyMCE.baseURL+"/plugins/spellchecker/css/spellchecker.css");cm.init({drop_menu:false});tinyMCE.addMenu('spellcheckercontextmenu',cm);}if(!tinyMCE.hasMenu('spellcheckermenu')){m.init({});tinyMCE.addMenu('spellcheckermenu',m);}inst.spellCheckerLang='en';self._buildSettingsMenu(inst,null);e=self._getBlockBoxLayer(inst).create('div','mceBlockBox',document.getElementById(inst.editorId+'_parent'));self._getMsgBoxLayer(inst).create('div','mceMsgBox',document.getElementById(inst.editorId+'_parent'));},_getMsgBoxLayer:function(inst){if(!inst.spellCheckerMsgBoxL)inst.spellCheckerMsgBoxL=new TinyMCE_Layer(inst.editorId+'_spellcheckerMsgBox',false);return inst.spellCheckerMsgBoxL;},_getBlockBoxLayer:function(inst){if(!inst.spellCheckerBoxL)inst.spellCheckerBoxL=new TinyMCE_Layer(inst.editorId+'_spellcheckerBlockBox',false);return inst.spellCheckerBoxL;},_buildSettingsMenu:function(inst,lang){var i,ar=tinyMCE.getParam('spellchecker_languages','+English=en').split(','),p;var self=TinyMCE_SpellCheckerPlugin,m=self._menu,c;m.clear();m.addTitle(tinyMCE.getLang('lang_spellchecker_langs','',true));for(i=0;i';h+='';h+='';h+='';}else{if(tinyMCE.isMSIE&&!tinyMCE.isOpera)h+='';else h+='';h+='';h+='';h+='';h+='';}return h;},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'');},_toggleMenu:function(editor_id,id){var self=TinyMCE_SpellCheckerPlugin;var e=document.getElementById(editor_id+'_spellchecker');var inst=tinyMCE.getInstanceById(editor_id);if(self._menu.isVisible()){tinyMCE.hideMenus();return;}tinyMCE.lastMenuBtnClass=e.className.replace(/\s.*$/,'');tinyMCE.switchClass(editor_id+'_spellchecker','mceMenuButtonFocus');self._menu.moveRelativeTo(e,'bl');self._menu.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?0:1,-1);if(tinyMCE.isOpera)self._menu.moveBy(0,-2);self._onMenuEvent(inst,self._menu,'show');self._menu.show();tinyMCE.lastSelectedMenuBtn=editor_id+'_spellchecker';},_onMenuEvent:function(inst,m,n){TinyMCE_SpellCheckerPlugin._buildSettingsMenu(inst,inst.spellCheckerLang);},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),self=TinyMCE_SpellCheckerPlugin,args='',co,bb,mb,nl,i,e;switch(command){case"mceSpellCheck":if(!inst.spellcheckerOn){inst.spellCheckerBookmark=inst.selection.getBookmark();args+='id='+inst.editorId+"|"+(++self._counter);args+='&cmd=spell&check='+encodeURIComponent(self._getWordList(inst.getBody())).replace(/\'/g,'%27');args+='&lang='+escape(inst.spellCheckerLang);co=document.getElementById(inst.editorId+'_parent').firstChild;bb=self._getBlockBoxLayer(inst);bb.moveRelativeTo(co,'tl');bb.resizeTo(co.offsetWidth,co.offsetHeight);bb.show();mb=self._getMsgBoxLayer(inst);e=mb.getElement();e.innerHTML=''+tinyMCE.getLang('lang_spellchecker_swait','',true)+'';mb.show();mb.moveRelativeTo(co,'cc');if(tinyMCE.isMSIE&&!tinyMCE.isOpera){nl=co.getElementsByTagName('select');for(i=0;i?@[\]^_{|}\u201d\u201c');for(i=0;i0)wl[wl.length]=nl[i];}return wl.join(' ');},_removeWords:function(doc,word){var i,c,nl=doc.getElementsByTagName("span");var self=TinyMCE_SpellCheckerPlugin;var inst=tinyMCE.selectedInstance,b=inst?inst.selection.getBookmark():null;word=typeof(word)=='undefined'?null:word;for(i=nl.length-1;i>=0;i--){c=tinyMCE.getAttrib(nl[i],'class');if((c=='mceItemHiddenSpellWord'||c=='mceItemHidden')&&(word==null||nl[i].innerHTML==word))self._removeWord(nl[i]);}if(b)inst.selection.moveToBookmark(b);},_checkDone:function(inst){var self=TinyMCE_SpellCheckerPlugin;var w=self._countWords(inst);if(w==0){self._removeWords(inst.getDoc());inst.spellcheckerOn=false;tinyMCE.switchClass(inst.editorId+'_spellchecker','mceMenuButton');}},_countWords:function(inst){var i,w=0,nl=inst.getDoc().getElementsByTagName("span"),c;var self=TinyMCE_SpellCheckerPlugin;for(i=nl.length-1;i>=0;i--){c=tinyMCE.getAttrib(nl[i],'class');if(c=='mceItemHiddenSpellWord')w++;}return w;},_removeWord:function(e){if(e!=null)tinyMCE.setOuterHTML(e,e.innerHTML);},_markWords:function(doc,n,wl){var i,nv,nn,nl=tinyMCE.getNodeTree(n,new Array(),3);var r1,r2,r3,r4,r5,w='';var re=TinyMCE_SpellCheckerPlugin._getWordSeparators();for(i=0;i0)w+=wl[i]+((i==wl.length-1)?'':'|');}for(i=0;i$1$2');nv=nv.replace(r3,'$1$2');nn=doc.createElement('span');nn.className="mceItemHidden";nn.innerHTML=nv;nl[i].parentNode.replaceChild(nn,nl[i]);}}},_buildMenu:function(sg,max){var i,self=TinyMCE_SpellCheckerPlugin,cm=self._contextMenu;cm.clear();if(sg!=null){cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug','',true));for(i=0;i'; + h += ''; + h += ''; + h += ''; + } else { + if (tinyMCE.isMSIE && !tinyMCE.isOpera) + h += ''; + else + h += ''; + + h += ''; + h += ''; + h += ''; + h += ''; + } + + return h; + }, + + _menuButtonEvent : function(e, o) { + if (o.className == 'mceMenuButtonFocus') + return; + + if (e == 'over') + o.className = o.className + ' mceMenuHover'; + else + o.className = o.className.replace(/\s.*$/, ''); + }, + + _toggleMenu : function(editor_id, id) { + var self = TinyMCE_SpellCheckerPlugin; + var e = document.getElementById(editor_id + '_spellchecker'); + var inst = tinyMCE.getInstanceById(editor_id); + + if (self._menu.isVisible()) { + tinyMCE.hideMenus(); + return; + } + + tinyMCE.lastMenuBtnClass = e.className.replace(/\s.*$/, ''); + tinyMCE.switchClass(editor_id + '_spellchecker', 'mceMenuButtonFocus'); + + self._menu.moveRelativeTo(e, 'bl'); + self._menu.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? 0 : 1, -1); + + if (tinyMCE.isOpera) + self._menu.moveBy(0, -2); + + self._onMenuEvent(inst, self._menu, 'show'); + + self._menu.show(); + + tinyMCE.lastSelectedMenuBtn = editor_id + '_spellchecker'; + }, + + _onMenuEvent : function(inst, m, n) { + TinyMCE_SpellCheckerPlugin._buildSettingsMenu(inst, inst.spellCheckerLang); + }, + + execCommand : function(editor_id, element, command, user_interface, value) { + var inst = tinyMCE.getInstanceById(editor_id), self = TinyMCE_SpellCheckerPlugin, args = '', co, bb, mb, nl, i, e; + + // Handle commands + switch (command) { + case "mceSpellCheck": + if (!inst.spellcheckerOn) { + inst.spellCheckerBookmark = inst.selection.getBookmark(); + + // Setup arguments + args += 'id=' + inst.editorId + "|" + (++self._counter); + args += '&cmd=spell&check=' + encodeURIComponent(self._getWordList(inst.getBody())).replace( /\'/g, '%27' ); + args += '&lang=' + escape(inst.spellCheckerLang); + + co = document.getElementById(inst.editorId + '_parent').firstChild; + bb = self._getBlockBoxLayer(inst); + bb.moveRelativeTo(co, 'tl'); + bb.resizeTo(co.offsetWidth, co.offsetHeight); + bb.show(); + + // Setup message box + mb = self._getMsgBoxLayer(inst); + e = mb.getElement(); + e.innerHTML = '' + tinyMCE.getLang('lang_spellchecker_swait', '', true) + ''; + mb.show(); + mb.moveRelativeTo(co, 'cc'); + + if (tinyMCE.isMSIE && !tinyMCE.isOpera) { + nl = co.getElementsByTagName('select'); + for (i=0; i?@[\]^_{|}\u201d\u201c'); + + for (i=0; i 0) + wl[wl.length] = nl[i]; + } + + return wl.join(' '); + }, + + _removeWords : function(doc, word) { + var i, c, nl = doc.getElementsByTagName("span"); + var self = TinyMCE_SpellCheckerPlugin; + var inst = tinyMCE.selectedInstance, b = inst ? inst.selection.getBookmark() : null; + + word = typeof(word) == 'undefined' ? null : word; + + for (i=nl.length-1; i>=0; i--) { + c = tinyMCE.getAttrib(nl[i], 'class'); + + if ((c == 'mceItemHiddenSpellWord' || c == 'mceItemHidden') && (word == null || nl[i].innerHTML == word)) + self._removeWord(nl[i]); + } + + if (b) + inst.selection.moveToBookmark(b); + }, + + _checkDone : function(inst) { + var self = TinyMCE_SpellCheckerPlugin; + var w = self._countWords(inst); + + if (w == 0) { + self._removeWords(inst.getDoc()); + inst.spellcheckerOn = false; + tinyMCE.switchClass(inst.editorId + '_spellchecker', 'mceMenuButton'); + } + }, + + _countWords : function(inst) { + var i, w = 0, nl = inst.getDoc().getElementsByTagName("span"), c; + var self = TinyMCE_SpellCheckerPlugin; + + for (i=nl.length-1; i>=0; i--) { + c = tinyMCE.getAttrib(nl[i], 'class'); + + if (c == 'mceItemHiddenSpellWord') + w++; + } + + return w; + }, + + _removeWord : function(e) { + if (e != null) + tinyMCE.setOuterHTML(e, e.innerHTML); + }, + + _markWords : function(doc, n, wl) { + var i, nv, nn, nl = tinyMCE.getNodeTree(n, new Array(), 3); + var r1, r2, r3, r4, r5, w = ''; + var re = TinyMCE_SpellCheckerPlugin._getWordSeparators(); + + for (i=0; i 0) + w += wl[i] + ((i == wl.length-1) ? '' : '|'); + } + + for (i=0; i$1$2'); + nv = nv.replace(r3, '$1$2'); + + nn = doc.createElement('span'); + nn.className = "mceItemHidden"; + nn.innerHTML = nv; + + // Remove old text node + nl[i].parentNode.replaceChild(nn, nl[i]); + } + } + }, + + _buildMenu : function(sg, max) { + var i, self = TinyMCE_SpellCheckerPlugin, cm = self._contextMenu; + + cm.clear(); + + if (sg != null) { + cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug', '', true)); + + for (i=0; i \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/spellchecker.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/spellchecker.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/wline.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/wline.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,15 @@ +// UK lang variables + +tinyMCE.addToLang('spellchecker',{ + desc : 'Toggle spellchecker', + menu : 'Spellchecker settings', + ignore_word : 'Ignore word', + ignore_words : 'Ignore all', + langs : 'Languages', + wait : 'Please wait...', + swait : 'Spellchecking, please wait...', + sug : 'Suggestions', + no_sug : 'No suggestions', + no_mpell : 'No misspellings found.', + mpell_found : 'Found {$words} misspellings.' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,142 @@ +'; + die; + } + + // Basic config + $defaultLanguage = $spellCheckerConfig['default.language']; + $defaultMode = $spellCheckerConfig['default.mode']; + + // Normaly not required to configure + $defaultSpelling = $spellCheckerConfig['default.spelling']; + $defaultJargon = $spellCheckerConfig['default.jargon']; + $defaultEncoding = $spellCheckerConfig['default.encoding']; + $outputType = "xml"; // Do not change + + // Get input parameters. + + $check = urldecode($_REQUEST['check']); + $cmd = sanitize($_REQUEST['cmd']); + $lang = sanitize($_REQUEST['lang'], "strict"); + $mode = sanitize($_REQUEST['mode'], "strict"); + $spelling = sanitize($_REQUEST['spelling'], "strict"); + $jargon = sanitize($_REQUEST['jargon'], "strict"); + $encoding = sanitize($_REQUEST['encoding'], "strict"); + $sg = sanitize($_REQUEST['sg'], "bool"); + $words = array(); + + $validRequest = true; + + if (empty($check)) + $validRequest = false; + + if (empty($lang)) + $lang = $defaultLanguage; + + if (empty($mode)) + $mode = $defaultMode; + + if (empty($spelling)) + $spelling = $defaultSpelling; + + if (empty($jargon)) + $jargon = $defaultJargon; + + if (empty($encoding)) + $encoding = $defaultEncoding; + + function sanitize($str, $type="strict") { + switch ($type) { + case "strict": + $str = preg_replace("/[^a-zA-Z0-9_\-]/i", "", $str); + break; + case "loose": + $str = preg_replace("//i", "<", $str); + break; + case "bool": + if ($str == "true" || $str == true) + $str = true; + else + $str = false; + break; + } + + return $str; + } + + $result = array(); + $tinyspell = new $spellCheckerConfig['class']($spellCheckerConfig, $lang, $mode, $spelling, $jargon, $encoding); + + if (count($tinyspell->errorMsg) == 0) { + switch($cmd) { + case "spell": + // Space for non-exec version and \n for the exec version. + $words = preg_split("/ |\n/", $check, -1, PREG_SPLIT_NO_EMPTY); + $result = $tinyspell->checkWords($words); + break; + + case "suggest": + $result = $tinyspell->getSuggestion($check); + break; + + default: + // Just use this for now. + $tinyspell->errorMsg[] = "No command."; + $outputType = $outputType . "error"; + break; + } + } else + $outputType = $outputType . "error"; + + if (!$result) + $result = array(); + + // Output data + switch($outputType) { + case "xml": + header('Content-type: text/xml; charset=utf-8'); + $body = ''; + $body .= "\n"; + + if (count($result) == 0) + $body .= ''; + else + $body .= ''. urlencode(implode(" ", $result)) .''; + + echo $body; + break; + case "xmlerror"; + header('Content-type: text/xml; charset=utf-8'); + $body = ''; + $body .= "\n"; + $body .= 'errorMsg) .'" />'; + echo $body; + break; + case "html": + var_dump($result); + break; + case "htmlerror": + echo "Error"; + break; + } + +?> diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/css/props.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/css/props.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/css/props.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/css/props.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,63 @@ +#text_font { + width: 250px; +} + +#text_size { + width: 70px; +} + +.mceAddSelectValue { + background-color: #DDDDDD; +} + +select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left { + width: 70px; +} + +#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex { + width: 70px; +} + +#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left { + width: 70px; +} + +#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left { + width: 70px; +} + +.panel_wrapper div.current { + padding-top: 10px; + height: 230px; +} + +.delim { + b2ackground-color: #DDDDDD; + border-left: 1px solid gray; +} + +.tdelim { + border-bottom: 1px solid gray; +} + +#block_display { + width: 145px; +} + +#list_type { + width: 115px; +} + +.disabled { + background-color: #EEEEEE; +} + +#apply { + font-weight: bold; + width: 78px; + height: 21px; + border: 0; + background-image: url('../images/apply_button_bg.gif'); + cursor: pointer; +} + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('style','en');var TinyMCE_StylePlugin={getInfo:function(){return{longname:'Style',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_style.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(cn){switch(cn){case"styleprops":return tinyMCE.getButtonHTML(cn,'lang_style_styleinfo_desc','{$pluginurl}/images/style_info.gif','mceStyleProps',true);}return"";},execCommand:function(editor_id,element,command,user_interface,value){var e,inst;switch(command){case"mceStyleProps":TinyMCE_StylePlugin._styleProps();return true;case"mceSetElementStyle":inst=tinyMCE.getInstanceById(editor_id);e=inst.selection.getFocusElement();if(e){e.style.cssText=value;inst.repaint();}return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){},_styleProps:function(){var e=tinyMCE.selectedInstance.selection.getFocusElement();if(!e)return;tinyMCE.openWindow({file:'../../plugins/style/props.htm',width:480+tinyMCE.getLang('lang_style_props_delta_width',0),height:320+tinyMCE.getLang('lang_style_props_delta_height',0)},{editor_id:tinyMCE.selectedInstance.editorId,inline:"yes",style_text:e.style.cssText});}};tinyMCE.addPlugin("style",TinyMCE_StylePlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,81 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.1 $ + * $Date: 2006/05/03 10:46:42 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('style', 'en'); + +var TinyMCE_StylePlugin = { + getInfo : function() { + return { + longname : 'Style', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_style.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + getControlHTML : function(cn) { + switch (cn) { + case "styleprops": + return tinyMCE.getButtonHTML(cn, 'lang_style_styleinfo_desc', '{$pluginurl}/images/style_info.gif', 'mceStyleProps', true); + } + + return ""; + }, + + execCommand : function(editor_id, element, command, user_interface, value) { + var e, inst; + + // Handle commands + switch (command) { + case "mceStyleProps": + TinyMCE_StylePlugin._styleProps(); + return true; + + case "mceSetElementStyle": + inst = tinyMCE.getInstanceById(editor_id); + e = inst.selection.getFocusElement(); + + if (e) { + e.style.cssText = value; + inst.repaint(); + } + + return true; + } + + // Pass to next handler in chain + return false; + }, + + handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { + }, + + // Private plugin specific methods + + _styleProps : function() { + var e = tinyMCE.selectedInstance.selection.getFocusElement(); + + if (!e) + return; + + tinyMCE.openWindow({ + file : '../../plugins/style/props.htm', + width : 480 + tinyMCE.getLang('lang_style_props_delta_width', 0), + height : 320 + tinyMCE.getLang('lang_style_props_delta_height', 0) + }, { + editor_id : tinyMCE.selectedInstance.editorId, + inline : "yes", + style_text : e.style.cssText + }); + } +}; + +tinyMCE.addPlugin("style", TinyMCE_StylePlugin); Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/images/apply_button_bg.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/images/apply_button_bg.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/images/style_info.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/images/style_info.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/jscripts/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/jscripts/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/jscripts/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/jscripts/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/jscripts/props.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/jscripts/props.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/jscripts/props.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/jscripts/props.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,630 @@ +var defaultFonts = "" + + "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Courier New, Courier, mono=Courier New, Courier, mono;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + + "Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + + "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif"; + +var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger"; +var defaultMeasurement = "+pixels=px;points=pt;in;cm;mm;picas;ems;exs;%"; +var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%"; +var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%"; +var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900"; +var defaultTextStyle = "normal;italic;oblique"; +var defaultVariant = "normal;small-caps"; +var defaultLineHeight = "normal"; +var defaultAttachment = "fixed;scroll"; +var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y"; +var defaultPosH = "left;center;right"; +var defaultPosV = "top;center;bottom"; +var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom"; +var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none"; +var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset"; +var defaultBorderWidth = "thin;medium;thick"; +var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none"; + +function init() { + var ce = document.getElementById('container'); + + ce.style.cssText = tinyMCEPopup.getWindowArg('style_text'); + + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color'); + document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color'); + document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top'); + document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right'); + document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom'); + document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left'); + + fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true); + fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true); + fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true); + fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true); + fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true); + fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true); + fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true); + fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true); + fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true); + + fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true); + fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true); + + fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true); + fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true); + fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true); + fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true); + fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true); + fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true); + fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true); + + fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true); + fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true); + fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true); + + fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true); + + fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true); + fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true); + + fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true); + fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true); + + fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true); + + fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true); + + TinyMCE_EditableSelects.init(); + setupFormData(); + showDisabledControls(); +} + +function setupFormData() { + var ce = document.getElementById('container'), f = document.forms[0], s, b, i; + + // Setup text fields + + selectByValue(f, 'text_font', ce.style.fontFamily, true, true); + selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true); + selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize)); + selectByValue(f, 'text_weight', ce.style.fontWeight, true, true); + selectByValue(f, 'text_style', ce.style.fontStyle, true, true); + selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true); + selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight)); + selectByValue(f, 'text_case', ce.style.textTransform, true, true); + selectByValue(f, 'text_variant', ce.style.fontVariant, true, true); + f.text_color.value = ce.style.color; + updateColor('text_color_pick', 'text_color'); + f.text_underline.checked = inStr(ce.style.textDecoration, 'underline'); + f.text_overline.checked = inStr(ce.style.textDecoration, 'overline'); + f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through'); + f.text_blink.checked = inStr(ce.style.textDecoration, 'blink'); + + // Setup background fields + + f.background_color.value = ce.style.backgroundColor; + updateColor('background_color_pick', 'background_color'); + f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true); + selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true); + selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true); + selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0))); + selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true); + selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1))); + + // Setup block fields + + selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true); + selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing)); + selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true); + selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing)); + selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true); + selectByValue(f, 'block_text_align', ce.style.textAlign, true, true); + f.block_text_indent.value = getNum(ce.style.textIndent); + selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent)); + selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true); + selectByValue(f, 'block_display', ce.style.display, true, true); + + // Setup box fields + + f.box_width.value = getNum(ce.style.width); + selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width)); + + f.box_height.value = getNum(ce.style.height); + selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height)); + + if (tinyMCE.isGecko) + selectByValue(f, 'box_float', ce.style.cssFloat, true, true); + else + selectByValue(f, 'box_float', ce.style.styleFloat, true, true); + + selectByValue(f, 'box_clear', ce.style.clear, true, true); + + setupBox(f, ce, 'box_padding', 'padding', ''); + setupBox(f, ce, 'box_margin', 'margin', ''); + + // Setup border fields + + setupBox(f, ce, 'border_style', 'border', 'Style'); + setupBox(f, ce, 'border_width', 'border', 'Width'); + setupBox(f, ce, 'border_color', 'border', 'Color'); + + updateColor('border_color_top_pick', 'border_color_top'); + updateColor('border_color_right_pick', 'border_color_right'); + updateColor('border_color_bottom_pick', 'border_color_bottom'); + updateColor('border_color_left_pick', 'border_color_left'); + + // Setup list fields + + selectByValue(f, 'list_type', ce.style.listStyleType, true, true); + selectByValue(f, 'list_position', ce.style.listStylePosition, true, true); + f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + + // Setup box fields + + selectByValue(f, 'positioning_type', ce.style.position, true, true); + selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true); + selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true); + f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : ""; + + f.positioning_width.value = getNum(ce.style.width); + selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width)); + + f.positioning_height.value = getNum(ce.style.height); + selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height)); + + setupBox(f, ce, 'positioning_placement', '', '', new Array('top', 'right', 'bottom', 'left')); + + s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1"); + s = s.replace(/,/g, ' '); + + if (!hasEqualValues(new Array(getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)))) { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = getNum(getVal(s, 1)); + selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1))); + f.positioning_clip_bottom.value = getNum(getVal(s, 2)); + selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2))); + f.positioning_clip_left.value = getNum(getVal(s, 3)); + selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3))); + } else { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value; + } + +// setupBox(f, ce, '', 'border', 'Color'); +} + +function getMeasurement(s) { + return s.replace(/^([0-9]+)(.*)$/, "$2"); +} + +function getNum(s) { + if (new RegExp('^[0-9]+[a-z%]+$', 'gi').test(s)) + return s.replace(/[^0-9]/g, ''); + + return s; +} + +function inStr(s, n) { + return new RegExp(n, 'gi').test(s); +} + +function getVal(s, i) { + var a = tinyMCE.explode(' ', s); + + if (a.length > 1) + return a[i]; + + return ""; +} + +function setValue(f, n, v) { + if (f.elements[n].type == "text") + f.elements[n].value = v; + else + selectByValue(f, n, v, true, true); +} + +function setupBox(f, ce, fp, pr, sf, b) { + if (typeof(b) == "undefined") + b = new Array('Top', 'Right', 'Bottom', 'Left'); + + if (isSame(ce, pr, sf, b)) { + f.elements[fp + "_same"].checked = true; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + f.elements[fp + "_right"].value = ""; + f.elements[fp + "_right"].disabled = true; + f.elements[fp + "_bottom"].value = ""; + f.elements[fp + "_bottom"].disabled = true; + f.elements[fp + "_left"].value = ""; + f.elements[fp + "_left"].disabled = true; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + f.elements[fp + "_left_measurement"].disabled = true; + f.elements[fp + "_bottom_measurement"].disabled = true; + f.elements[fp + "_right_measurement"].disabled = true; + } + } else { + f.elements[fp + "_same"].checked = false; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf])); + f.elements[fp + "_right"].disabled = false; + + setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf])); + f.elements[fp + "_bottom"].disabled = false; + + setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left"].disabled = false; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf])); + selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf])); + selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left_measurement"].disabled = false; + f.elements[fp + "_bottom_measurement"].disabled = false; + f.elements[fp + "_right_measurement"].disabled = false; + } + } +} + +function isSame(e, pr, sf, b) { + var a = new Array(), i, x; + + if (typeof(b) == "undefined") + b = new Array('Top', 'Right', 'Bottom', 'Left'); + + if (typeof(sf) == "undefined" || sf == null) + sf = ""; + + a[0] = e.style[pr + b[0] + sf]; + a[1] = e.style[pr + b[1] + sf]; + a[2] = e.style[pr + b[2] + sf]; + a[3] = e.style[pr + b[3] + sf]; + + for (i=0; i 0 ? s.substring(1) : s; + + if (f.text_none.checked) + s = "none"; + + ce.style.textDecoration = s; + + // Build background styles + + ce.style.backgroundColor = f.background_color.value; + ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : ""; + ce.style.backgroundRepeat = f.background_repeat.value; + ce.style.backgroundAttachment = f.background_attachment.value; + + if (f.background_hpos.value != "") { + s = ""; + s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " "; + s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : ""); + ce.style.backgroundPosition = s; + } + + // Build block styles + + ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : ""); + ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : ""); + ce.style.verticalAlign = f.block_vertical_alignment.value; + ce.style.textAlign = f.block_text_align.value; + ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : ""); + ce.style.whiteSpace = f.block_whitespace.value; + ce.style.display = f.block_display.value; + + // Build box styles + + ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : ""); + ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : ""); + ce.style.styleFloat = f.box_float.value; + + if (tinyMCE.isGecko) + ce.style.cssFloat = f.box_float.value; + + ce.style.clear = f.box_clear.value; + + if (!f.box_padding_same.checked) { + ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : ""); + ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : ""); + ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : ""); + } else + ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + + if (!f.box_margin_same.checked) { + ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : ""); + ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : ""); + ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : ""); + } else + ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + + // Build border styles + + if (!f.border_style_same.checked) { + ce.style.borderTopStyle = f.border_style_top.value; + ce.style.borderRightStyle = f.border_style_right.value; + ce.style.borderBottomStyle = f.border_style_bottom.value; + ce.style.borderLeftStyle = f.border_style_left.value; + } else + ce.style.borderStyle = f.border_style_top.value; + + if (!f.border_width_same.checked) { + ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : ""); + ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : ""); + ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : ""); + } else + ce.style.borderWidth = f.border_width_top.value; + + if (!f.border_color_same.checked) { + ce.style.borderTopColor = f.border_color_top.value; + ce.style.borderRightColor = f.border_color_right.value; + ce.style.borderBottomColor = f.border_color_bottom.value; + ce.style.borderLeftColor = f.border_color_left.value; + } else + ce.style.borderColor = f.border_color_top.value; + + // Build list styles + + ce.style.listStyleType = f.list_type.value; + ce.style.listStylePosition = f.list_position.value; + ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : ""; + + // Build positioning styles + + ce.style.position = f.positioning_type.value; + ce.style.visibility = f.positioning_visibility.value; + + if (ce.style.width == "") + ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : ""); + + if (ce.style.height == "") + ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : ""); + + ce.style.zIndex = f.positioning_zindex.value; + ce.style.overflow = f.positioning_overflow.value; + + if (!f.positioning_placement_same.checked) { + ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : ""); + ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : ""); + ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : ""); + } else { + s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.top = s; + ce.style.right = s; + ce.style.bottom = s; + ce.style.left = s; + } + + if (!f.positioning_clip_same.checked) { + s = "rect("; + s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto"); + s += ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } else { + s = "rect("; + t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto"; + s += t + " "; + s += t + " "; + s += t + " "; + s += t + ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } + + ce.style.cssText = tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText)); +} + +function isNum(s) { + return new RegExp('[0-9]+', 'g').test(s); +} + +function showDisabledControls() { + var f = document.forms, i, a; + + for (i=0; i 1) { + addSelectValue(f, s, p[0], p[1]); + + if (se) + selectByValue(f, s, p[1]); + } else { + addSelectValue(f, s, p[0], p[0]); + + if (se) + selectByValue(f, s, p[0]); + } + } +} + +function toggleSame(ce, pre) { + var el = document.forms[0].elements, i; + + if (ce.checked) { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = true; + el[pre + "_bottom"].disabled = true; + el[pre + "_left"].disabled = true; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = true; + el[pre + "_bottom_measurement"].disabled = true; + el[pre + "_left_measurement"].disabled = true; + } + } else { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = false; + el[pre + "_bottom"].disabled = false; + el[pre + "_left"].disabled = false; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = false; + el[pre + "_bottom_measurement"].disabled = false; + el[pre + "_left_measurement"].disabled = false; + } + } + + showDisabledControls(); +} + +function synch(fr, to) { + var f = document.forms[0]; + + f.elements[to].value = f.elements[fr].value; + + if (f.elements[fr + "_measurement"]) + selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,60 @@ +// UK lang variables + +tinyMCE.addToLang('style',{ +title : 'Edit CSS Style', +styleinfo_desc : 'Edit CSS Style', +text_tab : 'Text', +background_tab : 'Background', +block_tab : 'Block', +box_tab : 'Box', +border_tab : 'Border', +list_tab : 'List', +positioning_tab : 'Positioning', +text_props : 'Text', +text_font : 'Font', +text_size : 'Size', +text_weight : 'Weight', +text_style : 'Style', +text_variant : 'Variant', +text_lineheight : 'Line height', +text_case : 'Case', +text_color : 'Color', +text_decoration : 'Decoration', +background_color : 'Background color', +background_image : 'Background image', +background_repeat : 'Repeat', +background_attachment : 'Attachment', +background_hpos : 'Horizontal position', +background_vpos : 'Vertical position', +block_wordspacing : 'Word spacing', +block_letterspacing : 'Letter spacing', +block_vertical_alignment : 'Vertical alignment', +block_text_align : 'Text align', +block_text_indent : 'Text indent', +block_whitespace : 'Whitespace', +block_display : 'Display', +box_width : 'Width', +box_height : 'Height', +box_float : 'Float', +box_clear : 'Clear', +padding : 'Padding', +same : 'Same for all', +top : 'Top', +right : 'Right', +bottom : 'Bottom', +left : 'Left', +margin : 'Margin', +style : 'Style', +width : 'Width', +height : 'Height', +color : 'Color', +list_type : 'Type', +bullet_image : 'Bullet image', +position : 'Position', +positioning_type : 'Type', +visibility : 'Visibility', +zindex : 'Z-index', +overflow : 'Overflow', +placement : 'Placement', +clip : 'Clip' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/props.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/props.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/props.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/props.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,580 @@ + + + {$lang_style_title} + + + + + + + + + +
          + + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + + +
            +
          +
          + +
          + + + +
          +
          + +   +
          +
          + +
          + + + + + +
           
          +
          {$lang_style_text_decoration} + + + + + + +
          +
          +
          + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + + + +
           
          +
          + +
            +
          +
          + +
            +
          +
          +
          + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
            +
          +
          + +
            +
          +
          + +
            +
          +
          +
          + +
          + + + + + + + + + + + + + + +
          + +
            +
          +
             
          + +
            +
          +
             
          +
          +
          + {$lang_style_padding} + + + + + + + + + + + + + + + + + + + + + + +
           
          + +
            +
          +
          + +
            +
          +
          + +
            +
          +
          + +
            +
          +
          +
          +
          +
          +
          + {$lang_style_margin} + + + + + + + + + + + + + + + + + + + + + + +
           
          + +
            +
          +
          + +
            +
          +
          + +
            +
          +
          + +
            +
          +
          +
          +
          +
          +
          + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            {$lang_style_style} {$lang_style_width} {$lang_style_color}
                
          {$lang_style_top}   + + +
            +
          +
            + + + + +
           
          +
          {$lang_style_right}   + + +
            +
          +
            + + + + +
           
          +
          {$lang_style_bottom}   + + +
            +
          +
            + + + + +
           
          +
          {$lang_style_left}   + + +
            +
          +
            + + + + +
           
          +
          +
          + +
          + + + + + + + + + + + + + + + +
          +
          + +
          + + + + + + + + + + + + + + + + + + + + + +
             
          + +
            +
          +
             
          + +
            +
          +
             
          + +
          +
          + {$lang_style_placement} + + + + + + + + + + + + + + + + + + + + + + +
           
          {$lang_style_top} + +
            +
          +
          {$lang_style_right} + +
            +
          +
          {$lang_style_bottom} + +
            +
          +
          {$lang_style_left} + +
            +
          +
          +
          +
          +
          +
          + {$lang_style_clip} + + + + + + + + + + + + + + + + + + + + + + +
           
          {$lang_style_top} + +
            +
          +
          {$lang_style_right} + +
            +
          +
          {$lang_style_bottom} + +
            +
          +
          {$lang_style_left} + +
            +
          +
          +
          +
          +
          +
          +
          + +
          +
          +
          +
           
          +
          +
          + +
          + +
          +
          +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/style/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/cell.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/cell.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/cell.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/cell.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,182 @@ + + + {$lang_table_cell_title} + + + + + + + + +
          + + +
          +
          +
          + {$lang_table_general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + +
          + + + +
          + +
          +
          +
          + +
          +
          + {$lang_table_advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + + + + + +
           
          +
          + + + + + +
           
          +
          + + + + + +
           
          +
          +
          +
          +
          + +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/cell.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/cell.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/cell.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/cell.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,17 @@ +/* CSS file for cell dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#class { + width: 150px; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/row.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/row.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/row.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/row.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,25 @@ +/* CSS file for row dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#rowtype,#align,#valign,#class,#height { + width: 150px; +} + +#height { + width: 50px; +} + +.col2 { + padding-left: 20px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/table.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/table.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/table.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/css/table.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,13 @@ +/* CSS file for table dialog in the table plugin */ + +.panel_wrapper div.current { + height: 220px; +} + +.advfield { + width: 200px; +} + +#class { + width: 150px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importPluginLanguagePack('table','en,tr,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,nb,pl,pt,pt_br,sv,tw,zh_cn,fr,de,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,is,zh_tw,zh_tw_utf8,sk');var TinyMCE_TablePlugin={getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},initInstance:function(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_TablePlugin._mouseDownHandler);}inst.tableRowClipboard=null;},getControlHTML:function(control_name){var controls=new Array(['table','table.gif','lang_table_desc','mceInsertTable',true],['delete_col','table_delete_col.gif','lang_table_delete_col_desc','mceTableDeleteCol'],['delete_row','table_delete_row.gif','lang_table_delete_row_desc','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','lang_table_col_after_desc','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','lang_table_col_before_desc','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','lang_table_row_after_desc','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','lang_table_row_before_desc','mceTableInsertRowBefore'],['row_props','table_row_props.gif','lang_table_row_desc','mceTableRowProps',true],['cell_props','table_cell_props.gif','lang_table_cell_desc','mceTableCellProps',true],['split_cells','table_split_cells.gif','lang_table_split_cells_desc','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','lang_table_merge_cells_desc','mceTableMergeCells',true]);for(var i=0;i4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');return false;';if(but[0]==control_name)return tinyMCE.getButtonHTML(control_name,but[2],'{$pluginurl}/images/'+but[1],but[3],(but.length>4?but[4]:false));}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html;}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_TablePlugin._doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true;}return false;},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1";var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClass(editor_id+'_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_cell_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_split_cells','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonDisabled');if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClass(editor_id+'_cell_props','mceButtonSelected');tinyMCE.switchClass(editor_id+'_row_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonNormal');colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClass(editor_id+'_split_cells','mceButtonNormal');}if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClass(editor_id+'_row_props','mceButtonSelected');if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClass(editor_id+'_table','mceButtonSelected');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonNormal');}},_mouseDownHandler:function(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);},10);}},_doExecCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i0&&inArray(ar[i],v))return true;if(ar[i]==v)return true;}return false;}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML=" ";}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan};}function getCellPos(grid,td){for(var y=0;y1){for(var i=x;i1)td.rowSpan=sd.rowspan+1;lastElm=td;}deleteMarked(tableElm);}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node;}return null;}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td);}while((td=nexttd)!=null);}}while((tr=next)!=null);}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD);}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1;}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true;}lastTDElm=tdElm;}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;inst.selection.selectNode(getCell(grid,cpos.rowindex,0),true,true);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML=" ";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML=" ";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD);}else tdElm.colSpan++;lastTDElm=tdElm;}}break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm.parentNode.removeChild(tableElm);return true;}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm);}lastTDElm=tdElm;}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;inst.selection.selectNode(getCell(grid,0,cpos.cellindex),true,true);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i1)addRows(newTD,trElm,rowspan);}addRows(tdElm,trElm,rowspan);}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case"mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true;}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y0)rows[rows.length]=rowCells;}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i0)rows[rows.length]=rowCells;}var curRow=new Array();var lastTR=null;for(var y=0;ycolSpan)colSpan=rowColSpan;lastRowSpan=-1;}var lastColSpan=-1;for(var x=0;xrowSpan)rowSpan=colRowSpan;lastColSpan=-1;}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm;}if(tdElm.rowSpan>1)tdElm.rowSpan--;}}}}break;}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint();}return true;}return false;}};tinyMCE.addPlugin("table",TinyMCE_TablePlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,1054 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.38 $ + * $Date: 2006/02/11 18:53:51 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +/* Import plugin specific language pack */ +tinyMCE.importPluginLanguagePack('table', 'en,tr,ar,cs,da,de,el,es,fi,fr_ca,hu,it,ja,ko,nl,nb,pl,pt,pt_br,sv,tw,zh_cn,fr,de,he,nb,ru,ru_KOI8-R,ru_UTF-8,nn,cy,is,zh_tw,zh_tw_utf8,sk'); + +var TinyMCE_TablePlugin = { + getInfo : function() { + return { + longname : 'Tables', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_table.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + initInstance : function(inst) { + if (tinyMCE.isGecko) { + var doc = inst.getDoc(); + tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler); + } + + inst.tableRowClipboard = null; + }, + + /** + * Returns the HTML contents of the table control. + */ + getControlHTML : function(control_name) { + var controls = new Array( + ['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true], + ['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'], + ['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'], + ['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'], + ['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'], + ['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'], + ['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'], + ['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true], + ['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true], + ['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true], + ['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]); + + // Render table control + for (var i=0; i 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;'; + + if (but[0] == control_name) + return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false)); + } + + // Special tablecontrols + if (control_name == "tablecontrols") { + var html = ""; + + html += tinyMCE.getControlHTML("table"); + html += tinyMCE.getControlHTML("separator"); + html += tinyMCE.getControlHTML("row_props"); + html += tinyMCE.getControlHTML("cell_props"); + html += tinyMCE.getControlHTML("separator"); + html += tinyMCE.getControlHTML("row_before"); + html += tinyMCE.getControlHTML("row_after"); + html += tinyMCE.getControlHTML("delete_row"); + html += tinyMCE.getControlHTML("separator"); + html += tinyMCE.getControlHTML("col_before"); + html += tinyMCE.getControlHTML("col_after"); + html += tinyMCE.getControlHTML("delete_col"); + html += tinyMCE.getControlHTML("separator"); + html += tinyMCE.getControlHTML("split_cells"); + html += tinyMCE.getControlHTML("merge_cells"); + + return html; + } + + return ""; + }, + + /** + * Executes the table commands. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + // Is table command + switch (command) { + case "mceInsertTable": + case "mceTableRowProps": + case "mceTableCellProps": + case "mceTableSplitCells": + case "mceTableMergeCells": + case "mceTableInsertRowBefore": + case "mceTableInsertRowAfter": + case "mceTableDeleteRow": + case "mceTableInsertColBefore": + case "mceTableInsertColAfter": + case "mceTableDeleteCol": + case "mceTableCutRow": + case "mceTableCopyRow": + case "mceTablePasteRowBefore": + case "mceTablePasteRowAfter": + case "mceTableDelete": + var inst = tinyMCE.getInstanceById(editor_id); + + inst.execCommand('mceBeginUndoLevel'); + TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value); + inst.execCommand('mceEndUndoLevel'); + + return true; + } + + // Pass to next handler in chain + return false; + }, + + handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { + var colspan = "1", rowspan = "1"; + + var inst = tinyMCE.getInstanceById(editor_id); + + // Reset table controls + tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled'); + + // Within a td element + if (tdElm = tinyMCE.getParentElement(node, "td,th")) { + tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected'); + tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal'); + + colspan = tinyMCE.getAttrib(tdElm, "colspan"); + rowspan = tinyMCE.getAttrib(tdElm, "rowspan"); + + colspan = colspan == "" ? "1" : colspan; + rowspan = rowspan == "" ? "1" : rowspan; + + if (colspan != "1" || rowspan != "1") + tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal'); + } + + // Within a tr element + if (tinyMCE.getParentElement(node, "tr")) + tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected'); + + // Within table + if (tinyMCE.getParentElement(node, "table")) { + tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected'); + tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal'); + } + }, + + // Private plugin internal methods + + _mouseDownHandler : function(e) { + var elm = tinyMCE.isMSIE ? event.srcElement : e.target; + var focusElm = tinyMCE.selectedInstance.getFocusElement(); + + // If press on special Mozilla create TD/TR thingie + if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) { + window.setTimeout(function() { + var tableElm = tinyMCE.getParentElement(focusElm, "table"); + tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); + }, 10); + } + }, + + /** + * Executes the table commands. + */ + _doExecCommand : function(editor_id, element, command, user_interface, value) { + var inst = tinyMCE.getInstanceById(editor_id); + var focusElm = inst.getFocusElement(); + var trElm = tinyMCE.getParentElement(focusElm, "tr"); + var tdElm = tinyMCE.getParentElement(focusElm, "td,th"); + var tableElm = tinyMCE.getParentElement(focusElm, "table"); + var doc = inst.contentWindow.document; + var tableBorder = tableElm ? tableElm.getAttribute("border") : ""; + + // Get first TD if no TD found + if (trElm && tdElm == null) + tdElm = trElm.cells[0]; + + // ------- Inner functions --------- + function inArray(ar, v) { + for (var i=0; i 0 && inArray(ar[i], v)) + return true; + + // Found value + if (ar[i] == v) + return true; + } + + return false; + } + + function makeTD() { + var newTD = doc.createElement("td"); + newTD.innerHTML = " "; + } + + function getColRowSpan(td) { + var colspan = tinyMCE.getAttrib(td, "colspan"); + var rowspan = tinyMCE.getAttrib(td, "rowspan"); + + colspan = colspan == "" ? 1 : parseInt(colspan); + rowspan = rowspan == "" ? 1 : parseInt(rowspan); + + return {colspan : colspan, rowspan : rowspan}; + } + + function getCellPos(grid, td) { + for (var y=0; y 1) { // Remove due to colspan + for (var i=x; i 1) + td.rowSpan = sd.rowspan + 1; + + lastElm = td; + } + + deleteMarked(tableElm); + } + } + + function prevElm(node, name) { + while ((node = node.previousSibling) != null) { + if (node.nodeName == name) + return node; + } + + return null; + } + + function nextElm(node, names) { + var namesAr = names.split(','); + + while ((node = node.nextSibling) != null) { + for (var i=0; i 1) { + do { + var nexttd = nextElm(td, "TD,TH"); + + if (td._delete) + td.parentNode.removeChild(td); + } while ((td = nexttd) != null); + } + } while ((tr = next) != null); + } + + function addRows(td_elm, tr_elm, rowspan) { + // Add rows + td_elm.rowSpan = 1; + var trNext = nextElm(tr_elm, "TR"); + for (var i=1; i 1) { + var newTD = cells[x].cloneNode(true); + var sd = getColRowSpan(cells[x]); + + newTD.rowSpan = sd.rowspan - 1; + + var nextTD = nextTR.cells[x]; + + if (nextTD == null) + nextTR.appendChild(newTD); + else + nextTR.insertBefore(newTD, nextTD); + } + } + + // Delete cells + var lastTDElm = null; + for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd.rowspan > 1) { + tdElm.rowSpan = sd.rowspan - 1; + } else { + trElm = tdElm.parentNode; + + if (trElm.parentNode) + trElm._delete = true; + } + + lastTDElm = tdElm; + } + } + + deleteMarked(tableElm); + + cpos.rowindex--; + if (cpos.rowindex < 0) + cpos.rowindex = 0; + + inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), true, true); + break; + + case "mceTableInsertColBefore": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(tableElm); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] == 1) { + var newTD = doc.createElement(tdElm.nodeName); + + newTD.innerHTML = " "; + newTD.rowSpan = tdElm.rowSpan; + + tdElm.parentNode.insertBefore(newTD, tdElm); + } else + tdElm.colSpan++; + + lastTDElm = tdElm; + } + } + break; + + case "mceTableInsertColAfter": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(tableElm); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] == 1) { + var newTD = doc.createElement(tdElm.nodeName); + + newTD.innerHTML = " "; + newTD.rowSpan = tdElm.rowSpan; + + var nextTD = nextElm(tdElm, "TD,TH"); + if (nextTD == null) + tdElm.parentNode.appendChild(newTD); + else + nextTD.parentNode.insertBefore(newTD, nextTD); + } else + tdElm.colSpan++; + + lastTDElm = tdElm; + } + } + break; + + case "mceTableDeleteCol": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(tableElm); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + // Only one col, remove whole table + if (grid.length > 1 && grid[0].length <= 1) { + tableElm.parentNode.removeChild(tableElm); + return true; + } + + // Delete cells + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] > 1) + tdElm.colSpan = sd['colspan'] - 1; + else { + if (tdElm.parentNode) + tdElm.parentNode.removeChild(tdElm); + } + + lastTDElm = tdElm; + } + } + + cpos.cellindex--; + if (cpos.cellindex < 0) + cpos.cellindex = 0; + + inst.selection.selectNode(getCell(grid, 0, cpos.cellindex), true, true); + break; + + case "mceTableSplitCells": + if (!trElm || !tdElm) + return true; + + var spandata = getColRowSpan(tdElm); + + var colspan = spandata["colspan"]; + var rowspan = spandata["rowspan"]; + + // Needs splitting + if (colspan > 1 || rowspan > 1) { + // Generate cols + tdElm.colSpan = 1; + for (var i=1; i 1) + addRows(newTD, trElm, rowspan); + } + + addRows(tdElm, trElm, rowspan); + } + + // Apply visual aids + tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + break; + + case "mceTableMergeCells": + var rows = new Array(); + var sel = inst.getSel(); + var grid = getTableGrid(tableElm); + + if (tinyMCE.isMSIE || sel.rangeCount == 1) { + if (user_interface) { + // Setup template + var template = new Array(); + var sp = getColRowSpan(tdElm); + + template['file'] = '../../plugins/table/merge_cells.htm'; + template['width'] = 250; + template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0); + + // Language specific width and height addons + template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0); + + // Open window + tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan}); + + return true; + } else { + var numRows = parseInt(value['numrows']); + var numCols = parseInt(value['numcols']); + var cpos = getCellPos(grid, tdElm); + + if (("" + numRows) == "NaN") + numRows = 1; + + if (("" + numCols) == "NaN") + numCols = 1; + + // Get rows and cells + var tRows = tableElm.rows; + for (var y=cpos.rowindex; y 0) + rows[rows.length] = rowCells; + } + + //return true; + } + } else { + var cells = new Array(); + var sel = inst.getSel(); + var lastTR = null; + var curRow = null; + var x1 = -1, y1 = -1, x2, y2; + + // Only one cell selected, whats the point? + if (sel.rangeCount < 2) + return true; + + // Get all selected cells + for (var i=0; i 0) + rows[rows.length] = rowCells; + } + + // Find selected cells in grid and box + var curRow = new Array(); + var lastTR = null; + for (var y=0; y colSpan) + colSpan = rowColSpan; + + lastRowSpan = -1; + } + + // Validate vertical and get total rowspan + var lastColSpan = -1; + for (var x=0; x rowSpan) + rowSpan = colRowSpan; + + lastColSpan = -1; + } + + // Setup td + tdElm = rows[0][0]; + tdElm.rowSpan = rowSpan; + tdElm.colSpan = colSpan; + + // Merge cells + for (var y=0; y 0)) + tdElm.innerHTML += html; + + // Not current cell + if (rows[y][x] != tdElm && !rows[y][x]._deleted) { + var cpos = getCellPos(grid, rows[y][x]); + var tr = rows[y][x].parentNode; + + tr.removeChild(rows[y][x]); + rows[y][x]._deleted = true; + + // Empty TR, remove it + if (!tr.hasChildNodes()) { + tr.parentNode.removeChild(tr); + + var lastCell = null; + for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) { + if (cellElm != lastCell && cellElm.rowSpan > 1) + cellElm.rowSpan--; + + lastCell = cellElm; + } + + if (tdElm.rowSpan > 1) + tdElm.rowSpan--; + } + } + } + } + + break; + } + + tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); + tinyMCE.triggerNodeChange(); + inst.repaint(); + } + + return true; + } + + // Pass to next handler in chain + return false; + } +}; + +tinyMCE.addPlugin("table", TinyMCE_TablePlugin); Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/buttons.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/buttons.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/cell.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/cell.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/cell.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/cell.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,249 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') + + var inst = tinyMCE.selectedInstance; + var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style")); + + // Get table cell data + var celltype = tdElm.nodeName.toLowerCase(); + var align = tinyMCE.getAttrib(tdElm, 'align'); + var valign = tinyMCE.getAttrib(tdElm, 'valign'); + var width = trimSize(getStyle(tdElm, 'width', 'width')); + var height = trimSize(getStyle(tdElm, 'height', 'height')); + var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); + var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); + var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false); + var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; + var id = tinyMCE.getAttrib(tdElm, 'id'); + var lang = tinyMCE.getAttrib(tdElm, 'lang'); + var dir = tinyMCE.getAttrib(tdElm, 'dir'); + var scope = tinyMCE.getAttrib(tdElm, 'scope'); + + // Setup form + addClassesToList('class', 'table_cell_styles'); + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.width.value = width; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = tinyMCE.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className); + selectByValue(formObj, 'celltype', celltype); + selectByValue(formObj, 'dir', dir); + selectByValue(formObj, 'scope', scope); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); +} + +function updateAction() { + tinyMCEPopup.restoreSelection(); + + var inst = tinyMCE.selectedInstance; + var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); + var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); + var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + var formObj = document.forms[0]; + + inst.execCommand('mceBeginUndoLevel'); + + switch (getSelectValue(formObj, 'action')) { + case "cell": + var celltype = getSelectValue(formObj, 'celltype'); + var scope = getSelectValue(formObj, 'scope'); + + if (tinyMCE.getParam("accessibility_warnings")) { + if (celltype == "th" && scope == "") + var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true)); + else + var answer = true; + + if (!answer) + return; + } + + updateCell(tdElm); + break; + + case "row": + var cell = trElm.firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + cell = updateCell(cell, true); + } while ((cell = nextCell(cell)) != null); + + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,19 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + + formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1); + formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1); +} + +function mergeCells() { + var args = new Array(); + var formObj = document.forms[0]; + + args["numcols"] = formObj.numcols.value; + args["numrows"] = formObj.numrows.value; + + tinyMCEPopup.execCommand("mceTableMergeCells", false, args); + tinyMCEPopup.close(); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/row.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/row.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/row.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/jscripts/row.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,200 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var inst = tinyMCE.selectedInstance; + var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style")); + + // Get table row data + var rowtype = trElm.parentNode.nodeName.toLowerCase(); + var align = tinyMCE.getAttrib(trElm, 'align'); + var valign = tinyMCE.getAttrib(trElm, 'valign'); + var height = trimSize(getStyle(trElm, 'height', 'height')); + var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false); + var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor')); + var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; + var id = tinyMCE.getAttrib(trElm, 'id'); + var lang = tinyMCE.getAttrib(trElm, 'lang'); + var dir = tinyMCE.getAttrib(trElm, 'dir'); + + // Setup form + addClassesToList('class', 'table_row_styles'); + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = tinyMCE.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className); + selectByValue(formObj, 'rowtype', rowtype); + selectByValue(formObj, 'dir', dir); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bgcolor_pick', 'bgcolor'); +} + +function updateAction() { + tinyMCEPopup.restoreSelection(); + + var inst = tinyMCE.selectedInstance; + var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); + var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + var formObj = document.forms[0]; + var action = getSelectValue(formObj, 'action'); + + inst.execCommand('mceBeginUndoLevel'); + + switch (action) { + case "row": + updateRow(trElm); + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i colLimit) { + alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit})); + return false; + } else if (rowLimit && rows > rowLimit) { + alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit})); + return false; + } else if (cellLimit && cols * rows > cellLimit) { + alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit})); + return false; + } + + // Update table + if (action == "update") { + inst.execCommand('mceBeginUndoLevel'); + + tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true); + tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true); + tinyMCE.setAttrib(elm, 'border', border, true); + tinyMCE.setAttrib(elm, 'align', align); + tinyMCE.setAttrib(elm, 'class', className); + tinyMCE.setAttrib(elm, 'style', style); + tinyMCE.setAttrib(elm, 'id', id); + tinyMCE.setAttrib(elm, 'summary', summary); + tinyMCE.setAttrib(elm, 'dir', dir); + tinyMCE.setAttrib(elm, 'lang', lang); + + // Not inline styles + if (!tinyMCE.getParam("inline_styles")) + tinyMCE.setAttrib(elm, 'width', width, true); + + // Remove these since they are not valid XHTML + tinyMCE.setAttrib(elm, 'borderColor', ''); + tinyMCE.setAttrib(elm, 'bgColor', ''); + tinyMCE.setAttrib(elm, 'background', ''); + tinyMCE.setAttrib(elm, 'height', ''); + + if (background != '') + elm.style.backgroundImage = "url('" + background + "')"; + else + elm.style.backgroundImage = ''; + + if (tinyMCE.getParam("inline_styles")) + elm.style.borderWidth = border + "px"; + + if (tinyMCE.getParam("inline_styles")) { + if (width != '') + elm.style.width = getCSSSize(width); + } + + if (bordercolor != "") { + elm.style.borderColor = bordercolor; + elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; + elm.style.borderWidth = border == "" ? "1px" : border; + } else + elm.style.borderColor = ''; + + elm.style.backgroundColor = bgcolor; + elm.style.height = getCSSSize(height); + + tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst); + + // Fix for stange MSIE align bug + tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML; + + tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); + tinyMCE.triggerNodeChange(); + inst.execCommand('mceEndUndoLevel'); + + // Repaint if dimensions changed + if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) + inst.repaint(); + + tinyMCEPopup.close(); + return true; + } + + // Create new table + html += '/g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var cols = 2, rows = 2, border = 0, cellpadding = "", cellspacing = ""; + var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; + var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = ""; + var inst = tinyMCE.selectedInstance; + var formObj = document.forms[0]; + var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); + + tinyMCE.tableElm = elm; + action = tinyMCE.getWindowArg('action'); + if (action == null) + action = tinyMCE.tableElm ? "update" : "insert"; + + if (tinyMCE.tableElm && action != "insert") { + var rowsAr = tinyMCE.tableElm.rows; + var cols = 0; + for (var i=0; i cols) + cols = rowsAr[i].cells.length; + + cols = cols; + rows = rowsAr.length; + + st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style")); + border = trimSize(getStyle(elm, 'border', 'borderWidth')); + cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', ""); + cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', ""); + width = trimSize(getStyle(elm, 'width', 'width')); + height = trimSize(getStyle(elm, 'height', 'height')); + bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); + bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); + align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align); + className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false); + id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id'); + summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary'); + style = tinyMCE.serializeStyle(st); + dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir'); + lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang'); + background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + + orgTableWidth = width; + orgTableHeight = height; + + action = "update"; + } + + addClassesToList('class', "table_styles"); + + // Update form + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'class', className); + formObj.cols.value = cols; + formObj.rows.value = rows; + formObj.border.value = border; + formObj.cellpadding.value = cellpadding; + formObj.cellspacing.value = cellspacing; + formObj.width.value = width; + formObj.height.value = height; + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.id.value = id; + formObj.summary.value = summary; + formObj.style.value = style; + formObj.dir.value = dir; + formObj.lang.value = lang; + formObj.backgroundimage.value = background; + formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + // Disable some fields in update mode + if (action == "update") { + formObj.cols.disabled = true; + formObj.rows.disabled = true; + } +} + +function changedSize() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + var width = formObj.width.value; + if (width != "") + st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : ""; + else + st['width'] = ""; + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = tinyMCE.serializeStyle(st); +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = tinyMCE.serializeStyle(st); +} + +function changedBorder() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + // Update border width if the element has a color + if (formObj.border.value != "" && formObj.bordercolor.value != "") + st['border-width'] = formObj.border.value + "px"; + + formObj.style.value = tinyMCE.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + if (formObj.bordercolor.value != "") { + st['border-color'] = formObj.bordercolor.value; + + // Add border-width if it's missing + if (!st['border-width']) + st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; + } + + formObj.style.value = tinyMCE.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = tinyMCE.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,78 @@ +// UK lang variables + +tinyMCE.addToLang('table',{ +general_tab : 'General', +advanced_tab : 'Advanced', +general_props : 'General properties', +advanced_props : 'Advanced properties', +desc : 'Inserts a new table', +row_before_desc : 'Insert row before', +row_after_desc : 'Insert row after', +delete_row_desc : 'Delete row', +col_before_desc : 'Insert column before', +col_after_desc : 'Insert column after', +delete_col_desc : 'Remove column', +rowtype : 'Row in table part', +title : 'Insert/Modify table', +width : 'Width', +height : 'Height', +cols : 'Columns', +rows : 'Rows', +cellspacing : 'Cellspacing', +cellpadding : 'Cellpadding', +border : 'Border', +align : 'Alignment', +align_default : 'Default', +align_left : 'Left', +align_right : 'Right', +align_middle : 'Center', +row_title : 'Table row properties', +cell_title : 'Table cell properties', +cell_type : 'Cell type', +row_desc : 'Table row properties', +cell_desc : 'Table cell properties', +valign : 'Vertical alignment', +align_top : 'Top', +align_bottom : 'Bottom', +props_desc : 'Table properties', +bordercolor : 'Border color', +bgcolor : 'Background color', +merge_cells_title : 'Merge table cells', +split_cells_desc : 'Split table cells', +merge_cells_desc : 'Merge table cells', +cut_row_desc : 'Cut table row', +copy_row_desc : 'Copy table row', +paste_row_before_desc : 'Paste table row before', +paste_row_after_desc : 'Paste table row after', +id : 'Id', +style: 'Style', +langdir : 'Language direction', +langcode : 'Language code', +mime : 'Target MIME type', +ltr : 'Left to right', +rtl : 'Right to left', +bgimage : 'Background image', +summary : 'Summary', +td : "Data", +th : "Header", +cell_cell : 'Update current cell', +cell_row : 'Update all cells in row', +cell_all : 'Update all cells in table', +row_row : 'Update current row', +row_odd : 'Update odd rows in table', +row_even : 'Update even rows in table', +row_all : 'Update all rows in table', +thead : 'Table Head', +tbody : 'Table Body', +tfoot : 'Table Foot', +del : 'Delete table', +scope : 'Scope', +row : 'Row', +col : 'Col', +rowgroup : 'Row Group', +colgroup : 'Col Group', +col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.', +row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.', +cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.', +missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/merge_cells.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/merge_cells.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/merge_cells.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/merge_cells.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,37 @@ + + + {$lang_table_merge_cells_title} + + + + + + +
          +
          + {$lang_table_merge_cells_title} + + + + + + + + + +
          {$lang_table_cols}: +
          {$lang_table_rows}:
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/row.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/row.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/row.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/row.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,159 @@ + + + {$lang_table_row_title} + + + + + + + + +
          + + +
          +
          +
          + {$lang_table_general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + +
          + +
          +
          +
          + +
          +
          + {$lang_table_advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + + + + + +
           
          +
          + + + + + +
           
          +
          +
          +
          +
          + +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/table.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/table.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/table.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/table/table.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,155 @@ + + + {$lang_table_title} + + + + + + + + +
          + + +
          +
          +
          + {$lang_table_general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          +
          +
          + +
          +
          + {$lang_table_advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + + + + + +
           
          +
          + + + + + +
           
          +
          + + + + + +
           
          +
          +
          +
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +var TinyMCE_ZoomPlugin={getInfo:function(){return{longname:'Zoom',author:'Moxiecode Systems',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_zoom.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},getControlHTML:function(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0||tinyMCE.isOpera)return"";switch(control_name){case"zoom":return'';}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceZoom":tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom=value;tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom=value;return true;}return false;}};tinyMCE.addPlugin("zoom",TinyMCE_ZoomPlugin); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,58 @@ +/** + * $RCSfile: editor_plugin_src.js,v $ + * $Revision: 1.10 $ + * $Date: 2006/04/07 15:52:50 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +var TinyMCE_ZoomPlugin = { + getInfo : function() { + return { + longname : 'Zoom', + author : 'Moxiecode Systems', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://tinymce.moxiecode.com/tinymce/docs/plugin_zoom.html', + version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion + }; + }, + + /** + * Returns the HTML contents of the zoom control. + */ + getControlHTML : function(control_name) { + if (!tinyMCE.isMSIE || tinyMCE.isMSIE5_0 || tinyMCE.isOpera) + return ""; + + switch (control_name) { + case "zoom": + return ''; + } + + return ""; + }, + + /** + * Executes the mceZoom command. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + // Handle commands + switch (command) { + case "mceZoom": + tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom = value; + tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom = value; + return true; + } + + // Pass to next handler in chain + return false; + } +}; + +tinyMCE.addPlugin("zoom", TinyMCE_ZoomPlugin); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/readme.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/readme.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/readme.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/plugins/zoom/readme.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +Check the TinyMCE documentation for details on this plugin. diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/about.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/about.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/about.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/about.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,52 @@ + + + {$lang_about_title} + + + + + + + + +
          +
          +

          {$lang_about_title}

          +

          Version: {$tinymce_version} ({$tinymce_releasedate})

          +

          TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL + by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.

          +

          Copyright © 2003-2006, Moxiecode Systems AB, All rights reserved.

          +

          For more information about this software visit the TinyMCE website.

          + +
          +
          + +
          +
          +

          {$lang_loaded_plugins}

          + +
          +
          + +

           

          +
          +
          + +
          +
          +
          +
          + +
          +
          + +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/anchor.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/anchor.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/anchor.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/anchor.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,33 @@ + + + {$lang_insert_anchor_title} + + + + + +
          + + + + + + + + + +
          {$lang_insert_anchor_title}
          {$lang_insert_anchor_name}:
          + +
          +
          + +
          + +
          + +
          +
          + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/charmap.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/charmap.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/charmap.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/charmap.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,53 @@ + + + {$lang_theme_charmap_title} + + + + + + + + + + + + + + + + + +
          {$lang_theme_charmap_title}
          + + + + + + + + + +
           
           
          +
          + + + + + + + + + + + + + + + + +
          HTML-Code
           
           
          NUM-Code
           
          +
          + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/color_picker.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/color_picker.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/color_picker.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/color_picker.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,13 @@ + + + {$lang_theme_colorpicker_title} + + + + + +
          + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_content.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_content.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_content.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_content.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,58 @@ +/* This file contains the CSS data for the editable area(iframe) of TinyMCE */ +/* You can extend this CSS by adding your own CSS file with the the content_css option */ + +body, td, pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +body { + background-color: #FFFFFF; +} + +.mceVisualAid { + border: 1px dashed #BBBBBB !important; +} + +div.mceVisualAid { + background-image:url('../images/spacer.gif'); + visibility: visible !important; +} + +.mceItemAnchor { + width: 12px; + line-height: 6px; + overflow: hidden; + padding-left: 12px; + background-image: url('../images/anchor_symbol.gif'); + background-position: bottom; + background-repeat: no-repeat; +} + +/* Important is needed in Gecko browsers inorder to style links */ +/* +a { + color: green !important; +} +*/ + +/* Style selection range colors in Gecko browsers */ +/* +::-moz-selection { + background-color: red; + color: green; +} +*/ + +/* MSIE specific */ + +* html body { + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,327 @@ +/* This file contains the CSS data for all popups in TinyMCE */ + +body { + background-color: #F0F0EE; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; + margin: 8px; +} + +td { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; +} + +input { + background: #FFFFFF; + border: 1px solid #cccccc; +} + +td, input, select, textarea { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +input, select, textarea { + border: 1px solid #808080; +} + +.input_noborder { + border: 0; +} + +#insert, .updateButton { + font-weight: bold; + width: 90px; + height: 21px; + border: 0; + background-image: url('../images/insert_button_bg.gif'); + cursor: pointer; +} + +#cancel { + font-weight: bold; + width: 90px; + height: 21px; + border: 0; + background-image: url('../images/cancel_button_bg.gif'); + cursor: pointer; +} + +/* Mozilla only style */ +html>body #insert, html>body #cancel { + padding-bottom: 2px; +} + +.title { + font-size: 12px; + font-weight: bold; + color: #2B6FB6; +} + +table.charmap { + border-style: solid; + border-width: 1px; + border-color: #AAAAAA; +} + +td.charmap, td.charmapOver { + color: #000000; + border-color: #AAAAAA; + border-style: solid; + border-width: 1px; + text-align: center; + font-size: 12px; +} + +td.charmapOver { + background-color: #CCCCCC; + cursor: default; +} + +a.charmap { + color: #000000; + text-decoration: none +} + +.wordWrapCode { + vertical-align: middle; + border: 1px none #000000; + background-color: transparent; +} + +input.radio { + border: 1px none #000000; + background-color: transparent; + vertical-align: middle; +} + +input.checkbox { + border: 1px none #000000; + background-color: transparent; + vertical-align: middle; +} + +.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected { + margin-left: 1px; +} + +.mceButtonNormal { + border-top: 1px solid; + border-left: 1px solid; + border-bottom: 1px solid; + border-right: 1px solid; + border-color: #F0F0EE; + cursor: default; +} + +.mceButtonOver { + border: 1px solid #0A246A; + cursor: default; + background-color: #B6BDD2; +} + +.mceButtonDown { + cursor: default; + border: 1px solid #0A246A; + background-color: #8592B5; +} + +.mceButtonDisabled { + filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); + -moz-opacity:0.3; + opacity: 0.3; + border-top: 1px solid; + border-left: 1px solid; + border-bottom: 1px solid; + border-right: 1px solid; + border-color: #F0F0EE; + cursor: default; +} + +.mceActionPanel { + margin-top: 5px; +} + +/* Tabs classes */ + +.tabs { + float: left; + width: 100%; + line-height: normal; + background-image: url("../images/xp/tabs_bg.gif"); +} + +.tabs ul { + margin: 0; + padding: 0 0 0; + list-style: none; +} + +.tabs li { + float: left; + background: url("../images/xp/tab_bg.gif") no-repeat left top; + margin: 0; + margin-left: 0; + margin-right: 2px; + padding: 0 0 0 10px; + line-height: 18px; +} + +.tabs li.current { + background: url("../images/xp/tab_sel_bg.gif") no-repeat left top; + margin-right: 2px; +} + +.tabs span { + float: left; + display: block; + background: url("../images/xp/tab_end.gif") no-repeat right top; + padding: 0px 10px 0 0; +} + +.tabs .current span { + background: url("../images/xp/tab_sel_end.gif") no-repeat right top; +} + +.tabs a { + text-decoration: none; + font-family: Verdana, Arial; + font-size: 10px; +} + +.tabs a:link, .tabs a:visited, .tabs a:hover { + color: black; +} + +.tabs a:hover { +} + +.tabs .current { +} + +.tabs .current a, .tabs .current a:link, .tabs .current a:visited { +} + +.panel_wrapper div.panel { + display: none; +} + +.panel_wrapper div.current { + display: block; + width: 100%; + height: 300px; + overflow: visible; /* Should be auto but that breaks Safari */ +} + +.panel_wrapper { + border: 1px solid #919B9C; + border-top: 0px; + padding: 10px; + padding-top: 5px; + clear: both; + background-color: white; +} + +fieldset { + border: 1px solid #919B9C; + font-family: Verdana, Arial; + font-size: 10px; + padding: 0; + margin: 0; + padding: 4px; +} + +legend { + color: #2B6FB6; + font-weight: bold; +} + +.properties { + width: 100%; +} + +.properties .column1 { +} + +.properties .column2 { + text-align: left; +} + +a:link, a:visited { + color: black; +} + +a:hover { + color: #2B6FB6; +} + +#plugintable thead { + font-weight: bold; + background-color: #DDDDDD; +} + +#plugintable, #about #plugintable td { + border: 1px solid #919B9C; +} + +#plugintable { + width: 99%; + margin-top: 10px; +} + +#pluginscontainer { + height: 290px; + overflow: auto; +} + +/* MSIE Specific styles */ + +* html .panel_wrapper { + width: 100%; +} + +.column { + float: left; +} + +h1, h2, h3, h4 { + color: #2B6FB6; + margin: 0; + padding: 0; + padding-top: 5px; +} + +h3 { + font-size: 14px; +} + +#link .panel_wrapper, #link div.current { + height: 125px; +} + +#image .panel_wrapper, #image div.current { + height: 190px; +} + +/* Disables the advanced tab in the table plugin. */ +/* +#table #advanced_tab { + display: none; +} +*/ + +/* Disables the border input field and label in the table plugin. */ +/* +#table #border, #table #borderlabel { + display: none; +} +*/ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,355 @@ +/* This file contains the CSS data for the editor UI of TinyMCE instances */ + +.mceToolbarTop a, .mceToolbarTop a:visited, .mceToolbarTop a:hover, .mceToolbarBottom a, .mceToolbarBottom a:visited, .mceToolbarBottom a:hover { + border: 0; margin: 0; padding: 0; background: transparent; +} + +.mceSeparatorLine { + border: 0; + padding: 0; + margin-left: 4px; + margin-right: 2px; +} + +.mceSelectList { + font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; + font-size: 7pt !important; + font-weight: normal; + margin-top: 3px; + padding: 0; + display: inline; + vertical-align: top; + background-color: #F0F0EE; +} + +.mceLabel, .mceLabelDisabled { + font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; + font-size: 9pt; +} + +.mceLabel { + color: #000000; +} + +.mceLabelDisabled { + cursor: text; + color: #999999; +} + +.mceEditor { + background: #F0F0EE; + border: 1px solid #cccccc; + padding: 0; + margin: 0; +} + +.mceEditorArea { + font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; + background: #FFFFFF; + padding: 0; + margin: 0; +} + +.mceToolbarTop, .mceToolbarBottom { + background: #F0F0EE; + line-height: 1px; + font-size: 1px; +} + +.mceToolbarTop { + border-bottom: 1px solid #cccccc; + padding-bottom: 1px; +} + +.mceToolbarBottom { + border-top: 1px solid #cccccc; +} + +.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar { + height: 20px; +} + +.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText { + font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; + font-size: 9pt; + padding: 2px; + line-height: 16px; + overflow: visible; +} + +.mceStatusbarTop { + border-bottom: 1px solid #cccccc; +} + +.mceStatusbarBottom { + border-top: 1px solid #cccccc; +} + +.mceStatusbar { + border-bottom: 1px solid #cccccc; +} + +.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover { + text-decoration: none; + font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; + font-size: 9pt; + color: #000000; +} + +.mcePathItem:hover { + text-decoration: underline; +} + +.mceStatusbarPathText { + float: left; +} + +.mceStatusbarResize { + float: right; + background-image: url('../images/statusbar_resize.gif'); + background-repeat: no-repeat; + width: 11px; + height: 20px; + cursor: se-resize; +} + +.mceResizeBox { + width: 10px; + height: 10px; + display: none; + border: 1px dotted gray; + margin: 0; + padding: 0; +} + +.mceEditorIframe { + border: 0; +} + +/* Button CSS rules */ + +a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img { + width: 20px; + height: 20px; + cursor: default; + margin-top: 1px; + margin-left: 1px; +} + +a.mceButtonDisabled img { + border: 0 !important; +} + +a.mceButtonNormal img, a.mceButtonSelected img { + border: 1px solid #F0F0EE !important; +} + +a.mceButtonSelected img { + border: 1px solid #6779AA !important; + background-color: #D4D5D8; +} + +a.mceButtonNormal img:hover, a.mceButtonSelected img:hover { + border: 1px solid #0A246A !important; + cursor: default; + background-color: #B6BDD2; +} + +a.mceButtonDisabled img { + -moz-opacity:0.3; + opacity: 0.3; + border: 1px solid #F0F0EE !important; + cursor: default; +} + +a.mceTiledButton img { + background-image: url('../images/buttons.gif'); + background-repeat: no-repeat; +} + +/* MSIE specific rules */ + +* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img { + border: 0 !important; + margin-top: 2px; + margin-bottom: 1px; +} + +* html a.mceButtonDisabled img { + /* not valid css, comment in + filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); + */ + border: 0 !important; +} + +* html a.mceButtonDisabled { + border: 1px solid #F0F0EE !important; +} + +* html a.mceButtonNormal, * html a.mceButtonSelected { + border: 1px solid #F0F0EE !important; + cursor: default; +} + +* html a.mceButtonSelected { + border: 1px solid #6779AA !important; + background-color: #D4D5D8; +} + +* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover { + border: 1px solid #0A246A !important; + cursor: default; + background-color: #B6BDD2; +} + +* html .mceSelectList { + margin-top: 2px; +} + +/* Menu button CSS rules */ + +span.mceMenuButton img, span.mceMenuButtonSelected img { + border: 1px solid #F0F0EE; + margin-left: 1px; +} + +span.mceMenuButtonSelected img { + border: 1px solid #6779AA; + background-color: #B6BDD2; +} + +span.mceMenuButtonSelected img.mceMenuButton { + border: 1px solid #F0F0EE; + background-color: transparent; +} + +span.mceMenuButton img.mceMenuButton, span.mceMenuButtonSelected img.mceMenuButton { + border-left: 0; + margin-left: 0; +} + +span.mceMenuButton:hover img, span.mceMenuButtonSelected:hover img { + border: 1px solid #0A246A; + background-color: #B6BDD2; +} + +span.mceMenuButton:hover img.mceMenuButton, span.mceMenuButtonSelected:hover img.mceMenuButton { + border-left: 0; +} + +span.mceMenuButtonFocus img { + border: 1px solid gray; + border-right: 0; + margin-left: 1px; + background-color: #F5F4F2; +} + +span.mceMenuButtonFocus img.mceMenuButton { + border: 1px solid gray; + border-left: 1px solid #F5F4F2; + margin-left: 0; +} + +/* Menu button MSIE specific rules */ + +* html span.mceMenuButton, * html span.mceMenuButtonFocus { + position: relative; + left: 0; + top: 0; +} + +* html span.mceMenuButton img, * html span.mceMenuButtonSelected img, * html span.mceMenuButtonFocus img { + position: relative; + top: 1px; +} + +* html span.mceMenuHover img { + border: 1px solid #0A246A; + background-color: #B6BDD2; +} + +* html span.mceMenuButtonSelected.mceMenuHover img.mceMenuButton { + border: 1px solid #0A246A; + background-color: #B6BDD2; + border-left: 0; +} + +/* Menu */ + +.mceMenu { + position: absolute; + left: 0; + top: 0; + display: none; + z-index: 100; + background-color: white; + border: 1px solid gray; + font-weight: normal; +} + +.mceMenu a, .mceMenuTitle, .mceMenuDisabled { + display: block; + width: 100%; + text-decoration: none; + background-color: white; + font-family: Tahoma, Verdana, Arial, Helvetica; + font-size: 11px; + line-height: 20px; + color: black; +} + +.mceMenu a:hover { + background-color: #B6BDD2; + color: black; + text-decoration: none !important; +} + +.mceMenu span { + padding-left: 10px; + padding-right: 10px; + display: block; + line-height: 20px; +} + +.mceMenuSeparator { + border-bottom: 1px solid gray; + background-color: gray; + height: 1px; +} + +.mceMenuTitle span { + padding-left: 5px; +} + +.mceMenuTitle { + background-color: #DDDDDD; + font-weight: bold; +} + +.mceMenuDisabled { + color: gray; +} + +span.mceMenuSelectedItem { + background-image: url('../images/menu_check.gif'); + background-repeat: no-repeat; + background-position: 5px 8px; + padding-left: 20px; +} + +span.mceMenuCheckItem { + padding-left: 20px; +} + +span.mceMenuLine { + display: block; + position: absolute; + left: 0; + top: -1px; + background-color: #F5F4F2; + width: 30px; + height: 1px; + overflow: hidden; + padding-left: 0; + padding-right: 0; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,31 @@ + + +About TinyMCE + + + + + + + + + + + +
          +
          +TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla +that enables you to edit HTML contents in a more user friendly way. It has common +features that are found in most word processors and should not be difficult to +use.
          +
          +
          + + + + + + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,162 @@ + + +Common buttons + + + + + + + + + + + +
          +
          +Below is a short description about each button. +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Bold text iconBold text style (Ctrl+B).
          Italic text iconItalic text style (Ctrl+I).
          Underline text icon.Underline text style (Ctrl+U).
          Strikethrough text icon.Strikethrough text style.
          Align left icon.Align left.
          Align center icon.Align center.
          Align right icon.Align right.
          Align full icon.Align full.
          Unordered list/bullet list icon.Unordered list/bullet list.
          Ordered list/numbered list icon.Ordered list/numbered list
          Outdent/decrease indentation icon.Outdent/decrease indentation.
          Indent/increase indentation icon.Indent/increase indentation.
          Undo the last operation.Undo the last operation (Ctrl+Z).
          Redo the last operation icon.Redo the last operation (Ctrl+Y).
          Insert a new link icon.Insert a new link, read more about this function in the Insert + link section.
          Unlinks the current selection icon.Unlinks the current selection/removes all selected links.
          Insert a new anchor icon.Insert a new anchor, read more about this function in the Insert anchor section.
          Insert a new image icon.Insert a new image, read more about this function in the Insert + image section.
          Cleanup code icon.Cleanup code/Removes unwanted formating. This function is useful when + you copy contents from for example a office product.
          Show help icon.Shows this help window.
          Source code editor icon.Opens HTML source code editor.
          Insert table icon.Inserts a new table at the current location.
          Adds a row above icon.Adds a row above the current one.
          Adds a row under icon.Adds a row under the current one.
          Remove row icon.Removes the row.
          Add column before icon.Adds a column before the current one.
          Add column after icon.Adds a column after the current one.
          Remove column icon.Removes the current column.
          Insert horizontal ruler icon.Inserts a new horizontal ruler
          Remove formatting icon.Removes formatting from the selection.
          Subscript icon.Makes the selection to be subscript.
          Superscript icon.Makes the selection to be superscripted.
          +
          +
          + + + + + + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,45 @@ + + +Insert table button + + + + + + + + + + + +
          +

          TinyMCE can create HTML content that will be accessible to all users, including those with disabilities using assistive technologies, as well as those using text-based browsers, or those browsing the Web with images turned off.

          + +

          Things you can do to make your content accessible:

          +
            +
          1. Include an Image Description: Blind users, or others who are unable to view images, will rely on the Image Description (or Alt text) to take the place of the image. If an image contains no meaning, such as a decoration or a spacer image, leave the Image Description empty. TinyMCE will then insert an empty Alt text attribute that will force assistive technologies to ignore the image.

          2. + +
          3. Add Scope to data table header cells: In the table cell editor dialog window, choose a Scope when creating Header cells so the column or row label in that cell becomes explicitely associated with its data cells. Table cell headers will then be announced with each data cell, making it easier for blind users using a screen reader to understand what the content of each cell represents.

          4. + +
          5. Structure content with properly nested headings: In the format selection menu choose Heading 1 to Heading 6 to represent headings in your content, rather than using other font formating options. Blind users using a screen reader can then extract the headings from the page to generate a summary of the content it contains, and use those headings to navigate quickly to subsections within the page.

          6. + +
          7. Include alternate content: Create an alternate page for non-HTML content such as Flash, Java applets, or embedded movies. This might be a static image, with a description of the image, and a description of the content that would have appeared in its place. An alternate HTML page could also be created, and a link to it included next to the non-HTML object. This will ensure that the content will be accessible to users of assistive technologies that can not view or play the content, and ensure the content will be available to those who do not have the appropriate plugin or helper application installed.

          8. + +
          9. Check accessbility: When the AChecker plugin is installed with TinyMCE, click on the Check Accessibility button to generate a report of potential accessibility problems.

          10. + +
          + +

          See the AChecker Web Site for further details about creating content that will be accessible to all users.
          +

          + +
          + + + + + + + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,27 @@ + + +Help Index + + + + + + + + + +
          +
          +Click the links below to go to the different help sections. + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,32 @@ + + +Insert anchor button + + + + + + + + + + + +
          +
          +This button opens a new window with the insert/edit anchor function.
          +
          +Anchor dialog/window
          +
          +There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique.
          +
          +
          + + + + + + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,65 @@ + + +Insert image button + + + + + + + + + + + +
          +
          +The insert image button opens the window shown below.
          +
          +Insert image dialog/window
          +
          +You simply enter a URL to the image you want to link to and enter a image description, +this is then displayed as an alternative text descripton of the image on the page.
          +
          +Field descriptions:
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Image URL URL/path to the image.
          Image description Alternative description of image contents.
          DimentionsImage width/height.
          AlignmentImage alignment, useful when wrapping text around images.
          BorderBorder thickness.
          VSpaceVertical space, useful when wrapping text around images.
          HSpaceHorizontal space, useful when wrapping text around images.
          +
          +
          + + + + + + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,33 @@ + + +Insert link button + + + + + + + + + + + +
          +
          +This button opens a new window with the insert/edit link function.
          +
          +Insert link dialog/window
          +
          +There are two fields in this window the first one "Link URL" is the +URL of the link. The target enables you to select how the link is to be opened.
          +
          +
          + + + + + + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,71 @@ + + +Insert table button + + + + + + + + + + + +
          +
          +The insert table button opens the window shown below. This action enables you to create tables.
          +
          +Image of table window
          +
          +Field descriptions:
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          ColumnsNumber of columns in the table.
          RowsNumber of rows in the new table.
          CellpaddingCellpadding of the table .
          CellspacingCellspacing of the table .
          AlignmentTable alignment .
          BorderBorder thinkness of table.
          WidthWidth in pixels of table .
          HeightHeight in pixels of table.
          ClassStyle or CSS class of table.
          +
          +
          +
          + + + + + + +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/style.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/style.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/style.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/style.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,28 @@ +body { background-color: #FFFFFF; } +body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; } +.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; } +.subtitle { font-size: 12px; font-weight: bold; } + +.toc_ul, .toc_li { margin-left: 8px; line-height: 16px; } +.step_ol, .step_li { margin-left: 11px; line-height: 16px; } +img { border: #000000 solid 1px; } + +a:visited { color: #666666; text-decoration: underline; } +a:active { color: #666666; text-decoration: underline; } +a:hover { color: #666666; text-decoration: underline; } +a { color: #666666; text-decoration: underline; } + +.pageheader { border: #E0E0E0 solid 1px; } +.pagefooter { border: #E0E0E0 solid 1px; } +.sample { background-color: #FFFFFF; border: #000000 solid 1px; } +.samplecontent { font-size: 10px; } + +.code { background-color: #FFFFFF; border: #000000 solid 1px; } +.codecontent { font-size: 10px; } +.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold } +.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold } +.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold } +.codecontent a { color: #666666; text-decoration: none; font-weight: bold } + +hr { height: 1px; } + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/docs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/editor_template.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/editor_template.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/editor_template.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/editor_template.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_AdvancedTheme={_autoImportCSSClasses:true,_resizer:{},_buttons:[['bold','{$lang_bold_img}','lang_bold_desc','Bold'],['italic','{$lang_italic_img}','lang_italic_desc','Italic'],['underline','{$lang_underline_img}','lang_underline_desc','Underline'],['strikethrough','strikethrough.gif','lang_striketrough_desc','Strikethrough'],['justifyleft','justifyleft.gif','lang_justifyleft_desc','JustifyLeft'],['justifycenter','justifycenter.gif','lang_justifycenter_desc','JustifyCenter'],['justifyright','justifyright.gif','lang_justifyright_desc','JustifyRight'],['justifyfull','justifyfull.gif','lang_justifyfull_desc','JustifyFull'],['bullist','bullist.gif','lang_bullist_desc','InsertUnorderedList'],['numlist','numlist.gif','lang_numlist_desc','InsertOrderedList'],['outdent','outdent.gif','lang_outdent_desc','Outdent'],['indent','indent.gif','lang_indent_desc','Indent'],['cut','cut.gif','lang_cut_desc','Cut'],['copy','copy.gif','lang_copy_desc','Copy'],['paste','paste.gif','lang_paste_desc','Paste'],['undo','undo.gif','lang_undo_desc','Undo'],['redo','redo.gif','lang_redo_desc','Redo'],['link','link.gif','lang_link_desc','mceLink',true],['unlink','unlink.gif','lang_unlink_desc','unlink'],['image','image.gif','lang_image_desc','mceImage',true],['cleanup','cleanup.gif','lang_cleanup_desc','mceCleanup'],['help','help.gif','lang_help_desc','mceHelp'],['code','code.gif','lang_theme_code_desc','mceCodeEditor'],['hr','hr.gif','lang_theme_hr_desc','inserthorizontalrule'],['removeformat','removeformat.gif','lang_theme_removeformat_desc','removeformat'],['sub','sub.gif','lang_theme_sub_desc','subscript'],['sup','sup.gif','lang_theme_sup_desc','superscript'],['forecolor','forecolor.gif','lang_theme_forecolor_desc','mceForeColor',true],['backcolor','backcolor.gif','lang_theme_backcolor_desc','mceBackColor',true],['charmap','charmap.gif','lang_theme_charmap_desc','mceCharMap'],['visualaid','visualaid.gif','lang_theme_visualaid_desc','mceToggleVisualAid'],['anchor','anchor.gif','lang_theme_anchor_desc','mceInsertAnchor'],['newdocument','newdocument.gif','lang_newdocument_desc','mceNewDocument']],_buttonMap:'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells',getControlHTML:function(button_name){var i,x;for(i=0;i4?but[4]:false),(but.length>5?but[5]:null));}switch(button_name){case"formatselect":var html='';return html;case"styleselect":return'';case"fontselect":var fontHTML='';return fontHTML;case"fontsizeselect":return'';case"|":case"separator":return'';case"spacer":return'';case"rowseparator":return'
          ';}return"";},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceLink":var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text;}else selectedText=inst.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return true;}var href="",target="",title="",onclick="",action="insert",style_class="";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');style_class=tinyMCE.getAttrib(tinyMCE.linkElement,'class');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_href');if(mceRealHref!=""){href=mceRealHref;if(tinyMCE.getParam('convert_urls'))href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");}action="update";}var template=new Array();template['file']='link.htm';template['width']=310;template['height']=200;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);if(inst.settings['insertlink_callback']){var returnVal=eval(inst.settings['insertlink_callback']+"(href, target, title, onclick, action, style_class);");if(returnVal&&returnVal['href'])TinyMCE_AdvancedTheme._insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick'],returnVal['style_class']);}else{tinyMCE.openWindow(template,{href:href,target:target,title:title,onclick:onclick,action:action,className:style_class,inline:"yes"});}return true;case"mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;var inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img;}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return true;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h);}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:"";}src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");mceRealSrc=tinyMCE.getAttrib(img,'mce_src');if(mceRealSrc!=""){src=mceRealSrc;if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");}action="update";}var template=new Array();template['file']='image.htm?src={$src}';template['width']=355;template['height']=265+(tinyMCE.isMSIE?25:0);template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);if(inst.settings['insertimage_callback']){var returnVal=eval(inst.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])TinyMCE_AdvancedTheme._insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout']);}else tinyMCE.openWindow(template,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action,inline:"yes"});return true;case"mceForeColor":var template=new Array();var elm=tinyMCE.selectedInstance.getFocusElement();var inputColor=tinyMCE.getAttrib(elm,"color");if(inputColor=='')inputColor=elm.style.color;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=220;template['height']=190;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",command:"forecolor",input_color:inputColor});return true;case"mceBackColor":var template=new Array();var elm=tinyMCE.selectedInstance.getFocusElement();var inputColor=elm.style.backgroundColor;if(!inputColor)inputColor="#000000";template['file']='color_picker.htm';template['width']=220;template['height']=190;template['width']+=tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",command:"HiliteColor",input_color:inputColor});return true;case"mceColorPicker":if(user_interface){var template=new Array();var inputColor=value['document'].getElementById(value['element_id']).value;template['file']='color_picker.htm';template['width']=220;template['height']=190;template['close_previous']="no";template['width']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height',0);if(typeof(value['store_selection'])=="undefined")value['store_selection']=true;tinyMCE.lastColorPickerValue=value;tinyMCE.openWindow(template,{editor_id:editor_id,mce_store_selection:value['store_selection'],inline:"yes",command:"mceColorPicker",input_color:inputColor});}else{var savedVal=tinyMCE.lastColorPickerValue;var elm=savedVal['document'].getElementById(savedVal['element_id']);elm.value=value;if(elm.onchange!=null&&elm.onchange!='')eval('elm.onchange();');}return true;case"mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_width",720));template['height']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_height",580));tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no",inline:"yes"});return true;case"mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550+(tinyMCE.isOpera?40:0);template['height']=250;template['width']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=90+(tinyMCE.isNS7?30:0);template['width']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceNewDocument":if(confirm(tinyMCE.getLang('lang_newdocument')))tinyMCE.execInstanceCommand(editor_id,'mceSetContent',false,' ');return true;}return false;},getEditorTemplate:function(settings,editorId){function removeFromArray(in_array,remove_array){var outArray=new Array();for(var i=0;i 

          ';var layoutManager=tinyMCE.getParam("theme_advanced_layout_manager","SimpleLayout");var styleSelectHTML='';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i'+key+'';}TinyMCE_AdvancedTheme._autoImportCSSClasses=false;}switch(layoutManager){case"SimpleLayout":var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var toolbarAlign=tinyMCE.getParam("theme_advanced_toolbar_align","center");var pathLocation=tinyMCE.getParam("theme_advanced_path_location","none");var statusbarLocation=tinyMCE.getParam("theme_advanced_statusbar_location",pathLocation);var defVals={theme_advanced_buttons1:"bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,separator,sub,sup,separator,charmap"};toolbarHTML+='0){toolbarHTML+="
          ";deltaHeight-=23;}}toolbarHTML+='
          ';template['html']='';if(toolbarLocation=="top"){template['html']+='';}if(statusbarLocation=="top"){template['html']+='';deltaHeight-=23;}template['html']+='';if(toolbarLocation=="bottom"){template['html']+='';}if(toolbarLocation=="external"){var bod=document.body;var elm=document.createElement("div");toolbarHTML=tinyMCE.replaceVar(toolbarHTML,'style_select_options',styleSelectHTML);toolbarHTML=tinyMCE.applyTemplate(toolbarHTML,{editor_id:editorId});elm.className="mceToolbarExternal";elm.id=editorId+"_toolbar";elm.innerHTML='
          '+toolbarHTML+'
          '+statusbarHTML+'
          '+toolbarHTML+'
          '+toolbarHTML+'
          ';bod.appendChild(elm);deltaHeight=0;tinyMCE.getInstanceById(editorId).toolbarElement=elm;}else{tinyMCE.getInstanceById(editorId).toolbarElement=null;}if(statusbarLocation=="bottom"){template['html']+=''+statusbarHTML+'';deltaHeight-=23;}template['html']+='';break;case"RowLayout":template['html']='';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i';else if(containers[i]=="mceElementpath"||containers[i]=="mceStatusbar"){var pathClass="mceStatusbar";if(i==containers.length-1){pathClass="mceStatusbarBottom";}else if(i==0){pathClass="mceStatusbar";}else{deltaHeight-=2;}template['html']+='';deltaHeight-=22;}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);for(var j=0;j0){curContainerHTML+="
          ";deltaHeight-=23;}template['html']+='
          ';}}template['html']+='
          '+statusbarHTML+'
          '+curContainerHTML+'
          ';break;case"CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined"){template=eval(customLayout+"(template);");}break;}if(resizing)template['html']+='';template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);template['delta_width']=0;template['delta_height']=deltaHeight;return template;},initInstance:function(inst){if(tinyMCE.getParam("theme_advanced_resizing",false)){if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var w=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_width");var h=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_height");TinyMCE_AdvancedTheme._resizeTo(inst,w,h,tinyMCE.getParam("theme_advanced_resize_horizontal",true));}}inst.addShortcut('ctrl','k','lang_link_desc','mceLink');},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection,setup_content){function selectByValue(select_elm,value,first_index){first_index=typeof(first_index)=="undefined"?false:true;if(select_elm){for(var i=0;i=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";if(nodeName=="b"){nodeName="strong";}if(nodeName=="i"){nodeName="em";}if(nodeName=="span"){var cn=tinyMCE.getAttrib(path[i],"class");if(cn!=""&&cn.indexOf('mceItem')==-1)nodeData+="class: "+cn+" ";var st=tinyMCE.getAttrib(path[i],"style");if(st!=""){st=tinyMCE.serializeStyle(tinyMCE.parseStyle(st));nodeData+="style: "+st+" ";}}if(nodeName=="font"){if(tinyMCE.getParam("convert_fonts_to_spans"))nodeName="span";var face=tinyMCE.getAttrib(path[i],"face");if(face!="")nodeData+="font: "+face+" ";var size=tinyMCE.getAttrib(path[i],"size");if(size!="")nodeData+="size: "+size+" ";var color=tinyMCE.getAttrib(path[i],"color");if(color!="")nodeData+="color: "+color+" ";}if(getAttrib(path[i],'id')!=""){nodeData+="id: "+path[i].getAttribute('id')+" ";}var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeData+="class: "+className+" ";if(getAttrib(path[i],'src')!=""){var src=tinyMCE.getAttrib(path[i],"mce_src");if(src=="")src=tinyMCE.getAttrib(path[i],"src");nodeData+="src: "+src+" ";}if(getAttrib(path[i],'href')!=""){var href=tinyMCE.getAttrib(path[i],"mce_href");if(href=="")href=tinyMCE.getAttrib(path[i],"href");nodeData+="href: "+href+" ";}if(nodeName=="img"&&tinyMCE.getAttrib(path[i],"class").indexOf('mceItemFlash')!=-1){nodeName="flash";nodeData="src: "+path[i].getAttribute('title');}if(nodeName=="a"&&(anchor=tinyMCE.getAttrib(path[i],"name"))!=""){nodeName="a";nodeName+="#"+anchor;nodeData="";}if(getAttrib(path[i],'name').indexOf("mce_")!=0){var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1){nodeName+="."+className;}}var cmd='tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');';html+=''+nodeName+'';if(i>0){html+=" » ";}}pathElm.innerHTML=''+tinyMCE.getLang('lang_theme_path')+": "+html+' ';}tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClass(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClass(editor_id+'_link','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_unlink','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_outdent','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_image','mceButtonNormal');tinyMCE.switchClass(editor_id+'_hr','mceButtonNormal');if(node.nodeName=="A"&&tinyMCE.getAttrib(node,"class").indexOf('mceItemAnchor')!=-1)tinyMCE.switchClass(editor_id+'_anchor','mceButtonSelected');var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClass(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal');tinyMCE.switchClass(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal');}tinyMCE.switchClass(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal');if(undo_levels!=-1){tinyMCE.switchClass(editor_id+'_undo','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_redo','mceButtonDisabled');}if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClass(editor_id+'_outdent','mceButtonNormal');if(undo_index!=-1&&(undo_index0))tinyMCE.switchClass(editor_id+'_redo','mceButtonNormal');if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClass(editor_id+'_undo','mceButtonNormal');var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i");else selectByValue(selectElm,"");}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){if(!tinyMCE.isSafari&&!(tinyMCE.isMSIE&&!tinyMCE.isOpera)){var face=inst.queryCommandValue('FontName');face=face==null||face==""?"":face;selectByValue(selectElm,face,face!="");}else{var elm=tinyMCE.getParentElement(node,"font","face");if(elm){var family=tinyMCE.getAttrib(elm,"face");if(family=='')family=''+elm.style.fontFamily;if(!selectByValue(selectElm,family,family!=""))selectByValue(selectElm,"");}else selectByValue(selectElm,"");}}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){if(!tinyMCE.isSafari&&!tinyMCE.isOpera){var size=inst.queryCommandValue('FontSize');selectByValue(selectElm,size==null||size==""?"0":size);}else{var elm=tinyMCE.getParentElement(node,"font","size");if(elm){var size=tinyMCE.getAttrib(elm,"size");if(size==''){var sizes=new Array('','8px','10px','12px','14px','18px','24px','36px');size=''+elm.style.fontSize;for(var i=0;i0)selectElm.setAttribute('cssImported','true');}},_setCookie:function(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+escape(path):"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie;},_getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin+prefix.length,end));},_resizeTo:function(inst,w,h,set_w){var editorContainer=document.getElementById(inst.editorId+'_parent');var tableElm=editorContainer.firstChild;var iframe=inst.iframeElement;if(w==null||w=="null"){set_w=false;w=0;}if(h==null||h=="null")return;w=parseInt(w);h=parseInt(h);if(tinyMCE.isGecko){w+=2;h+=2;}var dx=w-tableElm.clientWidth;var dy=h-tableElm.clientHeight;w=w<1?30:w;h=h<1?30:h;if(set_w)tableElm.style.width=w+"px";tableElm.style.height=h+"px";iw=iframe.clientWidth+dx;ih=iframe.clientHeight+dy;iw=iw<1?30:iw;ih=ih<1?30:ih;if(tinyMCE.isGecko){iw-=2;ih-=2;}if(set_w)iframe.style.width=iw+"px";iframe.style.height=ih+"px";if(set_w){var tableBodyElm=tableElm.firstChild;var minIframeWidth=tableBodyElm.scrollWidth;if(inst.iframeElement.clientWidth';tinyMCE.execCommand("mceInsertContent",false,html);}else{if(!tinyMCE.imgElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari)tinyMCE.execCommand("mceInsertContent",false,'');else tinyMCE.selectedInstance.contentDocument.execCommand("insertimage",false,tinyMCE.uniqueURL);tinyMCE.imgElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"img","src",tinyMCE.uniqueURL);}}if(tinyMCE.imgElement){var needsRepaint=false;var msrc=src;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, tinyMCE.imgElement);");if(tinyMCE.getParam('convert_urls'))msrc=src;if(onmouseover&&onmouseover!="")onmouseover="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, tinyMCE.imgElement);")+"';";if(onmouseout&&onmouseout!="")onmouseout="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, tinyMCE.imgElement);")+"';";if(typeof(title)=="undefined")title=alt;if(width!=tinyMCE.imgElement.getAttribute("width")||height!=tinyMCE.imgElement.getAttribute("height")||align!=tinyMCE.imgElement.getAttribute("align"))needsRepaint=true;tinyMCE.setAttrib(tinyMCE.imgElement,'src',src);tinyMCE.setAttrib(tinyMCE.imgElement,'mce_src',msrc);tinyMCE.setAttrib(tinyMCE.imgElement,'alt',alt);tinyMCE.setAttrib(tinyMCE.imgElement,'title',title);tinyMCE.setAttrib(tinyMCE.imgElement,'align',align);tinyMCE.setAttrib(tinyMCE.imgElement,'border',border,true);tinyMCE.setAttrib(tinyMCE.imgElement,'hspace',hspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'vspace',vspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'width',width,true);tinyMCE.setAttrib(tinyMCE.imgElement,'height',height,true);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseover',onmouseover);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseout',onmouseout);if(width&&width!="")tinyMCE.imgElement.style.pixelWidth=width;if(height&&height!="")tinyMCE.imgElement.style.pixelHeight=height;if(needsRepaint)tinyMCE.selectedInstance.repaint();}tinyMCE.execCommand('mceEndUndoLevel');},_insertLink:function(href,target,title,onclick,style_class){tinyMCE.execCommand('mceBeginUndoLevel');if(tinyMCE.selectedInstance&&tinyMCE.selectedElement&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){var doc=tinyMCE.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true;}var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(linkElement,'href',thref);tinyMCE.setAttrib(linkElement,'mce_href',mhref);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'onclick',onclick);tinyMCE.setAttrib(linkElement,'class',style_class);if(newLink){linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));tinyMCE.selectedElement.parentNode.replaceChild(linkElement,tinyMCE.selectedElement);}return;}if(!tinyMCE.linkElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari){tinyMCE.execCommand("mceInsertContent",false,''+tinyMCE.selectedInstance.selection.getSelectedHTML()+'');}else tinyMCE.selectedInstance.contentDocument.execCommand("createlink",false,tinyMCE.uniqueURL);tinyMCE.linkElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);var elementArray=tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);for(var i=0;i 4 ? but[4] : false), (but.length > 5 ? but[5] : null)); + } + + // Custom controlls other than buttons + switch (button_name) { + case "formatselect": + var html = ''; + + return html; + + case "styleselect": + return ''; + + case "fontselect": + var fontHTML = ''; + return fontHTML; + + case "fontsizeselect": + return ''; + + case "|": + case "separator": + return ''; + + case "spacer": + return ''; + + case "rowseparator": + return '
          '; + } + + return ""; + }, + + /** + * Theme specific execcommand handling. + */ + execCommand : function(editor_id, element, command, user_interface, value) { + switch (command) { + case "mceLink": + var inst = tinyMCE.getInstanceById(editor_id); + var doc = inst.getDoc(); + var selectedText = ""; + + if (tinyMCE.isMSIE) { + var rng = doc.selection.createRange(); + selectedText = rng.text; + } else + selectedText = inst.getSel().toString(); + + if (!tinyMCE.linkElement) { + if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0)) + return true; + } + + var href = "", target = "", title = "", onclick = "", action = "insert", style_class = ""; + + if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a") + tinyMCE.linkElement = tinyMCE.selectedElement; + + // Is anchor not a link + if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "") + tinyMCE.linkElement = null; + + if (tinyMCE.linkElement) { + href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href'); + target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target'); + title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title'); + onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick'); + style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class'); + + // Try old onclick to if copy/pasted content + if (onclick == "") + onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick'); + + onclick = tinyMCE.cleanupEventStr(onclick); + + href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);"); + + // Use mce_href if defined + mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_href'); + if (mceRealHref != "") { + href = mceRealHref; + + if (tinyMCE.getParam('convert_urls')) + href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);"); + } + + action = "update"; + } + + var template = new Array(); + + template['file'] = 'link.htm'; + template['width'] = 310; + template['height'] = 200; + + // Language specific width and height addons + template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0); + + if (inst.settings['insertlink_callback']) { + var returnVal = eval(inst.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);"); + if (returnVal && returnVal['href']) + TinyMCE_AdvancedTheme._insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']); + } else { + tinyMCE.openWindow(template, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class, inline : "yes"}); + } + + return true; + + case "mceImage": + var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = ""; + var title = "", onmouseover = "", onmouseout = "", action = "insert"; + var img = tinyMCE.imgElement; + var inst = tinyMCE.getInstanceById(editor_id); + + if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") { + img = tinyMCE.selectedElement; + tinyMCE.imgElement = img; + } + + if (img) { + // Is it a internal MCE visual aid image, then skip this one. + if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0) + return true; + + src = tinyMCE.getAttrib(img, 'src'); + alt = tinyMCE.getAttrib(img, 'alt'); + + // Try polling out the title + if (alt == "") + alt = tinyMCE.getAttrib(img, 'title'); + + // Fix width/height attributes if the styles is specified + if (tinyMCE.isGecko) { + var w = img.style.width; + if (w != null && w != "") + img.setAttribute("width", w); + + var h = img.style.height; + if (h != null && h != "") + img.setAttribute("height", h); + } + + border = tinyMCE.getAttrib(img, 'border'); + hspace = tinyMCE.getAttrib(img, 'hspace'); + vspace = tinyMCE.getAttrib(img, 'vspace'); + width = tinyMCE.getAttrib(img, 'width'); + height = tinyMCE.getAttrib(img, 'height'); + align = tinyMCE.getAttrib(img, 'align'); + onmouseover = tinyMCE.getAttrib(img, 'onmouseover'); + onmouseout = tinyMCE.getAttrib(img, 'onmouseout'); + title = tinyMCE.getAttrib(img, 'title'); + + // Is realy specified? + if (tinyMCE.isMSIE) { + width = img.attributes['width'].specified ? width : ""; + height = img.attributes['height'].specified ? height : ""; + } + + //onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover)); + //onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout)); + + src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);"); + + // Use mce_src if defined + mceRealSrc = tinyMCE.getAttrib(img, 'mce_src'); + if (mceRealSrc != "") { + src = mceRealSrc; + + if (tinyMCE.getParam('convert_urls')) + src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);"); + } + + //if (onmouseover != "") + // onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);"); + + //if (onmouseout != "") + // onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);"); + + action = "update"; + } + + var template = new Array(); + + template['file'] = 'image.htm?src={$src}'; + template['width'] = 355; + template['height'] = 265 + (tinyMCE.isMSIE ? 25 : 0); + + // Language specific width and height addons + template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0); + + if (inst.settings['insertimage_callback']) { + var returnVal = eval(inst.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);"); + if (returnVal && returnVal['src']) + TinyMCE_AdvancedTheme._insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']); + } else + tinyMCE.openWindow(template, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action, inline : "yes"}); + + return true; + + case "mceForeColor": + var template = new Array(); + var elm = tinyMCE.selectedInstance.getFocusElement(); + var inputColor = tinyMCE.getAttrib(elm, "color"); + + if (inputColor == '') + inputColor = elm.style.color; + + if (!inputColor) + inputColor = "#000000"; + + template['file'] = 'color_picker.htm'; + template['width'] = 220; + template['height'] = 190; + + tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "forecolor", input_color : inputColor}); + return true; + + case "mceBackColor": + var template = new Array(); + var elm = tinyMCE.selectedInstance.getFocusElement(); + var inputColor = elm.style.backgroundColor; + + if (!inputColor) + inputColor = "#000000"; + + template['file'] = 'color_picker.htm'; + template['width'] = 220; + template['height'] = 190; + + template['width'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_theme_advanced_backcolor_delta_height', 0); + + tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", command : "HiliteColor", input_color : inputColor}); + //mceBackColor + return true; + + case "mceColorPicker": + if (user_interface) { + var template = new Array(); + var inputColor = value['document'].getElementById(value['element_id']).value; + + template['file'] = 'color_picker.htm'; + template['width'] = 220; + template['height'] = 190; + template['close_previous'] = "no"; + + template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0); + + if (typeof(value['store_selection']) == "undefined") + value['store_selection'] = true; + + tinyMCE.lastColorPickerValue = value; + tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : inputColor}); + } else { + var savedVal = tinyMCE.lastColorPickerValue; + var elm = savedVal['document'].getElementById(savedVal['element_id']); + elm.value = value; + + if (elm.onchange != null && elm.onchange != '') + eval('elm.onchange();'); + } + return true; + + case "mceCodeEditor": + var template = new Array(); + + template['file'] = 'source_editor.htm'; + template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 720)); + template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 580)); + + tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"}); + return true; + + case "mceCharMap": + var template = new Array(); + + template['file'] = 'charmap.htm'; + template['width'] = 550 + (tinyMCE.isOpera ? 40 : 0); + template['height'] = 250; + + template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0); + + tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); + return true; + + case "mceInsertAnchor": + var template = new Array(); + + template['file'] = 'anchor.htm'; + template['width'] = 320; + template['height'] = 90 + (tinyMCE.isNS7 ? 30 : 0); + + template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0); + template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0); + + tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); + return true; + + case "mceNewDocument": + if (confirm(tinyMCE.getLang('lang_newdocument'))) + tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, ' '); + + return true; + } + + return false; + }, + + /** + * Editor instance template function. + */ + getEditorTemplate : function(settings, editorId) { + function removeFromArray(in_array, remove_array) { + var outArray = new Array(); + + for (var i=0; i 

          '; + var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout"); + + // Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY! + var styleSelectHTML = ''; + if (settings['theme_advanced_styles']) { + var stylesAr = settings['theme_advanced_styles'].split(';'); + + for (var i=0; i' + key + ''; + } + + TinyMCE_AdvancedTheme._autoImportCSSClasses = false; + } + + switch(layoutManager) { + case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)... + var toolbarHTML = ""; + var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom"); + var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center"); + var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity + var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation); + var defVals = { + theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect", + theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code", + theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap" + }; + + // Add accessibility control + toolbarHTML += ' 0) { + toolbarHTML += "
          "; + deltaHeight -= 23; + } + } + + // Add accessibility control + toolbarHTML += '
          '; + + // Setup template html + template['html'] = ''; + + if (toolbarLocation == "top") { + template['html'] += ''; + } + + if (statusbarLocation == "top") { + template['html'] += ''; + deltaHeight -= 23; + } + + template['html'] += ''; + + if (toolbarLocation == "bottom") { + template['html'] += ''; + } + + // External toolbar changes + if (toolbarLocation == "external") { + var bod = document.body; + var elm = document.createElement ("div"); + + toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML); + toolbarHTML = tinyMCE.applyTemplate(toolbarHTML, {editor_id : editorId}); + + elm.className = "mceToolbarExternal"; + elm.id = editorId+"_toolbar"; + elm.innerHTML = '
          ' + toolbarHTML + '
          ' + statusbarHTML + '
          ' + toolbarHTML + '
          '+toolbarHTML+'
          '; + bod.appendChild (elm); + // bod.style.marginTop = elm.offsetHeight + "px"; + + deltaHeight = 0; + tinyMCE.getInstanceById(editorId).toolbarElement = elm; + + //template['html'] = '
          '+toolbarHTML+'
          ' + template["html"]; + } else { + tinyMCE.getInstanceById(editorId).toolbarElement = null; + } + + if (statusbarLocation == "bottom") { + template['html'] += '' + statusbarHTML + ''; + deltaHeight -= 23; + } + + template['html'] += ''; + //"SimpleLayout" + break; + + case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom. + template['html'] = ''; + + var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ","); + var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container"); + var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center"); + + //Render Containers: + for (var i = 0; i < containers.length; i++) + { + if (containers[i] == "mceEditor") //Exceptions for mceEditor and ... + template['html'] += ''; + else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath: + { + var pathClass = "mceStatusbar"; + + if (i == containers.length-1) + { + pathClass = "mceStatusbarBottom"; + } + else if (i == 0) + { + pathClass = "mceStatusbar"; + } + else + { + deltaHeight-=2; + } + + template['html'] += ''; + deltaHeight -= 22; + } else { // Render normal Container + var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ','); + var curContainerHTML = ""; + var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign); + var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS); + + for (var j=0; j 0) { + curContainerHTML += "
          "; + deltaHeight -= 23; + } + + template['html'] += '
          '; + } + } + + template['html'] += '
          ' + statusbarHTML + '
          ' + curContainerHTML + '
          '; + //RowLayout + break; + + case "CustomLayout" : //User defined layout callback... + var customLayout = tinyMCE.getParam("theme_advanced_custom_layout",""); + + if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") { + template = eval(customLayout + "(template);"); + } + break; + } + + if (resizing) + template['html'] += ''; + + template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML); + template['delta_width'] = 0; + template['delta_height'] = deltaHeight; + + return template; + }, + + initInstance : function(inst) { + if (tinyMCE.getParam("theme_advanced_resizing", false)) { + if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) { + var w = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_width"); + var h = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_height"); + + TinyMCE_AdvancedTheme._resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true)); + } + } + + inst.addShortcut('ctrl', 'k', 'lang_link_desc', 'mceLink'); + }, + + /** + * Node change handler. + */ + handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection, setup_content) { + function selectByValue(select_elm, value, first_index) { + first_index = typeof(first_index) == "undefined" ? false : true; + + if (select_elm) { + for (var i=0; i=0; i--) { + var nodeName = path[i].nodeName.toLowerCase(); + var nodeData = ""; + + if (nodeName == "b") { + nodeName = "strong"; + } + + if (nodeName == "i") { + nodeName = "em"; + } + + if (nodeName == "span") { + var cn = tinyMCE.getAttrib(path[i], "class"); + if (cn != "" && cn.indexOf('mceItem') == -1) + nodeData += "class: " + cn + " "; + + var st = tinyMCE.getAttrib(path[i], "style"); + if (st != "") { + st = tinyMCE.serializeStyle(tinyMCE.parseStyle(st)); + nodeData += "style: " + st + " "; + } + } + + if (nodeName == "font") { + if (tinyMCE.getParam("convert_fonts_to_spans")) + nodeName = "span"; + + var face = tinyMCE.getAttrib(path[i], "face"); + if (face != "") + nodeData += "font: " + face + " "; + + var size = tinyMCE.getAttrib(path[i], "size"); + if (size != "") + nodeData += "size: " + size + " "; + + var color = tinyMCE.getAttrib(path[i], "color"); + if (color != "") + nodeData += "color: " + color + " "; + } + + if (getAttrib(path[i], 'id') != "") { + nodeData += "id: " + path[i].getAttribute('id') + " "; + } + + var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false); + if (className != "" && className.indexOf('mceItem') == -1) + nodeData += "class: " + className + " "; + + if (getAttrib(path[i], 'src') != "") { + var src = tinyMCE.getAttrib(path[i], "mce_src"); + + if (src == "") + src = tinyMCE.getAttrib(path[i], "src"); + + nodeData += "src: " + src + " "; + } + + if (getAttrib(path[i], 'href') != "") { + var href = tinyMCE.getAttrib(path[i], "mce_href"); + + if (href == "") + href = tinyMCE.getAttrib(path[i], "href"); + + nodeData += "href: " + href + " "; + } + + if (nodeName == "img" && tinyMCE.getAttrib(path[i], "class").indexOf('mceItemFlash') != -1) { + nodeName = "flash"; + nodeData = "src: " + path[i].getAttribute('title'); + } + + if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "") { + nodeName = "a"; + nodeName += "#" + anchor; + nodeData = ""; + } + + if (getAttrib(path[i], 'name').indexOf("mce_") != 0) { + var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false); + if (className != "" && className.indexOf('mceItem') == -1) { + nodeName += "." + className; + } + } + + var cmd = 'tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');'; + html += '' + nodeName + ''; + + if (i > 0) { + html += " » "; + } + } + + pathElm.innerHTML = '' + tinyMCE.getLang('lang_theme_path') + ": " + html + ' '; + } + + // Reset old states + tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_sub', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_sup', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_link', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_unlink', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_image', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_hr', 'mceButtonNormal'); + + if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1) + tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonSelected'); + + // Get link + var anchorLink = tinyMCE.getParentElement(node, "a", "href"); + + if (anchorLink || any_selection) { + tinyMCE.switchClass(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal'); + } + + // Handle visual aid + tinyMCE.switchClass(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal'); + + if (undo_levels != -1) { + tinyMCE.switchClass(editor_id + '_undo', 'mceButtonDisabled'); + tinyMCE.switchClass(editor_id + '_redo', 'mceButtonDisabled'); + } + + // Within li, blockquote + if (tinyMCE.getParentElement(node, "li,blockquote")) + tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonNormal'); + + // Has redo levels + if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0)) + tinyMCE.switchClass(editor_id + '_redo', 'mceButtonNormal'); + + // Has undo levels + if (undo_index != -1 && (undo_index > 0 && undo_levels > 0)) + tinyMCE.switchClass(editor_id + '_undo', 'mceButtonNormal'); + + // Select class in select box + var selectElm = document.getElementById(editor_id + "_styleSelect"); + + if (selectElm) { + TinyMCE_AdvancedTheme._setupCSSClasses(editor_id); + + classNode = node; + breakOut = false; + var index = 0; + + do { + if (classNode && classNode.className) { + for (var i=0; i"); + else + selectByValue(selectElm, ""); + } + + // Select fontselect + var selectElm = document.getElementById(editor_id + "_fontNameSelect"); + if (selectElm) { + if (!tinyMCE.isSafari && !(tinyMCE.isMSIE && !tinyMCE.isOpera)) { + var face = inst.queryCommandValue('FontName'); + + face = face == null || face == "" ? "" : face; + + selectByValue(selectElm, face, face != ""); + } else { + var elm = tinyMCE.getParentElement(node, "font", "face"); + + if (elm) { + var family = tinyMCE.getAttrib(elm, "face"); + + if (family == '') + family = '' + elm.style.fontFamily; + + if (!selectByValue(selectElm, family, family != "")) + selectByValue(selectElm, ""); + } else + selectByValue(selectElm, ""); + } + } + + // Select fontsize + var selectElm = document.getElementById(editor_id + "_fontSizeSelect"); + if (selectElm) { + if (!tinyMCE.isSafari && !tinyMCE.isOpera) { + var size = inst.queryCommandValue('FontSize'); + selectByValue(selectElm, size == null || size == "" ? "0" : size); + } else { + var elm = tinyMCE.getParentElement(node, "font", "size"); + if (elm) { + var size = tinyMCE.getAttrib(elm, "size"); + + if (size == '') { + var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px'); + + size = '' + elm.style.fontSize; + + for (var i=0; i 0) + selectElm.setAttribute('cssImported', 'true'); + } + }, + + _setCookie : function(name, value, expires, path, domain, secure) { + var curCookie = name + "=" + escape(value) + + ((expires) ? "; expires=" + expires.toGMTString() : "") + + ((path) ? "; path=" + escape(path) : "") + + ((domain) ? "; domain=" + domain : "") + + ((secure) ? "; secure" : ""); + + document.cookie = curCookie; + }, + + _getCookie : function(name) { + var dc = document.cookie; + var prefix = name + "="; + var begin = dc.indexOf("; " + prefix); + + if (begin == -1) { + begin = dc.indexOf(prefix); + + if (begin != 0) + return null; + } else + begin += 2; + + var end = document.cookie.indexOf(";", begin); + + if (end == -1) + end = dc.length; + + return unescape(dc.substring(begin + prefix.length, end)); + }, + + _resizeTo : function(inst, w, h, set_w) { + var editorContainer = document.getElementById(inst.editorId + '_parent'); + var tableElm = editorContainer.firstChild; + var iframe = inst.iframeElement; + + if (w == null || w == "null") { + set_w = false; + w = 0; + } + + if (h == null || h == "null") + return; + + w = parseInt(w); + h = parseInt(h); + + if (tinyMCE.isGecko) { + w += 2; + h += 2; + } + + var dx = w - tableElm.clientWidth; + var dy = h - tableElm.clientHeight; + + w = w < 1 ? 30 : w; + h = h < 1 ? 30 : h; + + if (set_w) + tableElm.style.width = w + "px"; + + tableElm.style.height = h + "px"; + + iw = iframe.clientWidth + dx; + ih = iframe.clientHeight + dy; + + iw = iw < 1 ? 30 : iw; + ih = ih < 1 ? 30 : ih; + + if (tinyMCE.isGecko) { + iw -= 2; + ih -= 2; + } + + if (set_w) + iframe.style.width = iw + "px"; + + iframe.style.height = ih + "px"; + + // Is it to small, make it bigger again + if (set_w) { + var tableBodyElm = tableElm.firstChild; + var minIframeWidth = tableBodyElm.scrollWidth; + if (inst.iframeElement.clientWidth < minIframeWidth) { + dx = minIframeWidth - inst.iframeElement.clientWidth; + + inst.iframeElement.style.width = (iw + dx) + "px"; + } + } + }, + + /** + * Handles resizing events. + */ + _resizeEventHandler : function(e) { + var resizer = TinyMCE_AdvancedTheme._resizer; + + // Do nothing + if (!resizer.resizing) + return; + + e = typeof(e) == "undefined" ? window.event : e; + + var dx = e.screenX - resizer.downX; + var dy = e.screenY - resizer.downY; + var resizeBox = resizer.resizeBox; + var editorId = resizer.editorId; + + switch (e.type) { + case "mousemove": + var w, h; + + w = resizer.width + dx; + h = resizer.height + dy; + + w = w < 1 ? 1 : w; + h = h < 1 ? 1 : h; + + if (resizer.horizontal) + resizeBox.style.width = w + "px"; + + resizeBox.style.height = h + "px"; + break; + + case "mouseup": + TinyMCE_AdvancedTheme._setResizing(e, editorId, false); + TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal); + + // Expire in a month + if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) { + var expires = new Date(); + expires.setTime(expires.getTime() + 3600000 * 24 * 30); + + // Set the cookies + TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires); + TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires); + } + break; + } + }, + + /** + * Starts/stops the editor resizing. + */ + _setResizing : function(e, editor_id, state) { + e = typeof(e) == "undefined" ? window.event : e; + + var resizer = TinyMCE_AdvancedTheme._resizer; + var editorContainer = document.getElementById(editor_id + '_parent'); + var editorArea = document.getElementById(editor_id + '_parent').firstChild; + var resizeBox = document.getElementById(editor_id + '_resize_box'); + var inst = tinyMCE.getInstanceById(editor_id); + + if (state) { + // Place box over editor area + var width = editorArea.clientWidth; + var height = editorArea.clientHeight; + + resizeBox.style.width = width + "px"; + resizeBox.style.height = height + "px"; + + resizer.iframeWidth = inst.iframeElement.clientWidth; + resizer.iframeHeight = inst.iframeElement.clientHeight; + + // Hide editor and show resize box + editorArea.style.display = "none"; + resizeBox.style.display = "block"; + + // Add event handlers, only once + if (!resizer.eventHandlers) { + if (tinyMCE.isMSIE) + tinyMCE.addEvent(document, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler); + else + tinyMCE.addEvent(window, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler); + + tinyMCE.addEvent(document, "mouseup", TinyMCE_AdvancedTheme._resizeEventHandler); + + resizer.eventHandlers = true; + } + + resizer.resizing = true; + resizer.downX = e.screenX; + resizer.downY = e.screenY; + resizer.width = parseInt(resizeBox.style.width); + resizer.height = parseInt(resizeBox.style.height); + resizer.editorId = editor_id; + resizer.resizeBox = resizeBox; + resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true); + } else { + resizer.resizing = false; + resizeBox.style.display = "none"; + editorArea.style.display = tinyMCE.isMSIE && !tinyMCE.isOpera ? "block" : "table"; + tinyMCE.execCommand('mceResetDesignMode'); + } + }, + + _insertImage : function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) { + tinyMCE.execCommand('mceBeginUndoLevel'); + + if (src == "") + return; + + if (!tinyMCE.imgElement && tinyMCE.isSafari) { + var html = ""; + + html += '' + alt + ''; + + tinyMCE.execCommand("mceInsertContent", false, html); + } else { + if (!tinyMCE.imgElement && tinyMCE.selectedInstance) { + if (tinyMCE.isSafari) + tinyMCE.execCommand("mceInsertContent", false, ''); + else + tinyMCE.selectedInstance.contentDocument.execCommand("insertimage", false, tinyMCE.uniqueURL); + + tinyMCE.imgElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "img", "src", tinyMCE.uniqueURL); + } + } + + if (tinyMCE.imgElement) { + var needsRepaint = false; + var msrc = src; + + src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);"); + + if (tinyMCE.getParam('convert_urls')) + msrc = src; + + if (onmouseover && onmouseover != "") + onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';"; + + if (onmouseout && onmouseout != "") + onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';"; + + // Use alt as title if it's undefined + if (typeof(title) == "undefined") + title = alt; + + if (width != tinyMCE.imgElement.getAttribute("width") || height != tinyMCE.imgElement.getAttribute("height") || align != tinyMCE.imgElement.getAttribute("align")) + needsRepaint = true; + + tinyMCE.setAttrib(tinyMCE.imgElement, 'src', src); + tinyMCE.setAttrib(tinyMCE.imgElement, 'mce_src', msrc); + tinyMCE.setAttrib(tinyMCE.imgElement, 'alt', alt); + tinyMCE.setAttrib(tinyMCE.imgElement, 'title', title); + tinyMCE.setAttrib(tinyMCE.imgElement, 'align', align); + tinyMCE.setAttrib(tinyMCE.imgElement, 'border', border, true); + tinyMCE.setAttrib(tinyMCE.imgElement, 'hspace', hspace, true); + tinyMCE.setAttrib(tinyMCE.imgElement, 'vspace', vspace, true); + tinyMCE.setAttrib(tinyMCE.imgElement, 'width', width, true); + tinyMCE.setAttrib(tinyMCE.imgElement, 'height', height, true); + tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseover', onmouseover); + tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseout', onmouseout); + + // Fix for bug #989846 - Image resize bug + if (width && width != "") + tinyMCE.imgElement.style.pixelWidth = width; + + if (height && height != "") + tinyMCE.imgElement.style.pixelHeight = height; + + if (needsRepaint) + tinyMCE.selectedInstance.repaint(); + } + + tinyMCE.execCommand('mceEndUndoLevel'); + }, + + _insertLink : function(href, target, title, onclick, style_class) { + tinyMCE.execCommand('mceBeginUndoLevel'); + + if (tinyMCE.selectedInstance && tinyMCE.selectedElement && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") { + var doc = tinyMCE.selectedInstance.getDoc(); + var linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a"); + var newLink = false; + + if (!linkElement) { + linkElement = doc.createElement("a"); + newLink = true; + } + + var mhref = href; + var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);"); + mhref = tinyMCE.getParam('convert_urls') ? href : mhref; + + tinyMCE.setAttrib(linkElement, 'href', thref); + tinyMCE.setAttrib(linkElement, 'mce_href', mhref); + tinyMCE.setAttrib(linkElement, 'target', target); + tinyMCE.setAttrib(linkElement, 'title', title); + tinyMCE.setAttrib(linkElement, 'onclick', onclick); + tinyMCE.setAttrib(linkElement, 'class', style_class); + + if (newLink) { + linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true)); + tinyMCE.selectedElement.parentNode.replaceChild(linkElement, tinyMCE.selectedElement); + } + + return; + } + + if (!tinyMCE.linkElement && tinyMCE.selectedInstance) { + if (tinyMCE.isSafari) { + tinyMCE.execCommand("mceInsertContent", false, '' + tinyMCE.selectedInstance.selection.getSelectedHTML() + ''); + } else + tinyMCE.selectedInstance.contentDocument.execCommand("createlink", false, tinyMCE.uniqueURL); + + tinyMCE.linkElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL); + + var elementArray = tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL); + + for (var i=0; i + + {$lang_insert_image_title} + + + + + + + +
          + + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + + +
           
          + x +
          +
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/browse.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/browse.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bullist.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/bullist.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/buttons.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/buttons.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/charmap.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/charmap.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/close.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/close.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/code.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/code.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/color.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/color.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/copy.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/copy.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/cut.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/cut.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/help.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/help.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/hr.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/hr.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/image.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/image.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/indent.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/indent.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/link.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/link.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/numlist.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/numlist.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/opacity.png and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/opacity.png differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/outdent.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/outdent.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/paste.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/paste.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/redo.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/redo.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/separator.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/separator.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/spacer.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/spacer.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/sub.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/sub.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/sup.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/sup.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/undo.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/undo.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/unlink.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/unlink.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/about.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/about.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/about.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/about.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,75 @@ +function init() { + var inst; + + tinyMCEPopup.resizeToInnerSize(); + inst = tinyMCE.selectedInstance; + + // Give FF some time + window.setTimeout('insertHelpIFrame();', 10); + + var tcont = document.getElementById('plugintablecontainer'); + var plugins = tinyMCE.getParam('plugins', '', true, ','); + if (plugins.length == 0) + document.getElementById('plugins_tab').style.display = 'none'; + + var html = ""; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + + for (var i=0; i' + info.longname + ''; + else + html += ''; + + if (info.authorurl != null && info.authorurl != '') + html += ''; + else + html += ''; + + html += ''; + html += ''; + } + + html += ''; + html += '
          ' + tinyMCE.getLang('lang_plugin') + '' + tinyMCE.getLang('lang_author') + '' + tinyMCE.getLang('lang_version') + '
          ' + info.longname + '' + info.author + '' + info.author + '' + info.version + '
          '; + + tcont.innerHTML = html; +} + +function getPluginInfo(name) { + if (tinyMCE.plugins[name].getInfo) + return tinyMCE.plugins[name].getInfo(); + + return { + longname : name, + authorurl : '', + infourl : '', + author : '--', + version : '--' + }; +} + +function insertHelpIFrame() { + var html = ''; + + document.getElementById('iframecontainer').innerHTML = html; + + html = ''; + html += 'Got Moxie? '; + html += 'Hosted By Sourceforge '; + html += 'Also on freshmeat '; + + document.getElementById('buttoncontainer').innerHTML = html; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,74 @@ +var action, element; + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name"); + var img = inst.getFocusElement(); + action = 'insert'; + + if (anchor != null) { + element = anchor; + action = "update"; + } + + if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") { + element = img; + action = "update"; + } + + if (action == "update") + document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name"); + + document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); +} + +function insertAnchor() { + var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); + var name = document.forms[0].anchorName.value, e; + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + + if (action == "update") { + if (element.nodeName == "IMG") + element.setAttribute("title", name); + else + element.setAttribute("name", name); + } else { + var rng = inst.getRng(); + + if (rng.collapse) + rng.collapse(false); + + name = name.replace(/&/g, '&'); + name = name.replace(/\"/g, '"'); + name = name.replace(//g, '>'); + + // Fix for bug #1447335 + if (tinyMCE.isGecko) + html = ''; + else + html = ''; + + tinyMCEPopup.execCommand("mceInsertContent", false, html); + + // Fix for bug #1447335 force cursor after the anchor element + if (tinyMCE.isGecko) { + e = inst.getDoc().getElementById('mceNewAnchor'); + + if (e) { + inst.selection.selectNode(e, true, false, false); + e.removeAttribute('id'); + } + } + + tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); + } + + tinyMCEPopup.execCommand("mceEndUndoLevel"); + + tinyMCE.triggerNodeChange(); + tinyMCEPopup.close(); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,326 @@ +function init() { + tinyMCEPopup.resizeToInnerSize(); +} + +var charmap = new Array(); + +// for mor details please see w3c.org +// now here is the complete list ;) + +charmap = [ + [' ', ' ', true, 'no-break space'], + ['&', '&', true, 'ampersand'], + ['"', '"', true, 'quotation mark'], +// finance + ['¢', '¢', true, 'cent sign'], + ['€', '€', true, 'euro sign'], + ['£', '£', true, 'pound sign'], + ['¥', '¥', true, 'yen sign'], +// signs + ['©', '©', true, 'copyright sign'], + ['®', '®', true, 'registered sign'], + ['™', '™', true, 'trade mark sign'], + ['‰', '‰', true, 'per mille sign'], + ['µ', 'µ', true, 'micro sign'], + ['·', '·', true, 'middle dot'], + ['•', '•', true, 'bullet'], + ['…', '…', true, 'three dot leader'], + ['′', '′', true, 'minutes / feet'], + ['″', '″', true, 'seconds / inches'], + ['§', '§', true, 'section sign'], + ['¶', '¶', true, 'paragraph sign'], + ['ß', 'ß', true, 'sharp s / ess-zed'], +// quotations + ['‹', '‹', true, 'single left-pointing angle quotation mark'], + ['›', '›', true, 'single right-pointing angle quotation mark'], + ['«', '«', true, 'left pointing guillemet'], + ['»', '»', true, 'right pointing guillemet'], + ['‘', '‘', true, 'left single quotation mark'], + ['’', '’', true, 'right single quotation mark'], + ['“', '“', true, 'left double quotation mark'], + ['”', '”', true, 'right double quotation mark'], + ['‚', '‚', true, 'single low-9 quotation mark'], + ['„', '„', true, 'double low-9 quotation mark'], + ['<', '<', true, 'less-than sign'], + ['>', '>', true, 'greater-than sign'], + ['≤', '≤', true, 'less-than or equal to'], + ['≥', '≥', true, 'greater-than or equal to'], + ['–', '–', true, 'en dash'], + ['—', '—', true, 'em dash'], + ['¯', '¯', true, 'macron'], + ['‾', '‾', true, 'overline'], + ['¤', '¤', true, 'currency sign'], + ['¦', '¦', true, 'broken bar'], + ['¨', '¨', true, 'diaeresis'], + ['¡', '¡', true, 'inverted exclamation mark'], + ['¿', '¿', true, 'turned question mark'], + ['ˆ', 'ˆ', true, 'circumflex accent'], + ['˜', '˜', true, 'small tilde'], + ['°', '°', true, 'degree sign'], + ['−', '−', true, 'minus sign'], + ['±', '±', true, 'plus-minus sign'], + ['÷', '÷', true, 'division sign'], + ['⁄', '⁄', true, 'fraction slash'], + ['×', '×', true, 'multiplication sign'], + ['¹', '¹', true, 'superscript one'], + ['²', '²', true, 'superscript two'], + ['³', '³', true, 'superscript three'], + ['¼', '¼', true, 'fraction one quarter'], + ['½', '½', true, 'fraction one half'], + ['¾', '¾', true, 'fraction three quarters'], +// math / logical + ['ƒ', 'ƒ', true, 'function / florin'], + ['∫', '∫', true, 'integral'], + ['∑', '∑', true, 'n-ary sumation'], + ['∞', '∞', true, 'infinity'], + ['√', '√', true, 'square root'], + ['∼', '∼', false,'similar to'], + ['≅', '≅', false,'approximately equal to'], + ['≈', '≈', true, 'almost equal to'], + ['≠', '≠', true, 'not equal to'], + ['≡', '≡', true, 'identical to'], + ['∈', '∈', false,'element of'], + ['∉', '∉', false,'not an element of'], + ['∋', '∋', false,'contains as member'], + ['∏', '∏', true, 'n-ary product'], + ['∧', '∧', false,'logical and'], + ['∨', '∨', false,'logical or'], + ['¬', '¬', true, 'not sign'], + ['∩', '∩', true, 'intersection'], + ['∪', '∪', false,'union'], + ['∂', '∂', true, 'partial differential'], + ['∀', '∀', false,'for all'], + ['∃', '∃', false,'there exists'], + ['∅', '∅', false,'diameter'], + ['∇', '∇', false,'backward difference'], + ['∗', '∗', false,'asterisk operator'], + ['∝', '∝', false,'proportional to'], + ['∠', '∠', false,'angle'], +// undefined + ['´', '´', true, 'acute accent'], + ['¸', '¸', true, 'cedilla'], + ['ª', 'ª', true, 'feminine ordinal indicator'], + ['º', 'º', true, 'masculine ordinal indicator'], + ['†', '†', true, 'dagger'], + ['‡', '‡', true, 'double dagger'], +// alphabetical special chars + ['À', 'À', true, 'A - grave'], + ['Á', 'Á', true, 'A - acute'], + ['Â', 'Â', true, 'A - circumflex'], + ['Ã', 'Ã', true, 'A - tilde'], + ['Ä', 'Ä', true, 'A - diaeresis'], + ['Å', 'Å', true, 'A - ring above'], + ['Æ', 'Æ', true, 'ligature AE'], + ['Ç', 'Ç', true, 'C - cedilla'], + ['È', 'È', true, 'E - grave'], + ['É', 'É', true, 'E - acute'], + ['Ê', 'Ê', true, 'E - circumflex'], + ['Ë', 'Ë', true, 'E - diaeresis'], + ['Ì', 'Ì', true, 'I - grave'], + ['Í', 'Í', true, 'I - acute'], + ['Î', 'Î', true, 'I - circumflex'], + ['Ï', 'Ï', true, 'I - diaeresis'], + ['Ð', 'Ð', true, 'ETH'], + ['Ñ', 'Ñ', true, 'N - tilde'], + ['Ò', 'Ò', true, 'O - grave'], + ['Ó', 'Ó', true, 'O - acute'], + ['Ô', 'Ô', true, 'O - circumflex'], + ['Õ', 'Õ', true, 'O - tilde'], + ['Ö', 'Ö', true, 'O - diaeresis'], + ['Ø', 'Ø', true, 'O - slash'], + ['Œ', 'Œ', true, 'ligature OE'], + ['Š', 'Š', true, 'S - caron'], + ['Ù', 'Ù', true, 'U - grave'], + ['Ú', 'Ú', true, 'U - acute'], + ['Û', 'Û', true, 'U - circumflex'], + ['Ü', 'Ü', true, 'U - diaeresis'], + ['Ý', 'Ý', true, 'Y - acute'], + ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], + ['Þ', 'Þ', true, 'THORN'], + ['à', 'à', true, 'a - grave'], + ['á', 'á', true, 'a - acute'], + ['â', 'â', true, 'a - circumflex'], + ['ã', 'ã', true, 'a - tilde'], + ['ä', 'ä', true, 'a - diaeresis'], + ['å', 'å', true, 'a - ring above'], + ['æ', 'æ', true, 'ligature ae'], + ['ç', 'ç', true, 'c - cedilla'], + ['è', 'è', true, 'e - grave'], + ['é', 'é', true, 'e - acute'], + ['ê', 'ê', true, 'e - circumflex'], + ['ë', 'ë', true, 'e - diaeresis'], + ['ì', 'ì', true, 'i - grave'], + ['í', 'í', true, 'i - acute'], + ['î', 'î', true, 'i - circumflex'], + ['ï', 'ï', true, 'i - diaeresis'], + ['ð', 'ð', true, 'eth'], + ['ñ', 'ñ', true, 'n - tilde'], + ['ò', 'ò', true, 'o - grave'], + ['ó', 'ó', true, 'o - acute'], + ['ô', 'ô', true, 'o - circumflex'], + ['õ', 'õ', true, 'o - tilde'], + ['ö', 'ö', true, 'o - diaeresis'], + ['ø', 'ø', true, 'o slash'], + ['œ', 'œ', true, 'ligature oe'], + ['š', 'š', true, 's - caron'], + ['ù', 'ù', true, 'u - grave'], + ['ú', 'ú', true, 'u - acute'], + ['û', 'û', true, 'u - circumflex'], + ['ü', 'ü', true, 'u - diaeresis'], + ['ý', 'ý', true, 'y - acute'], + ['þ', 'þ', true, 'thorn'], + ['ÿ', 'ÿ', true, 'y - diaeresis'], + ['Α', 'Α', true, 'Alpha'], + ['Β', 'Β', true, 'Beta'], + ['Γ', 'Γ', true, 'Gamma'], + ['Δ', 'Δ', true, 'Delta'], + ['Ε', 'Ε', true, 'Epsilon'], + ['Ζ', 'Ζ', true, 'Zeta'], + ['Η', 'Η', true, 'Eta'], + ['Θ', 'Θ', true, 'Theta'], + ['Ι', 'Ι', true, 'Iota'], + ['Κ', 'Κ', true, 'Kappa'], + ['Λ', 'Λ', true, 'Lambda'], + ['Μ', 'Μ', true, 'Mu'], + ['Ν', 'Ν', true, 'Nu'], + ['Ξ', 'Ξ', true, 'Xi'], + ['Ο', 'Ο', true, 'Omicron'], + ['Π', 'Π', true, 'Pi'], + ['Ρ', 'Ρ', true, 'Rho'], + ['Σ', 'Σ', true, 'Sigma'], + ['Τ', 'Τ', true, 'Tau'], + ['Υ', 'Υ', true, 'Upsilon'], + ['Φ', 'Φ', true, 'Phi'], + ['Χ', 'Χ', true, 'Chi'], + ['Ψ', 'Ψ', true, 'Psi'], + ['Ω', 'Ω', true, 'Omega'], + ['α', 'α', true, 'alpha'], + ['β', 'β', true, 'beta'], + ['γ', 'γ', true, 'gamma'], + ['δ', 'δ', true, 'delta'], + ['ε', 'ε', true, 'epsilon'], + ['ζ', 'ζ', true, 'zeta'], + ['η', 'η', true, 'eta'], + ['θ', 'θ', true, 'theta'], + ['ι', 'ι', true, 'iota'], + ['κ', 'κ', true, 'kappa'], + ['λ', 'λ', true, 'lambda'], + ['μ', 'μ', true, 'mu'], + ['ν', 'ν', true, 'nu'], + ['ξ', 'ξ', true, 'xi'], + ['ο', 'ο', true, 'omicron'], + ['π', 'π', true, 'pi'], + ['ρ', 'ρ', true, 'rho'], + ['ς', 'ς', true, 'final sigma'], + ['σ', 'σ', true, 'sigma'], + ['τ', 'τ', true, 'tau'], + ['υ', 'υ', true, 'upsilon'], + ['φ', 'φ', true, 'phi'], + ['χ', 'χ', true, 'chi'], + ['ψ', 'ψ', true, 'psi'], + ['ω', 'ω', true, 'omega'], +// symbols + ['ℵ', 'ℵ', false,'alef symbol'], + ['ϖ', 'ϖ', false,'pi symbol'], + ['ℜ', 'ℜ', false,'real part symbol'], + ['ϑ','ϑ', false,'theta symbol'], + ['ϒ', 'ϒ', false,'upsilon - hook symbol'], + ['℘', '℘', false,'Weierstrass p'], + ['ℑ', 'ℑ', false,'imaginary part'], +// arrows + ['←', '←', true, 'leftwards arrow'], + ['↑', '↑', true, 'upwards arrow'], + ['→', '→', true, 'rightwards arrow'], + ['↓', '↓', true, 'downwards arrow'], + ['↔', '↔', true, 'left right arrow'], + ['↵', '↵', false,'carriage return'], + ['⇐', '⇐', false,'leftwards double arrow'], + ['⇑', '⇑', false,'upwards double arrow'], + ['⇒', '⇒', false,'rightwards double arrow'], + ['⇓', '⇓', false,'downwards double arrow'], + ['⇔', '⇔', false,'left right double arrow'], + ['∴', '∴', false,'therefore'], + ['⊂', '⊂', false,'subset of'], + ['⊃', '⊃', false,'superset of'], + ['⊄', '⊄', false,'not a subset of'], + ['⊆', '⊆', false,'subset of or equal to'], + ['⊇', '⊇', false,'superset of or equal to'], + ['⊕', '⊕', false,'circled plus'], + ['⊗', '⊗', false,'circled times'], + ['⊥', '⊥', false,'perpendicular'], + ['⋅', '⋅', false,'dot operator'], + ['⌈', '⌈', false,'left ceiling'], + ['⌉', '⌉', false,'right ceiling'], + ['⌊', '⌊', false,'left floor'], + ['⌋', '⌋', false,'right floor'], + ['⟨', '〈', false,'left-pointing angle bracket'], + ['⟩', '〉', false,'right-pointing angle bracket'], + ['◊', '◊', true,'lozenge'], + ['♠', '♠', false,'black spade suit'], + ['♣', '♣', true, 'black club suit'], + ['♥', '♥', true, 'black heart suit'], + ['♦', '♦', true, 'black diamond suit'], + [' ', ' ', false,'en space'], + [' ', ' ', false,'em space'], + [' ', ' ', false,'thin space'], + ['‌', '‌', false,'zero width non-joiner'], + ['‍', '‍', false,'zero width joiner'], + ['‎', '‎', false,'left-to-right mark'], + ['‏', '‏', false,'right-to-left mark'], + ['­', '­', false,'soft hyphen'] +]; + +function renderCharMapHTML() { + var charsPerRow = 20, tdWidth=20, tdHeight=20; + var html = ''; + var cols=-1; + for (var i=0; i' + + charmap[i][1] + + ''; + if ((cols+1) % charsPerRow == 0) + html += ''; + } + } + if (cols % charsPerRow > 0) { + var padd = charsPerRow - (cols % charsPerRow); + for (var i=0; i '; + } + html += '
          '; + document.write(html); +} + +function insertChar(chr) { + tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); + + // Refocus in window + if (tinyMCEPopup.isWindow) + window.focus(); + + tinyMCEPopup.close(); +} + +function previewChar(codeA, codeB, codeN) { + var elmA = document.getElementById('codeA'); + var elmB = document.getElementById('codeB'); + var elmV = document.getElementById('codeV'); + var elmN = document.getElementById('codeN'); + + if (codeA=='#160;') { + elmV.innerHTML = '__'; + } else { + elmV.innerHTML = '&' + codeA; + } + + elmB.innerHTML = '&' + codeA; + elmA.innerHTML = '&' + codeB; + elmN.innerHTML = codeN; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,108 @@ +function init() { + if (tinyMCE.isMSIE) + tinyMCEPopup.resizeToInnerSize(); +} + +function selectColor() { + var color = document.getElementById("selectedColorBox").value; + + tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color); + tinyMCEPopup.close(); +} + +function showColor(color) { + document.getElementById("selectedColor").style.backgroundColor = color; + document.getElementById("selectedColorBox").value = color; +} + +var colors = new Array( + "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", + "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099", + "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff", + "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033", + "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399", + "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff", + "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333", + "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399", + "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff", + "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633", + "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699", + "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff", + "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633", + "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999", + "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff", + "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933", + "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999", + "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff", + "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33", + "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99", + "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff", + "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33", + "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99", + "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff", + "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33", + "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99", + "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff" +); + +function convertRGBToHex(col) { + var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); + + var rgb = col.replace(re, "$1,$2,$3").split(','); + if (rgb.length == 3) { + r = parseInt(rgb[0]).toString(16); + g = parseInt(rgb[1]).toString(16); + b = parseInt(rgb[2]).toString(16); + + r = r.length == 1 ? '0' + r : r; + g = g.length == 1 ? '0' + g : g; + b = b.length == 1 ? '0' + b : b; + + return "#" + r + g + b; + } + + return col; +} + +function convertHexToRGB(col) { + if (col.indexOf('#') != -1) { + col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); + + r = parseInt(col.substring(0, 2), 16); + g = parseInt(col.substring(2, 4), 16); + b = parseInt(col.substring(4, 6), 16); + + return "rgb(" + r + "," + g + "," + b + ")"; + } + + return col; +} + +function renderColorMap() { + var html = ""; + var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color')); + + html += '' + + ''; + for (var i=0; i' + + '' + + '' + colors[i] +  ''; + if ((i+1) % 18 == 0) + html += ''; + } + html += '' + + '
          ' + + '' + + '' + + '
          ' + + '' + + '' + + '' + + '
          ' + + '
          ' + + '
          ' + + '
          '; + + document.write(html); +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/image.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/image.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/image.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/image.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,81 @@ +var url = tinyMCE.getParam("external_image_list_url"); +if (url != null) { + // Fix relative + if (url.charAt(0) != '/' && url.indexOf('://') == -1) + url = tinyMCE.documentBasePath + "/" + url; + + document.write(''); +} + +function insertImage() { + var src = document.forms[0].src.value; + var alt = document.forms[0].alt.value; + var border = document.forms[0].border.value; + var vspace = document.forms[0].vspace.value; + var hspace = document.forms[0].hspace.value; + var width = document.forms[0].width.value; + var height = document.forms[0].height.value; + var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value; + + tinyMCEPopup.restoreSelection(); + tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align); + tinyMCEPopup.close(); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + + var formObj = document.forms[0]; + + for (var i=0; i 0) { + for (var i=0; i \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/link.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/link.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/link.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/link.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,70 @@ +var url = tinyMCE.getParam("external_link_list_url"); +if (url != null) { + // Fix relative + if (url.charAt(0) != '/' && url.indexOf('://') == -1) + url = tinyMCE.documentBasePath + "/" + url; + + document.write(''); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link'); + + // Handle file browser + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '180px'; + + var formObj = document.forms[0]; + + for (var i=0; i 0) { + var formObj = document.forms[0]; + + for (var i=0; i', 'gi'),'\n'); + html = tinyMCE.regexpReplace(html, '
          ','
          \n','gi'); + html = tinyMCE.regexpReplace(html, '\n\n','\n','gi');*/ + return html; +} + +function onLoadInit() { + tinyMCEPopup.resizeToInnerSize(); + + document.forms[0].htmlSource.value = fixContent(tinyMCE.getContent(tinyMCE.getWindowArg('editor_id'))); + resizeInputs(); + + if (tinyMCE.getParam("theme_advanced_source_editor_wrap", true)) { + setWrap('soft'); + document.forms[0].wraped.checked = true; + } +} + +function setWrap(val) { + var s = document.forms[0].htmlSource; + + s.wrap = val; + + if (tinyMCE.isGecko) { + var v = s.value; + var n = s.cloneNode(false); + n.setAttribute("wrap", val); + s.parentNode.replaceChild(n, s); + n.value = v; + } +} + +function toggleWordWrap(elm) { + if (elm.checked) + setWrap('soft'); + else + setWrap('off'); +} + +var wHeight=0, wWidth=0, owHeight=0, owWidth=0; + +function resizeInputs() { + if (!tinyMCE.isMSIE) { + wHeight = self.innerHeight-80; + wWidth = self.innerWidth-16; + } else { + wHeight = document.body.clientHeight - 80; + wWidth = document.body.clientWidth - 16; + } + + document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px'; + document.forms[0].htmlSource.style.width = Math.abs(wWidth) + 'px'; +} + +function renderWordWrap() { + if (tinyMCE.isMSIE || tinyMCE.isGecko) + document.write(''); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/langs/en.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/langs/en.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/langs/en.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/langs/en.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,81 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +theme_style_select : '-- Styles --', +theme_code_desc : 'Edit HTML Source', +theme_code_title : 'HTML Source Editor', +theme_code_wordwrap : 'Word wrap', +theme_sub_desc : 'Subscript', +theme_sup_desc : 'Superscript', +theme_hr_desc : 'Insert horizontal ruler', +theme_removeformat_desc : 'Remove formatting', +theme_custom1_desc : 'Your custom description here', +insert_image_border : 'Border', +insert_image_dimensions : 'Dimensions', +insert_image_vspace : 'Vertical space', +insert_image_hspace : 'Horizontal space', +insert_image_align : 'Alignment', +insert_image_align_default : '-- Not set --', +insert_image_align_baseline : 'Baseline', +insert_image_align_top : 'Top', +insert_image_align_middle : 'Middle', +insert_image_align_bottom : 'Bottom', +insert_image_align_texttop : 'TextTop', +insert_image_align_absmiddle : 'Absolute Middle', +insert_image_align_absbottom : 'Absolute Bottom', +insert_image_align_left : 'Left', +insert_image_align_right : 'Right', +theme_font_size : '-- Font size --', +theme_fontdefault : '-- Font family --', +theme_block : '-- Format --', +theme_paragraph : 'Paragraph', +theme_div : 'Div', +theme_address : 'Address', +theme_pre : 'Preformatted', +theme_h1 : 'Heading 1', +theme_h2 : 'Heading 2', +theme_h3 : 'Heading 3', +theme_h4 : 'Heading 4', +theme_h5 : 'Heading 5', +theme_h6 : 'Heading 6', +theme_blockquote : 'Blockquote', +theme_code : 'Code', +theme_samp : 'Code sample', +theme_dt : 'Definition term ', +theme_dd : 'Definition description', +theme_colorpicker_title : 'Select a color', +theme_colorpicker_apply : 'Apply', +theme_forecolor_desc : 'Select text color', +theme_backcolor_desc : 'Select background color', +theme_charmap_title : 'Select custom character', +theme_charmap_desc : 'Insert custom character', +theme_visualaid_desc : 'Toggle guidelines/invisible elements', +insert_anchor_title : 'Insert/edit anchor', +insert_anchor_name : 'Anchor name', +theme_anchor_desc : 'Insert/edit anchor', +theme_insert_link_titlefield : 'Title', +theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?', +theme_path : 'Path', +cut_desc : 'Cut', +copy_desc : 'Copy', +paste_desc : 'Paste', +link_list : 'Link list', +image_list : 'Image list', +browse : 'Browse', +image_props_desc : 'Image properties', +newdocument_desc : 'New document', +class_name : 'Class', +newdocument : 'Are you sure you want clear all contents?', +about_title : 'About TinyMCE', +about : 'About', +license : 'License', +plugins : 'Plugins', +plugin : 'Plugin', +author : 'Author', +version : 'Version', +loaded_plugins : 'Loaded plugins', +help : 'Help', +not_set : '-- Not set --', +close : 'Close', +toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X' +}); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/langs/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/langs/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/langs/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/langs/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/link.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/link.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/link.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/link.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,100 @@ + + + {$lang_insert_link_title} + + + + + + + +
          + + +
          +
          + + + + + + + + + + + + + + + + + + + + + +
          + + + + +
           
          +
          +
          +
          + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/source_editor.htm 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/source_editor.htm --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/source_editor.htm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/advanced/source_editor.htm 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,30 @@ + + + + {$lang_theme_code_title} + + + + + +
          +
          {$lang_theme_code_title}
          + +
          + +
          + + + +
          +
          + +
          + +
          + +
          +
          +
          + + diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_content.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_content.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_content.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_content.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,25 @@ +body, td, pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +body { + background-color: #FFFFFF; +} + +.mceVisualAid { + border: 1px dashed #BBBBBB; +} + +/* MSIE specific */ + +* html body { + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_popup.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_popup.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_popup.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_popup.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,41 @@ +body { + background-color: #F0F0EE; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} + +td { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 11px; +} + +input { + background: #FFFFFF; + border: 1px solid #cccccc; +} + +td, input, select, textarea { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +input, select, textarea { + border: 1px solid #808080; +} + +.input_noborder { + border: 0; +} + +.title { + font-size: 12px; + font-weight: bold; +} \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_ui.css 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_ui.css --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_ui.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/editor_ui.css 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,125 @@ +.mceSeparatorLine { + border: 0; + padding: 0; + margin-left: 4px; + margin-right: 2px; +} + +.mceSelectList { + font-family: "MS Sans Serif"; + font-size: 7pt; + font-weight: normal; + margin-top: 2px; +} + +.mceLabel, .mceLabelDisabled { + font-family: "MS Sans Serif"; + font-size: 9pt; +} + +.mceLabel { + color: #000000; +} + +.mceLabelDisabled { + cursor: text; + color: #999999; +} + +.mceEditor { + background: #F0F0EE; + border: 1px solid #cccccc; +} + +.mceEditorArea { + font-family: "MS Sans Serif"; + background: #FFFFFF; +} + +.mceToolbar { + background: #F0F0EE; + border-top: 1px solid #cccccc; + line-height: 1px; + font-size: 1px; + padding-bottom: 1px; +} + +.mceEditorIframe { + border: 0; +} + +/* Button CSS rules */ + +a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img { + width: 20px; + height: 20px; + cursor: default; + margin-top: 1px; + margin-left: 1px; +} + +a.mceButtonDisabled img { + border: 0 !important; +} + +a.mceButtonNormal img, a.mceButtonSelected img { + border: 1px solid #F0F0EE !important; +} + +a.mceButtonSelected img { + border: 1px solid #C0C0BB !important; +} + +a.mceButtonNormal img:hover, a.mceButtonSelected img:hover { + border: 1px solid #0A246A !important; + cursor: default; + background-color: #B6BDD2; +} + +a.mceButtonDisabled img { + -moz-opacity:0.3; + opacity: 0.3; + border: 1px solid #F0F0EE !important; + cursor: default; +} + +a.mceTiledButton img { + background-image: url('../images/buttons.gif'); + background-repeat: no-repeat; +} + +/* MSIE specific rules */ + +* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img { + border: 0px !important; + margin-top: 2px; + margin-bottom: 1px; +} + +* html a.mceButtonDisabled img { + filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); + border: 0px !important; +} + +* html a.mceButtonDisabled { + border: 1px solid #F0F0EE !important; +} + +* html a.mceButtonNormal, * html a.mceButtonSelected { + border: 1px solid #F0F0EE; + cursor: default; +} + +* html a.mceButtonSelected { + border: 1px solid #C0C0BB; +} + +* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover { + border: 1px solid #0A246A; + cursor: default; + background-color: #B6BDD2; +} + +* html .mceSelectList { + margin-top: 2px; +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/css/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/editor_template.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/editor_template.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/editor_template.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/editor_template.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,4 @@ +var TinyMCE_SimpleTheme={_buttonMap:'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',getEditorTemplate:function(){var html='';html+='';html+='';html+='
          ';html+='IFRAME';html+='
          ';html+=tinyMCE.getButtonHTML('bold','lang_bold_desc','{$themeurl}/images/{$lang_bold_img}','Bold');html+=tinyMCE.getButtonHTML('italic','lang_italic_desc','{$themeurl}/images/{$lang_italic_img}','Italic');html+=tinyMCE.getButtonHTML('underline','lang_underline_desc','{$themeurl}/images/{$lang_underline_img}','Underline');html+=tinyMCE.getButtonHTML('strikethrough','lang_striketrough_desc','{$themeurl}/images/strikethrough.gif','Strikethrough');html+='';html+=tinyMCE.getButtonHTML('undo','lang_undo_desc','{$themeurl}/images/undo.gif','Undo');html+=tinyMCE.getButtonHTML('redo','lang_redo_desc','{$themeurl}/images/redo.gif','Redo');html+='';html+=tinyMCE.getButtonHTML('cleanup','lang_cleanup_desc','{$themeurl}/images/cleanup.gif','mceCleanup') +html+='';html+=tinyMCE.getButtonHTML('bullist','lang_bullist_desc','{$themeurl}/images/bullist.gif','InsertUnorderedList') +html+=tinyMCE.getButtonHTML('numlist','lang_numlist_desc','{$themeurl}/images/numlist.gif','InsertOrderedList') +html+='
          ';return{delta_width:0,delta_height:20,html:html};},handleNodeChange:function(editor_id,node){tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');do{switch(node.nodeName.toLowerCase()){case"b":case"strong":tinyMCE.switchClass(editor_id+'_bold','mceButtonSelected');break;case"i":case"em":tinyMCE.switchClass(editor_id+'_italic','mceButtonSelected');break;case"u":tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected');break;case"strike":tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonSelected');break;case"ul":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"ol":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break;}}while((node=node.parentNode)!=null);}};tinyMCE.addTheme("simple",TinyMCE_SimpleTheme);tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap); \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/editor_template_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/editor_template_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/editor_template_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/editor_template_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,86 @@ +/** + * $RCSfile: editor_template_src.js,v $ + * $Revision: 1.9 $ + * $Date: 2006/04/18 13:32:53 $ + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +var TinyMCE_SimpleTheme = { + // List of button ids in tile map + _buttonMap : 'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo', + + getEditorTemplate : function() { + var html = ''; + + html += ''; + html += ''; + html += '
          '; + html += 'IFRAME'; + html += '
          '; + html += tinyMCE.getButtonHTML('bold', 'lang_bold_desc', '{$themeurl}/images/{$lang_bold_img}', 'Bold'); + html += tinyMCE.getButtonHTML('italic', 'lang_italic_desc', '{$themeurl}/images/{$lang_italic_img}', 'Italic'); + html += tinyMCE.getButtonHTML('underline', 'lang_underline_desc', '{$themeurl}/images/{$lang_underline_img}', 'Underline'); + html += tinyMCE.getButtonHTML('strikethrough', 'lang_striketrough_desc', '{$themeurl}/images/strikethrough.gif', 'Strikethrough'); + html += ''; + html += tinyMCE.getButtonHTML('undo', 'lang_undo_desc', '{$themeurl}/images/undo.gif', 'Undo'); + html += tinyMCE.getButtonHTML('redo', 'lang_redo_desc', '{$themeurl}/images/redo.gif', 'Redo'); + html += ''; + html += tinyMCE.getButtonHTML('cleanup', 'lang_cleanup_desc', '{$themeurl}/images/cleanup.gif', 'mceCleanup') + html += ''; + html += tinyMCE.getButtonHTML('bullist', 'lang_bullist_desc', '{$themeurl}/images/bullist.gif', 'InsertUnorderedList') + html += tinyMCE.getButtonHTML('numlist', 'lang_numlist_desc', '{$themeurl}/images/numlist.gif', 'InsertOrderedList') + html += '
          '; + + return { + delta_width : 0, + delta_height : 20, + html : html + }; + }, + + handleNodeChange : function(editor_id, node) { + // Reset old states + tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal'); + tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal'); + + // Handle elements + do { + switch (node.nodeName.toLowerCase()) { + case "b": + case "strong": + tinyMCE.switchClass(editor_id + '_bold', 'mceButtonSelected'); + break; + + case "i": + case "em": + tinyMCE.switchClass(editor_id + '_italic', 'mceButtonSelected'); + break; + + case "u": + tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected'); + break; + + case "strike": + tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonSelected'); + break; + + case "ul": + tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected'); + break; + + case "ol": + tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected'); + break; + } + } while ((node = node.parentNode) != null); + } +}; + +tinyMCE.addTheme("simple", TinyMCE_SimpleTheme); +tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap); Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bullist.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/bullist.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/buttons.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/buttons.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/cleanup.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/cleanup.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/italic.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/italic.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/numlist.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/numlist.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/redo.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/redo.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/separator.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/separator.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/spacer.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/spacer.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/underline.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/underline.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif differ Binary files 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/undo.gif and 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/images/undo.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/index.html 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/index.html --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/themes/simple/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ +function TinyMCE_Engine(){this.majorVersion="2";this.minorVersion="0.6.1";this.releaseDate="2006-05-04";this.instances=new Array();this.switchClassCache=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.pendingFiles=new Array();this.loadingIndex=0;this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();var ua=navigator.userAgent;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(ua.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(ua.indexOf('MSIE 5.0')!=-1);this.isGecko=ua.indexOf('Gecko')!=-1;this.isSafari=ua.indexOf('Safari')!=-1;this.isOpera=ua.indexOf('Opera')!=-1;this.isMac=ua.indexOf('Mac')!=-1;this.isNS7=ua.indexOf('Netscape/7')!=-1;this.isNS71=ua.indexOf('Netscape/7.1')!=-1;this.dialogCounter=0;this.plugins=new Array();this.themes=new Array();this.menus=new Array();this.loadedPlugins=new Array();this.buttonMap=new Array();this.isLoaded=false;if(this.isOpera){this.isMSIE=true;this.isGecko=false;this.isSafari=false;}this.idCounter=0;};TinyMCE_Engine.prototype={init:function(settings){var theme;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');for(var i=0;i');this._def("font_size_classes",'');this._def("font_size_style_values",'xx-small,x-small,small,medium,large,x-large,xx-large',true);this._def("event_elements",'a,img',true);this._def("convert_urls",true);this._def("table_inline_editing",false);this._def("object_resizing",true);this._def("custom_shortcuts",true);this._def("convert_on_click",false);this._def("content_css",'');this._def("fix_list_elements",false);this._def("fix_table_elements",false);this._def("strict_loading_mode",document.contentType=='application/xhtml+xml');this._def("hidden_tab_class",'');this._def("display_tab_class",'');if(this.isMSIE&&!this.isOpera)this.settings.strict_loading_mode=false;if(this.isMSIE&&this.settings['browsers'].indexOf('msie')==-1)return;if(this.isGecko&&this.settings['browsers'].indexOf('gecko')==-1)return;if(this.isSafari&&this.settings['browsers'].indexOf('safari')==-1)return;if(this.isOpera&&this.settings['browsers'].indexOf('opera')==-1)return;var baseHREF=tinyMCE.settings['document_base_url'];var h=document.location.href;var p=h.indexOf('://');if(p>0&&document.location.protocol!="file:"){p=h.indexOf('/',p+3);h=h.substring(0,p);if(baseHREF.indexOf('://')==-1)baseHREF=h+baseHREF;tinyMCE.settings['document_base_url']=baseHREF;tinyMCE.settings['document_base_prefix']=h;}if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.blockRegExp=new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dt|dd|dir|fieldset|form|noscript|noframes|menu|isindex|samp)$","i");this.posKeyCodes=new Array(13,45,36,35,33,34,37,38,39,40);this.uniqueURL='javascript:TINYMCE_UNIQUEURL();';this.uniqueTag='';this.callbacks=new Array('onInit','getInfo','getEditorTemplate','setupContent','onChange','onPageLoad','handleNodeChange','initInstance','execCommand','getControlHTML','handleEvent','cleanup');this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isMSIE)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath;}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath;}else this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css";if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg);}if(this.configs.length==0){if(this.isSafari&&this.getParam('safari_warning',false))alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false");if(typeof(TinyMCECompressed)=="undefined"){tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);if(tinyMCE.isMSIE&&!tinyMCE.isOpera){if(document.body)tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);else tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad);}tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);tinyMCE._addUnloadEvents();}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(var i=0;i');this.loadedFiles[this.loadedFiles.length]=url;},loadNextScript:function(){var d=document,se;if(!tinyMCE.settings.strict_loading_mode)return;if(this.loadingIndex0){for(i=0,lflen=this.loadedFiles.length;i');this.loadedFiles[this.loadedFiles.length]=ar[x];}}}},importCSS:function(doc,css){var css_ary=css.replace(/\s+/,'').split(',');var csslen,elm,headArr,x,css_file;for(x=0,csslen=css_ary.length;x0){if(css_file.indexOf('://')==-1&&css_file.charAt(0)!='/')css_file=this.documentBasePath+"/"+css_file;if(typeof(doc.createStyleSheet)=="undefined"){elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0)headArr[0].appendChild(elm);}else doc.createStyleSheet(css_file);}}},confirmAdd:function(e,settings){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(tinyMCE.settings['convert_on_click']||(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm'])))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true');},updateContent:function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isMSIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid);}}},addMCEControl:function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCE_Control(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst._onAdd(replace_element,form_element_name,target_document);},removeMCEControl:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id);if(inst){inst.switchSettings();editor_id=inst.editorId;var html=tinyMCE.getContent(editor_id);var tmpInstances=new Array();for(var instanceName in tinyMCE.instances){var instance=tinyMCE.instances[instanceName];if(!tinyMCE.isInstance(instance))continue;if(instanceName!=editor_id)tmpInstances[instanceName]=instance;}tinyMCE.instances=tmpInstances;tinyMCE.selectedElement=null;tinyMCE.selectedInstance=null;var replaceElement=document.getElementById(editor_id+"_parent");var oldTargetElement=inst.oldTargetElement;var targetName=oldTargetElement.nodeName.toLowerCase();if(targetName=="textarea"||targetName=="input"){replaceElement.parentNode.removeChild(replaceElement);oldTargetElement.style.display="inline";oldTargetElement.value=html;}else{oldTargetElement.innerHTML=html;oldTargetElement.style.display='block';replaceElement.parentNode.insertBefore(oldTargetElement,replaceElement);replaceElement.parentNode.removeChild(replaceElement);}}},triggerSave:function(skip_cleanup,skip_callback){var inst,n;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.triggerSave(skip_cleanup,skip_callback);}},resetForm:function(form_index){var i,inst,n,formObj=document.forms[form_index];for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();for(i=0;i');content=content.replace(/"/g,'"');content=content.replace(/&/g,'&');}inst.switchSettings();if(!tinyMCE.isMSIE&&tinyMCE.getParam("setupcontent_reload",false)&&doc.title!="blank_page"){try{doc.location.href=tinyMCE.baseURL+"/blank.htm";}catch(ex){}window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return;}if(!head){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return;}tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/themes/"+inst.settings['theme']+"/css/editor_content.css");tinyMCE.importCSS(inst.getDoc(),inst.settings['content_css']);tinyMCE.dispatchCallback(inst,'init_instance_callback','initInstance',inst);if(tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')){inst.addShortcut('ctrl','z','lang_undo_desc','Undo');inst.addShortcut('ctrl','y','lang_redo_desc','Redo');}if(tinyMCE.isGecko){inst.addShortcut('ctrl','b','lang_bold_desc','Bold');inst.addShortcut('ctrl','i','lang_italic_desc','Italic');inst.addShortcut('ctrl','u','lang_underline_desc','Underline');}if(tinyMCE.getParam("convert_fonts_to_spans"))inst.getDoc().body.setAttribute('id','mceSpanFonts');if(tinyMCE.settings['nowrap'])doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings['directionality'];doc.editorId=editor_id;if(!tinyMCE.isMSIE)doc.documentElement.editorId=editor_id;inst.setBaseHREF(tinyMCE.settings['base_href']);if(tinyMCE.settings['convert_newlines_to_brs']){content=tinyMCE.regexpReplace(content,"\r\n","
          ","gi");content=tinyMCE.regexpReplace(content,"\r","
          ","gi");content=tinyMCE.regexpReplace(content,"\n","
          ","gi");}content=tinyMCE.storeAwayURLs(content);content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isMSIE){window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["'+editor_id+'"].getDoc(), "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])doc.styleSheets[0].addRule("p","margin: 0;");var body=inst.getBody();body.editorId=editor_id;}content=tinyMCE.cleanupHTMLCode(content);if(!tinyMCE.isMSIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.isGecko&&tinyMCE.settings['remove_lt_gt'])content=content.replace(new RegExp('<>','g'),"");if(tinyMCE.settings['cleanup_on_startup'])tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement));else{content=tinyMCE.regexpReplace(content,"","","gi");content=tinyMCE.regexpReplace(content,"","
          ","gi");content=tinyMCE.regexpReplace(content,"","","gi");tinyMCE.setInnerHTML(inst.getBody(),content);}tinyMCE.convertAllRelativeURLs(inst.getBody());}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}');}else tinyMCE._setHTML(inst.getDoc(),content);}var parentElm=inst.targetDoc.getElementById(inst.editorId+'_parent');inst.formElement=tinyMCE.isGecko?parentElm.previousSibling:parentElm.nextSibling;tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual'],inst);tinyMCE.dispatchCallback(inst,'setupcontent_callback','setupContent',editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isMSIE)tinyMCE.addEventHandlers(inst);if(tinyMCE.isMSIE){tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(inst.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);if(!tinyMCE.isOpera){tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch);}}tinyMCE.selectedInstance=inst;tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),false);tinyMCE.cleanupAnchors(inst.getDoc());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoRedo.add({content:inst.startContent});if(tinyMCE.isGecko){tinyMCE.selectNodes(inst.getBody(),function(n){if(n.nodeType==3||n.nodeType==8){n.nodeValue=n.nodeValue.replace(new RegExp('\\smce_src=\"[^\"]*\"','gi'),"");n.nodeValue=n.nodeValue.replace(new RegExp('\\smce_href=\"[^\"]*\"','gi'),"");}return false;});}tinyMCE._removeInternal(inst.getBody());tinyMCE.selectedInstance=inst;tinyMCE.triggerNodeChange(false,true);},storeAwayURLs:function(s){if(!s.match(/(mce_src|mce_href)/gi,s)){s=s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" mce_src="$1"');s=s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" mce_href="$1"');}return s;},_removeInternal:function(n){if(tinyMCE.isGecko){tinyMCE.selectNodes(n,function(n){if(n.nodeType==3||n.nodeType==8){n.nodeValue=n.nodeValue.replace(new RegExp('\\smce_src=\"[^\"]*\"','gi'),"");n.nodeValue=n.nodeValue.replace(new RegExp('\\smce_href=\"[^\"]*\"','gi'),"");}return false;});}},removeTinyMCEFormElements:function(form_obj){if(typeof(form_obj)=="undefined"||form_obj==null)return;if(form_obj.nodeName!="FORM"){if(form_obj.form)form_obj=form_obj.form;else form_obj=tinyMCE.getParentElement(form_obj,"form");}if(form_obj==null)return;for(var i=0;i");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false;}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false);}return false;break;case"keyup":case"keydown":tinyMCE.hideMenus();tinyMCE.hasMouseMoved=false;if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId)tinyMCE.selectedInstance=tinyMCE.instances[e.target.editorId];else return;if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false;}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);if(tinyMCE.isMSIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isMSIE&&e.type=="keyup"&&e.keyCode==13){var elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="  ";else elm.innerHTML=" ";}}}var keys=tinyMCE.posKeyCodes;var posKey=false;for(var i=0;i';h+='';h+='';}else{h+='';h+='';h+='';}return h;},addButtonMap:function(m){var i,a=m.replace(/\s+/,'').split(',');for(i=0;i0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoRedo.undoIndex;undoLevels=inst.undoRedo.undoLevels.length;}tinyMCE.dispatchCallback(inst,'handle_node_change_callback','handleNodeChange',editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,setup_content);}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus();},_customCleanup:function(inst,type,content){var pl,po,i;var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content, inst);");pl=inst.plugins;for(i=0;i0){for(i=ar.length-1;i>=0;i--){s=ar[i].substring(2,ar[i].length-1);if(s.indexOf('lang_')==0&&tinyMCELang[s])h=tinyMCE.replaceVar(h,s,tinyMCELang[s]);else if(as&&as[s])h=tinyMCE.replaceVar(h,s,as[s]);else if(tinyMCE.settings[s])h=tinyMCE.replaceVar(h,s,tinyMCE.settings[s]);}}h=tinyMCE.replaceVar(h,"themeurl",tinyMCE.themeURL);return h;},replaceVar:function(h,r,v){return h.replace(new RegExp('{\\\$'+r+'}','g'),v);},openWindow:function(template,args){var html,width,height,x,y,resizable,scrollbars,url;args['mce_template_file']=template['file'];args['mce_width']=template['width'];args['mce_height']=template['height'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(tinyMCE.isMSIE)height+=40;else height+=20;x=parseInt(screen.width/2.0)-(width/2.0);y=parseInt(screen.height/2.0)-(height/2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]));}if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return;}win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus();}else{if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&resizable!='yes'&&tinyMCE.settings["dialog_type"]=="modal"){height+=10;var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features);}else{var modal=(resizable=="yes")?"no":"yes";if(tinyMCE.isGecko&&tinyMCE.isMac)modal="no";if(template['close_previous']!="no")try{tinyMCE.lastWindow.close();}catch(ex){}var win=window.open(url,"mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog="+modal+",minimizable="+resizable+",modal="+modal+",width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return;}if(template['close_previous']!="no")tinyMCE.lastWindow=win;eval('try { win.resizeTo(width, height); } catch(e) { }');if(tinyMCE.isGecko){if(win.document.defaultView.statusbar.visible)win.resizeBy(0,tinyMCE.isMac?10:24);}win.focus();}}},closeWindow:function(win){win.close();},getVisualAidClass:function(class_name,state){var aidClass=tinyMCE.settings['visual_table_class'];if(typeof(state)=="undefined")state=tinyMCE.settings['visual'];var classNames=new Array();var ar=class_name.split(' ');for(var i=0;i0)className+=" ";className+=classNames[i];}return className;},handleVisualAid:function(el,deep,state,inst,skip_dispatch){if(!el)return;if(!skip_dispatch)tinyMCE.dispatchCallback(inst,'handle_visual_aid_callback','handleVisualAid',el,deep,state,inst);var tableElement=null;switch(el.nodeName){case"TABLE":var oldW=el.style.width;var oldH=el.style.height;var bo=tinyMCE.getAttrib(el,"border");bo=bo==""||bo=="0"?true:false;tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),state&&bo));el.style.width=oldW;el.style.height=oldH;for(var y=0;y0){for(var x=0;x0)tinyMCE.cssClasses=output;return output;},regexpReplace:function(in_str,reg_exp,replace_str,opts){if(in_str==null)return in_str;if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);},trim:function(s){return s.replace(/^\s*|\s*$/g,"");},cleanupEventStr:function(s){s=""+s;s=s.replace('function anonymous()\n{\n','');s=s.replace('\n}','');s=s.replace(/^return true;/gi,'');return s;},getControlHTML:function(c){var i,l,n,o,v;l=tinyMCE.plugins;for(n in l){o=l[n];if(o.getControlHTML&&(v=o.getControlHTML(c))!='')return tinyMCE.replaceVar(v,"pluginurl",o.baseURL);}o=tinyMCE.themes[tinyMCE.settings['theme']];if(o.getControlHTML&&(v=o.getControlHTML(c))!='')return v;return'';},evalFunc:function(f,idx,a){var s='(',i;for(i=idx;i0)return true;if(ins!=null){for(i=0,l=ins.plugins;i0)return true;}}l=tinyMCE.themes;for(on in l){o=l[on];if(o[n]&&(v=tinyMCE.evalFunc(o[n],3,a))==s&&m>0)return true;}return false;},xmlEncode:function(s){s=""+s;s=s.replace(/&/g,'&');s=s.replace(new RegExp('"','g'),'"');s=s.replace(/\'/g,''');s=s.replace(//g,'>');return s;},extend:function(p,np){var o={};o.parent=p;for(n in p)o[n]=p[n];for(n in np)o[n]=np[n];return o;},hideMenus:function(){var e=tinyMCE.lastSelectedMenuBtn;if(tinyMCE.lastMenu){tinyMCE.lastMenu.hide();tinyMCE.lastMenu=null;}if(e){tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);tinyMCE.lastSelectedMenuBtn=null;}},explode:function(d,s){var ar=s.split(d),oar=new Array(),i;for(i=0;i0){for(i=0;i1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index'];}},getBody:function(){return this.getDoc().body;},getDoc:function(){return this.contentWindow.document;},getWin:function(){return this.contentWindow;},addShortcut:function(m,k,d,cmd,ui,va){var n=typeof(k)=="number",ie=tinyMCE.isMSIE,c,sc,i;var scl=this.shortcuts;if(!tinyMCE.getParam('custom_shortcuts'))return false;m=m.toLowerCase();k=ie&&!n?k.toUpperCase():k;c=n?null:k.charCodeAt(0);d=d&&d.indexOf('lang_')==0?tinyMCE.getLang(d):d;sc={alt:m.indexOf('alt')!=-1,ctrl:m.indexOf('ctrl')!=-1,shift:m.indexOf('shift')!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};for(i=0;i0)rng.pasteHTML('
          '+rng.htmlText+"
          ");tinyMCE.triggerNodeChange();return;}}}switch(command){case"mceRepaint":this.repaint();return true;case"InsertUnorderedList":case"InsertOrderedList":var tag=(command=="InsertUnorderedList")?"ul":"ol";if(tinyMCE.isSafari)this.execCommand("mceInsertContent",false,"<"+tag+">
        1.  
        2. <"+tag+">");else this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"Strikethrough":if(tinyMCE.isSafari)this.execCommand("mceInsertContent",false,""+this.selection.getSelectedHTML()+"");else this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"mceSelectNode":this.selection.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case"FormatBlock":if(value==null||value==""){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");if(elm)this.execCommand("mceRemoveNode",false,elm);}else{if(tinyMCE.isGecko&&new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>','gi').test(value))value=value.replace(/[^a-z]/gi,'');if(tinyMCE.isMSIE&&new RegExp('blockquote|code|samp','gi').test(value)){var b=this.selection.getBookmark();this.getDoc().execCommand("FormatBlock",false,'

          ');tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()),value);this.selection.moveToBookmark(b);}else this.getDoc().execCommand("FormatBlock",false,value);}tinyMCE.triggerNodeChange();break;case"mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isMSIE){value.outerHTML=value.innerHTML;}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML));}tinyMCE.triggerNodeChange();break;case"mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue;}if(i==value){this.selection.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return;}parentNode=parentNode.parentNode;}break;case"SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value['command'];var sname=value['name'];var svalue=value['value']==null?'':value['value'];var wrapper=value['wrapper']?value['wrapper']:"span";var parentElm=null;var invalidRe=new RegExp("^BODY|HTML$","g");var invalidParentsRe=tinyMCE.settings['merge_styles_invalid_parents']!=''?new RegExp(tinyMCE.settings['merge_styles_invalid_parents'],"gi"):null;if(tinyMCE.isMSIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){if(invalidParentsRe==null||!invalidParentsRe.test(pelm.nodeName))parentElm=pelm;}}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(new RegExp('td|tr|tbody|table','gi').test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm;}if(parentElm&&!invalidRe.test(parentElm.nodeName)){if(scmd=="setstyle")tinyMCE.setStyleAttrib(parentElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);if(scmd=="removeformat"){parentElm.style.cssText='';tinyMCE.setAttrib(parentElm,'class','');}var ch=tinyMCE.getNodeTree(parentElm,new Array(),1);for(var z=0;z=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(scmd,elm,elm.childNodes[0],isNew);continue;}if(elm.parentNode.childNodes.length==1&&!invalidRe.test(elm.nodeName)&&!invalidRe.test(elm.parentNode.nodeName)){if(invalidParentsRe==null||!invalidParentsRe.test(elm.parentNode.nodeName))this._mergeElements(scmd,elm.parentNode,elm,false);}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));tmp.innerHTML=tmp.innerHTML.replace(new RegExp('style=""|class=""','gi'),'');if(new RegExp('','gi').test(tmp.innerHTML)){for(var x=0;x0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value);}tinyMCE.triggerNodeChange();break;case"mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange();}}break;case"mceSetCSSClass":this.execCommand("SetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case"mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getDoc().body.scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getDoc().body.scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+value+html.substring(pos+key.length));this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case"mceInsertContent":if(!value)value='';var insertHTMLFailed=false;this.getWin().focus();if(tinyMCE.isGecko||tinyMCE.isOpera){try{if(value.indexOf('<')==-1&&!value.match(/(&| |<|>)/g)){var r=this.getRng();var n=this.getDoc().createTextNode(tinyMCE.entityDecode(value));var s=this.getSel();var r2=r.cloneRange();s.removeAllRanges();r.deleteContents();r.insertNode(n);r2.selectNode(n);r2.collapse(false);s.removeAllRanges();s.addRange(r2);}else{value=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),value);this.getDoc().execCommand('inserthtml',false,value);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value);}}catch(ex){insertHTMLFailed=true;}if(!insertHTMLFailed){tinyMCE.triggerNodeChange();return;}}if(tinyMCE.isOpera&&insertHTMLFailed){this.getDoc().execCommand("insertimage",false,tinyMCE.uniqueURL);var ar=tinyMCE.getElementsByAttributeValue(this.getBody(),"img","src",tinyMCE.uniqueURL);ar[0].outerHTML=value;return;}if(!tinyMCE.isMSIE){var isHTML=value.indexOf('<')!=-1;var sel=this.getSel();var rng=this.getRng();if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value);}else value=rng.createContextualFragment(value);}else{var el=document.createElement("div");el.innerHTML=value;value=el.firstChild.nodeValue;value=doc.createTextNode(value);}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true;}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true;}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node);}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng);}else rng.collapse(false);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value);}else{var rng=doc.selection.createRange();var c=value.indexOf('";}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i';return h;},_serializeAttribute:function(n,r,an){var av='',t,os=this.settings.on_save;if(os&&(an.indexOf('mce_')==0||an.indexOf('_moz')==0))return'';if(os&&this.mceAttribs[an])av=this._getAttrib(n,this.mceAttribs[an]);if(av.length==0)av=this._getAttrib(n,an);if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){av=t;if(av=="mce_empty")return" "+an+'=""';}if(r.forceAttribs&&(t=r.forceAttribs[an]))av=t;if(os&&av.length!=0&&this.settings.url_converter.length!=0&&/^(src|href|longdesc)$/.test(an))av=eval(this.settings.url_converter+'(this, n, av)');if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av))return"";if(av.length!=0&&av=="{$uid}")av="uid_"+(this.idCount++);if(av.length!=0)return" "+an+"="+'"'+this.xmlEncode(av)+'"';return"";},formatHTML:function(h){var s=this.settings,p='',i=0,li=0,o='',l;h=h.replace(/\r/g,'');h='\n'+h;h=h.replace(new RegExp('\\n\\s+','gi'),'\n');h=h.replace(this.nlBeforeRe,'\n<$1$2>');h=h.replace(this.nlAfterRe,'<$1$2>\n');h=h.replace(this.nlBeforeAfterRe,'\n<$1$2$3>\n');h+='\n';while((i=h.indexOf('\n',i+1))!=-1){if((l=h.substring(li+1,i)).length!=0){if(this.ouRe.test(l)&&p.length>=s.indent_levels)p=p.substring(s.indent_levels);o+=p+l+'\n';if(this.inRe.test(l))p+=this.inStr;}li=i;}return o;},xmlEncode:function(s){var i,l,e,o='',c;this._setupEntities();switch(this.settings.entity_encoding){case"raw":return tinyMCE.xmlEncode(s);case"named":for(i=0,l=s.length;i127||c==60||c==62||c==38||c==39||c==34)o+='&#'+c+";";else o+=String.fromCharCode(c);}return o;}return s;},split:function(re,s){var c=s.split(re);var i,l,o=new Array();for(i=0,l=c.length;i/g,'>');h=h.replace(/]*)>\u00A0?<\/p>/gi,' 

          ');h=h.replace(/]*)>\s* \s*<\/p>/gi,' 

          ');h=h.replace(/]*)>\s+<\/p>/gi,' 

          ');e.innerHTML=tinyMCE.uniqueTag+h;e.firstChild.removeNode(true);nl=e.getElementsByTagName("p");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.nodeName=='P'&&!n.hasChildNodes()&&!n.mce_keep)n.parentNode.removeChild(n);}}else{h=this.fixGeckoBaseHREFBug(1,e,h);e.innerHTML=h;this.fixGeckoBaseHREFBug(2,e,h);}};TinyMCE_Engine.prototype.getOuterHTML=function(e){if(tinyMCE.isMSIE)return e.outerHTML;var d=e.ownerDocument.createElement("body");d.appendChild(e);return d.innerHTML;};TinyMCE_Engine.prototype.setOuterHTML=function(e,h){if(tinyMCE.isMSIE){e.outerHTML=h;return;}var d=e.ownerDocument.createElement("body");d.innerHTML=h;e.parentNode.replaceChild(d.firstChild,e);};TinyMCE_Engine.prototype._getElementById=function(id,d){var e,i,j,f;if(typeof(d)=="undefined")d=document;e=d.getElementById(id);if(!e){f=d.forms;for(i=0;i-1;i--){if(ar[i].specified&&ar[i].nodeValue)ne.setAttribute(ar[i].nodeName.toLowerCase(),ar[i].nodeValue);}ar=e.childNodes;for(i=0;i=strTok2.length){for(var i=0;i=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(strTok1.length=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break;}}}if(breakPoint==1)return targetURL.path;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outPath+="../";for(var i=breakPoint-1;i=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i];}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue;}if(numBack>0){numBack--;continue;}newRelURLParts[newRelURLParts.length]=relURLParts[i];}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";relURL.protocol=baseURL.protocol;relURL.host=baseURL.host;relURL.port=baseURL.port;if(relURL.path.charAt(relURL.path.length-1)=="/")absPath+="/";relURL.path=absPath;return this.serializeURL(relURL);};TinyMCE_Engine.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;if(prot=="file:")return url;url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isMSIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(on_save&&tinyMCE.getParam('relative_urls')){var curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(curl.charAt(0)=='/')curl=tinyMCE.settings['document_base_prefix']+curl;var urlParts=tinyMCE.parseURL(curl);var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],curl);}if(!tinyMCE.getParam('relative_urls')){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return"#"+urlParts['anchor'];}if(tinyMCE.getParam('remove_script_host')){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1);}return url;};TinyMCE_Engine.prototype.convertAllRelativeURLs=function(body){var elms=body.getElementsByTagName("img");for(var i=0;ibookmark.index){try{rng.addElement(nl[bookmark.index]);}catch(ex){}}}else{rng=inst.getSel().createRange();rng.moveToElementText(inst.getBody());rng.collapse(true);rng.moveStart('character',bookmark.start);rng.moveEnd('character',bookmark.length);}rng.select();win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}if(tinyMCE.isGecko&&bookmark.rng){sel.removeAllRanges();sel.addRange(bookmark.rng);win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}if(tinyMCE.isGecko){rng=doc.createRange();nl=doc.getElementsByTagName(bookmark.startTag);if(nl.length>bookmark.start)rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex],bookmark.startOffset);nl=doc.getElementsByTagName(bookmark.endTag);if(nl.length>bookmark.end)rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex],bookmark.endOffset);sel.removeAllRanges();sel.addRange(rng);win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true;}return false;},selectNode:function(node,collapse,select_text_node,to_start){var inst=this.instance,sel,rng,nodes;if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(tinyMCE.isMSIE){rng=inst.getBody().createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select();}catch(e){}}else{sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.collapseToStart();else sel.collapseToEnd();}this.scrollToNode(node);return;}rng=inst.getDoc().createRange();if(select_text_node){nodes=tinyMCE.getNodeTree(node,new Array(),3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node);}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length);}else rng.collapse(to_start);}sel.removeAllRanges();sel.addRange(rng);}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node;},scrollToNode:function(node){var inst=this.instance;var pos,doc,scrollX,scrollY,height;pos=tinyMCE.getAbsPosition(node);doc=inst.getDoc();scrollX=doc.body.scrollLeft+doc.documentElement.scrollLeft;scrollY=doc.body.scrollTop+doc.documentElement.scrollTop;height=tinyMCE.isMSIE?document.getElementById(inst.editorId).style.pixelHeight:inst.targetElement.clientHeight;if(!tinyMCE.settings['auto_resize']&&!(pos.absTop>scrollY&&pos.absTop<(scrollY-25+height)))inst.contentWindow.scrollTo(pos.absLeft,pos.absTop-height+25);},getSel:function(){var inst=this.instance;if(tinyMCE.isMSIE&&!tinyMCE.isOpera)return inst.getDoc().selection;return inst.contentWindow.getSelection();},getRng:function(){var inst=this.instance;var sel=this.getSel();if(sel==null)return null;if(tinyMCE.isMSIE&&!tinyMCE.isOpera)return sel.createRange();if(tinyMCE.isSafari&&!sel.getRangeAt)return''+window.getSelection();return sel.getRangeAt(0);},getFocusElement:function(){var inst=this.instance;if(tinyMCE.isMSIE&&!tinyMCE.isOpera){var doc=inst.getDoc();var rng=doc.selection.createRange();var elm=rng.item?rng.item(0):rng.parentElement();}else{if(inst.isHidden())return inst.getBody();var sel=this.getSel();var rng=this.getRng();if(!sel||!rng)return null;var elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset];}}}elm=tinyMCE.getParentElement(elm);}return elm;}};function TinyMCE_UndoRedo(inst){this.instance=inst;this.undoLevels=new Array();this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true;};TinyMCE_UndoRedo.prototype={add:function(l){var b;if(l){this.undoLevels[this.undoLevels.length]=l;return true;}var inst=this.instance;if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;}var newHTML=tinyMCE.trim(inst.getBody().innerHTML);if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){tinyMCE.dispatchCallback(inst,'onchange_callback','onChange',inst);var customUndoLevels=tinyMCE.settings['custom_undo_redo_levels'];if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(var i=0;i0){this.undoIndex--;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);}},redo:function(){var inst=this.instance;tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);}tinyMCE.triggerNodeChange();}};var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()=="";}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i <"+blockName+"> ";paraAfter=body.childNodes[1];}inst.selection.selectNode(paraAfter,true,true);return true;}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);var contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){paraAfter.innerHTML=contents.firstChild.innerHTML;}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML=" ";if(isEmpty(paraAfter))paraAfter.innerHTML=" ";var rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode);}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset);}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();rng.insertNode(paraAfter);rng.insertNode(paraBefore);paraAfter.normalize();paraBefore.normalize();inst.selection.selectNode(paraAfter,true,true);return true;},_handleBackSpace:function(inst){var r=inst.getRng(),sn=r.startContainer,nv,s=false;if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR"){nv=sn.nodeValue;if(nv!=null&&nv.length>=r.startOffset&&nv.charAt(r.startOffset-1)==' ')s=true;if(nv!=null&&r.startOffset==nv.length)sn.nextSibling.parentNode.removeChild(sn.nextSibling);}return s;}};function TinyMCE_Layer(id,bm){this.id=id;this.blockerElement=null;this.events=false;this.element=null;this.blockMode=typeof(bm)!='undefined'?bm:true;this.doc=document;};TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){var rep=this.getAbsPosition(re);var w=parseInt(re.offsetWidth);var h=parseInt(re.offsetHeight);var e=this.getElement();var ew=parseInt(e.offsetWidth);var eh=parseInt(e.offsetHeight);var x,y;switch(p){case"tl":x=rep.absLeft;y=rep.absTop;break;case"tr":x=rep.absLeft+w;y=rep.absTop;break;case"bl":x=rep.absLeft;y=rep.absTop+h;break;case"br":x=rep.absLeft+w;y=rep.absTop+h;break;case"cc":x=rep.absLeft+(w/2)-(ew/2);y=rep.absTop+(h/2)-(eh/2);break;}this.moveTo(x,y);},moveBy:function(x,y){var e=this.getElement();this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y);},moveTo:function(x,y){var e=this.getElement();e.style.left=x+"px";e.style.top=y+"px";this.updateBlocker();},resizeBy:function(w,h){var e=this.getElement();this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h);},resizeTo:function(w,h){var e=this.getElement();if(w!=null)e.style.width=w+"px";if(h!=null)e.style.height=h+"px";this.updateBlocker();},show:function(){this.getElement().style.display='block';this.updateBlocker();},hide:function(){this.getElement().style.display='none';this.updateBlocker();},isVisible:function(){return this.getElement().style.display=='block';},getElement:function(){if(!this.element)this.element=this.doc.getElementById(this.id);return this.element;},setBlockMode:function(s){this.blockMode=s;},updateBlocker:function(){var e,b,x,y,w,h;b=this.getBlocker();if(b){if(this.blockMode){e=this.getElement();x=this.parseInt(e.style.left);y=this.parseInt(e.style.top);w=this.parseInt(e.offsetWidth);h=this.parseInt(e.offsetHeight);b.style.left=x+'px';b.style.top=y+'px';b.style.width=w+'px';b.style.height=h+'px';b.style.display=e.style.display;}else b.style.display='none';}},getBlocker:function(){var d,b;if(!this.blockerElement&&this.blockMode){d=this.doc;b=d.createElement("iframe");b.style.cssText='display: none; position: absolute; left: 0; top: 0';b.src='javascript:false;';b.frameBorder='0';b.scrolling='no';d.body.appendChild(b);this.blockerElement=b;}return this.blockerElement;},getAbsPosition:function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent;}return p;},create:function(n,c,p){var d=this.doc,e=d.createElement(n);e.setAttribute('id',this.id);if(c)e.className=c;if(!p)p=d.body;p.appendChild(e);return this.element=e;},parseInt:function(s){if(s==null||s=='')return 0;return parseInt(s);}};function TinyMCE_Menu(){var id;if(typeof(tinyMCE.menuCounter)=="undefined")tinyMCE.menuCounter=0;id="mc_menu_"+tinyMCE.menuCounter++;TinyMCE_Layer.call(this,id,true);this.id=id;this.items=new Array();this.needsUpdate=true;};TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){var n;this.settings={separator_class:'mceMenuSeparator',title_class:'mceMenuTitle',disabled_class:'mceMenuDisabled',menu_class:'mceMenu',drop_menu:true};for(n in s)this.settings[n]=s[n];this.create('div',this.settings.menu_class);},clear:function(){this.items=new Array();},addTitle:function(t){this.add({type:'title',text:t});},addDisabled:function(t){this.add({type:'disabled',text:t});},addSeparator:function(){this.add({type:'separator'});},addItem:function(t,js){this.add({text:t,js:js});},add:function(mi){this.items[this.items.length]=mi;this.needsUpdate=true;},update:function(){var e=this.getElement(),h='',i,t,m=this.items,s=this.settings;if(this.settings.drop_menu)h+='';h+='';for(i=0;i';}h+='
          ';break;case'title':h+='
          '+t+'';break;case'disabled':h+='
          '+t+'';break;default:h+='
          '+t+'';}h+='
          ';e.innerHTML=h;this.needsUpdate=false;this.updateBlocker();},show:function(){var nl,i;if(tinyMCE.lastMenu==this)return;if(this.needsUpdate)this.update();if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this)tinyMCE.lastMenu.hide();TinyMCE_Layer.prototype.show.call(this);if(!tinyMCE.isOpera){}tinyMCE.lastMenu=this;}});TinyMCE_Engine.prototype.debug=function(){var m="",e,a,i;e=document.getElementById("tinymce_debug");if(!e){var d=document.createElement("div");d.setAttribute("className","debugger");d.className="debugger";d.innerHTML='Debug output:';document.body.appendChild(d);e=document.getElementById("tinymce_debug");}a=this.debug.arguments;for(i=0;i -1) { + // Write main script and patch some things + if ($index == 0) { + TinyMCE_echo(file_get_contents(realpath("tiny_mce" . $suffix . ".js"))); + TinyMCE_echo('TinyMCE.prototype.orgLoadScript = TinyMCE.prototype.loadScript;'); + TinyMCE_echo('TinyMCE.prototype.loadScript = function() {};var realTinyMCE = tinyMCE;'); + } else + TinyMCE_echo('tinyMCE = realTinyMCE;'); + + // Do init based on index + TinyMCE_echo("tinyMCE.init(tinyMCECompressed.configs[" . $index . "]);"); + + // Load external plugins + if ($index == 0) + TinyMCE_echo("tinyMCECompressed.loadPlugins();"); + + // Load theme, language pack and theme language packs + if ($theme) { + TinyMCE_echo(file_get_contents(realpath("themes/" . $theme . "/editor_template" . $suffix . ".js"))); + TinyMCE_echo(file_get_contents(realpath("themes/" . $theme . "/langs/" . $lang . ".js"))); + } + + if ($language) + TinyMCE_echo(file_get_contents(realpath("langs/" . $language . ".js"))); + + // Load all plugins and their language packs + $plugins = explode(",", $plugins); + foreach ($plugins as $plugin) { + $pluginFile = realpath("plugins/" . $plugin . "/editor_plugin" . $suffix . ".js"); + $languageFile = realpath("plugins/" . $plugin . "/langs/" . $lang . ".js"); + + if ($pluginFile) + TinyMCE_echo(file_get_contents($pluginFile)); + + if ($languageFile) + TinyMCE_echo(file_get_contents($languageFile)); + } + + // Reset tinyMCE compressor engine + TinyMCE_echo("tinyMCE = tinyMCECompressed;"); + + // Write to cache + if ($diskCache) { + // Calculate compression ratio and debug target output path + if ($debug) { + $ratio = round(100 - strlen(gzencode($cacheData, 9, FORCE_GZIP)) / strlen($cacheData) * 100.0); + TinyMCE_echo("alert('TinyMCE was compressed by " . $ratio . "%.\\nOutput cache file: " . $cacheFile . "');"); + } + + $cacheData = gzencode($cacheData, 9, FORCE_GZIP); + + // Write to file if possible + $fp = @fopen($cacheFile, "wb"); + if ($fp) { + fwrite($fp, $cacheData); + fclose($fp); + } + + // Output + header("Content-Encoding: " . $enc); + echo $cacheData; + } + + die; +} +?> + +function TinyMCECompressed() { + this.configs = new Array(); + this.loadedFiles = new Array(); + this.externalPlugins = new Array(); + this.loadAdded = false; + this.isLoaded = false; +} + +TinyMCECompressed.prototype.init = function(settings) { + var elements = document.getElementsByTagName('script'); + var scriptURL = ""; + + for (var i=0; i'); + + if (!this.loadAdded) { + tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCECompressed.prototype.onLoad); + tinyMCE.addEvent(window, "load", TinyMCECompressed.prototype.onLoad); + this.loadAdded = true; + } +} + +TinyMCECompressed.prototype.onLoad = function() { + if (tinyMCE.isLoaded) + return true; + + tinyMCE = realTinyMCE; + TinyMCE_Engine.prototype.onLoad(); + tinyMCE._addUnloadEvents(); + + tinyMCE.isLoaded = true; +} + +TinyMCECompressed.prototype.addEvent = function(o, n, h) { + if (o.attachEvent) + o.attachEvent("on" + n, h); + else + o.addEventListener(n, h, false); +} + +TinyMCECompressed.prototype.getOnce = function(str) { + var ar = str.replace(/\s+/g, '').split(','); + + for (var i=0; i'); + + tinyMCE.addEvent(window, "load", this.onLoad); +}; + + +TinyMCE_Popup.prototype.onLoad = function() { + var dir, i, elms, body = document.body; + + if (tinyMCE.getWindowArg('mce_replacevariables', true)) + body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs); + + dir = tinyMCE.selectedInstance.settings['directionality']; + if (dir == "rtl" && document.forms && document.forms.length > 0) { + elms = document.forms[0].elements; + for (i=0; i=0; i--) { + if (wrapper.hasChildNodes()) + wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild); + else + wrapper.appendChild(nodes[i].cloneNode(true)); + + nodes[i].parentNode.removeChild(nodes[i]); + } + + // Add wrapper + doc.body.appendChild(wrapper); + + // Create iframe + iframe = document.createElement("iframe"); + iframe.id = "mcWinIframe"; + iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document']; + iframe.width = "100%"; + iframe.height = "100%"; + iframe.style.margin = '0'; + + // Add iframe + doc.body.appendChild(iframe); + + // Measure iframe + iframe = document.getElementById('mcWinIframe'); + dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth; + dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight; + + // Resize window + // tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy); + window.resizeBy(dx, dy); + + // Hide iframe and show wrapper + body.style.margin = oldMargin; + iframe.style.display = 'none'; + wrapper.style.display = 'block'; + } +}; + + +TinyMCE_Popup.prototype.resizeToContent = function() { + var isMSIE = (navigator.appName == "Microsoft Internet Explorer"); + var isOpera = (navigator.userAgent.indexOf("Opera") != -1); + + if (isOpera) + return; + + if (isMSIE) { + try { window.resizeTo(10, 10); } catch (e) {} + + var elm = document.body; + var width = elm.offsetWidth; + var height = elm.offsetHeight; + var dx = (elm.scrollWidth - width) + 4; + var dy = elm.scrollHeight - height; + + try { window.resizeBy(dx, dy); } catch (e) {} + } else { + window.scrollBy(1000, 1000); + if (window.scrollX > 0 || window.scrollY > 0) { + window.resizeBy(window.innerWidth * 2, window.innerHeight * 2); + window.sizeToContent(); + window.scrollTo(0, 0); + var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0); + var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0); + window.moveTo(x, y); + } + } +}; + + +TinyMCE_Popup.prototype.getWindowArg = function(name, default_value) { + return tinyMCE.getWindowArg(name, default_value); +}; + + +TinyMCE_Popup.prototype.restoreSelection = function() { + if (this.storeSelection) { + var inst = tinyMCE.selectedInstance; + + inst.getWin().focus(); + + if (inst.selectionBookmark) + inst.selection.moveToBookmark(inst.selectionBookmark); + } +}; + + +TinyMCE_Popup.prototype.execCommand = function(command, user_interface, value) { + var inst = tinyMCE.selectedInstance; + + this.restoreSelection(); + inst.execCommand(command, user_interface, value); + + // Store selection + if (this.storeSelection) + inst.selectionBookmark = inst.selection.getBookmark(true); +}; + + +TinyMCE_Popup.prototype.close = function() { + tinyMCE.closeWindow(window); +}; + + +TinyMCE_Popup.prototype.pickColor = function(e, element_id) { + tinyMCE.selectedInstance.execCommand('mceColorPicker', true, { + element_id : element_id, + document : document, + window : window, + store_selection : false + }); +}; + + +TinyMCE_Popup.prototype.openBrowser = function(element_id, type, option) { + var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); + var url = document.getElementById(element_id).value; + + tinyMCE.setWindowArg("window", window); + tinyMCE.setWindowArg("document", document); + + // Call to external callback + if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined") + alert("Callback function: " + cb + " could not be found."); + else + eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);"); +}; + + +TinyMCE_Popup.prototype.importClass = function(c) { + window[c] = function() {}; + + for (var n in window.opener[c].prototype) + window[c].prototype[n] = window.opener[c].prototype[n]; + + window[c].constructor = window.opener[c].constructor; +}; + +// Setup global instance +var tinyMCEPopup = new TinyMCE_Popup(); + +tinyMCEPopup.init(); diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce_src.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce_src.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce_src.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce_src.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,6719 @@ + +/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */ + +function TinyMCE_Engine() { + this.majorVersion = "2"; + this.minorVersion = "0.6.1"; + this.releaseDate = "2006-05-04"; + + this.instances = new Array(); + this.switchClassCache = new Array(); + this.windowArgs = new Array(); + this.loadedFiles = new Array(); + this.pendingFiles = new Array(); + this.loadingIndex = 0; + this.configs = new Array(); + this.currentConfig = 0; + this.eventHandlers = new Array(); + + // Browser check + var ua = navigator.userAgent; + this.isMSIE = (navigator.appName == "Microsoft Internet Explorer"); + this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1); + this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1); + this.isGecko = ua.indexOf('Gecko') != -1; + this.isSafari = ua.indexOf('Safari') != -1; + this.isOpera = ua.indexOf('Opera') != -1; + this.isMac = ua.indexOf('Mac') != -1; + this.isNS7 = ua.indexOf('Netscape/7') != -1; + this.isNS71 = ua.indexOf('Netscape/7.1') != -1; + this.dialogCounter = 0; + this.plugins = new Array(); + this.themes = new Array(); + this.menus = new Array(); + this.loadedPlugins = new Array(); + this.buttonMap = new Array(); + this.isLoaded = false; + + // Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those + if (this.isOpera) { + this.isMSIE = true; + this.isGecko = false; + this.isSafari = false; + } + + // TinyMCE editor id instance counter + this.idCounter = 0; +}; + +TinyMCE_Engine.prototype = { + init : function(settings) { + var theme; + + this.settings = settings; + + // Check if valid browser has execcommand support + if (typeof(document.execCommand) == 'undefined') + return; + + // Get script base path + if (!tinyMCE.baseURL) { + var elements = document.getElementsByTagName('script'); + + for (var i=0; i'); + this._def("font_size_classes", ''); + this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true); + this._def("event_elements", 'a,img', true); + this._def("convert_urls", true); + this._def("table_inline_editing", false); + this._def("object_resizing", true); + this._def("custom_shortcuts", true); + this._def("convert_on_click", false); + this._def("content_css", ''); + this._def("fix_list_elements", false); + this._def("fix_table_elements", false); + this._def("strict_loading_mode", document.contentType == 'application/xhtml+xml'); + this._def("hidden_tab_class", ''); + this._def("display_tab_class", ''); + + // Force strict loading mode to false on non Gecko browsers + if (this.isMSIE && !this.isOpera) + this.settings.strict_loading_mode = false; + + // Browser check IE + if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1) + return; + + // Browser check Gecko + if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1) + return; + + // Browser check Safari + if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1) + return; + + // Browser check Opera + if (this.isOpera && this.settings['browsers'].indexOf('opera') == -1) + return; + + // If not super absolute make it so + var baseHREF = tinyMCE.settings['document_base_url']; + var h = document.location.href; + var p = h.indexOf('://'); + if (p > 0 && document.location.protocol != "file:") { + p = h.indexOf('/', p + 3); + h = h.substring(0, p); + + if (baseHREF.indexOf('://') == -1) + baseHREF = h + baseHREF; + + tinyMCE.settings['document_base_url'] = baseHREF; + tinyMCE.settings['document_base_prefix'] = h; + } + + // Trim away query part + if (baseHREF.indexOf('?') != -1) + baseHREF = baseHREF.substring(0, baseHREF.indexOf('?')); + + this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/"; + + theme = this.settings['theme']; + this.blockRegExp = new RegExp("^(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|blockquote|center|dl|dt|dd|dir|fieldset|form|noscript|noframes|menu|isindex|samp)$", "i"); + this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40); + this.uniqueURL = 'javascript:TINYMCE_UNIQUEURL();'; // Make unique URL non real URL + this.uniqueTag = ''; + this.callbacks = new Array('onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup'); + + // Theme url + this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme; + + if (!tinyMCE.isMSIE) + this.settings['force_br_newlines'] = false; + + if (tinyMCE.getParam("popups_css", false)) { + var cssPath = tinyMCE.getParam("popups_css", ""); + + // Is relative + if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/') + this.settings['popups_css'] = this.documentBasePath + "/" + cssPath; + else + this.settings['popups_css'] = cssPath; + } else + this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css"; + + if (tinyMCE.getParam("editor_css", false)) { + var cssPath = tinyMCE.getParam("editor_css", ""); + + // Is relative + if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/') + this.settings['editor_css'] = this.documentBasePath + "/" + cssPath; + else + this.settings['editor_css'] = cssPath; + } else + this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css"; + + if (tinyMCE.settings['debug']) { + var msg = "Debug: \n"; + + msg += "baseURL: " + this.baseURL + "\n"; + msg += "documentBasePath: " + this.documentBasePath + "\n"; + msg += "content_css: " + this.settings['content_css'] + "\n"; + msg += "popups_css: " + this.settings['popups_css'] + "\n"; + msg += "editor_css: " + this.settings['editor_css'] + "\n"; + + alert(msg); + } + + // Only do this once + if (this.configs.length == 0) { + // Is Safari enabled + if (this.isSafari && this.getParam('safari_warning', false)) + alert("Safari support is very limited and should be considered experimental.\nSo there is no need to even submit bugreports on this early version.\nYou can disable this message by setting: safari_warning option to false"); + + if (typeof(TinyMCECompressed) == "undefined") { + tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad); + + if (tinyMCE.isMSIE && !tinyMCE.isOpera) { + if (document.body) + tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad); + else + tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad); + } + + tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad); + tinyMCE._addUnloadEvents(); + } + } + + this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js'); + this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] + '.js'); + this.loadCSS(this.settings['editor_css']); + + // Add plugins + var p = tinyMCE.getParam('plugins', '', true, ','); + if (p.length > 0) { + for (var i=0; i'); + + this.loadedFiles[this.loadedFiles.length] = url; + }, + + loadNextScript : function() { + var d = document, se; + + if (!tinyMCE.settings.strict_loading_mode) + return; + + if (this.loadingIndex < this.pendingFiles.length) { + se = d.createElementNS('http://www.w3.org/1999/xhtml', 'script'); + se.setAttribute('language', 'javascript'); + se.setAttribute('type', 'text/javascript'); + se.setAttribute('src', this.pendingFiles[this.loadingIndex++]); + + d.getElementsByTagName("head")[0].appendChild(se); + } else + this.loadingIndex = -1; // Done with loading + }, + + loadCSS : function(url) { + var ar = url.replace(/\s+/, '').split(','); + var lflen = 0, csslen = 0; + var skip = false; + var x = 0, i = 0, nl, le; + + for (x = 0,csslen = ar.length; x 0) { + /* Make sure it doesn't exist. */ + for (i=0, lflen=this.loadedFiles.length; i'); + + this.loadedFiles[this.loadedFiles.length] = ar[x]; + } + } + } + }, + + importCSS : function(doc, css) { + var css_ary = css.replace(/\s+/, '').split(','); + var csslen, elm, headArr, x, css_file; + + for (x = 0, csslen = css_ary.length; x 0) { + // Is relative, make absolute + if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/') + css_file = this.documentBasePath + "/" + css_file; + + if (typeof(doc.createStyleSheet) == "undefined") { + elm = doc.createElement("link"); + + elm.rel = "stylesheet"; + elm.href = css_file; + + if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0) + headArr[0].appendChild(elm); + } else + doc.createStyleSheet(css_file); + } + } + }, + + confirmAdd : function(e, settings) { + var elm = tinyMCE.isMSIE ? event.srcElement : e.target; + var elementId = elm.name ? elm.name : elm.id; + + tinyMCE.settings = settings; + + if (tinyMCE.settings['convert_on_click'] || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm']))) + tinyMCE.addMCEControl(elm, elementId); + + elm.setAttribute('mce_noask', 'true'); + }, + + updateContent : function(form_element_name) { + // Find MCE instance linked to given form element and copy it's value + var formElement = document.getElementById(form_element_name); + for (var n in tinyMCE.instances) { + var inst = tinyMCE.instances[n]; + if (!tinyMCE.isInstance(inst)) + continue; + + inst.switchSettings(); + + if (inst.formElement == formElement) { + var doc = inst.getDoc(); + + tinyMCE._setHTML(doc, inst.formElement.value); + + if (!tinyMCE.isMSIE) + doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid); + } + } + }, + + addMCEControl : function(replace_element, form_element_name, target_document) { + var id = "mce_editor_" + tinyMCE.idCounter++; + var inst = new TinyMCE_Control(tinyMCE.settings); + + inst.editorId = id; + this.instances[id] = inst; + + inst._onAdd(replace_element, form_element_name, target_document); + }, + + removeMCEControl : function(editor_id) { + var inst = tinyMCE.getInstanceById(editor_id); + + if (inst) { + inst.switchSettings(); + + editor_id = inst.editorId; + var html = tinyMCE.getContent(editor_id); + + // Remove editor instance from instances array + var tmpInstances = new Array(); + for (var instanceName in tinyMCE.instances) { + var instance = tinyMCE.instances[instanceName]; + if (!tinyMCE.isInstance(instance)) + continue; + + if (instanceName != editor_id) + tmpInstances[instanceName] = instance; + } + tinyMCE.instances = tmpInstances; + + tinyMCE.selectedElement = null; + tinyMCE.selectedInstance = null; + + // Remove element + var replaceElement = document.getElementById(editor_id + "_parent"); + var oldTargetElement = inst.oldTargetElement; + var targetName = oldTargetElement.nodeName.toLowerCase(); + + if (targetName == "textarea" || targetName == "input") { + // Just show the old text area + replaceElement.parentNode.removeChild(replaceElement); + oldTargetElement.style.display = "inline"; + oldTargetElement.value = html; + } else { + oldTargetElement.innerHTML = html; + oldTargetElement.style.display = 'block'; + + replaceElement.parentNode.insertBefore(oldTargetElement, replaceElement); + replaceElement.parentNode.removeChild(replaceElement); + } + } + }, + + triggerSave : function(skip_cleanup, skip_callback) { + var inst, n; + + // Default to false + if (typeof(skip_cleanup) == "undefined") + skip_cleanup = false; + + // Default to false + if (typeof(skip_callback) == "undefined") + skip_callback = false; + + // Cleanup and set all form fields + for (n in tinyMCE.instances) { + inst = tinyMCE.instances[n]; + + if (!tinyMCE.isInstance(inst)) + continue; + + inst.triggerSave(skip_cleanup, skip_callback); + } + }, + + resetForm : function(form_index) { + var i, inst, n, formObj = document.forms[form_index]; + + for (n in tinyMCE.instances) { + inst = tinyMCE.instances[n]; + + if (!tinyMCE.isInstance(inst)) + continue; + + inst.switchSettings(); + + for (i=0; i'); + content = content.replace(/"/g, '"'); + content = content.replace(/&/g, '&'); + } + + inst.switchSettings(); + + // Not loaded correctly hit it again, Mozilla bug #997860 + if (!tinyMCE.isMSIE && tinyMCE.getParam("setupcontent_reload", false) && doc.title != "blank_page") { + // This part will remove the designMode status + // Failes first time in Firefox 1.5b2 on Mac + try {doc.location.href = tinyMCE.baseURL + "/blank.htm";} catch (ex) {} + window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000); + return; + } + + if (!head) { + window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10); + return; + } + + // Import theme specific content CSS the user specific + tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings['theme'] + "/css/editor_content.css"); + tinyMCE.importCSS(inst.getDoc(), inst.settings['content_css']); + tinyMCE.dispatchCallback(inst, 'init_instance_callback', 'initInstance', inst); + + // Setup keyboard shortcuts + if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) { + inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo'); + inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo'); + } + + // Add default shortcuts for gecko + if (tinyMCE.isGecko) { + inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold'); + inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic'); + inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline'); + } + + // Setup span styles + if (tinyMCE.getParam("convert_fonts_to_spans")) + inst.getDoc().body.setAttribute('id', 'mceSpanFonts'); + + if (tinyMCE.settings['nowrap']) + doc.body.style.whiteSpace = "nowrap"; + + doc.body.dir = this.settings['directionality']; + doc.editorId = editor_id; + + // Add on document element in Mozilla + if (!tinyMCE.isMSIE) + doc.documentElement.editorId = editor_id; + + inst.setBaseHREF(tinyMCE.settings['base_href']); + + // Replace new line characters to BRs + if (tinyMCE.settings['convert_newlines_to_brs']) { + content = tinyMCE.regexpReplace(content, "\r\n", "
          ", "gi"); + content = tinyMCE.regexpReplace(content, "\r", "
          ", "gi"); + content = tinyMCE.regexpReplace(content, "\n", "
          ", "gi"); + } + + // Open closed anchors + // content = content.replace(new RegExp('', 'gi'), ''); + + // Call custom cleanup code + content = tinyMCE.storeAwayURLs(content); + content = tinyMCE._customCleanup(inst, "insert_to_editor", content); + + if (tinyMCE.isMSIE) { + // Ugly!!! + window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500); + + if (tinyMCE.settings["force_br_newlines"]) + doc.styleSheets[0].addRule("p", "margin: 0;"); + + var body = inst.getBody(); + body.editorId = editor_id; + } + + content = tinyMCE.cleanupHTMLCode(content); + + // Fix for bug #958637 + if (!tinyMCE.isMSIE) { + var contentElement = inst.getDoc().createElement("body"); + var doc = inst.getDoc(); + + contentElement.innerHTML = content; + + // Remove weridness! + if (tinyMCE.isGecko && tinyMCE.settings['remove_lt_gt']) + content = content.replace(new RegExp('<>', 'g'), ""); + + if (tinyMCE.settings['cleanup_on_startup']) + tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement)); + else { + // Convert all strong/em to b/i + content = tinyMCE.regexpReplace(content, "", "", "gi"); + content = tinyMCE.regexpReplace(content, "", "
          ", "gi"); + content = tinyMCE.regexpReplace(content, "", "", "gi"); + tinyMCE.setInnerHTML(inst.getBody(), content); + } + + tinyMCE.convertAllRelativeURLs(inst.getBody()); + } else { + if (tinyMCE.settings['cleanup_on_startup']) { + tinyMCE._setHTML(inst.getDoc(), content); + + // Produces permission denied error in MSIE 5.5 + eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}'); + } else + tinyMCE._setHTML(inst.getDoc(), content); + } + + // Fix for bug #957681 + //inst.getDoc().designMode = inst.getDoc().designMode; + + // Setup element references + var parentElm = inst.targetDoc.getElementById(inst.editorId + '_parent'); + inst.formElement = tinyMCE.isGecko ? parentElm.previousSibling : parentElm.nextSibling; + + tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst); + tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc()); + + // Re-add design mode on mozilla + if (!tinyMCE.isMSIE) + tinyMCE.addEventHandlers(inst); + + // Add blur handler + if (tinyMCE.isMSIE) { + tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch); + tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953 + + // Workaround for drag drop/copy paste base href bug + if (!tinyMCE.isOpera) { + tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove); + tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch); + tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch); + } + } + + // Trigger node change, this call locks buttons for tables and so forth + tinyMCE.selectedInstance = inst; + tinyMCE.selectedElement = inst.contentWindow.document.body; + + // Call custom DOM cleanup + tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody()); + tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody()); + tinyMCE._setEventsEnabled(inst.getBody(), false); + tinyMCE.cleanupAnchors(inst.getDoc()); + + if (tinyMCE.getParam("convert_fonts_to_spans")) + tinyMCE.convertSpansToFonts(inst.getDoc()); + + inst.startContent = tinyMCE.trim(inst.getBody().innerHTML); + inst.undoRedo.add({ content : inst.startContent }); + + // Cleanup any mess left from storyAwayURLs + if (tinyMCE.isGecko) { + // Remove mce_src from textnodes and comments + tinyMCE.selectNodes(inst.getBody(), function(n) { + if (n.nodeType == 3 || n.nodeType == 8) { + n.nodeValue = n.nodeValue.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), ""); + n.nodeValue = n.nodeValue.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), ""); + } + + return false; + }); + } + + // Cleanup any mess left from storyAwayURLs + tinyMCE._removeInternal(inst.getBody()); + + tinyMCE.selectedInstance = inst; + tinyMCE.triggerNodeChange(false, true); + }, + + storeAwayURLs : function(s) { + // Remove all mce_src, mce_href and replace them with new ones + // s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), ''); + // s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), ''); + + if (!s.match(/(mce_src|mce_href)/gi, s)) { + s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"'); + s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"'); + } + + return s; + }, + + _removeInternal : function(n) { + if (tinyMCE.isGecko) { + // Remove mce_src from textnodes and comments + tinyMCE.selectNodes(n, function(n) { + if (n.nodeType == 3 || n.nodeType == 8) { + n.nodeValue = n.nodeValue.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), ""); + n.nodeValue = n.nodeValue.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), ""); + } + + return false; + }); + } + }, + + removeTinyMCEFormElements : function(form_obj) { + // Check if form is valid + if (typeof(form_obj) == "undefined" || form_obj == null) + return; + + // If not a form, find the form + if (form_obj.nodeName != "FORM") { + if (form_obj.form) + form_obj = form_obj.form; + else + form_obj = tinyMCE.getParentElement(form_obj, "form"); + } + + // Still nothing + if (form_obj == null) + return; + + // Disable all UI form elements that TinyMCE created + for (var i=0; i"); + rng.collapse(false); + rng.select(); + + tinyMCE.execCommand("mceAddUndoLevel"); + tinyMCE.triggerNodeChange(false); + return false; + } + } + + // Backspace or delete + if (e.keyCode == 8 || e.keyCode == 46) { + tinyMCE.selectedElement = e.target; + tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a"); + tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img"); + tinyMCE.triggerNodeChange(false); + } + + return false; + break; + + case "keyup": + case "keydown": + tinyMCE.hideMenus(); + tinyMCE.hasMouseMoved = false; + + if (inst && inst.handleShortcut(e)) + return false; + + if (e.target.editorId) + tinyMCE.selectedInstance = tinyMCE.instances[e.target.editorId]; + else + return; + + if (tinyMCE.selectedInstance) + tinyMCE.selectedInstance.switchSettings(); + + var inst = tinyMCE.selectedInstance; + + // Handle backspace + if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) { + // Insert P element instead of BR + if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) { + // Cancel event + tinyMCE.execCommand("mceAddUndoLevel"); + e.preventDefault(); + return false; + } + } + + tinyMCE.selectedElement = null; + tinyMCE.selectedNode = null; + var elm = tinyMCE.selectedInstance.getFocusElement(); + tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a"); + tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img"); + tinyMCE.selectedElement = elm; + + // Update visualaids on tabs + if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9) + tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); + + // Fix empty elements on return/enter, check where enter occured + if (tinyMCE.isMSIE && e.type == "keydown" && e.keyCode == 13) + tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement(); + + // Fix empty elements on return/enter + if (tinyMCE.isMSIE && e.type == "keyup" && e.keyCode == 13) { + var elm = tinyMCE.enterKeyElement; + if (elm) { + var re = new RegExp('^HR|IMG|BR$','g'); // Skip these + var dre = new RegExp('^H[1-6]$','g'); // Add double on these + + if (!elm.hasChildNodes() && !re.test(elm.nodeName)) { + if (dre.test(elm.nodeName)) + elm.innerHTML = "  "; + else + elm.innerHTML = " "; + } + } + } + + // Check if it's a position key + var keys = tinyMCE.posKeyCodes; + var posKey = false; + for (var i=0; i'; + h += ''; + h += ''; + } else { + // Normal button + h += ''; + h += ''; + h += ''; + } + + return h; + }, + + addButtonMap : function(m) { + var i, a = m.replace(/\s+/, '').split(','); + + for (i=0; i 0); + + if (tinyMCE.settings['custom_undo_redo']) { + undoIndex = inst.undoRedo.undoIndex; + undoLevels = inst.undoRedo.undoLevels.length; + } + + tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content); + } + + if (this.selectedInstance && (typeof(focus) == "undefined" || focus)) + this.selectedInstance.contentWindow.focus(); + }, + + _customCleanup : function(inst, type, content) { + var pl, po, i; + + // Call custom cleanup + var customCleanup = tinyMCE.settings['cleanup_callback']; + if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined") + content = eval(customCleanup + "(type, content, inst);"); + + // Trigger plugin cleanups + pl = inst.plugins; + for (i=0; i 0) { + for (i=ar.length-1; i>=0; i--) { + s = ar[i].substring(2, ar[i].length-1); + + if (s.indexOf('lang_') == 0 && tinyMCELang[s]) + h = tinyMCE.replaceVar(h, s, tinyMCELang[s]); + else if (as && as[s]) + h = tinyMCE.replaceVar(h, s, as[s]); + else if (tinyMCE.settings[s]) + h = tinyMCE.replaceVar(h, s, tinyMCE.settings[s]); + } + } + + h = tinyMCE.replaceVar(h, "themeurl", tinyMCE.themeURL); + + return h; + }, + + replaceVar : function(h, r, v) { + return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v); + }, + + openWindow : function(template, args) { + var html, width, height, x, y, resizable, scrollbars, url; + + args['mce_template_file'] = template['file']; + args['mce_width'] = template['width']; + args['mce_height'] = template['height']; + tinyMCE.windowArgs = args; + + html = template['html']; + if (!(width = parseInt(template['width']))) + width = 320; + + if (!(height = parseInt(template['height']))) + height = 200; + + // Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!! + if (tinyMCE.isMSIE) + height += 40; + else + height += 20; + + x = parseInt(screen.width / 2.0) - (width / 2.0); + y = parseInt(screen.height / 2.0) - (height / 2.0); + + resizable = (args && args['resizable']) ? args['resizable'] : "no"; + scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no"; + + if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1) + url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file']; + else + url = template['file']; + + // Replace all args as variables in URL + for (var name in args) { + if (typeof(args[name]) == 'function') + continue; + + url = tinyMCE.replaceVar(url, name, escape(args[name])); + } + + if (html) { + html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']); + html = tinyMCE.applyTemplate(html, args); + + var win = window.open("", "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,minimizable=" + resizable + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable); + if (win == null) { + alert(tinyMCELang['lang_popup_blocked']); + return; + } + + win.document.write(html); + win.document.close(); + win.resizeTo(width, height); + win.focus(); + } else { + if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && resizable != 'yes' && tinyMCE.settings["dialog_type"] == "modal") { + height += 10; + + var features = "resizable:" + resizable + + ";scroll:" + + scrollbars + ";status:yes;center:yes;help:no;dialogWidth:" + + width + "px;dialogHeight:" + height + "px;"; + + window.showModalDialog(url, window, features); + } else { + var modal = (resizable == "yes") ? "no" : "yes"; + + if (tinyMCE.isGecko && tinyMCE.isMac) + modal = "no"; + + if (template['close_previous'] != "no") + try {tinyMCE.lastWindow.close();} catch (ex) {} + + var win = window.open(url, "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=" + modal + ",minimizable=" + resizable + ",modal=" + modal + ",width=" + width + ",height=" + height + ",resizable=" + resizable); + if (win == null) { + alert(tinyMCELang['lang_popup_blocked']); + return; + } + + if (template['close_previous'] != "no") + tinyMCE.lastWindow = win; + + eval('try { win.resizeTo(width, height); } catch(e) { }'); + + // Make it bigger if statusbar is forced + if (tinyMCE.isGecko) { + if (win.document.defaultView.statusbar.visible) + win.resizeBy(0, tinyMCE.isMac ? 10 : 24); + } + + win.focus(); + } + } + }, + + closeWindow : function(win) { + win.close(); + }, + + getVisualAidClass : function(class_name, state) { + var aidClass = tinyMCE.settings['visual_table_class']; + + if (typeof(state) == "undefined") + state = tinyMCE.settings['visual']; + + // Split + var classNames = new Array(); + var ar = class_name.split(' '); + for (var i=0; i 0) + className += " "; + + className += classNames[i]; + } + + return className; + }, + + handleVisualAid : function(el, deep, state, inst, skip_dispatch) { + if (!el) + return; + + if (!skip_dispatch) + tinyMCE.dispatchCallback(inst, 'handle_visual_aid_callback', 'handleVisualAid', el, deep, state, inst); + + var tableElement = null; + + switch (el.nodeName) { + case "TABLE": + var oldW = el.style.width; + var oldH = el.style.height; + var bo = tinyMCE.getAttrib(el, "border"); + + bo = bo == "" || bo == "0" ? true : false; + + tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo)); + + el.style.width = oldW; + el.style.height = oldH; + + for (var y=0; y<\/o:p>", "
          "); + html = tinyMCE.regexpReplace(html, " <\/o:p>", ""); + html = tinyMCE.regexpReplace(html, "", ""); + html = tinyMCE.regexpReplace(html, "

          <\/p>", ""); + html = tinyMCE.regexpReplace(html, "

          <\/p>\r\n

          <\/p>", ""); + html = tinyMCE.regexpReplace(html, "

           <\/p>", "
          "); + html = tinyMCE.regexpReplace(html, "

          \s*(

          \s*)?", "

          "); + html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "

          "); + }*/ + + // Always set the htmlText output + tinyMCE.setInnerHTML(doc.body, html); + } + + tinyMCE.cleanupAnchors(doc); + + if (tinyMCE.getParam("convert_fonts_to_spans")) + tinyMCE.convertSpansToFonts(doc); + }, + + getEditorId : function(form_element) { + var inst = this.getInstanceById(form_element); + if (!inst) + return null; + + return inst.editorId; + }, + + getInstanceById : function(editor_id) { + var inst = this.instances[editor_id]; + if (!inst) { + for (var n in tinyMCE.instances) { + var instance = tinyMCE.instances[n]; + if (!tinyMCE.isInstance(instance)) + continue; + + if (instance.formTargetElementId == editor_id) { + inst = instance; + break; + } + } + } + + return inst; + }, + + queryInstanceCommandValue : function(editor_id, command) { + var inst = tinyMCE.getInstanceById(editor_id); + if (inst) + return inst.queryCommandValue(command); + + return false; + }, + + queryInstanceCommandState : function(editor_id, command) { + var inst = tinyMCE.getInstanceById(editor_id); + if (inst) + return inst.queryCommandState(command); + + return null; + }, + + setWindowArg : function(n, v) { + this.windowArgs[n] = v; + }, + + getWindowArg : function(n, d) { + return (typeof(this.windowArgs[n]) == "undefined") ? d : this.windowArgs[n]; + }, + + getCSSClasses : function(editor_id, doc) { + var output = new Array(); + + // Is cached, use that + if (typeof(tinyMCE.cssClasses) != "undefined") + return tinyMCE.cssClasses; + + if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") { + var instance; + + for (var instanceName in tinyMCE.instances) { + instance = tinyMCE.instances[instanceName]; + if (!tinyMCE.isInstance(instance)) + continue; + + break; + } + + doc = instance.getDoc(); + } + + if (typeof(doc) == "undefined") { + var instance = tinyMCE.getInstanceById(editor_id); + doc = instance.getDoc(); + } + + if (doc) { + var styles = doc.styleSheets; + + if (styles && styles.length > 0) { + for (var x=0; x 0) + tinyMCE.cssClasses = output; + + return output; + }, + + regexpReplace : function(in_str, reg_exp, replace_str, opts) { + if (in_str == null) + return in_str; + + if (typeof(opts) == "undefined") + opts = 'g'; + + var re = new RegExp(reg_exp, opts); + return in_str.replace(re, replace_str); + }, + + trim : function(s) { + return s.replace(/^\s*|\s*$/g, ""); + }, + + cleanupEventStr : function(s) { + s = "" + s; + s = s.replace('function anonymous()\n{\n', ''); + s = s.replace('\n}', ''); + s = s.replace(/^return true;/gi, ''); // Remove event blocker + + return s; + }, + + getControlHTML : function(c) { + var i, l, n, o, v; + + l = tinyMCE.plugins; + for (n in l) { + o = l[n]; + + if (o.getControlHTML && (v = o.getControlHTML(c)) != '') + return tinyMCE.replaceVar(v, "pluginurl", o.baseURL); + } + + o = tinyMCE.themes[tinyMCE.settings['theme']]; + if (o.getControlHTML && (v = o.getControlHTML(c)) != '') + return v; + + return ''; + }, + + evalFunc : function(f, idx, a) { + var s = '(', i; + + for (i=idx; i 0) + return true; + + if (ins != null) { + for (i=0, l = ins.plugins; i 0) + return true; + } + } + + l = tinyMCE.themes; + for (on in l) { + o = l[on]; + + if (o[n] && (v = tinyMCE.evalFunc(o[n], 3, a)) == s && m > 0) + return true; + } + + return false; + }, + + xmlEncode : function(s) { + s = "" + s; + s = s.replace(/&/g, '&'); + s = s.replace(new RegExp('"', 'g'), '"'); + s = s.replace(/\'/g, '''); // ' is not working in MSIE + s = s.replace(//g, '>'); + + return s; + }, + + extend : function(p, np) { + var o = {}; + + o.parent = p; + + for (n in p) + o[n] = p[n]; + + for (n in np) + o[n] = np[n]; + + return o; + }, + + hideMenus : function() { + var e = tinyMCE.lastSelectedMenuBtn; + + if (tinyMCE.lastMenu) { + tinyMCE.lastMenu.hide(); + tinyMCE.lastMenu = null; + } + + if (e) { + tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass); + tinyMCE.lastSelectedMenuBtn = null; + } + }, + + explode : function(d, s) { + var ar = s.split(d), oar = new Array(), i; + + for (i = 0; i 0) { + for (i=0; i 1 && tinyMCE.currentConfig != this.settings['index']) { + tinyMCE.settings = this.settings; + tinyMCE.currentConfig = this.settings['index']; + } + }, + + getBody : function() { + return this.getDoc().body; + }, + + getDoc : function() { + return this.contentWindow.document; + }, + + getWin : function() { + return this.contentWindow; + }, + + addShortcut : function(m, k, d, cmd, ui, va) { + var n = typeof(k) == "number", ie = tinyMCE.isMSIE, c, sc, i; + var scl = this.shortcuts; + + if (!tinyMCE.getParam('custom_shortcuts')) + return false; + + m = m.toLowerCase(); + k = ie && !n ? k.toUpperCase() : k; + c = n ? null : k.charCodeAt(0); + d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d; + + sc = { + alt : m.indexOf('alt') != -1, + ctrl : m.indexOf('ctrl') != -1, + shift : m.indexOf('shift') != -1, + charCode : c, + keyCode : n ? k : (ie ? c : null), + desc : d, + cmd : cmd, + ui : ui, + val : va + }; + + for (i=0; i 0) + rng.pasteHTML('
          ' + rng.htmlText + "
          "); + + tinyMCE.triggerNodeChange(); + return; + } + } + } + + switch (command) { + case "mceRepaint": + this.repaint(); + return true; + + case "InsertUnorderedList": + case "InsertOrderedList": + var tag = (command == "InsertUnorderedList") ? "ul" : "ol"; + + if (tinyMCE.isSafari) + this.execCommand("mceInsertContent", false, "<" + tag + ">
        3.  
        4. <" + tag + ">"); + else + this.getDoc().execCommand(command, user_interface, value); + + tinyMCE.triggerNodeChange(); + break; + + case "Strikethrough": + if (tinyMCE.isSafari) + this.execCommand("mceInsertContent", false, "" + this.selection.getSelectedHTML() + ""); + else + this.getDoc().execCommand(command, user_interface, value); + + tinyMCE.triggerNodeChange(); + break; + + case "mceSelectNode": + this.selection.selectNode(value); + tinyMCE.triggerNodeChange(); + tinyMCE.selectedNode = value; + break; + + case "FormatBlock": + if (value == null || value == "") { + var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp"); + + if (elm) + this.execCommand("mceRemoveNode", false, elm); + } else { + if (tinyMCE.isGecko && new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>', 'gi').test(value)) + value = value.replace(/[^a-z]/gi, ''); + + if (tinyMCE.isMSIE && new RegExp('blockquote|code|samp', 'gi').test(value)) { + var b = this.selection.getBookmark(); + this.getDoc().execCommand("FormatBlock", false, '

          '); + tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()), value); + this.selection.moveToBookmark(b); + } else + this.getDoc().execCommand("FormatBlock", false, value); + } + + tinyMCE.triggerNodeChange(); + + break; + + case "mceRemoveNode": + if (!value) + value = tinyMCE.getParentElement(this.getFocusElement()); + + if (tinyMCE.isMSIE) { + value.outerHTML = value.innerHTML; + } else { + var rng = value.ownerDocument.createRange(); + rng.setStartBefore(value); + rng.setEndAfter(value); + rng.deleteContents(); + rng.insertNode(rng.createContextualFragment(value.innerHTML)); + } + + tinyMCE.triggerNodeChange(); + + break; + + case "mceSelectNodeDepth": + var parentNode = this.getFocusElement(); + for (var i=0; parentNode; i++) { + if (parentNode.nodeName.toLowerCase() == "body") + break; + + if (parentNode.nodeName.toLowerCase() == "#text") { + i--; + parentNode = parentNode.parentNode; + continue; + } + + if (i == value) { + this.selection.selectNode(parentNode, false); + tinyMCE.triggerNodeChange(); + tinyMCE.selectedNode = parentNode; + return; + } + + parentNode = parentNode.parentNode; + } + + break; + + case "SetStyleInfo": + var rng = this.getRng(); + var sel = this.getSel(); + var scmd = value['command']; + var sname = value['name']; + var svalue = value['value'] == null ? '' : value['value']; + //var svalue = value['value'] == null ? '' : value['value']; + var wrapper = value['wrapper'] ? value['wrapper'] : "span"; + var parentElm = null; + var invalidRe = new RegExp("^BODY|HTML$", "g"); + var invalidParentsRe = tinyMCE.settings['merge_styles_invalid_parents'] != '' ? new RegExp(tinyMCE.settings['merge_styles_invalid_parents'], "gi") : null; + + // Whole element selected check + if (tinyMCE.isMSIE) { + // Control range + if (rng.item) + parentElm = rng.item(0); + else { + var pelm = rng.parentElement(); + var prng = doc.selection.createRange(); + prng.moveToElementText(pelm); + + if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) { + if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName)) + parentElm = pelm; + } + } + } else { + var felm = this.getFocusElement(); + if (sel.isCollapsed || (new RegExp('td|tr|tbody|table', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode)) + parentElm = felm; + } + + // Whole element selected + if (parentElm && !invalidRe.test(parentElm.nodeName)) { + if (scmd == "setstyle") + tinyMCE.setStyleAttrib(parentElm, sname, svalue); + + if (scmd == "setattrib") + tinyMCE.setAttrib(parentElm, sname, svalue); + + if (scmd == "removeformat") { + parentElm.style.cssText = ''; + tinyMCE.setAttrib(parentElm, 'class', ''); + } + + // Remove style/attribs from all children + var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1); + for (var z=0; z=0; i--) { + var elm = nodes[i]; + var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true"; + + elm.removeAttribute("mce_new"); + + // Is only child a element + if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) { + //tinyMCE.debug("merge1" + isNew); + this._mergeElements(scmd, elm, elm.childNodes[0], isNew); + continue; + } + + // Is I the only child + if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) { + //tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName); + if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName)) + this._mergeElements(scmd, elm.parentNode, elm, false); + } + } + + // Remove empty wrappers + var nodes = doc.getElementsByTagName(wrapper); + for (var i=nodes.length-1; i>=0; i--) { + var elm = nodes[i]; + var isEmpty = true; + + // Check if it has any attribs + var tmp = doc.createElement("body"); + tmp.appendChild(elm.cloneNode(false)); + + // Is empty span, remove it + tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), ''); + //tinyMCE.debug(tmp.innerHTML); + if (new RegExp('', 'gi').test(tmp.innerHTML)) { + for (var x=0; x 0) { + value = tinyMCE.replaceVar(value, "selection", selectedText); + tinyMCE.execCommand('mceInsertContent', false, value); + } + + tinyMCE.triggerNodeChange(); + break; + + case "mceSetAttribute": + if (typeof(value) == 'object') { + var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets']; + var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms); + + if (targetNode) { + targetNode.setAttribute(value['name'], value['value']); + tinyMCE.triggerNodeChange(); + } + } + break; + + case "mceSetCSSClass": + this.execCommand("SetStyleInfo", false, {command : "setattrib", name : "class", value : value}); + break; + + case "mceInsertRawHTML": + var key = 'tiny_mce_marker'; + + this.execCommand('mceBeginUndoLevel'); + + // Insert marker key + this.execCommand('mceInsertContent', false, key); + + // Store away scroll pos + var scrollX = this.getDoc().body.scrollLeft + this.getDoc().documentElement.scrollLeft; + var scrollY = this.getDoc().body.scrollTop + this.getDoc().documentElement.scrollTop; + + // Find marker and replace with RAW HTML + var html = this.getBody().innerHTML; + if ((pos = html.indexOf(key)) != -1) + tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length)); + + // Restore scoll pos + this.contentWindow.scrollTo(scrollX, scrollY); + + this.execCommand('mceEndUndoLevel'); + + break; + + case "mceInsertContent": + // Force empty string + if (!value) + value = ''; + + var insertHTMLFailed = false; + this.getWin().focus(); + + if (tinyMCE.isGecko || tinyMCE.isOpera) { + try { + // Is plain text or HTML, &,   etc will be encoded wrong in FF + if (value.indexOf('<') == -1 && !value.match(/(&| |<|>)/g)) { + var r = this.getRng(); + var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value)); + var s = this.getSel(); + var r2 = r.cloneRange(); + + // Insert text at cursor position + s.removeAllRanges(); + r.deleteContents(); + r.insertNode(n); + + // Move the cursor to the end of text + r2.selectNode(n); + r2.collapse(false); + s.removeAllRanges(); + s.addRange(r2); + } else { + value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value); + this.getDoc().execCommand('inserthtml', false, value); + tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value); + } + } catch (ex) { + insertHTMLFailed = true; + } + + if (!insertHTMLFailed) { + tinyMCE.triggerNodeChange(); + return; + } + } + + // Ugly hack in Opera due to non working "inserthtml" + if (tinyMCE.isOpera && insertHTMLFailed) { + this.getDoc().execCommand("insertimage", false, tinyMCE.uniqueURL); + var ar = tinyMCE.getElementsByAttributeValue(this.getBody(), "img", "src", tinyMCE.uniqueURL); + ar[0].outerHTML = value; + return; + } + + if (!tinyMCE.isMSIE) { + var isHTML = value.indexOf('<') != -1; + var sel = this.getSel(); + var rng = this.getRng(); + + if (isHTML) { + if (tinyMCE.isSafari) { + var tmpRng = this.getDoc().createRange(); + + tmpRng.setStart(this.getBody(), 0); + tmpRng.setEnd(this.getBody(), 0); + + value = tmpRng.createContextualFragment(value); + } else + value = rng.createContextualFragment(value); + } else { + // Setup text node + var el = document.createElement("div"); + el.innerHTML = value; + value = el.firstChild.nodeValue; + value = doc.createTextNode(value); + } + + // Insert plain text in Safari + if (tinyMCE.isSafari && !isHTML) { + this.execCommand('InsertText', false, value.nodeValue); + tinyMCE.triggerNodeChange(); + return true; + } else if (tinyMCE.isSafari && isHTML) { + rng.deleteContents(); + rng.insertNode(value); + tinyMCE.triggerNodeChange(); + return true; + } + + rng.deleteContents(); + + // If target node is text do special treatment, (Mozilla 1.3 fix) + if (rng.startContainer.nodeType == 3) { + var node = rng.startContainer.splitText(rng.startOffset); + node.parentNode.insertBefore(value, node); + } else + rng.insertNode(value); + + if (!isHTML) { + // Removes weird selection trails + sel.selectAllChildren(doc.body); + sel.removeAllRanges(); + + // Move cursor to end of content + var rng = doc.createRange(); + + rng.selectNode(value); + rng.collapse(false); + + sel.addRange(rng); + } else + rng.collapse(false); + + tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value); + } else { + var rng = doc.selection.createRange(); + var c = value.indexOf('"; + } + + if (hc) { + cn = n.childNodes; + + for (i=0, l=cn.length; i'; + + return h; + }, + + _serializeAttribute : function(n, r, an) { + var av = '', t, os = this.settings.on_save; + + if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0)) + return ''; + + if (os && this.mceAttribs[an]) + av = this._getAttrib(n, this.mceAttribs[an]); + + if (av.length == 0) + av = this._getAttrib(n, an); + + if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) { + av = t; + + if (av == "mce_empty") + return " " + an + '=""'; + } + + if (r.forceAttribs && (t = r.forceAttribs[an])) + av = t; + + if (os && av.length != 0 && this.settings.url_converter.length != 0 && /^(src|href|longdesc)$/.test(an)) + av = eval(this.settings.url_converter + '(this, n, av)'); + + if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av)) + return ""; + + if (av.length != 0 && av == "{$uid}") + av = "uid_" + (this.idCount++); + + if (av.length != 0) + return " " + an + "=" + '"' + this.xmlEncode(av) + '"'; + + return ""; + }, + + formatHTML : function(h) { + var s = this.settings, p = '', i = 0, li = 0, o = '', l; + + h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :) + h = '\n' + h; + h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting + h = h.replace(this.nlBeforeRe, '\n<$1$2>'); + h = h.replace(this.nlAfterRe, '<$1$2>\n'); + h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n'); + h += '\n'; + + //tinyMCE.debug(h); + + while ((i = h.indexOf('\n', i + 1)) != -1) { + if ((l = h.substring(li + 1, i)).length != 0) { + if (this.ouRe.test(l) && p.length >= s.indent_levels) + p = p.substring(s.indent_levels); + + o += p + l + '\n'; + + if (this.inRe.test(l)) + p += this.inStr; + } + + li = i; + } + + //tinyMCE.debug(h); + + return o; + }, + + xmlEncode : function(s) { + var i, l, e, o = '', c; + + this._setupEntities(); // Will intialize lookup table + + switch (this.settings.entity_encoding) { + case "raw": + return tinyMCE.xmlEncode(s); + + case "named": + for (i=0, l=s.length; i 127 || c == 60 || c == 62 || c == 38 || c == 39 || c == 34) + o += '&#' + c + ";"; + else + o += String.fromCharCode(c); + } + + return o; + } + + return s; + }, + + split : function(re, s) { + var c = s.split(re); + var i, l, o = new Array(); + + for (i=0, l=c.length; i gets converted to


          . + h = h.replace(/\s\/>/g, '>'); + + // Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones + h = h.replace(/]*)>\u00A0?<\/p>/gi, ' 

          '); // Keep empty paragraphs + h = h.replace(/]*)>\s* \s*<\/p>/gi, ' 

          '); // Keep empty paragraphs + h = h.replace(/]*)>\s+<\/p>/gi, ' 

          '); // Keep empty paragraphs + + // Remove first comment + e.innerHTML = tinyMCE.uniqueTag + h; + e.firstChild.removeNode(true); + + // Remove weird auto generated empty paragraphs unless it's supposed to be there + nl = e.getElementsByTagName("p"); + for (i=nl.length-1; i>=0; i--) { + n = nl[i]; + + if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep) + n.parentNode.removeChild(n); + } + } else { + h = this.fixGeckoBaseHREFBug(1, e, h); + e.innerHTML = h; + this.fixGeckoBaseHREFBug(2, e, h); + } +}; + +TinyMCE_Engine.prototype.getOuterHTML = function(e) { + if (tinyMCE.isMSIE) + return e.outerHTML; + + var d = e.ownerDocument.createElement("body"); + d.appendChild(e); + return d.innerHTML; +}; + +TinyMCE_Engine.prototype.setOuterHTML = function(e, h) { + if (tinyMCE.isMSIE) { + e.outerHTML = h; + return; + } + + var d = e.ownerDocument.createElement("body"); + d.innerHTML = h; + e.parentNode.replaceChild(d.firstChild, e); +}; + +TinyMCE_Engine.prototype._getElementById = function(id, d) { + var e, i, j, f; + + if (typeof(d) == "undefined") + d = document; + + e = d.getElementById(id); + if (!e) { + f = d.forms; + + for (i=0; i-1; i--) { + if (ar[i].specified && ar[i].nodeValue) + ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue); + } + + ar = e.childNodes; + for (i=0; i= strTok2.length) { + for (var i=0; i= strTok2.length || strTok1[i] != strTok2[i]) { + breakPoint = i + 1; + break; + } + } + } + + if (strTok1.length < strTok2.length) { + for (var i=0; i= strTok1.length || strTok1[i] != strTok2[i]) { + breakPoint = i + 1; + break; + } + } + } + + if (breakPoint == 1) + return targetURL.path; + + for (var i=0; i<(strTok1.length-(breakPoint-1)); i++) + outPath += "../"; + + for (var i=breakPoint-1; i=0; i--) { + if (baseURLParts[i].length == 0) + continue; + + newBaseURLParts[newBaseURLParts.length] = baseURLParts[i]; + } + baseURLParts = newBaseURLParts.reverse(); + + // Merge relURLParts chunks + var newRelURLParts = new Array(); + var numBack = 0; + for (var i=relURLParts.length-1; i>=0; i--) { + if (relURLParts[i].length == 0 || relURLParts[i] == ".") + continue; + + if (relURLParts[i] == '..') { + numBack++; + continue; + } + + if (numBack > 0) { + numBack--; + continue; + } + + newRelURLParts[newRelURLParts.length] = relURLParts[i]; + } + + relURLParts = newRelURLParts.reverse(); + + // Remove end from absolute path + var len = baseURLParts.length-numBack; + var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/'); + var start = "", end = ""; + + // Build output URL + relURL.protocol = baseURL.protocol; + relURL.host = baseURL.host; + relURL.port = baseURL.port; + + // Re-add trailing slash if it's removed + if (relURL.path.charAt(relURL.path.length-1) == "/") + absPath += "/"; + + relURL.path = absPath; + + return this.serializeURL(relURL); +}; + +TinyMCE_Engine.prototype.convertURL = function(url, node, on_save) { + var prot = document.location.protocol; + var host = document.location.hostname; + var port = document.location.port; + + // Pass through file protocol + if (prot == "file:") + return url; + + // Something is wrong, remove weirdness + url = tinyMCE.regexpReplace(url, '(http|https):///', '/'); + + // Mailto link or anchor (Pass through) + if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#") + return url; + + // Fix relative/Mozilla + if (!tinyMCE.isMSIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/') + return tinyMCE.settings['base_href'] + url; + + // Handle relative URLs + if (on_save && tinyMCE.getParam('relative_urls')) { + var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url); + if (curl.charAt(0) == '/') + curl = tinyMCE.settings['document_base_prefix'] + curl; + + var urlParts = tinyMCE.parseURL(curl); + var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']); + + // Force relative + if (urlParts['host'] == tmpUrlParts['host'] && (urlParts['port'] == tmpUrlParts['port'])) + return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], curl); + } + + // Handle absolute URLs + if (!tinyMCE.getParam('relative_urls')) { + var urlParts = tinyMCE.parseURL(url); + var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']); + + // Force absolute URLs from relative URLs + url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url); + + // If anchor and path is the same page + if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path']) + return "#" + urlParts['anchor']; + } + + // Remove current domain + if (tinyMCE.getParam('remove_script_host')) { + var start = "", portPart = ""; + + if (port != "") + portPart = ":" + port; + + start = prot + "//" + host + portPart + "/"; + + if (url.indexOf(start) == 0) + url = url.substring(start.length-1); + } + + return url; +}; + +TinyMCE_Engine.prototype.convertAllRelativeURLs = function(body) { + // Convert all image URL:s to absolute URL + var elms = body.getElementsByTagName("img"); + for (var i=0; i bookmark.index) { + try { + rng.addElement(nl[bookmark.index]); + } catch (ex) { + // Might be thrown if the node no longer exists + } + } + } else { + rng = inst.getSel().createRange(); + rng.moveToElementText(inst.getBody()); + rng.collapse(true); + rng.moveStart('character', bookmark.start); + rng.moveEnd('character', bookmark.length); + } + + rng.select(); + + win.scrollTo(bookmark.scrollX, bookmark.scrollY); + return true; + } + + if (tinyMCE.isGecko && bookmark.rng) { + sel.removeAllRanges(); + sel.addRange(bookmark.rng); + win.scrollTo(bookmark.scrollX, bookmark.scrollY); + return true; + } + + if (tinyMCE.isGecko) { + // try { + rng = doc.createRange(); + + nl = doc.getElementsByTagName(bookmark.startTag); + if (nl.length > bookmark.start) + rng.setStart(nl[bookmark.start].childNodes[bookmark.startIndex], bookmark.startOffset); + + nl = doc.getElementsByTagName(bookmark.endTag); + if (nl.length > bookmark.end) + rng.setEnd(nl[bookmark.end].childNodes[bookmark.endIndex], bookmark.endOffset); + + sel.removeAllRanges(); + sel.addRange(rng); + /* } catch { + // Ignore + }*/ + + win.scrollTo(bookmark.scrollX, bookmark.scrollY); + return true; + } + + return false; + }, + + selectNode : function(node, collapse, select_text_node, to_start) { + var inst = this.instance, sel, rng, nodes; + + if (!node) + return; + + if (typeof(collapse) == "undefined") + collapse = true; + + if (typeof(select_text_node) == "undefined") + select_text_node = false; + + if (typeof(to_start) == "undefined") + to_start = true; + + if (tinyMCE.isMSIE) { + rng = inst.getBody().createTextRange(); + + try { + rng.moveToElementText(node); + + if (collapse) + rng.collapse(to_start); + + rng.select(); + } catch (e) { + // Throws illigal agrument in MSIE some times + } + } else { + sel = this.getSel(); + + if (!sel) + return; + + if (tinyMCE.isSafari) { + sel.setBaseAndExtent(node, 0, node, node.innerText.length); + + if (collapse) { + if (to_start) + sel.collapseToStart(); + else + sel.collapseToEnd(); + } + + this.scrollToNode(node); + + return; + } + + rng = inst.getDoc().createRange(); + + if (select_text_node) { + // Find first textnode in tree + nodes = tinyMCE.getNodeTree(node, new Array(), 3); + if (nodes.length > 0) + rng.selectNodeContents(nodes[0]); + else + rng.selectNodeContents(node); + } else + rng.selectNode(node); + + if (collapse) { + // Special treatment of textnode collapse + if (!to_start && node.nodeType == 3) { + rng.setStart(node, node.nodeValue.length); + rng.setEnd(node, node.nodeValue.length); + } else + rng.collapse(to_start); + } + + sel.removeAllRanges(); + sel.addRange(rng); + } + + this.scrollToNode(node); + + // Set selected element + tinyMCE.selectedElement = null; + if (node.nodeType == 1) + tinyMCE.selectedElement = node; + }, + + scrollToNode : function(node) { + var inst = this.instance; + var pos, doc, scrollX, scrollY, height; + + // Scroll to node position + pos = tinyMCE.getAbsPosition(node); + doc = inst.getDoc(); + scrollX = doc.body.scrollLeft + doc.documentElement.scrollLeft; + scrollY = doc.body.scrollTop + doc.documentElement.scrollTop; + height = tinyMCE.isMSIE ? document.getElementById(inst.editorId).style.pixelHeight : inst.targetElement.clientHeight; + + // Only scroll if out of visible area + if (!tinyMCE.settings['auto_resize'] && !(pos.absTop > scrollY && pos.absTop < (scrollY - 25 + height))) + inst.contentWindow.scrollTo(pos.absLeft, pos.absTop - height + 25); + }, + + getSel : function() { + var inst = this.instance; + + if (tinyMCE.isMSIE && !tinyMCE.isOpera) + return inst.getDoc().selection; + + return inst.contentWindow.getSelection(); + }, + + getRng : function() { + var inst = this.instance; + var sel = this.getSel(); + + if (sel == null) + return null; + + if (tinyMCE.isMSIE && !tinyMCE.isOpera) + return sel.createRange(); + + if (tinyMCE.isSafari && !sel.getRangeAt) + return '' + window.getSelection(); + + return sel.getRangeAt(0); + }, + + getFocusElement : function() { + var inst = this.instance; + + if (tinyMCE.isMSIE && !tinyMCE.isOpera) { + var doc = inst.getDoc(); + var rng = doc.selection.createRange(); + + // if (rng.collapse) + // rng.collapse(true); + + var elm = rng.item ? rng.item(0) : rng.parentElement(); + } else { + if (inst.isHidden()) + return inst.getBody(); + + var sel = this.getSel(); + var rng = this.getRng(); + + if (!sel || !rng) + return null; + + var elm = rng.commonAncestorContainer; + //var elm = (sel && sel.anchorNode) ? sel.anchorNode : null; + + // Handle selection a image or other control like element such as anchors + if (!rng.collapsed) { + // Is selection small + if (rng.startContainer == rng.endContainer) { + if (rng.startOffset - rng.endOffset < 2) { + if (rng.startContainer.hasChildNodes()) + elm = rng.startContainer.childNodes[rng.startOffset]; + } + } + } + + // Get the element parent of the node + elm = tinyMCE.getParentElement(elm); + + //if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") + // elm = tinyMCE.selectedElement; + } + + return elm; + } +}; + +/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */ + +function TinyMCE_UndoRedo(inst) { + this.instance = inst; + this.undoLevels = new Array(); + this.undoIndex = 0; + this.typingUndoIndex = -1; + this.undoRedo = true; +}; + +TinyMCE_UndoRedo.prototype = { + add : function(l) { + var b; + + if (l) { + this.undoLevels[this.undoLevels.length] = l; + return true; + } + + var inst = this.instance; + + if (this.typingUndoIndex != -1) { + this.undoIndex = this.typingUndoIndex; + // tinyMCE.debug("Override: " + this.undoIndex); + } + + var newHTML = tinyMCE.trim(inst.getBody().innerHTML); + if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) { + //tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex]); + + tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst); + + // Time to compress + var customUndoLevels = tinyMCE.settings['custom_undo_redo_levels']; + if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) { + for (var i=0; i 0) { + this.undoIndex--; + tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content); + inst.repaint(); + if (inst.settings.custom_undo_redo_restore_selection) + inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark); + } + + // tinyMCE.debug("Undo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex); + }, + + redo : function() { + var inst = this.instance; + + tinyMCE.execCommand("mceEndTyping"); + + if (this.undoIndex < (this.undoLevels.length-1)) { + this.undoIndex++; + tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content); + inst.repaint(); +// if (this.undoIndex > 0) +// inst.selection.moveToBookmark(this.undoLevels[this.undoIndex-1].bookmark); + if (inst.settings.custom_undo_redo_restore_selection) + inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark); + // tinyMCE.debug("Redo - undo levels:" + this.undoLevels.length + ", undo index: " + this.undoIndex); + } + + tinyMCE.triggerNodeChange(); + } +}; + +/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */ + +var TinyMCE_ForceParagraphs = { + _insertPara : function(inst, e) { + function isEmpty(para) { + function isEmptyHTML(html) { + return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == ""; + } + + // Check for images + if (para.getElementsByTagName("img").length > 0) + return false; + + // Check for tables + if (para.getElementsByTagName("table").length > 0) + return false; + + // Check for HRs + if (para.getElementsByTagName("hr").length > 0) + return false; + + // Check all textnodes + var nodes = tinyMCE.getNodeTree(para, new Array(), 3); + for (var i=0; i <" + blockName + "> "; + paraAfter = body.childNodes[1]; + } + + inst.selection.selectNode(paraAfter, true, true); + + return true; + } + + // Place first part within new paragraph + if (startChop.nodeName == blockName) + rngBefore.setStart(startChop, 0); + else + rngBefore.setStartBefore(startChop); + + rngBefore.setEnd(startNode, startOffset); + paraBefore.appendChild(rngBefore.cloneContents()); + + // Place secound part within new paragraph + rngAfter.setEndAfter(endChop); + rngAfter.setStart(endNode, endOffset); + var contents = rngAfter.cloneContents(); + + if (contents.firstChild && contents.firstChild.nodeName == blockName) { + /* var nodes = contents.firstChild.childNodes; + for (var i=0; i= r.startOffset && nv.charAt(r.startOffset - 1) == ' ') + s = true; + + // Only remove BRs if we are at the end of line #bug 1464152 + if (nv != null && r.startOffset == nv.length) + sn.nextSibling.parentNode.removeChild(sn.nextSibling); + } + + return s; + } +}; + +/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */ + +function TinyMCE_Layer(id, bm) { + this.id = id; + this.blockerElement = null; + this.events = false; + this.element = null; + this.blockMode = typeof(bm) != 'undefined' ? bm : true; + this.doc = document; +}; + +TinyMCE_Layer.prototype = { + moveRelativeTo : function(re, p) { + var rep = this.getAbsPosition(re); + var w = parseInt(re.offsetWidth); + var h = parseInt(re.offsetHeight); + var e = this.getElement(); + var ew = parseInt(e.offsetWidth); + var eh = parseInt(e.offsetHeight); + var x, y; + + switch (p) { + case "tl": + x = rep.absLeft; + y = rep.absTop; + break; + + case "tr": + x = rep.absLeft + w; + y = rep.absTop; + break; + + case "bl": + x = rep.absLeft; + y = rep.absTop + h; + break; + + case "br": + x = rep.absLeft + w; + y = rep.absTop + h; + break; + + case "cc": + x = rep.absLeft + (w / 2) - (ew / 2); + y = rep.absTop + (h / 2) - (eh / 2); + break; + } + + this.moveTo(x, y); + }, + + moveBy : function(x, y) { + var e = this.getElement(); + this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y); + }, + + moveTo : function(x, y) { + var e = this.getElement(); + + e.style.left = x + "px"; + e.style.top = y + "px"; + + this.updateBlocker(); + }, + + resizeBy : function(w, h) { + var e = this.getElement(); + this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h); + }, + + resizeTo : function(w, h) { + var e = this.getElement(); + + if (w != null) + e.style.width = w + "px"; + + if (h != null) + e.style.height = h + "px"; + + this.updateBlocker(); + }, + + show : function() { + this.getElement().style.display = 'block'; + this.updateBlocker(); + }, + + hide : function() { + this.getElement().style.display = 'none'; + this.updateBlocker(); + }, + + isVisible : function() { + return this.getElement().style.display == 'block'; + }, + + getElement : function() { + if (!this.element) + this.element = this.doc.getElementById(this.id); + + return this.element; + }, + + setBlockMode : function(s) { + this.blockMode = s; + }, + + updateBlocker : function() { + var e, b, x, y, w, h; + + b = this.getBlocker(); + if (b) { + if (this.blockMode) { + e = this.getElement(); + x = this.parseInt(e.style.left); + y = this.parseInt(e.style.top); + w = this.parseInt(e.offsetWidth); + h = this.parseInt(e.offsetHeight); + + b.style.left = x + 'px'; + b.style.top = y + 'px'; + b.style.width = w + 'px'; + b.style.height = h + 'px'; + b.style.display = e.style.display; + } else + b.style.display = 'none'; + } + }, + + getBlocker : function() { + var d, b; + + if (!this.blockerElement && this.blockMode) { + d = this.doc; + b = d.createElement("iframe"); + + b.style.cssText = 'display: none; position: absolute; left: 0; top: 0'; + b.src = 'javascript:false;'; + b.frameBorder = '0'; + b.scrolling = 'no'; + + d.body.appendChild(b); + this.blockerElement = b; + } + + return this.blockerElement; + }, + + getAbsPosition : function(n) { + var p = {absLeft : 0, absTop : 0}; + + while (n) { + p.absLeft += n.offsetLeft; + p.absTop += n.offsetTop; + n = n.offsetParent; + } + + return p; + }, + + create : function(n, c, p) { + var d = this.doc, e = d.createElement(n); + + e.setAttribute('id', this.id); + + if (c) + e.className = c; + + if (!p) + p = d.body; + + p.appendChild(e); + + return this.element = e; + }, + + parseInt : function(s) { + if (s == null || s == '') + return 0; + + return parseInt(s); + } +}; + +/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */ + +function TinyMCE_Menu() { + var id; + + if (typeof(tinyMCE.menuCounter) == "undefined") + tinyMCE.menuCounter = 0; + + id = "mc_menu_" + tinyMCE.menuCounter++; + + TinyMCE_Layer.call(this, id, true); + + this.id = id; + this.items = new Array(); + this.needsUpdate = true; +}; + +// Extends the TinyMCE_Layer class +TinyMCE_Menu.prototype = tinyMCE.extend(TinyMCE_Layer.prototype, { + init : function(s) { + var n; + + // Default params + this.settings = { + separator_class : 'mceMenuSeparator', + title_class : 'mceMenuTitle', + disabled_class : 'mceMenuDisabled', + menu_class : 'mceMenu', + drop_menu : true + }; + + for (n in s) + this.settings[n] = s[n]; + + this.create('div', this.settings.menu_class); + }, + + clear : function() { + this.items = new Array(); + }, + + addTitle : function(t) { + this.add({type : 'title', text : t}); + }, + + addDisabled : function(t) { + this.add({type : 'disabled', text : t}); + }, + + addSeparator : function() { + this.add({type : 'separator'}); + }, + + addItem : function(t, js) { + this.add({text : t, js : js}); + }, + + add : function(mi) { + this.items[this.items.length] = mi; + this.needsUpdate = true; + }, + + update : function() { + var e = this.getElement(), h = '', i, t, m = this.items, s = this.settings; + + if (this.settings.drop_menu) + h += ''; + + h += ''; + + for (i=0; i'; + } + + h += '
          '; + break; + + case 'title': + h += '
          ' + t + ''; + break; + + case 'disabled': + h += '
          ' + t + ''; + break; + + default: + h += '
          ' + t + ''; + } + + h += '
          '; + + e.innerHTML = h; + + this.needsUpdate = false; + this.updateBlocker(); + }, + + show : function() { + var nl, i; + + if (tinyMCE.lastMenu == this) + return; + + if (this.needsUpdate) + this.update(); + + if (tinyMCE.lastMenu && tinyMCE.lastMenu != this) + tinyMCE.lastMenu.hide(); + + TinyMCE_Layer.prototype.show.call(this); + + if (!tinyMCE.isOpera) { + // Accessibility stuff +/* nl = this.getElement().getElementsByTagName("a"); + if (nl.length > 0) + nl[0].focus();*/ + } + + tinyMCE.lastMenu = this; + } +}); + +/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */ + +TinyMCE_Engine.prototype.debug = function() { + var m = "", e, a, i; + + e = document.getElementById("tinymce_debug"); + if (!e) { + var d = document.createElement("div"); + d.setAttribute("className", "debugger"); + d.className = "debugger"; + d.innerHTML = 'Debug output:'; + + document.body.appendChild(d); + e = document.getElementById("tinymce_debug"); + } + + a = this.debug.arguments; + for (i=0; i'; + html += ''; + + return html; +} + +function pickColor(e, target_form_element) { + if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown") + tinyMCEPopup.pickColor(e, target_form_element); +} + +function updateColor(img_id, form_element_id) { + document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value; +} + +function setBrowserDisabled(id, state) { + var img = document.getElementById(id); + var lnk = document.getElementById(id + "_link"); + + if (lnk) { + if (state) { + lnk.setAttribute("realhref", lnk.getAttribute("href")); + lnk.removeAttribute("href"); + tinyMCE.switchClass(img, 'mceButtonDisabled', true); + } else { + lnk.setAttribute("href", lnk.getAttribute("realhref")); + tinyMCE.switchClass(img, 'mceButtonNormal', false); + } + } +} + +function getBrowserHTML(id, target_form_element, type, prefix) { + var option = prefix + "_" + type + "_browser_callback"; + var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); + if (cb == null) + return ""; + + var html = ""; + + html += ''; + html += ''; + + return html; +} + +function openBrower(img_id, target_form_element, type, option) { + var img = document.getElementById(img_id); + + if (img.className != "mceButtonDisabled") + tinyMCEPopup.openBrowser(target_form_element, type, option); +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/utils/mclayer.js 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/utils/mclayer.js --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/utils/mclayer.js 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/jscripts/tiny_mce/utils/mclayer.js 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,212 @@ +/** + * $RCSfile: mclayer.js,v $ + * $Revision: 1.2 $ + * $Date: 2006/02/06 20:11:09 $ + * + * Moxiecode floating layer script. + * + * @author Moxiecode + * @copyright Copyright 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +function MCLayer(id) { + this.id = id; + this.settings = new Array(); + this.blockerElement = null; + this.isMSIE = navigator.appName == "Microsoft Internet Explorer"; + this.events = false; + this.autoHideCallback = null; +} + +MCLayer.prototype = { + moveRelativeTo : function(re, p, a) { + var rep = this.getAbsPosition(re); + var w = parseInt(re.offsetWidth); + var h = parseInt(re.offsetHeight); + var x, y; + + switch (p) { + case "tl": + break; + + case "tr": + x = rep.absLeft + w; + y = rep.absTop; + break; + + case "bl": + break; + + case "br": + break; + } + + this.moveTo(x, y); + }, + + moveBy : function(dx, dy) { + var e = this.getElement(); + var x = parseInt(e.style.left); + var y = parseInt(e.style.top); + + e.style.left = (x + dx) + "px"; + e.style.top = (y + dy) + "px"; + + this.updateBlocker(); + }, + + moveTo : function(x, y) { + var e = this.getElement(); + + e.style.left = x + "px"; + e.style.top = y + "px"; + + this.updateBlocker(); + }, + + show : function() { + MCLayer.visibleLayer = this; + + this.getElement().style.display = 'block'; + this.updateBlocker(); + }, + + hide : function() { + this.getElement().style.display = 'none'; + this.updateBlocker(); + }, + + setAutoHide : function(s, cb) { + this.autoHideCallback = cb; + this.registerEventHandlers(); + }, + + getElement : function() { + return document.getElementById(this.id); + }, + + updateBlocker : function() { + if (!this.isMSIE) + return; + + var e = this.getElement(); + var b = this.getBlocker(); + var x = this.parseInt(e.style.left); + var y = this.parseInt(e.style.top); + var w = this.parseInt(e.offsetWidth); + var h = this.parseInt(e.offsetHeight); + + b.style.left = x + 'px'; + b.style.top = y + 'px'; + b.style.width = w + 'px'; + b.style.height = h + 'px'; + b.style.display = e.style.display; + }, + + getBlocker : function() { + if (!this.blockerElement) { + var d = document, b = d.createElement("iframe"); + + b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0'; + b.src = 'javascript:false;'; + b.frameBorder = '0'; + b.scrolling = 'no'; + + d.body.appendChild(b); + this.blockerElement = b; + } + + return this.blockerElement; + }, + + getAbsPosition : function(n) { + var p = {absLeft : 0, absTop : 0}; + + while (n) { + p.absLeft += n.offsetLeft; + p.absTop += n.offsetTop; + n = n.offsetParent; + } + + return p; + }, + + registerEventHandlers : function() { + if (!this.events) { + var d = document; + + this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown); + + this.events = true; + } + }, + + addEvent : function(o, n, h) { + if (o.attachEvent) + o.attachEvent("on" + n, h); + else + o.addEventListener(n, h, false); + }, + + onMouseDown : function(e) { + e = typeof(e) == "undefined" ? window.event : e; + var b = document.body; + var l = MCLayer.visibleLayer; + + if (l) { + var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX; + var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY; + var el = l.getElement(); + var x = parseInt(el.style.left); + var y = parseInt(el.style.top); + var w = parseInt(el.offsetWidth); + var h = parseInt(el.offsetHeight); + + if (!(mx > x && mx < x + w && my > y && my < y + h)) { + MCLayer.visibleLayer = null; + + if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my)) + return true; + + l.hide(); + } + } + }, + + addCSSClass : function(e, c) { + this.removeCSSClass(e, c); + var a = this.explode(' ', e.className); + a[a.length] = c; + e.className = a.join(' '); + }, + + removeCSSClass : function(e, c) { + var a = this.explode(' ', e.className), i; + + for (i=0; i 0); +} + +function validateSelection(form_name, element_name) { + return (document.forms[form_name].elements[element_name].selectedIndex > 0); +} + +function validateCheckBox(form_name, element_name) { + return document.forms[form_name].elements[element_name].checked; +} + +function validateCleanString(form_name, element_name) { + return testRegExp(form_name, element_name, '^[A-Za-z0-9_]+$'); +} + +function validateEmail(form_name, element_name) { + return testRegExp(form_name, element_name, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$'); +} + +function validateAbsUrl(form_name, element_name) { + return testRegExp(form_name, element_name, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$'); +} + +function validateNumber(form_name, element_name, allow_blank) { + return (!allow_blank && value == '') ? false : testRegExp(form_name, element_name, '^-?[0-9]*\\.?[0-9]*$'); +} + +function validateSize(form_name, element_name,) { + return testRegExp(form_name, element_name, '^[0-9]+(px|%)?$'); +} + +function validateID(form_name, element_name,) { + return testRegExp(form_name, element_name, '^[A-Za-z_]([A-Za-z0-9_])*$'); +} diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce/lgpl.txt 4.6-complete/uploadfiles/mambots/editors/mostlyce/lgpl.txt --- 4.6rc2/uploadfiles/mambots/editors/mostlyce/lgpl.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce/lgpl.txt 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,437 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. +. + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. +. + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. +. + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. +. + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. +. + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. +. + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. +. + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. +. + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce.php 4.6-complete/uploadfiles/mambots/editors/mostlyce.php --- 4.6rc2/uploadfiles/mambots/editors/mostlyce.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,279 @@ +registerFunction( 'onInitEditor', 'botmostlyceEditorInit' ); +$_MAMBOTS->registerFunction( 'onGetEditorContents', 'botmostlyceEditorGetContents' ); +$_MAMBOTS->registerFunction( 'onEditorArea', 'botmostlyceEditorEditorArea' ); + +Global $mosConfig_live_site, $jspath, $mosConfig_absolute_path; +include ($mosConfig_absolute_path."/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php"); + +// --- Start custom code DHS Informatisering - opensource@dhs.nl, www.dhs.nl +// This code makes it possible to use mostlyce in a website that combines normal and SSL-connections +if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") { + $jspath = "https:" . stristr ( $mosConfig_live_site, "//" ); +} else { + $jspath = "http:" . stristr ( $mosConfig_live_site, "//" ); +} +// Replaced every occurrence of '$mosConfig_live_site' with '$jspath' in this file +// --- End custom code DHS Informatisering --- + +//Render Row Buttons +function renderButton( $row, $remove_font ) +{ + $row = explode( ',', $row ); + foreach( $row as $key => $rowitem ) { + if( strpos( $rowitem, '-' ) === 0) { + unset( $row[$key] ); + } + if( $remove_font ){ + if( $rowitem == 'fontselect' || $rowitem == 'fontsizeselect' || $rowitem == 'forecolor' || $rowitem == 'backcolor' ) { + unset( $row[$key] ); + } + } + } + return $new_row = implode( ',', array_values( $row ) ); +} + +//Use new $adminside global for 4.6+, doesn't exist pre46 so we have to determine it dynamically +/******* +// So 4.5.3 & 4.5.4 specific +if (!isset($adminside)) { + $url_check = $_SERVER['PHP_SELF']; + if (preg_match("/administrator/", $url_check)) { + $adminside=1; + } +else $adminside=0; +} +//End 4.5.3 & 4.5.4 specific +********/ + +/** +* TinyMCE WYSIWYG Editor - javascript initialisation +*/ +function botmostlyceEditorInit() { + + global $mosConfig_live_site, $my, $database, $mosConfig_absolute_path, $jspath, $adminside; + + require ( $mosConfig_absolute_path."/mambots/editors/mostlyce/jscripts/tiny_mce/mostlyce_config.php" ); + + //Allows for dynamic editor sizing by apps like Remository + $get_width = mosGetParam($_GET,'width',NULL); + $get_height = mosGetParam($_GET,'height',NULL); + if ($get_width) {$editor_width = (int)$get_width; } + if ($get_height) {$editor_height = (int)$get_height; } + + // Get the default stylesheet (the 4.6 way) + $mainframe = mosMainFrame::getInstance(); + $cur_template = $mainframe->getTemplate(); + + //Stylesheet and templates assignments will change in 4.6 and use above syntax + /***** + //So below is 4.5.3 & 4.5.4 specific + // Get the default stylesheet + $query = "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='0'"; + $database->setQuery( $query ); + $cur_template = $database->loadResult(); + // Assigned template + if ( isset( $Itemid ) && $Itemid != "" && $Itemid != 0 ) { + $query = "SELECT template FROM #__templates_menu WHERE client_id='0' AND menuid='$Itemid' LIMIT 1"; + $database->setQuery( $query ); + $cur_template = $database->loadResult() ? $database->loadResult() : $cur_template; + } + //End 4.5.3 & 4.5.4 specific + ********/ + + //Plugin settings and Authorization + $invalid_elements[] = 'object,applet'; + + //Check access level and MOStlyCE Admin preference. Set editor items accordingly. + + //Flash Plugin (Only loads for Admin) + if( ($adminside>0) && ($editor_plugin_flash_acl=='true') ) { + $plugins[] = 'flash'; + } + //Script Elements (Only loads for Admin) + if( ($adminside>0) && ($editor_script_acl=='true') ) { + $elements[] = "script[$editor_script_elms]"; + } else { + $invalid_elements[] = "script"; + } + //IFrame Elements (Only loads for Admin) + if( ($adminside>0) && ($editor_iframe_acl=='true') ) { + $elements[] = "iframe[$editor_iframe_elms]"; + } + //Font Options + if ( $editor_font_tools_acl=='true' ) { + $elements[] = "font[face|size|color|style]"; + $remove_font = false; + }else{ + $remove_font = true; + } + //Emotions Plugin + if( $editor_plugin_emotions_acl=='true' ) { + $plugins[] = 'emotions'; + } + //Print Plugin + if( $editor_plugin_print=='true' ) { + $plugins[] = 'print'; + } + //Search & Replace Plugin + if( $editor_plugin_searchreplace=='true' ) { + $plugins[] = 'searchreplace'; + } + //Table Plugin + if( $editor_plugin_table_acl=='true' ) { + $plugins[] = 'table'; + } + //DateTime Plugin + if( $editor_plugin_datetime_acl=='true' ) { + $plugins[] = 'insertdatetime'; + } + //SpellChecker Plugin + if( $editor_plugin_spellchecker=='true' ) { + $plugins[] = 'spellchecker'; + } + //Layer Plugin + if( $editor_plugin_layer=='true' ) { + $plugins[] = 'layer'; + } + //Paragraphs or breaks + if ( $editor_newlines == 'p' ){ + $p_newlines = "true"; + $br_newlines = "false"; + } + if ( $editor_newlines == 'br' ){ + $p_newlines = "false"; + $br_newlines = "true"; + } + + $css_template = $mosConfig_live_site."/templates/".$cur_template."/css/"; + $content_css = ($editor_css_override == '1' ) ? $css_template.$editor_custom_css : $css_template."template_css.css"; + + $editor_layout_row1 = renderButton( str_replace( "\r\n", "", $editor_layout_row1 ), $remove_font ); + $editor_layout_row2 = renderButton( str_replace( "\r\n", "", $editor_layout_row2 ), $remove_font ); + $editor_layout_row3 = renderButton( str_replace( "\r\n", "", $editor_layout_row3 ), $remove_font ); + $editor_layout_row4 = renderButton( str_replace( "\r\n", "", $editor_layout_row4 ), $remove_font ); + + //Plugins List + $plugins[] = $editor_extra_plugins; + $plugins = implode( ',', $plugins ); + $elements[] = $editor_xtd_elms; + $elements = implode( ',', $elements ); + $invalid_elements = implode( ',', $invalid_elements ); + +//Check TinyMCE compression setting and set correct file path +if ($editor_compression=='true') +{ $compress_file = "mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce_gzip.php"; } +else +{ $compress_file = "mambots/editors/mostlyce/jscripts/tiny_mce/tiny_mce.js"; } + + return << + + + + +EOD; +} +/** +* TinyMCE WYSIWYG Editor - copy editor contents to form field +* @param string The name of the editor area +* @param string The name of the form field +*/ +function botmostlyceEditorGetContents( $editorArea, $hiddenField ) { + global $jspath; + + return <<trigger( 'onCustomEditorButton' ); + $buttons = array(); + foreach ($results as $result) { + $buttons[] = ''; + } + $buttons = implode( "", $buttons ); + + return <<$content +
          $buttons +EOD; +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/editors/mostlyce.xml 4.6-complete/uploadfiles/mambots/editors/mostlyce.xml --- 4.6rc2/uploadfiles/mambots/editors/mostlyce.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/mostlyce.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,684 @@ + + + +MOStlyCE +1.9 +Sept 2006 +Chad Auld +cauld@mambo-foundation.org +http://opensourcepenguin.net +Chad Auld 2006 +LGPL +MOStlyContent Editor - a wysiwyg editor for Mambo, based on Moxiecode's +TinyMCE! and mosCE.

          Features:

          All the features of TinyMCE by Moxiecode and +mosCE 1.0.3 Final. Now with a recent version of TinyMCE, Advanced and Simple themes, editor compression, dynamic plugin loading, plus more.

          History: Ryan Demmer has moved on and is no longer developing the mosCE editor. Since futher development is not planned for mosCE I decided to create MOStlyCE based on mosCE and continue development.

          ]]>
          + +mostlyce.php +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/index.html +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/readme.txt +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/index.html +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/preview/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/preview/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/preview/images/index.html +mostlyce/jscripts/tiny_mce/plugins/preview/images/preview.gif +mostlyce/jscripts/tiny_mce/plugins/preview/example.html +mostlyce/jscripts/tiny_mce/plugins/preview/readme.txt +mostlyce/jscripts/tiny_mce/plugins/preview/index.html +mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/preview/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/directionality/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/directionality/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/directionality/images/rtl.gif +mostlyce/jscripts/tiny_mce/plugins/directionality/images/ltr.gif +mostlyce/jscripts/tiny_mce/plugins/directionality/images/index.html +mostlyce/jscripts/tiny_mce/plugins/directionality/readme.txt +mostlyce/jscripts/tiny_mce/plugins/directionality/index.html +mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/noneditable/css/index.html +mostlyce/jscripts/tiny_mce/plugins/noneditable/css/noneditable.css +mostlyce/jscripts/tiny_mce/plugins/noneditable/readme.txt +mostlyce/jscripts/tiny_mce/plugins/noneditable/index.html +mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/zoom/readme.txt +mostlyce/jscripts/tiny_mce/plugins/zoom/index.html +mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/zoom/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/index.html +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/index.html +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/spacer.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_close.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/readme.txt +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/index.html +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/cleanup/readme.txt +mostlyce/jscripts/tiny_mce/plugins/cleanup/index.html +mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/cleanup/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/autosave/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/autosave/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/autosave/readme.txt +mostlyce/jscripts/tiny_mce/plugins/autosave/index.html +mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/merge_cells.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/cell.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/table.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/row.js +mostlyce/jscripts/tiny_mce/plugins/table/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/table/css/row.css +mostlyce/jscripts/tiny_mce/plugins/table/css/table.css +mostlyce/jscripts/tiny_mce/plugins/table/css/cell.css +mostlyce/jscripts/tiny_mce/plugins/table/css/index.html +mostlyce/jscripts/tiny_mce/plugins/table/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/table/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_before.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_col_after.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_cell_props.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_col.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_merge_cells.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_before.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_insert_row_after.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/index.html +mostlyce/jscripts/tiny_mce/plugins/table/images/table_row_props.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete_row.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_split_cells.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/buttons.gif +mostlyce/jscripts/tiny_mce/plugins/table/images/table_delete.gif +mostlyce/jscripts/tiny_mce/plugins/table/table.htm +mostlyce/jscripts/tiny_mce/plugins/table/row.htm +mostlyce/jscripts/tiny_mce/plugins/table/readme.txt +mostlyce/jscripts/tiny_mce/plugins/table/merge_cells.htm +mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/table/cell.htm +mostlyce/jscripts/tiny_mce/plugins/table/index.html +mostlyce/jscripts/tiny_mce/plugins/table/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/advlink/jscripts/functions.js +mostlyce/jscripts/tiny_mce/plugins/advlink/css/index.html +mostlyce/jscripts/tiny_mce/plugins/advlink/css/advlink.css +mostlyce/jscripts/tiny_mce/plugins/advlink/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/advlink/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/advlink/readme.txt +mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/advlink/link.htm +mostlyce/jscripts/tiny_mce/plugins/advlink/index.html +mostlyce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fi.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/th.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pl.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/nl.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/de.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/fr.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/pt_br.js +mostlyce/jscripts/tiny_mce/plugins/mambo/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/mambo/images/index.html +mostlyce/jscripts/tiny_mce/plugins/mambo/images/mosimage.gif +mostlyce/jscripts/tiny_mce/plugins/mambo/images/mospagebreak.gif +mostlyce/jscripts/tiny_mce/plugins/mambo/index.html +mostlyce/jscripts/tiny_mce/plugins/mambo/mospagebreak.htm +mostlyce/jscripts/tiny_mce/plugins/mambo/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/print/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/print/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/print/images/index.html +mostlyce/jscripts/tiny_mce/plugins/print/images/print.gif +mostlyce/jscripts/tiny_mce/plugins/print/readme.txt +mostlyce/jscripts/tiny_mce/plugins/print/index.html +mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/print/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/iespell/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/iespell/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/iespell/images/index.html +mostlyce/jscripts/tiny_mce/plugins/iespell/images/iespell.gif +mostlyce/jscripts/tiny_mce/plugins/iespell/readme.txt +mostlyce/jscripts/tiny_mce/plugins/iespell/index.html +mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/flash.js +mostlyce/jscripts/tiny_mce/plugins/flash/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/css/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/css/flash.css +mostlyce/jscripts/tiny_mce/plugins/flash/css/content.css +mostlyce/jscripts/tiny_mce/plugins/flash/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/flash/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/images/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/images/flash.gif +mostlyce/jscripts/tiny_mce/plugins/flash/readme.txt +mostlyce/jscripts/tiny_mce/plugins/flash/index.html +mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/flash/flash.htm +mostlyce/jscripts/tiny_mce/plugins/flash/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/emotions/jscripts/functions.js +mostlyce/jscripts/tiny_mce/plugins/emotions/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/emotions/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-smile.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-wink.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/readme.txt +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/index.html +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-yell.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/emotions.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cry.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-cool.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-frown.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif +mostlyce/jscripts/tiny_mce/plugins/emotions/readme.txt +mostlyce/jscripts/tiny_mce/plugins/emotions/index.html +mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/emotions/emotions.htm +mostlyce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/save/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/save/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/save/images/save.gif +mostlyce/jscripts/tiny_mce/plugins/save/images/index.html +mostlyce/jscripts/tiny_mce/plugins/save/readme.txt +mostlyce/jscripts/tiny_mce/plugins/save/index.html +mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/save/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js +mostlyce/jscripts/tiny_mce/plugins/fullpage/css/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +mostlyce/jscripts/tiny_mce/plugins/fullpage/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/fullpage/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_up.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/add.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/fullpage.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/remove.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/images/move_down.gif +mostlyce/jscripts/tiny_mce/plugins/fullpage/blank.htm +mostlyce/jscripts/tiny_mce/plugins/fullpage/index.html +mostlyce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/index.html +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/images/htmltemplate.gif +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/blank.htm +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/index.html +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/htmltemplate.php +mostlyce/jscripts/tiny_mce/plugins/htmltemplate/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/style/jscripts/props.js +mostlyce/jscripts/tiny_mce/plugins/style/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/style/css/props.css +mostlyce/jscripts/tiny_mce/plugins/style/css/index.html +mostlyce/jscripts/tiny_mce/plugins/style/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/style/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/style/images/index.html +mostlyce/jscripts/tiny_mce/plugins/style/images/style_info.gif +mostlyce/jscripts/tiny_mce/plugins/style/images/apply_button_bg.gif +mostlyce/jscripts/tiny_mce/plugins/style/readme.txt +mostlyce/jscripts/tiny_mce/plugins/style/props.htm +mostlyce/jscripts/tiny_mce/plugins/style/index.html +mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/style/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/replace.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/jscripts/search.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/index.html +mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/search.gif +mostlyce/jscripts/tiny_mce/plugins/searchreplace/images/replace.gif +mostlyce/jscripts/tiny_mce/plugins/searchreplace/search.htm +mostlyce/jscripts/tiny_mce/plugins/searchreplace/readme.txt +mostlyce/jscripts/tiny_mce/plugins/searchreplace/index.html +mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/searchreplace/replace.htm +mostlyce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/fullscreen/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/index.html +mostlyce/jscripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif +mostlyce/jscripts/tiny_mce/plugins/fullscreen/readme.txt +mostlyce/jscripts/tiny_mce/plugins/fullscreen/index.html +mostlyce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +mostlyce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/rule.js +mostlyce/jscripts/tiny_mce/plugins/advhr/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/css/advhr.css +mostlyce/jscripts/tiny_mce/plugins/advhr/css/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/advhr/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/images/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/images/advhr.gif +mostlyce/jscripts/tiny_mce/plugins/advhr/rule.htm +mostlyce/jscripts/tiny_mce/plugins/advhr/readme.txt +mostlyce/jscripts/tiny_mce/plugins/advhr/index.html +mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/spellchecker/changelog +mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/classes/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/content.css +mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/spellchecker.css +mostlyce/jscripts/tiny_mce/plugins/spellchecker/css/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/spellchecker.gif +mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/wline.gif +mostlyce/jscripts/tiny_mce/plugins/spellchecker/images/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/spellchecker/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/tinyspell.php +mostlyce/jscripts/tiny_mce/plugins/spellchecker/index.html +mostlyce/jscripts/tiny_mce/plugins/spellchecker/config.php~ +mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/index.html +mostlyce/jscripts/tiny_mce/plugins/contextmenu/images/spacer.gif +mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/index.html +mostlyce/jscripts/tiny_mce/plugins/contextmenu/css/contextmenu.css +mostlyce/jscripts/tiny_mce/plugins/contextmenu/readme.txt +mostlyce/jscripts/tiny_mce/plugins/contextmenu/index.html +mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/_template/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/_template/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/_template/images/index.html +mostlyce/jscripts/tiny_mce/plugins/_template/images/template.gif +mostlyce/jscripts/tiny_mce/plugins/_template/readme.txt +mostlyce/jscripts/tiny_mce/plugins/_template/popup.htm +mostlyce/jscripts/tiny_mce/plugins/_template/index.html +mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/_template/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/layer/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/layer/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/layer/images/index.html +mostlyce/jscripts/tiny_mce/plugins/layer/images/forward.gif +mostlyce/jscripts/tiny_mce/plugins/layer/images/backward.gif +mostlyce/jscripts/tiny_mce/plugins/layer/images/absolute.gif +mostlyce/jscripts/tiny_mce/plugins/layer/images/insert_layer.gif +mostlyce/jscripts/tiny_mce/plugins/layer/readme.txt +mostlyce/jscripts/tiny_mce/plugins/layer/index.html +mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pastetext.js +mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/jscripts/pasteword.js +mostlyce/jscripts/tiny_mce/plugins/paste/css/blank.css +mostlyce/jscripts/tiny_mce/plugins/paste/css/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/css/pasteword.css +mostlyce/jscripts/tiny_mce/plugins/paste/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/paste/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/images/selectall.gif +mostlyce/jscripts/tiny_mce/plugins/paste/images/pasteword.gif +mostlyce/jscripts/tiny_mce/plugins/paste/images/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/images/pastetext.gif +mostlyce/jscripts/tiny_mce/plugins/paste/blank.htm +mostlyce/jscripts/tiny_mce/plugins/paste/readme.txt +mostlyce/jscripts/tiny_mce/plugins/paste/index.html +mostlyce/jscripts/tiny_mce/plugins/paste/pastetext.htm +mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/paste/pasteword.htm +mostlyce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/jscripts/functions.js +mostlyce/jscripts/tiny_mce/plugins/advimage/css/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/css/advimage.css +mostlyce/jscripts/tiny_mce/plugins/advimage/langs/en.js +mostlyce/jscripts/tiny_mce/plugins/advimage/langs/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/images/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/images/sample.gif +mostlyce/jscripts/tiny_mce/plugins/advimage/readme.txt +mostlyce/jscripts/tiny_mce/plugins/advimage/index.html +mostlyce/jscripts/tiny_mce/plugins/advimage/image.htm +mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +mostlyce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +mostlyce/jscripts/tiny_mce/plugins/readme.txt +mostlyce/jscripts/tiny_mce/plugins/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/css/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_ui.css +mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_popup.css +mostlyce/jscripts/tiny_mce/themes/advanced/css/editor_content.css +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/about.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm +mostlyce/jscripts/tiny_mce/themes/advanced/docs/en/style.css +mostlyce/jscripts/tiny_mce/themes/advanced/docs/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/image.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/link.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/color_picker.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/charmap.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/anchor.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/about.js +mostlyce/jscripts/tiny_mce/themes/advanced/jscripts/source_editor.js +mostlyce/jscripts/tiny_mce/themes/advanced/langs/en.js +mostlyce/jscripts/tiny_mce/themes/advanced/langs/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_end.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/code.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/sup.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_fr.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/images/close.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/menu_check.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/unlink.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_tw.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/button_menu.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/backcolor.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/insert_button_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/buttons.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/link.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_es.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_ru.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyright.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/cut.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/custom_1.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/sub.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/redo.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/help.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/justifycenter.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/outdent.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/visualaid.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/indent.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyfull.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_tw.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_de_se.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/color.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/spacer.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_fr.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_ru.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/copy.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/hr.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/justifyleft.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_es.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/removeformat.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/undo.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/italic_de_se.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/strikethrough.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/browse.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/separator.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/anchor_symbol.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/numlist.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_tw.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/forecolor.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/statusbar_resize.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/cleanup.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/opacity.png +mostlyce/jscripts/tiny_mce/themes/advanced/images/bold_ru.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/image.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/bullist.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/newdocument.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/paste.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/charmap.gif +mostlyce/jscripts/tiny_mce/themes/advanced/images/underline_es.gif +mostlyce/jscripts/tiny_mce/themes/advanced/index.html +mostlyce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +mostlyce/jscripts/tiny_mce/themes/advanced/image.htm +mostlyce/jscripts/tiny_mce/themes/advanced/charmap.htm +mostlyce/jscripts/tiny_mce/themes/advanced/anchor.htm +mostlyce/jscripts/tiny_mce/themes/advanced/about.htm +mostlyce/jscripts/tiny_mce/themes/advanced/color_picker.htm +mostlyce/jscripts/tiny_mce/themes/advanced/source_editor.htm +mostlyce/jscripts/tiny_mce/themes/advanced/editor_template.js +mostlyce/jscripts/tiny_mce/themes/advanced/link.htm +mostlyce/jscripts/tiny_mce/themes/simple/images/bold_fr.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/index.html +mostlyce/jscripts/tiny_mce/themes/simple/images/undo.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/italic.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/italic_de_se.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/separator.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/underline_tw.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/buttons.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/underline_ru.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/numlist.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bold_tw.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/redo.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/cleanup.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bold_ru.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/underline.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bold.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bold_de_se.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/italic_tw.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/bullist.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/spacer.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/underline_fr.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/italic_ru.gif +mostlyce/jscripts/tiny_mce/themes/simple/images/strikethrough.gif +mostlyce/jscripts/tiny_mce/themes/simple/css/index.html +mostlyce/jscripts/tiny_mce/themes/simple/css/editor_ui.css +mostlyce/jscripts/tiny_mce/themes/simple/css/editor_popup.css +mostlyce/jscripts/tiny_mce/themes/simple/css/editor_content.css +mostlyce/jscripts/tiny_mce/themes/simple/editor_template.js +mostlyce/jscripts/tiny_mce/themes/simple/index.html +mostlyce/jscripts/tiny_mce/themes/simple/editor_template_src.js +mostlyce/jscripts/tiny_mce/themes/index.html +mostlyce/jscripts/tiny_mce/info/index.html +mostlyce/jscripts/tiny_mce/info/editor_info_english.txt +mostlyce/jscripts/tiny_mce/utils/index.html +mostlyce/jscripts/tiny_mce/utils/editable_selects.js +mostlyce/jscripts/tiny_mce/utils/mclayer.js +mostlyce/jscripts/tiny_mce/utils/validate.js +mostlyce/jscripts/tiny_mce/utils/mctabs.js +mostlyce/jscripts/tiny_mce/utils/form_utils.js +mostlyce/jscripts/tiny_mce/langs/en.js +mostlyce/jscripts/tiny_mce/langs/readme.txt +mostlyce/jscripts/tiny_mce/blank.htm +mostlyce/jscripts/tiny_mce/mostlyce_config.php +mostlyce/jscripts/tiny_mce/index.html +mostlyce/jscripts/tiny_mce/tiny_mce_popup.js +mostlyce/jscripts/tiny_mce/auth_plugin.php +mostlyce/jscripts/tiny_mce/mostlyce_functions.js +mostlyce/jscripts/tiny_mce/license.txt +mostlyce/jscripts/tiny_mce/tiny_mce_src.js +mostlyce/jscripts/tiny_mce/tiny_mce_gzip.php +mostlyce/jscripts/tiny_mce/tiny_mce.js +mostlyce/jscripts/index.html +mostlyce/docs/images/index.html +mostlyce/docs/images/moxiecode.gif +mostlyce/docs/css/index.html +mostlyce/docs/css/screen.css +mostlyce/docs/option_directionality.html +mostlyce/docs/option_theme_advanced_custom_layout.html +mostlyce/docs/plugin_table.html +mostlyce/docs/plugin_autosave.html +mostlyce/docs/option_theme_advanced_source_editor_width.html +mostlyce/docs/option_elements.html +mostlyce/docs/option_theme_advanced_disable.html +mostlyce/docs/option_handle_event_callback.html +mostlyce/docs/customization_language_packs.html +mostlyce/docs/option_save_callback.html +mostlyce/docs/option_theme_advanced_resizing.html +mostlyce/docs/option_convert_fonts_to_spans.html +mostlyce/docs/option_theme_advanced_buttons_n_add.html +mostlyce/docs/plugin_advimage.html +mostlyce/docs/option_editor_selector.html +mostlyce/docs/option_convert_urls.html +mostlyce/docs/installation_example_01.html +mostlyce/docs/option_custom_undo_redo_levels.html +mostlyce/docs/plugin_iespell.html +mostlyce/docs/option_invalid_elements.html +mostlyce/docs/option_add_unload_trigger.html +mostlyce/docs/option_external_link_list_url.html +mostlyce/docs/option_theme_advanced_buttons_n_add_before.html +mostlyce/docs/plugin_inlinepopups.html +mostlyce/docs/option_onpageload.html +mostlyce/docs/option_strict_loading_mode.html +mostlyce/docs/option_theme_advanced_statusbar_location.html +mostlyce/docs/option_ask.html +mostlyce/docs/option_language.html +mostlyce/docs/plugin_contextmenu.html +mostlyce/docs/option_visual_table_class.html +mostlyce/docs/option_font_size_style_values.html +mostlyce/docs/option_editor_css.html +mostlyce/docs/reference_configuration.html +mostlyce/docs/option_convert_newlines_to_brs.html +mostlyce/docs/plugin_searchreplace.html +mostlyce/docs/option_inline_styles.html +mostlyce/docs/option_object_resizing.html +mostlyce/docs/option_theme_advanced_container_class.html +mostlyce/docs/option_theme_advanced_source_editor_height.html +mostlyce/docs/plugin_directionality.html +mostlyce/docs/option_theme_advanced_containers_default_class.html +mostlyce/docs/index.html +mostlyce/docs/option_auto_reset_designmode.html +mostlyce/docs/option_theme_advanced_toolbar_location.html +mostlyce/docs/installing.html +mostlyce/docs/plugin_fullpage.html +mostlyce/docs/option_insertlink_callback.html +mostlyce/docs/option_onchange_callback.html +mostlyce/docs/option_force_hex_style_colors.html +mostlyce/docs/option_docs_language.html +mostlyce/docs/compatiblity_chart.html +mostlyce/docs/option_theme_advanced_container.html +mostlyce/docs/plugin_fullscreen.html +mostlyce/docs/option_trim_span_elements.html +mostlyce/docs/option_accessibility_focus.html +mostlyce/docs/option_force_br_newlines.html +mostlyce/docs/reference_javascript_functions.html +mostlyce/docs/option_theme_advanced_blockformats.html +mostlyce/docs/customization_plugins.html +mostlyce/docs/option_add_form_submit_trigger.html +mostlyce/docs/option_relative_urls.html +mostlyce/docs/option_fix_content_duplication.html +mostlyce/docs/option_theme_advanced_toolbar_align.html +mostlyce/docs/option_custom_undo_redo.html +mostlyce/docs/option_font_size_classes.html +mostlyce/docs/option_cleanup_callback.html +mostlyce/docs/option_textarea_trigger.html +mostlyce/docs/option_file_browser_callback.html +mostlyce/docs/plugin_print.html +mostlyce/docs/option_fix_table_elements.html +mostlyce/docs/option_verify_css_classes.html +mostlyce/docs/option_custom_shortcuts.html +mostlyce/docs/option_table_inline_editing.html +mostlyce/docs/installation_example_02.html +mostlyce/docs/option_button_tile_map.html +mostlyce/docs/plugin_flash.html +mostlyce/docs/option_entity_encoding.html +mostlyce/docs/option_content_css.html +mostlyce/docs/option_theme_advanced_resize_horizontal.html +mostlyce/docs/option_theme_advanced_buttons_n.html +mostlyce/docs/option_remove_script_host.html +mostlyce/docs/plugin_noneditable.html +mostlyce/docs/option_focus_alert.html +mostlyce/docs/option_urlconverter_callback.html +mostlyce/docs/option_theme_advanced_link_targets.html +mostlyce/docs/option_visual.html +mostlyce/docs/plugin_paste.html +mostlyce/docs/option_theme.html +mostlyce/docs/option_theme_advanced_fonts.html +mostlyce/docs/plugin_spellchecker.html +mostlyce/docs/option_document_base_url.html +mostlyce/docs/option_insertimage_callback.html +mostlyce/docs/option_custom_undo_redo_restore_selection.html +mostlyce/docs/option_entities.html +mostlyce/docs/plugin_emotions.html +mostlyce/docs/plugin_advlink.html +mostlyce/docs/option_extended_valid_elements.html +mostlyce/docs/option_height.html +mostlyce/docs/plugin_insertdatetime.html +mostlyce/docs/option_hidden_tab_class.html +mostlyce/docs/option_init_instance_callback.html +mostlyce/docs/option_plugins.html +mostlyce/docs/credits.html +mostlyce/docs/option_dialog_type.html +mostlyce/docs/option_execcommand_callback.html +mostlyce/docs/option_editor_deselector.html +mostlyce/docs/option_apply_source_formatting.html +mostlyce/docs/option_popups_css.html +mostlyce/docs/option_preformatted.html +mostlyce/docs/option_theme_advanced_containers_default_align.html +mostlyce/docs/option_valid_elements.html +mostlyce/docs/plugin_advhr.html +mostlyce/docs/option_theme_advanced_styles.html +mostlyce/docs/option_cleanup.html +mostlyce/docs/customization_themes.html +mostlyce/docs/installation_example_00.html +mostlyce/docs/option_force_p_newlines.html +mostlyce/docs/option_display_tab_class.html +mostlyce/docs/option_fix_list_elements.html +mostlyce/docs/option_theme_advanced_containers.html +mostlyce/docs/option_theme_advanced_container_align.html +mostlyce/docs/option_theme_advanced_resizing_use_cookie.html +mostlyce/docs/plugin_preview.html +mostlyce/docs/option_doctype.html +mostlyce/docs/option_browsers.html +mostlyce/docs/reference_buttons.html +mostlyce/docs/option_oninit.html +mostlyce/docs/option_remove_linebreaks.html +mostlyce/docs/option_external_image_list_url.html +mostlyce/docs/option_auto_resize.html +mostlyce/docs/option_verify_html.html +mostlyce/docs/plugin_style.html +mostlyce/docs/installation_example_03.html +mostlyce/docs/faq.html +mostlyce/docs/license.html +mostlyce/docs/about.html +mostlyce/docs/option_mode.html +mostlyce/docs/option_theme_advanced_layout_manager.html +mostlyce/docs/option_event_elements.html +mostlyce/docs/option_setupcontent_callback.html +mostlyce/docs/option_auto_focus.html +mostlyce/docs/option_custom_undo_redo_keyboard_shortcuts.html +mostlyce/docs/option_theme_advanced_source_editor_wrap.html +mostlyce/docs/option_width.html +mostlyce/docs/option_submit_patch.html +mostlyce/docs/option_merge_styles_invalid_parents.html +mostlyce/docs/option_cleanup_on_startup.html +mostlyce/docs/option_theme_advanced_path.html +mostlyce/docs/option_nowrap.html +mostlyce/docs/option_accessibility_warnings.html +mostlyce/docs/option_theme_advanced_path_location.html +mostlyce/docs/plugin_zoom.html +mostlyce/docs/plugin_layer.html +mostlyce/docs/option_encoding.html +mostlyce/docs/reference_plugins.html +mostlyce/docs/plugin_save.html +mostlyce/docs/option_debug.html +mostlyce/lgpl.txt +mostlyce/index.html +mostlyce.xml + +
          diff -ruN 4.6rc2/uploadfiles/mambots/editors/none.php 4.6-complete/uploadfiles/mambots/editors/none.php --- 4.6rc2/uploadfiles/mambots/editors/none.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/none.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,79 @@ +registerFunction( 'onInitEditor', 'botNoEditorInit' ); +$_MAMBOTS->registerFunction( 'onGetEditorContents', 'botNoEditorGetContents' ); +$_MAMBOTS->registerFunction( 'onEditorArea', 'botNoEditorEditorArea' ); + +/** +* No WYSIWYG Editor - javascript initialisation +*/ +function botNoEditorInit() { + return << + function insertAtCursor(myField, myValue) { + if (document.selection) { + // IE support + myField.focus(); + sel = document.selection.createRange(); + sel.text = myValue; + } else if (myField.selectionStart || myField.selectionStart == '0') { + // MOZILLA/NETSCAPE support + var startPos = myField.selectionStart; + var endPos = myField.selectionEnd; + myField.value = myField.value.substring(0, startPos) + + myValue + + myField.value.substring(endPos, myField.value.length); + } else { + myField.value += myValue; + } + } + +EOD; +} +/** +* No WYSIWYG Editor - copy editor contents to form field +* @param string The name of the editor area +* @param string The name of the form field +*/ +function botNoEditorGetContents( $editorArea, $hiddenField ) { + return <<trigger( 'onCustomEditorButton' ); + $buttons = array(); + foreach ($results as $result) { + $buttons[] = ''; + } + $buttons = implode( "", $buttons ); + + return <<$content +
          $buttons +EOD; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors/none.xml 4.6-complete/uploadfiles/mambots/editors/none.xml --- 4.6rc2/uploadfiles/mambots/editors/none.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors/none.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,16 @@ + + + none + + Dec 2005 + + N/A + + http://www.gnu.org/copyleft/gpl.html GNU/GPL + LGPL + This loads a basic text entry field + + none.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/editors-xtd/index.html 4.6-complete/uploadfiles/mambots/editors-xtd/index.html --- 4.6rc2/uploadfiles/mambots/editors-xtd/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors-xtd/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors-xtd/mosimage.btn.php 4.6-complete/uploadfiles/mambots/editors-xtd/mosimage.btn.php --- 4.6rc2/uploadfiles/mambots/editors-xtd/mosimage.btn.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors-xtd/mosimage.btn.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,25 @@ +registerFunction( 'onCustomEditorButton', 'botMosImageButton' ); + +/** +* mosimage button +* @return array A two element array of ( imageName, textToInsert ) +*/ +function botMosImageButton() { + global $mosConfig_live_site; + return array( 'mosimage.gif', '{mosimage}' ); +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors-xtd/mosimage.btn.xml 4.6-complete/uploadfiles/mambots/editors-xtd/mosimage.btn.xml --- 4.6rc2/uploadfiles/mambots/editors-xtd/mosimage.btn.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors-xtd/mosimage.btn.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,15 @@ + + + mosimage.btn + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Provides button to insert {mosimage} into content edit box + + mosimage.btn.php + + Binary files 4.6rc2/uploadfiles/mambots/editors-xtd/mosimage.gif and 4.6-complete/uploadfiles/mambots/editors-xtd/mosimage.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/editors-xtd/mospage.btn.php 4.6-complete/uploadfiles/mambots/editors-xtd/mospage.btn.php --- 4.6rc2/uploadfiles/mambots/editors-xtd/mospage.btn.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors-xtd/mospage.btn.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,25 @@ +registerFunction( 'onCustomEditorButton', 'botMosPageButton' ); + +/** +* mospage button +* @return array A two element array of ( imageName, textToInsert ) +*/ +function botMosPageButton() { + global $mosConfig_live_site; + return array( 'mospage.gif', '{mospagebreak}' ); +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/editors-xtd/mospage.btn.xml 4.6-complete/uploadfiles/mambots/editors-xtd/mospage.btn.xml --- 4.6rc2/uploadfiles/mambots/editors-xtd/mospage.btn.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/editors-xtd/mospage.btn.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,15 @@ + + + mospage.btn + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Provides button to insert {mospagebreak} into content edit box + + mospage.btn.php + + Binary files 4.6rc2/uploadfiles/mambots/editors-xtd/mospage.gif and 4.6-complete/uploadfiles/mambots/editors-xtd/mospage.gif differ diff -ruN 4.6rc2/uploadfiles/mambots/index.html 4.6-complete/uploadfiles/mambots/index.html --- 4.6rc2/uploadfiles/mambots/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/search/categories.searchbot.php 4.6-complete/uploadfiles/mambots/search/categories.searchbot.php --- 4.6rc2/uploadfiles/mambots/search/categories.searchbot.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/categories.searchbot.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,82 @@ +registerFunction( 'onSearch', 'botSearchCategories' ); + +/** +* Categories Search method +* +* The sql must return the following fields that are used in a common display +* routine: href, title, section, created, text, browsernav +* @param string Target search string +* @param string mathcing option, exact|any|all +* @param string ordering option, newest|oldest|popular|alpha|category +*/ +function botSearchCategories( $text, $phrase='', $ordering='' ) { + global $database, $my; + + $text = trim( $text ); + if ( $text == '' ) { + return array(); + } + + switch ( $ordering ) { + case 'alpha': + $order = 'a.name ASC'; + break; + + case 'category': + case 'popular': + case 'newest': + case 'oldest': + default: + $order = 'a.name DESC'; + } + + $query = "SELECT a.name AS title," + . "\n a.description AS text," + . "\n '' AS created," + . "\n '2' AS browsernav," + . "\n s.id AS secid, a.id AS catid," + . "\n m.id AS menuid, m.type AS menutype" + . "\n FROM #__categories AS a" + . "\n INNER JOIN #__sections AS s ON s.id = a.section" + . "\n LEFT JOIN #__menu AS m ON m.componentid = a.id" + . "\n WHERE ( a.name LIKE '%$text%'" + . "\n OR a.title LIKE '%$text%'" + . "\n OR a.description LIKE '%$text%' )" + . "\n AND a.published = '1'" + . "\n AND a.access <= '$my->gid'" + . "\n AND ( m.type = 'content_section' OR m.type = 'content_blog_section'" + . "\n OR m.type = 'content_category' OR m.type = 'content_blog_category')" + . "\n ORDER BY $order" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + $count = count( $rows ); + for ( $i = 0; $i < $count; $i++ ) { + if ( $rows[$i]->menutype == 'content_category' ) { + $rows[$i]->href = 'index.php?option=com_content&task=category§ionid='. $rows[$i]->secid .'&id='. $rows[$i]->catid .'&Itemid='. $rows[$i]->menuid; + $rows[$i]->section = T_('Category List'); + } + if ( $rows[$i]->menutype == 'content_blog_category' ) { + $rows[$i]->href = 'index.php?option=com_content&task=blogcategory&id='. $rows[$i]->catid .'&Itemid='. $rows[$i]->menuid; + $rows[$i]->section = T_('Category Blog'); + } + } + + return $rows; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/search/categories.searchbot.xml 4.6-complete/uploadfiles/mambots/search/categories.searchbot.xml --- 4.6rc2/uploadfiles/mambots/search/categories.searchbot.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/categories.searchbot.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,16 @@ + + + categories searchbot + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Allows Searching of Categories information + + categories.searchbot.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/search/contacts.searchbot.php 4.6-complete/uploadfiles/mambots/search/contacts.searchbot.php --- 4.6rc2/uploadfiles/mambots/search/contacts.searchbot.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/contacts.searchbot.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,78 @@ +registerFunction( 'onSearch', 'botSearchContacts' ); + +/** +* Contacts Search method +* +* The sql must return the following fields that are used in a common display +* routine: href, title, section, created, text, browsernav +* @param string Target search string +* @param string mathcing option, exact|any|all +* @param string ordering option, newest|oldest|popular|alpha|category +*/ +function botSearchContacts( $text, $phrase='', $ordering='' ) { + global $database, $my; + + $text = trim( $text ); + if ($text == '') { + return array(); + } + + $section = T_('Contact'); + + switch ( $ordering ) { + case 'alpha': + $order = 'a.name ASC'; + break; + case 'category': + $order = 'b.title ASC, a.name ASC'; + break; + case 'popular': + case 'newest': + case 'oldest': + default: + $order = 'a.name DESC'; + } + + $database->setQuery("SELECT id FROM #__menu WHERE link LIKE 'index.php?option=com_contact%' ORDER BY LENGTH(link)"); + $citemid = $database->loadResult(); + + $query = "SELECT a.name AS title," + . "\n CONCAT_WS( ', ', a.name, a.con_position, a.misc ) AS text," + . "\n '' AS created," + . "\n CONCAT_WS( ' / ', '$section', b.title ) AS section," + . "\n '2' AS browsernav," + . "\n CONCAT( 'index.php?option=com_contact&task=view&Itemid=$citemid&contact_id=', a.id ) AS href" + . "\n FROM #__contact_details AS a" + . "\n INNER JOIN #__categories AS b ON b.id = a.catid AND b.access <= '$my->gid'" + . "\n WHERE ( a.name LIKE '%$text%'" + . "\n OR a.misc LIKE '%$text%'" + . "\n OR a.con_position LIKE '%$text%'" + . "\n OR a.address LIKE '%$text%'" + . "\n OR a.suburb LIKE '%$text%'" + . "\n OR a.state LIKE '%$text%'" + . "\n OR a.country LIKE '%$text%'" + . "\n OR a.postcode LIKE '%$text%'" + . "\n OR a.telephone LIKE '%$text%'" + . "\n OR a.fax LIKE '%$text%' )" + . "\n AND a.published = '1'" + . "\n ORDER BY $order" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + return $rows; +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/search/contacts.searchbot.xml 4.6-complete/uploadfiles/mambots/search/contacts.searchbot.xml --- 4.6rc2/uploadfiles/mambots/search/contacts.searchbot.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/contacts.searchbot.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,16 @@ + + + contacts searchbot + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Allows Searching of Contacts Component + + contacts.searchbot.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/search/content.searchbot.php 4.6-complete/uploadfiles/mambots/search/content.searchbot.php --- 4.6rc2/uploadfiles/mambots/search/content.searchbot.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/content.searchbot.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,156 @@ +registerFunction( 'onSearch', 'botSearchContent' ); + +/** +* Content Search method +* +* The sql must return the following fields that are used in a common display +* routine: href, title, section, created, text, browsernav +* @param string Target search string +* @param string mathcing option, exact|any|all +* @param string ordering option, newest|oldest|popular|alpha|category +*/ +function botSearchContent( $text, $phrase='', $ordering='' ) { + global $my, $database; + global $mosConfig_absolute_path, $mosConfig_offset; + + $_SESSION['searchword'] = $text; + + $now = date( "Y-m-d H:i:s", time()+$mosConfig_offset*60*60 ); + + $text = trim( $text ); + if ($text == '') { + return array(); + } + + $wheres = array(); + switch ($phrase) { + case 'exact': + $wheres2 = array(); + $wheres2[] = "LOWER(a.title) LIKE '%$text%'"; + $wheres2[] = "LOWER(a.introtext) LIKE '%$text%'"; + $wheres2[] = "LOWER(a.fulltext) LIKE '%$text%'"; + $wheres2[] = "LOWER(a.metakey) LIKE '%$text%'"; + $wheres2[] = "LOWER(a.metadesc) LIKE '%$text%'"; + $where = '(' . implode( ') OR (', $wheres2 ) . ')'; + break; + case 'all': + case 'any': + default: + $words = explode( ' ', $text ); + $wheres = array(); + foreach ($words as $word) { + $wheres2 = array(); + $wheres2[] = "LOWER(a.title) LIKE '%$word%'"; + $wheres2[] = "LOWER(a.introtext) LIKE '%$word%'"; + $wheres2[] = "LOWER(a.fulltext) LIKE '%$word%'"; + $wheres2[] = "LOWER(a.metakey) LIKE '%$word%'"; + $wheres2[] = "LOWER(a.metadesc) LIKE '%$word%'"; + $wheres[] = implode( ' OR ', $wheres2 ); + } + $where = '(' . implode( ($phrase == 'all' ? ') AND (' : ') OR ('), $wheres ) . ')'; + break; + } + + $morder = ''; + switch ($ordering) { + case 'newest': + default: + $order = 'a.created DESC'; + break; + case 'oldest': + $order = 'a.created ASC'; + break; + case 'popular': + $order = 'a.hits DESC'; + break; + case 'alpha': + $order = 'a.title ASC'; + break; + case 'category': + $order = 'b.title ASC, a.title ASC'; + $morder = 'a.title ASC'; + break; + } + + $sql = "SELECT a.title AS title," + . "\n a.created AS created," + . "\n CONCAT(a.introtext, a.fulltext) AS text," + . "\n CONCAT_WS( '/', u.title, b.title ) AS section,"; + $sql .= "\n CONCAT( 'index.php?option=com_content&task=view&id=', a.id ) AS href,"; + $sql .= "\n '2' AS browsernav" + . "\n FROM #__content AS a" + . "\n INNER JOIN #__categories AS b ON b.id=a.catid AND b.access <= '$my->gid'" + . "\n LEFT JOIN #__sections AS u ON u.id = a.sectionid" + . "\n WHERE ( $where )" + . "\n AND a.state = '1'" + . "\n AND a.access <= '$my->gid'" + . "\n AND u.published = '1'" + . "\n AND b.published = '1'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )" + . "\n ORDER BY $order"; + + $database->setQuery( $sql ); + + $list = $database->loadObjectList(); + + // search typed content + $database->setQuery( "SELECT a.title AS title, a.created AS created," + . "\n a.introtext AS text," + . "\n CONCAT( 'index.php?option=com_content&task=view&id=', a.id, '&Itemid=', m.id ) AS href," + . "\n '2' as browsernav, 'Menu' AS section" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__menu AS m ON m.componentid = a.id" + . "\n WHERE ($where)" + . "\n AND a.state='1' AND a.access<='$my->gid' AND m.type='content_typed'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )" + . "\n ORDER BY " . ($morder ? $morder : $order) + ); + $list2 = $database->loadObjectList(); + + // search archived content + $database->setQuery( "SELECT a.title AS title," + . "\n a.created AS created," + . "\n a.introtext AS text," + . "\n CONCAT_WS( '/', 'Archived ', u.title, b.title ) AS section," + . "\n CONCAT('index.php?option=com_content&task=view&id=',a.id) AS href," + . "\n '2' AS browsernav" + . "\n FROM #__content AS a" + . "\n INNER JOIN #__categories AS b ON b.id=a.catid AND b.access <='$my->gid'" + . "\n LEFT JOIN #__sections AS u ON u.id = a.sectionid" + . "\n WHERE ( $where )" + . "\n AND a.state = '-1' AND a.access <= '$my->gid'" + . "\n AND ( publish_up = '0000-00-00 00:00:00' OR publish_up <= '$now' )" + . "\n AND ( publish_down = '0000-00-00 00:00:00' OR publish_down >= '$now' )" + . "\n ORDER BY $order" + ); + $list3 = $database->loadObjectList(); + + $result = array(); + if ($list) $result = array_merge($result, $list); + if ($list2) $result = array_merge($result, $list2); + if ($list3) $result = array_merge($result, $list3); + $menuhandler = mosMenuHandler::getInstance(); + foreach ($result as $key=>$item) { + $Itemid = $menuhandler->getIDLikeLink($item->href); + if ($Itemid == 0) $Itemid = 1; + if ($Itemid) $result[$key]->href = $item->href.'&Itemid='.$Itemid; + } + return $result; +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/search/content.searchbot.xml 4.6-complete/uploadfiles/mambots/search/content.searchbot.xml --- 4.6rc2/uploadfiles/mambots/search/content.searchbot.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/content.searchbot.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,16 @@ + + + content searchbot + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Allows Searching of all Content items + + content.searchbot.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/search/index.html 4.6-complete/uploadfiles/mambots/search/index.html --- 4.6rc2/uploadfiles/mambots/search/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/index.html 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/search/newsfeeds.searchbot.php 4.6-complete/uploadfiles/mambots/search/newsfeeds.searchbot.php --- 4.6rc2/uploadfiles/mambots/search/newsfeeds.searchbot.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/newsfeeds.searchbot.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,93 @@ +registerFunction( 'onSearch', 'botSearchNewsfeedslinks' ); + +/** +* Contacts Search method +* +* The sql must return the following fields that are used in a common display +* routine: href, title, section, created, text, browsernav +* @param string Target search string +* @param string mathcing option, exact|any|all +* @param string ordering option, newest|oldest|popular|alpha|category +*/ +function botSearchNewsfeedslinks( $text, $phrase='', $ordering='' ) { + global $database, $my; + + $text = trim( $text ); + if ($text == '') { + return array(); + } + + $menuhandler = mosMenuHandler::getInstance(); + $Itemid = $menuhandler->getIDByTypeLink('*', 'index.php?option=com_newsfeeds'); + + $wheres = array(); + switch ($phrase) { + case 'exact': + $wheres2 = array(); + $wheres2[] = "LOWER(a.name) LIKE '%$text%'"; + $wheres2[] = "LOWER(a.link) LIKE '%$text%'"; + $where = '(' . implode( ') OR (', $wheres2 ) . ')'; + break; + case 'all': + case 'any': + default: + $words = explode( ' ', $text ); + $wheres = array(); + foreach ($words as $word) { + $wheres2 = array(); + $wheres2[] = "LOWER(a.name) LIKE '%$word%'"; + $wheres2[] = "LOWER(a.link) LIKE '%$word%'"; + $wheres[] = implode( ' OR ', $wheres2 ); + } + $where = '(' . implode( ($phrase == 'all' ? ') AND (' : ') OR ('), $wheres ) . ')'; + break; + } + + + switch ( $ordering ) { + case 'alpha': + $order = 'a.name ASC'; + break; + + case 'category': + $order = 'b.title ASC, a.name ASC'; + break; + + case 'oldest': + case 'popular': + case 'newest': + default: + $order = 'a.name ASC'; + } + + $query = "SELECT a.name AS title," + . "\n a.link AS text," + . "\n '' AS created," + . "\n CONCAT_WS( ' / ','News Feeds', b.title )AS section," + . "\n '1' AS browsernav," + . "\n CONCAT( 'index.php?option=com_newsfeeds&task=view&Itemid=$Itemid&feedid=', a.id ) AS href" + . "\n FROM #__newsfeeds AS a" + . "\n INNER JOIN #__categories AS b ON b.id = a.catid AND b.access <= '$my->gid'" + . "\n WHERE ( $where )" + . "\n AND a.published = 1" + . "\n ORDER BY $order" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + return $rows; +} +?> diff -ruN 4.6rc2/uploadfiles/mambots/search/newsfeeds.searchbot.xml 4.6-complete/uploadfiles/mambots/search/newsfeeds.searchbot.xml --- 4.6rc2/uploadfiles/mambots/search/newsfeeds.searchbot.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/newsfeeds.searchbot.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,17 @@ + + + Search Newsfeeds + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + Allows Searching of Newsfeeds + + newsfeeds.searchbot.xml + newsfeeds.searchbot.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/search/sections.searchbot.php 4.6-complete/uploadfiles/mambots/search/sections.searchbot.php --- 4.6rc2/uploadfiles/mambots/search/sections.searchbot.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/sections.searchbot.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,77 @@ +registerFunction( 'onSearch', 'botSearchSections' ); + +/** +* Sections Search method +* +* The sql must return the following fields that are used in a common display +* routine: href, title, section, created, text, browsernav +* @param string Target search string +* @param string mathcing option, exact|any|all +* @param string ordering option, newest|oldest|popular|alpha|category +*/ +function botSearchSections( $text, $phrase='', $ordering='' ) { + global $database, $my; + + $text = trim( $text ); + if ($text == '') { + return array(); + } + + switch ( $ordering ) { + case 'alpha': + $order = 'a.name ASC'; + break; + case 'category': + case 'popular': + case 'newest': + case 'oldest': + default: + $order = 'a.name DESC'; + } + + $query = "SELECT a.name AS title," + . "\n a.description AS text," + . "\n '' AS created," + . "\n '2' AS browsernav," + . "\n a.id AS secid, m.id AS menuid, m.type AS menutype" + . "\n FROM #__sections AS a" + . "\n LEFT JOIN #__menu AS m ON m.componentid = a.id" + . "\n WHERE ( a.name LIKE '%$text%'" + . "\n OR a.title LIKE '%$text%'" + . "\n OR a.description LIKE '%$text%' )" + . "\n AND a.published = '1'" + . "\n AND a.access <= '$my->gid'" + . "\n AND ( m.type = 'content_section' OR m.type = 'content_blog_section' )" + . "\n ORDER BY $order" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + $count = count( $rows ); + for ( $i = 0; $i < $count; $i++ ) { + if ( $rows[$i]->menutype == 'content_section' ) { + $rows[$i]->href = 'index.php?option=com_content&task=section&id='. $rows[$i]->secid .'&Itemid='. $rows[$i]->menuid; + $rows[$i]->section = T_('Section List'); + } + if ( $rows[$i]->menutype == 'content_blog_section' ) { + $rows[$i]->href = 'index.php?option=com_content&task=blogsection&id='. $rows[$i]->secid .'&Itemid='. $rows[$i]->menuid; + $rows[$i]->section = T_('Section Blog'); + } + } + return $rows; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/search/sections.searchbot.xml 4.6-complete/uploadfiles/mambots/search/sections.searchbot.xml --- 4.6rc2/uploadfiles/mambots/search/sections.searchbot.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/sections.searchbot.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,16 @@ + + + sections searchbot + Mambo Project + August 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Allows Searching of Content Section information + + sections.searchbot.php + + + diff -ruN 4.6rc2/uploadfiles/mambots/search/weblinks.searchbot.php 4.6-complete/uploadfiles/mambots/search/weblinks.searchbot.php --- 4.6rc2/uploadfiles/mambots/search/weblinks.searchbot.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/weblinks.searchbot.php 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,94 @@ +registerFunction( 'onSearch', 'botSearchWeblinks' ); + +/** +* Web Link Search method +* +* The sql must return the following fields that are used in a common display +* routine: href, title, section, created, text, browsernav +* @param string Target search string +* @param string mathcing option, exact|any|all +* @param string ordering option, newest|oldest|popular|alpha|category +*/ +function botSearchWeblinks( $text, $phrase='', $ordering='' ) { + global $database, $my; + + $text = trim( $text ); + if ($text == '') { + return array(); + } + $section = T_('Web Links'); + + $wheres = array(); + switch ($phrase) { + case 'exact': + $wheres2 = array(); + + $wheres2[] = "LOWER(a.url) LIKE '%$text%'"; + $wheres2[] = "LOWER(a.description) LIKE '%$text%'"; + $wheres2[] = "LOWER(a.title) LIKE '%$text%'"; + $where = '(' . implode( ') OR (', $wheres2 ) . ')'; + break; + case 'all': + case 'any': + default: + $words = explode( ' ', $text ); + $wheres = array(); + foreach ($words as $word) { + $wheres2 = array(); + $wheres2[] = "LOWER(a.url) LIKE '%$word%'"; + $wheres2[] = "LOWER(a.description) LIKE '%$word%'"; + $wheres2[] = "LOWER(a.title) LIKE '%$word%'"; + $wheres[] = implode( ' OR ', $wheres2 ); + } + $where = '(' . implode( ($phrase == 'all' ? ') AND (' : ') OR ('), $wheres ) . ')'; + break; + } + + switch ( $ordering ) { + case 'oldest': + $order = 'a.date ASC'; + break; + case 'popular': + $order = 'a.hits DESC'; + break; + case 'alpha': + $order = 'a.title ASC'; + break; + case 'category': + $order = 'b.title ASC, a.title ASC'; + break; + case 'newest': + default: + $order = 'a.date DESC'; + } + + $query = "SELECT a.title AS title," + . "\n a.description AS text," + . "\n a.date AS created," + . "\n CONCAT_WS( ' / ', '$section', b.title ) AS section," + . "\n '1' AS browsernav," + . "\n a.url AS href" + . "\n FROM #__weblinks AS a" + . "\n INNER JOIN #__categories AS b ON b.id = a.catid AND b.access <= '$my->gid'" + . "\n WHERE ($where)" + . "\n ORDER BY $order" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + return $rows; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/mambots/search/weblinks.searchbot.xml 4.6-complete/uploadfiles/mambots/search/weblinks.searchbot.xml --- 4.6rc2/uploadfiles/mambots/search/weblinks.searchbot.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/mambots/search/weblinks.searchbot.xml 2006-09-20 19:05:07.000000000 -0500 @@ -0,0 +1,17 @@ + + + Seach Web Links + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + Allows Searching of Web Links Component + + weblinks.searchbot.xml + weblinks.searchbot.php + + + diff -ruN 4.6rc2/uploadfiles/media/Helvetica.afm 4.6-complete/uploadfiles/media/Helvetica.afm --- 4.6rc2/uploadfiles/media/Helvetica.afm 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/media/Helvetica.afm 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,3051 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 12:38:23 1997 +Comment UniqueID 43054 +Comment VMusage 37069 48094 +FontName Helvetica +FullName Helvetica +FamilyName Helvetica +Weight Medium +ItalicAngle 0 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -166 -225 1000 931 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 718 +XHeight 523 +Ascender 718 +Descender -207 +StdHW 76 +StdVW 88 +StartCharMetrics 315 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 278 ; N exclam ; B 90 0 187 718 ; +C 34 ; WX 355 ; N quotedbl ; B 70 463 285 718 ; +C 35 ; WX 556 ; N numbersign ; B 28 0 529 688 ; +C 36 ; WX 556 ; N dollar ; B 32 -115 520 775 ; +C 37 ; WX 889 ; N percent ; B 39 -19 850 703 ; +C 38 ; WX 667 ; N ampersand ; B 44 -15 645 718 ; +C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ; +C 40 ; WX 333 ; N parenleft ; B 68 -207 299 733 ; +C 41 ; WX 333 ; N parenright ; B 34 -207 265 733 ; +C 42 ; WX 389 ; N asterisk ; B 39 431 349 718 ; +C 43 ; WX 584 ; N plus ; B 39 0 545 505 ; +C 44 ; WX 278 ; N comma ; B 87 -147 191 106 ; +C 45 ; WX 333 ; N hyphen ; B 44 232 289 322 ; +C 46 ; WX 278 ; N period ; B 87 0 191 106 ; +C 47 ; WX 278 ; N slash ; B -17 -19 295 737 ; +C 48 ; WX 556 ; N zero ; B 37 -19 519 703 ; +C 49 ; WX 556 ; N one ; B 101 0 359 703 ; +C 50 ; WX 556 ; N two ; B 26 0 507 703 ; +C 51 ; WX 556 ; N three ; B 34 -19 522 703 ; +C 52 ; WX 556 ; N four ; B 25 0 523 703 ; +C 53 ; WX 556 ; N five ; B 32 -19 514 688 ; +C 54 ; WX 556 ; N six ; B 38 -19 518 703 ; +C 55 ; WX 556 ; N seven ; B 37 0 523 688 ; +C 56 ; WX 556 ; N eight ; B 38 -19 517 703 ; +C 57 ; WX 556 ; N nine ; B 42 -19 514 703 ; +C 58 ; WX 278 ; N colon ; B 87 0 191 516 ; +C 59 ; WX 278 ; N semicolon ; B 87 -147 191 516 ; +C 60 ; WX 584 ; N less ; B 48 11 536 495 ; +C 61 ; WX 584 ; N equal ; B 39 115 545 390 ; +C 62 ; WX 584 ; N greater ; B 48 11 536 495 ; +C 63 ; WX 556 ; N question ; B 56 0 492 727 ; +C 64 ; WX 1015 ; N at ; B 147 -19 868 737 ; +C 65 ; WX 667 ; N A ; B 14 0 654 718 ; +C 66 ; WX 667 ; N B ; B 74 0 627 718 ; +C 67 ; WX 722 ; N C ; B 44 -19 681 737 ; +C 68 ; WX 722 ; N D ; B 81 0 674 718 ; +C 69 ; WX 667 ; N E ; B 86 0 616 718 ; +C 70 ; WX 611 ; N F ; B 86 0 583 718 ; +C 71 ; WX 778 ; N G ; B 48 -19 704 737 ; +C 72 ; WX 722 ; N H ; B 77 0 646 718 ; +C 73 ; WX 278 ; N I ; B 91 0 188 718 ; +C 74 ; WX 500 ; N J ; B 17 -19 428 718 ; +C 75 ; WX 667 ; N K ; B 76 0 663 718 ; +C 76 ; WX 556 ; N L ; B 76 0 537 718 ; +C 77 ; WX 833 ; N M ; B 73 0 761 718 ; +C 78 ; WX 722 ; N N ; B 76 0 646 718 ; +C 79 ; WX 778 ; N O ; B 39 -19 739 737 ; +C 80 ; WX 667 ; N P ; B 86 0 622 718 ; +C 81 ; WX 778 ; N Q ; B 39 -56 739 737 ; +C 82 ; WX 722 ; N R ; B 88 0 684 718 ; +C 83 ; WX 667 ; N S ; B 49 -19 620 737 ; +C 84 ; WX 611 ; N T ; B 14 0 597 718 ; +C 85 ; WX 722 ; N U ; B 79 -19 644 718 ; +C 86 ; WX 667 ; N V ; B 20 0 647 718 ; +C 87 ; WX 944 ; N W ; B 16 0 928 718 ; +C 88 ; WX 667 ; N X ; B 19 0 648 718 ; +C 89 ; WX 667 ; N Y ; B 14 0 653 718 ; +C 90 ; WX 611 ; N Z ; B 23 0 588 718 ; +C 91 ; WX 278 ; N bracketleft ; B 63 -196 250 722 ; +C 92 ; WX 278 ; N backslash ; B -17 -19 295 737 ; +C 93 ; WX 278 ; N bracketright ; B 28 -196 215 722 ; +C 94 ; WX 469 ; N asciicircum ; B -14 264 483 688 ; +C 95 ; WX 556 ; N underscore ; B 0 -125 556 -75 ; +C 96 ; WX 222 ; N quoteleft ; B 65 470 169 725 ; +C 97 ; WX 556 ; N a ; B 36 -15 530 538 ; +C 98 ; WX 556 ; N b ; B 58 -15 517 718 ; +C 99 ; WX 500 ; N c ; B 30 -15 477 538 ; +C 100 ; WX 556 ; N d ; B 35 -15 499 718 ; +C 101 ; WX 556 ; N e ; B 40 -15 516 538 ; +C 102 ; WX 278 ; N f ; B 14 0 262 728 ; L i fi ; L l fl ; +C 103 ; WX 556 ; N g ; B 40 -220 499 538 ; +C 104 ; WX 556 ; N h ; B 65 0 491 718 ; +C 105 ; WX 222 ; N i ; B 67 0 155 718 ; +C 106 ; WX 222 ; N j ; B -16 -210 155 718 ; +C 107 ; WX 500 ; N k ; B 67 0 501 718 ; +C 108 ; WX 222 ; N l ; B 67 0 155 718 ; +C 109 ; WX 833 ; N m ; B 65 0 769 538 ; +C 110 ; WX 556 ; N n ; B 65 0 491 538 ; +C 111 ; WX 556 ; N o ; B 35 -14 521 538 ; +C 112 ; WX 556 ; N p ; B 58 -207 517 538 ; +C 113 ; WX 556 ; N q ; B 35 -207 494 538 ; +C 114 ; WX 333 ; N r ; B 77 0 332 538 ; +C 115 ; WX 500 ; N s ; B 32 -15 464 538 ; +C 116 ; WX 278 ; N t ; B 14 -7 257 669 ; +C 117 ; WX 556 ; N u ; B 68 -15 489 523 ; +C 118 ; WX 500 ; N v ; B 8 0 492 523 ; +C 119 ; WX 722 ; N w ; B 14 0 709 523 ; +C 120 ; WX 500 ; N x ; B 11 0 490 523 ; +C 121 ; WX 500 ; N y ; B 11 -214 489 523 ; +C 122 ; WX 500 ; N z ; B 31 0 469 523 ; +C 123 ; WX 334 ; N braceleft ; B 42 -196 292 722 ; +C 124 ; WX 260 ; N bar ; B 94 -225 167 775 ; +C 125 ; WX 334 ; N braceright ; B 42 -196 292 722 ; +C 126 ; WX 584 ; N asciitilde ; B 61 180 523 326 ; +C 161 ; WX 333 ; N exclamdown ; B 118 -195 215 523 ; +C 162 ; WX 556 ; N cent ; B 51 -115 513 623 ; +C 163 ; WX 556 ; N sterling ; B 33 -16 539 718 ; +C 164 ; WX 167 ; N fraction ; B -166 -19 333 703 ; +C 165 ; WX 556 ; N yen ; B 3 0 553 688 ; +C 166 ; WX 556 ; N florin ; B -11 -207 501 737 ; +C 167 ; WX 556 ; N section ; B 43 -191 512 737 ; +C 168 ; WX 556 ; N currency ; B 28 99 528 603 ; +C 169 ; WX 191 ; N quotesingle ; B 59 463 132 718 ; +C 170 ; WX 333 ; N quotedblleft ; B 38 470 307 725 ; +C 171 ; WX 556 ; N guillemotleft ; B 97 108 459 446 ; +C 172 ; WX 333 ; N guilsinglleft ; B 88 108 245 446 ; +C 173 ; WX 333 ; N guilsinglright ; B 88 108 245 446 ; +C 174 ; WX 500 ; N fi ; B 14 0 434 728 ; +C 175 ; WX 500 ; N fl ; B 14 0 432 728 ; +C 177 ; WX 556 ; N endash ; B 0 240 556 313 ; +C 178 ; WX 556 ; N dagger ; B 43 -159 514 718 ; +C 179 ; WX 556 ; N daggerdbl ; B 43 -159 514 718 ; +C 180 ; WX 278 ; N periodcentered ; B 77 190 202 315 ; +C 182 ; WX 537 ; N paragraph ; B 18 -173 497 718 ; +C 183 ; WX 350 ; N bullet ; B 18 202 333 517 ; +C 184 ; WX 222 ; N quotesinglbase ; B 53 -149 157 106 ; +C 185 ; WX 333 ; N quotedblbase ; B 26 -149 295 106 ; +C 186 ; WX 333 ; N quotedblright ; B 26 463 295 718 ; +C 187 ; WX 556 ; N guillemotright ; B 97 108 459 446 ; +C 188 ; WX 1000 ; N ellipsis ; B 115 0 885 106 ; +C 189 ; WX 1000 ; N perthousand ; B 7 -19 994 703 ; +C 191 ; WX 611 ; N questiondown ; B 91 -201 527 525 ; +C 193 ; WX 333 ; N grave ; B 14 593 211 734 ; +C 194 ; WX 333 ; N acute ; B 122 593 319 734 ; +C 195 ; WX 333 ; N circumflex ; B 21 593 312 734 ; +C 196 ; WX 333 ; N tilde ; B -4 606 337 722 ; +C 197 ; WX 333 ; N macron ; B 10 627 323 684 ; +C 198 ; WX 333 ; N breve ; B 13 595 321 731 ; +C 199 ; WX 333 ; N dotaccent ; B 121 604 212 706 ; +C 200 ; WX 333 ; N dieresis ; B 40 604 293 706 ; +C 202 ; WX 333 ; N ring ; B 75 572 259 756 ; +C 203 ; WX 333 ; N cedilla ; B 45 -225 259 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 31 593 409 734 ; +C 206 ; WX 333 ; N ogonek ; B 73 -225 287 0 ; +C 207 ; WX 333 ; N caron ; B 21 593 312 734 ; +C 208 ; WX 1000 ; N emdash ; B 0 240 1000 313 ; +C 225 ; WX 1000 ; N AE ; B 8 0 951 718 ; +C 227 ; WX 370 ; N ordfeminine ; B 24 405 346 737 ; +C 232 ; WX 556 ; N Lslash ; B -20 0 537 718 ; +C 233 ; WX 778 ; N Oslash ; B 39 -19 740 737 ; +C 234 ; WX 1000 ; N OE ; B 36 -19 965 737 ; +C 235 ; WX 365 ; N ordmasculine ; B 25 405 341 737 ; +C 241 ; WX 889 ; N ae ; B 36 -15 847 538 ; +C 245 ; WX 278 ; N dotlessi ; B 95 0 183 523 ; +C 248 ; WX 222 ; N lslash ; B -20 0 242 718 ; +C 249 ; WX 611 ; N oslash ; B 28 -22 537 545 ; +C 250 ; WX 944 ; N oe ; B 35 -15 902 538 ; +C 251 ; WX 611 ; N germandbls ; B 67 -15 571 728 ; +C -1 ; WX 278 ; N Idieresis ; B 13 0 266 901 ; +C -1 ; WX 556 ; N eacute ; B 40 -15 516 734 ; +C -1 ; WX 556 ; N abreve ; B 36 -15 530 731 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 68 -15 521 734 ; +C -1 ; WX 556 ; N ecaron ; B 40 -15 516 734 ; +C -1 ; WX 667 ; N Ydieresis ; B 14 0 653 901 ; +C -1 ; WX 584 ; N divide ; B 39 -19 545 524 ; +C -1 ; WX 667 ; N Yacute ; B 14 0 653 929 ; +C -1 ; WX 667 ; N Acircumflex ; B 14 0 654 929 ; +C -1 ; WX 556 ; N aacute ; B 36 -15 530 734 ; +C -1 ; WX 722 ; N Ucircumflex ; B 79 -19 644 929 ; +C -1 ; WX 500 ; N yacute ; B 11 -214 489 734 ; +C -1 ; WX 500 ; N scommaaccent ; B 32 -225 464 538 ; +C -1 ; WX 556 ; N ecircumflex ; B 40 -15 516 734 ; +C -1 ; WX 722 ; N Uring ; B 79 -19 644 931 ; +C -1 ; WX 722 ; N Udieresis ; B 79 -19 644 901 ; +C -1 ; WX 556 ; N aogonek ; B 36 -220 547 538 ; +C -1 ; WX 722 ; N Uacute ; B 79 -19 644 929 ; +C -1 ; WX 556 ; N uogonek ; B 68 -225 519 523 ; +C -1 ; WX 667 ; N Edieresis ; B 86 0 616 901 ; +C -1 ; WX 722 ; N Dcroat ; B 0 0 674 718 ; +C -1 ; WX 250 ; N commaaccent ; B 87 -225 181 -40 ; +C -1 ; WX 737 ; N copyright ; B -14 -19 752 737 ; +C -1 ; WX 667 ; N Emacron ; B 86 0 616 879 ; +C -1 ; WX 500 ; N ccaron ; B 30 -15 477 734 ; +C -1 ; WX 556 ; N aring ; B 36 -15 530 756 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 76 -225 646 718 ; +C -1 ; WX 222 ; N lacute ; B 67 0 264 929 ; +C -1 ; WX 556 ; N agrave ; B 36 -15 530 734 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 14 -225 597 718 ; +C -1 ; WX 722 ; N Cacute ; B 44 -19 681 929 ; +C -1 ; WX 556 ; N atilde ; B 36 -15 530 722 ; +C -1 ; WX 667 ; N Edotaccent ; B 86 0 616 901 ; +C -1 ; WX 500 ; N scaron ; B 32 -15 464 734 ; +C -1 ; WX 500 ; N scedilla ; B 32 -225 464 538 ; +C -1 ; WX 278 ; N iacute ; B 95 0 292 734 ; +C -1 ; WX 471 ; N lozenge ; B 10 0 462 728 ; +C -1 ; WX 722 ; N Rcaron ; B 88 0 684 929 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 48 -225 704 737 ; +C -1 ; WX 556 ; N ucircumflex ; B 68 -15 489 734 ; +C -1 ; WX 556 ; N acircumflex ; B 36 -15 530 734 ; +C -1 ; WX 667 ; N Amacron ; B 14 0 654 879 ; +C -1 ; WX 333 ; N rcaron ; B 61 0 352 734 ; +C -1 ; WX 500 ; N ccedilla ; B 30 -225 477 538 ; +C -1 ; WX 611 ; N Zdotaccent ; B 23 0 588 901 ; +C -1 ; WX 667 ; N Thorn ; B 86 0 622 718 ; +C -1 ; WX 778 ; N Omacron ; B 39 -19 739 879 ; +C -1 ; WX 722 ; N Racute ; B 88 0 684 929 ; +C -1 ; WX 667 ; N Sacute ; B 49 -19 620 929 ; +C -1 ; WX 643 ; N dcaron ; B 35 -15 655 718 ; +C -1 ; WX 722 ; N Umacron ; B 79 -19 644 879 ; +C -1 ; WX 556 ; N uring ; B 68 -15 489 756 ; +C -1 ; WX 333 ; N threesuperior ; B 5 270 325 703 ; +C -1 ; WX 778 ; N Ograve ; B 39 -19 739 929 ; +C -1 ; WX 667 ; N Agrave ; B 14 0 654 929 ; +C -1 ; WX 667 ; N Abreve ; B 14 0 654 926 ; +C -1 ; WX 584 ; N multiply ; B 39 0 545 506 ; +C -1 ; WX 556 ; N uacute ; B 68 -15 489 734 ; +C -1 ; WX 611 ; N Tcaron ; B 14 0 597 929 ; +C -1 ; WX 476 ; N partialdiff ; B 13 -38 463 714 ; +C -1 ; WX 500 ; N ydieresis ; B 11 -214 489 706 ; +C -1 ; WX 722 ; N Nacute ; B 76 0 646 929 ; +C -1 ; WX 278 ; N icircumflex ; B -6 0 285 734 ; +C -1 ; WX 667 ; N Ecircumflex ; B 86 0 616 929 ; +C -1 ; WX 556 ; N adieresis ; B 36 -15 530 706 ; +C -1 ; WX 556 ; N edieresis ; B 40 -15 516 706 ; +C -1 ; WX 500 ; N cacute ; B 30 -15 477 734 ; +C -1 ; WX 556 ; N nacute ; B 65 0 491 734 ; +C -1 ; WX 556 ; N umacron ; B 68 -15 489 684 ; +C -1 ; WX 722 ; N Ncaron ; B 76 0 646 929 ; +C -1 ; WX 278 ; N Iacute ; B 91 0 292 929 ; +C -1 ; WX 584 ; N plusminus ; B 39 0 545 506 ; +C -1 ; WX 260 ; N brokenbar ; B 94 -150 167 700 ; +C -1 ; WX 737 ; N registered ; B -14 -19 752 737 ; +C -1 ; WX 778 ; N Gbreve ; B 48 -19 704 926 ; +C -1 ; WX 278 ; N Idotaccent ; B 91 0 188 901 ; +C -1 ; WX 600 ; N summation ; B 15 -10 586 706 ; +C -1 ; WX 667 ; N Egrave ; B 86 0 616 929 ; +C -1 ; WX 333 ; N racute ; B 77 0 332 734 ; +C -1 ; WX 556 ; N omacron ; B 35 -14 521 684 ; +C -1 ; WX 611 ; N Zacute ; B 23 0 588 929 ; +C -1 ; WX 611 ; N Zcaron ; B 23 0 588 929 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 523 674 ; +C -1 ; WX 722 ; N Eth ; B 0 0 674 718 ; +C -1 ; WX 722 ; N Ccedilla ; B 44 -225 681 737 ; +C -1 ; WX 222 ; N lcommaaccent ; B 67 -225 167 718 ; +C -1 ; WX 317 ; N tcaron ; B 14 -7 329 808 ; +C -1 ; WX 556 ; N eogonek ; B 40 -225 516 538 ; +C -1 ; WX 722 ; N Uogonek ; B 79 -225 644 718 ; +C -1 ; WX 667 ; N Aacute ; B 14 0 654 929 ; +C -1 ; WX 667 ; N Adieresis ; B 14 0 654 901 ; +C -1 ; WX 556 ; N egrave ; B 40 -15 516 734 ; +C -1 ; WX 500 ; N zacute ; B 31 0 469 734 ; +C -1 ; WX 222 ; N iogonek ; B -31 -225 183 718 ; +C -1 ; WX 778 ; N Oacute ; B 39 -19 739 929 ; +C -1 ; WX 556 ; N oacute ; B 35 -14 521 734 ; +C -1 ; WX 556 ; N amacron ; B 36 -15 530 684 ; +C -1 ; WX 500 ; N sacute ; B 32 -15 464 734 ; +C -1 ; WX 278 ; N idieresis ; B 13 0 266 706 ; +C -1 ; WX 778 ; N Ocircumflex ; B 39 -19 739 929 ; +C -1 ; WX 722 ; N Ugrave ; B 79 -19 644 929 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 556 ; N thorn ; B 58 -207 517 718 ; +C -1 ; WX 333 ; N twosuperior ; B 4 281 323 703 ; +C -1 ; WX 778 ; N Odieresis ; B 39 -19 739 901 ; +C -1 ; WX 556 ; N mu ; B 68 -207 489 523 ; +C -1 ; WX 278 ; N igrave ; B -13 0 184 734 ; +C -1 ; WX 556 ; N ohungarumlaut ; B 35 -14 521 734 ; +C -1 ; WX 667 ; N Eogonek ; B 86 -220 633 718 ; +C -1 ; WX 556 ; N dcroat ; B 35 -15 550 718 ; +C -1 ; WX 834 ; N threequarters ; B 45 -19 810 703 ; +C -1 ; WX 667 ; N Scedilla ; B 49 -225 620 737 ; +C -1 ; WX 299 ; N lcaron ; B 67 0 311 718 ; +C -1 ; WX 667 ; N Kcommaaccent ; B 76 -225 663 718 ; +C -1 ; WX 556 ; N Lacute ; B 76 0 537 929 ; +C -1 ; WX 1000 ; N trademark ; B 46 306 903 718 ; +C -1 ; WX 556 ; N edotaccent ; B 40 -15 516 706 ; +C -1 ; WX 278 ; N Igrave ; B -13 0 188 929 ; +C -1 ; WX 278 ; N Imacron ; B -17 0 296 879 ; +C -1 ; WX 556 ; N Lcaron ; B 76 0 537 718 ; +C -1 ; WX 834 ; N onehalf ; B 43 -19 773 703 ; +C -1 ; WX 549 ; N lessequal ; B 26 0 523 674 ; +C -1 ; WX 556 ; N ocircumflex ; B 35 -14 521 734 ; +C -1 ; WX 556 ; N ntilde ; B 65 0 491 722 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 79 -19 644 929 ; +C -1 ; WX 667 ; N Eacute ; B 86 0 616 929 ; +C -1 ; WX 556 ; N emacron ; B 40 -15 516 684 ; +C -1 ; WX 556 ; N gbreve ; B 40 -220 499 731 ; +C -1 ; WX 834 ; N onequarter ; B 73 -19 756 703 ; +C -1 ; WX 667 ; N Scaron ; B 49 -19 620 929 ; +C -1 ; WX 667 ; N Scommaaccent ; B 49 -225 620 737 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 39 -19 739 929 ; +C -1 ; WX 400 ; N degree ; B 54 411 346 703 ; +C -1 ; WX 556 ; N ograve ; B 35 -14 521 734 ; +C -1 ; WX 722 ; N Ccaron ; B 44 -19 681 929 ; +C -1 ; WX 556 ; N ugrave ; B 68 -15 489 734 ; +C -1 ; WX 453 ; N radical ; B -4 -80 458 762 ; +C -1 ; WX 722 ; N Dcaron ; B 81 0 674 929 ; +C -1 ; WX 333 ; N rcommaaccent ; B 77 -225 332 538 ; +C -1 ; WX 722 ; N Ntilde ; B 76 0 646 917 ; +C -1 ; WX 556 ; N otilde ; B 35 -14 521 722 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 88 -225 684 718 ; +C -1 ; WX 556 ; N Lcommaaccent ; B 76 -225 537 718 ; +C -1 ; WX 667 ; N Atilde ; B 14 0 654 917 ; +C -1 ; WX 667 ; N Aogonek ; B 14 -225 654 718 ; +C -1 ; WX 667 ; N Aring ; B 14 0 654 931 ; +C -1 ; WX 778 ; N Otilde ; B 39 -19 739 917 ; +C -1 ; WX 500 ; N zdotaccent ; B 31 0 469 706 ; +C -1 ; WX 667 ; N Ecaron ; B 86 0 616 929 ; +C -1 ; WX 278 ; N Iogonek ; B -3 -225 211 718 ; +C -1 ; WX 500 ; N kcommaaccent ; B 67 -225 501 718 ; +C -1 ; WX 584 ; N minus ; B 39 216 545 289 ; +C -1 ; WX 278 ; N Icircumflex ; B -6 0 285 929 ; +C -1 ; WX 556 ; N ncaron ; B 65 0 491 734 ; +C -1 ; WX 278 ; N tcommaaccent ; B 14 -225 257 669 ; +C -1 ; WX 584 ; N logicalnot ; B 39 108 545 390 ; +C -1 ; WX 556 ; N odieresis ; B 35 -14 521 706 ; +C -1 ; WX 556 ; N udieresis ; B 68 -15 489 706 ; +C -1 ; WX 549 ; N notequal ; B 12 -35 537 551 ; +C -1 ; WX 556 ; N gcommaaccent ; B 40 -220 499 822 ; +C -1 ; WX 556 ; N eth ; B 35 -15 522 737 ; +C -1 ; WX 500 ; N zcaron ; B 31 0 469 734 ; +C -1 ; WX 556 ; N ncommaaccent ; B 65 -225 491 538 ; +C -1 ; WX 333 ; N onesuperior ; B 43 281 222 703 ; +C -1 ; WX 278 ; N imacron ; B 5 0 272 684 ; +C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2705 +KPX A C -30 +KPX A Cacute -30 +KPX A Ccaron -30 +KPX A Ccedilla -30 +KPX A G -30 +KPX A Gbreve -30 +KPX A Gcommaaccent -30 +KPX A O -30 +KPX A Oacute -30 +KPX A Ocircumflex -30 +KPX A Odieresis -30 +KPX A Ograve -30 +KPX A Ohungarumlaut -30 +KPX A Omacron -30 +KPX A Oslash -30 +KPX A Otilde -30 +KPX A Q -30 +KPX A T -120 +KPX A Tcaron -120 +KPX A Tcommaaccent -120 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A Uhungarumlaut -50 +KPX A Umacron -50 +KPX A Uogonek -50 +KPX A Uring -50 +KPX A V -70 +KPX A W -50 +KPX A Y -100 +KPX A Yacute -100 +KPX A Ydieresis -100 +KPX A u -30 +KPX A uacute -30 +KPX A ucircumflex -30 +KPX A udieresis -30 +KPX A ugrave -30 +KPX A uhungarumlaut -30 +KPX A umacron -30 +KPX A uogonek -30 +KPX A uring -30 +KPX A v -40 +KPX A w -40 +KPX A y -40 +KPX A yacute -40 +KPX A ydieresis -40 +KPX Aacute C -30 +KPX Aacute Cacute -30 +KPX Aacute Ccaron -30 +KPX Aacute Ccedilla -30 +KPX Aacute G -30 +KPX Aacute Gbreve -30 +KPX Aacute Gcommaaccent -30 +KPX Aacute O -30 +KPX Aacute Oacute -30 +KPX Aacute Ocircumflex -30 +KPX Aacute Odieresis -30 +KPX Aacute Ograve -30 +KPX Aacute Ohungarumlaut -30 +KPX Aacute Omacron -30 +KPX Aacute Oslash -30 +KPX Aacute Otilde -30 +KPX Aacute Q -30 +KPX Aacute T -120 +KPX Aacute Tcaron -120 +KPX Aacute Tcommaaccent -120 +KPX Aacute U -50 +KPX Aacute Uacute -50 +KPX Aacute Ucircumflex -50 +KPX Aacute Udieresis -50 +KPX Aacute Ugrave -50 +KPX Aacute Uhungarumlaut -50 +KPX Aacute Umacron -50 +KPX Aacute Uogonek -50 +KPX Aacute Uring -50 +KPX Aacute V -70 +KPX Aacute W -50 +KPX Aacute Y -100 +KPX Aacute Yacute -100 +KPX Aacute Ydieresis -100 +KPX Aacute u -30 +KPX Aacute uacute -30 +KPX Aacute ucircumflex -30 +KPX Aacute udieresis -30 +KPX Aacute ugrave -30 +KPX Aacute uhungarumlaut -30 +KPX Aacute umacron -30 +KPX Aacute uogonek -30 +KPX Aacute uring -30 +KPX Aacute v -40 +KPX Aacute w -40 +KPX Aacute y -40 +KPX Aacute yacute -40 +KPX Aacute ydieresis -40 +KPX Abreve C -30 +KPX Abreve Cacute -30 +KPX Abreve Ccaron -30 +KPX Abreve Ccedilla -30 +KPX Abreve G -30 +KPX Abreve Gbreve -30 +KPX Abreve Gcommaaccent -30 +KPX Abreve O -30 +KPX Abreve Oacute -30 +KPX Abreve Ocircumflex -30 +KPX Abreve Odieresis -30 +KPX Abreve Ograve -30 +KPX Abreve Ohungarumlaut -30 +KPX Abreve Omacron -30 +KPX Abreve Oslash -30 +KPX Abreve Otilde -30 +KPX Abreve Q -30 +KPX Abreve T -120 +KPX Abreve Tcaron -120 +KPX Abreve Tcommaaccent -120 +KPX Abreve U -50 +KPX Abreve Uacute -50 +KPX Abreve Ucircumflex -50 +KPX Abreve Udieresis -50 +KPX Abreve Ugrave -50 +KPX Abreve Uhungarumlaut -50 +KPX Abreve Umacron -50 +KPX Abreve Uogonek -50 +KPX Abreve Uring -50 +KPX Abreve V -70 +KPX Abreve W -50 +KPX Abreve Y -100 +KPX Abreve Yacute -100 +KPX Abreve Ydieresis -100 +KPX Abreve u -30 +KPX Abreve uacute -30 +KPX Abreve ucircumflex -30 +KPX Abreve udieresis -30 +KPX Abreve ugrave -30 +KPX Abreve uhungarumlaut -30 +KPX Abreve umacron -30 +KPX Abreve uogonek -30 +KPX Abreve uring -30 +KPX Abreve v -40 +KPX Abreve w -40 +KPX Abreve y -40 +KPX Abreve yacute -40 +KPX Abreve ydieresis -40 +KPX Acircumflex C -30 +KPX Acircumflex Cacute -30 +KPX Acircumflex Ccaron -30 +KPX Acircumflex Ccedilla -30 +KPX Acircumflex G -30 +KPX Acircumflex Gbreve -30 +KPX Acircumflex Gcommaaccent -30 +KPX Acircumflex O -30 +KPX Acircumflex Oacute -30 +KPX Acircumflex Ocircumflex -30 +KPX Acircumflex Odieresis -30 +KPX Acircumflex Ograve -30 +KPX Acircumflex Ohungarumlaut -30 +KPX Acircumflex Omacron -30 +KPX Acircumflex Oslash -30 +KPX Acircumflex Otilde -30 +KPX Acircumflex Q -30 +KPX Acircumflex T -120 +KPX Acircumflex Tcaron -120 +KPX Acircumflex Tcommaaccent -120 +KPX Acircumflex U -50 +KPX Acircumflex Uacute -50 +KPX Acircumflex Ucircumflex -50 +KPX Acircumflex Udieresis -50 +KPX Acircumflex Ugrave -50 +KPX Acircumflex Uhungarumlaut -50 +KPX Acircumflex Umacron -50 +KPX Acircumflex Uogonek -50 +KPX Acircumflex Uring -50 +KPX Acircumflex V -70 +KPX Acircumflex W -50 +KPX Acircumflex Y -100 +KPX Acircumflex Yacute -100 +KPX Acircumflex Ydieresis -100 +KPX Acircumflex u -30 +KPX Acircumflex uacute -30 +KPX Acircumflex ucircumflex -30 +KPX Acircumflex udieresis -30 +KPX Acircumflex ugrave -30 +KPX Acircumflex uhungarumlaut -30 +KPX Acircumflex umacron -30 +KPX Acircumflex uogonek -30 +KPX Acircumflex uring -30 +KPX Acircumflex v -40 +KPX Acircumflex w -40 +KPX Acircumflex y -40 +KPX Acircumflex yacute -40 +KPX Acircumflex ydieresis -40 +KPX Adieresis C -30 +KPX Adieresis Cacute -30 +KPX Adieresis Ccaron -30 +KPX Adieresis Ccedilla -30 +KPX Adieresis G -30 +KPX Adieresis Gbreve -30 +KPX Adieresis Gcommaaccent -30 +KPX Adieresis O -30 +KPX Adieresis Oacute -30 +KPX Adieresis Ocircumflex -30 +KPX Adieresis Odieresis -30 +KPX Adieresis Ograve -30 +KPX Adieresis Ohungarumlaut -30 +KPX Adieresis Omacron -30 +KPX Adieresis Oslash -30 +KPX Adieresis Otilde -30 +KPX Adieresis Q -30 +KPX Adieresis T -120 +KPX Adieresis Tcaron -120 +KPX Adieresis Tcommaaccent -120 +KPX Adieresis U -50 +KPX Adieresis Uacute -50 +KPX Adieresis Ucircumflex -50 +KPX Adieresis Udieresis -50 +KPX Adieresis Ugrave -50 +KPX Adieresis Uhungarumlaut -50 +KPX Adieresis Umacron -50 +KPX Adieresis Uogonek -50 +KPX Adieresis Uring -50 +KPX Adieresis V -70 +KPX Adieresis W -50 +KPX Adieresis Y -100 +KPX Adieresis Yacute -100 +KPX Adieresis Ydieresis -100 +KPX Adieresis u -30 +KPX Adieresis uacute -30 +KPX Adieresis ucircumflex -30 +KPX Adieresis udieresis -30 +KPX Adieresis ugrave -30 +KPX Adieresis uhungarumlaut -30 +KPX Adieresis umacron -30 +KPX Adieresis uogonek -30 +KPX Adieresis uring -30 +KPX Adieresis v -40 +KPX Adieresis w -40 +KPX Adieresis y -40 +KPX Adieresis yacute -40 +KPX Adieresis ydieresis -40 +KPX Agrave C -30 +KPX Agrave Cacute -30 +KPX Agrave Ccaron -30 +KPX Agrave Ccedilla -30 +KPX Agrave G -30 +KPX Agrave Gbreve -30 +KPX Agrave Gcommaaccent -30 +KPX Agrave O -30 +KPX Agrave Oacute -30 +KPX Agrave Ocircumflex -30 +KPX Agrave Odieresis -30 +KPX Agrave Ograve -30 +KPX Agrave Ohungarumlaut -30 +KPX Agrave Omacron -30 +KPX Agrave Oslash -30 +KPX Agrave Otilde -30 +KPX Agrave Q -30 +KPX Agrave T -120 +KPX Agrave Tcaron -120 +KPX Agrave Tcommaaccent -120 +KPX Agrave U -50 +KPX Agrave Uacute -50 +KPX Agrave Ucircumflex -50 +KPX Agrave Udieresis -50 +KPX Agrave Ugrave -50 +KPX Agrave Uhungarumlaut -50 +KPX Agrave Umacron -50 +KPX Agrave Uogonek -50 +KPX Agrave Uring -50 +KPX Agrave V -70 +KPX Agrave W -50 +KPX Agrave Y -100 +KPX Agrave Yacute -100 +KPX Agrave Ydieresis -100 +KPX Agrave u -30 +KPX Agrave uacute -30 +KPX Agrave ucircumflex -30 +KPX Agrave udieresis -30 +KPX Agrave ugrave -30 +KPX Agrave uhungarumlaut -30 +KPX Agrave umacron -30 +KPX Agrave uogonek -30 +KPX Agrave uring -30 +KPX Agrave v -40 +KPX Agrave w -40 +KPX Agrave y -40 +KPX Agrave yacute -40 +KPX Agrave ydieresis -40 +KPX Amacron C -30 +KPX Amacron Cacute -30 +KPX Amacron Ccaron -30 +KPX Amacron Ccedilla -30 +KPX Amacron G -30 +KPX Amacron Gbreve -30 +KPX Amacron Gcommaaccent -30 +KPX Amacron O -30 +KPX Amacron Oacute -30 +KPX Amacron Ocircumflex -30 +KPX Amacron Odieresis -30 +KPX Amacron Ograve -30 +KPX Amacron Ohungarumlaut -30 +KPX Amacron Omacron -30 +KPX Amacron Oslash -30 +KPX Amacron Otilde -30 +KPX Amacron Q -30 +KPX Amacron T -120 +KPX Amacron Tcaron -120 +KPX Amacron Tcommaaccent -120 +KPX Amacron U -50 +KPX Amacron Uacute -50 +KPX Amacron Ucircumflex -50 +KPX Amacron Udieresis -50 +KPX Amacron Ugrave -50 +KPX Amacron Uhungarumlaut -50 +KPX Amacron Umacron -50 +KPX Amacron Uogonek -50 +KPX Amacron Uring -50 +KPX Amacron V -70 +KPX Amacron W -50 +KPX Amacron Y -100 +KPX Amacron Yacute -100 +KPX Amacron Ydieresis -100 +KPX Amacron u -30 +KPX Amacron uacute -30 +KPX Amacron ucircumflex -30 +KPX Amacron udieresis -30 +KPX Amacron ugrave -30 +KPX Amacron uhungarumlaut -30 +KPX Amacron umacron -30 +KPX Amacron uogonek -30 +KPX Amacron uring -30 +KPX Amacron v -40 +KPX Amacron w -40 +KPX Amacron y -40 +KPX Amacron yacute -40 +KPX Amacron ydieresis -40 +KPX Aogonek C -30 +KPX Aogonek Cacute -30 +KPX Aogonek Ccaron -30 +KPX Aogonek Ccedilla -30 +KPX Aogonek G -30 +KPX Aogonek Gbreve -30 +KPX Aogonek Gcommaaccent -30 +KPX Aogonek O -30 +KPX Aogonek Oacute -30 +KPX Aogonek Ocircumflex -30 +KPX Aogonek Odieresis -30 +KPX Aogonek Ograve -30 +KPX Aogonek Ohungarumlaut -30 +KPX Aogonek Omacron -30 +KPX Aogonek Oslash -30 +KPX Aogonek Otilde -30 +KPX Aogonek Q -30 +KPX Aogonek T -120 +KPX Aogonek Tcaron -120 +KPX Aogonek Tcommaaccent -120 +KPX Aogonek U -50 +KPX Aogonek Uacute -50 +KPX Aogonek Ucircumflex -50 +KPX Aogonek Udieresis -50 +KPX Aogonek Ugrave -50 +KPX Aogonek Uhungarumlaut -50 +KPX Aogonek Umacron -50 +KPX Aogonek Uogonek -50 +KPX Aogonek Uring -50 +KPX Aogonek V -70 +KPX Aogonek W -50 +KPX Aogonek Y -100 +KPX Aogonek Yacute -100 +KPX Aogonek Ydieresis -100 +KPX Aogonek u -30 +KPX Aogonek uacute -30 +KPX Aogonek ucircumflex -30 +KPX Aogonek udieresis -30 +KPX Aogonek ugrave -30 +KPX Aogonek uhungarumlaut -30 +KPX Aogonek umacron -30 +KPX Aogonek uogonek -30 +KPX Aogonek uring -30 +KPX Aogonek v -40 +KPX Aogonek w -40 +KPX Aogonek y -40 +KPX Aogonek yacute -40 +KPX Aogonek ydieresis -40 +KPX Aring C -30 +KPX Aring Cacute -30 +KPX Aring Ccaron -30 +KPX Aring Ccedilla -30 +KPX Aring G -30 +KPX Aring Gbreve -30 +KPX Aring Gcommaaccent -30 +KPX Aring O -30 +KPX Aring Oacute -30 +KPX Aring Ocircumflex -30 +KPX Aring Odieresis -30 +KPX Aring Ograve -30 +KPX Aring Ohungarumlaut -30 +KPX Aring Omacron -30 +KPX Aring Oslash -30 +KPX Aring Otilde -30 +KPX Aring Q -30 +KPX Aring T -120 +KPX Aring Tcaron -120 +KPX Aring Tcommaaccent -120 +KPX Aring U -50 +KPX Aring Uacute -50 +KPX Aring Ucircumflex -50 +KPX Aring Udieresis -50 +KPX Aring Ugrave -50 +KPX Aring Uhungarumlaut -50 +KPX Aring Umacron -50 +KPX Aring Uogonek -50 +KPX Aring Uring -50 +KPX Aring V -70 +KPX Aring W -50 +KPX Aring Y -100 +KPX Aring Yacute -100 +KPX Aring Ydieresis -100 +KPX Aring u -30 +KPX Aring uacute -30 +KPX Aring ucircumflex -30 +KPX Aring udieresis -30 +KPX Aring ugrave -30 +KPX Aring uhungarumlaut -30 +KPX Aring umacron -30 +KPX Aring uogonek -30 +KPX Aring uring -30 +KPX Aring v -40 +KPX Aring w -40 +KPX Aring y -40 +KPX Aring yacute -40 +KPX Aring ydieresis -40 +KPX Atilde C -30 +KPX Atilde Cacute -30 +KPX Atilde Ccaron -30 +KPX Atilde Ccedilla -30 +KPX Atilde G -30 +KPX Atilde Gbreve -30 +KPX Atilde Gcommaaccent -30 +KPX Atilde O -30 +KPX Atilde Oacute -30 +KPX Atilde Ocircumflex -30 +KPX Atilde Odieresis -30 +KPX Atilde Ograve -30 +KPX Atilde Ohungarumlaut -30 +KPX Atilde Omacron -30 +KPX Atilde Oslash -30 +KPX Atilde Otilde -30 +KPX Atilde Q -30 +KPX Atilde T -120 +KPX Atilde Tcaron -120 +KPX Atilde Tcommaaccent -120 +KPX Atilde U -50 +KPX Atilde Uacute -50 +KPX Atilde Ucircumflex -50 +KPX Atilde Udieresis -50 +KPX Atilde Ugrave -50 +KPX Atilde Uhungarumlaut -50 +KPX Atilde Umacron -50 +KPX Atilde Uogonek -50 +KPX Atilde Uring -50 +KPX Atilde V -70 +KPX Atilde W -50 +KPX Atilde Y -100 +KPX Atilde Yacute -100 +KPX Atilde Ydieresis -100 +KPX Atilde u -30 +KPX Atilde uacute -30 +KPX Atilde ucircumflex -30 +KPX Atilde udieresis -30 +KPX Atilde ugrave -30 +KPX Atilde uhungarumlaut -30 +KPX Atilde umacron -30 +KPX Atilde uogonek -30 +KPX Atilde uring -30 +KPX Atilde v -40 +KPX Atilde w -40 +KPX Atilde y -40 +KPX Atilde yacute -40 +KPX Atilde ydieresis -40 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX B comma -20 +KPX B period -20 +KPX C comma -30 +KPX C period -30 +KPX Cacute comma -30 +KPX Cacute period -30 +KPX Ccaron comma -30 +KPX Ccaron period -30 +KPX Ccedilla comma -30 +KPX Ccedilla period -30 +KPX D A -40 +KPX D Aacute -40 +KPX D Abreve -40 +KPX D Acircumflex -40 +KPX D Adieresis -40 +KPX D Agrave -40 +KPX D Amacron -40 +KPX D Aogonek -40 +KPX D Aring -40 +KPX D Atilde -40 +KPX D V -70 +KPX D W -40 +KPX D Y -90 +KPX D Yacute -90 +KPX D Ydieresis -90 +KPX D comma -70 +KPX D period -70 +KPX Dcaron A -40 +KPX Dcaron Aacute -40 +KPX Dcaron Abreve -40 +KPX Dcaron Acircumflex -40 +KPX Dcaron Adieresis -40 +KPX Dcaron Agrave -40 +KPX Dcaron Amacron -40 +KPX Dcaron Aogonek -40 +KPX Dcaron Aring -40 +KPX Dcaron Atilde -40 +KPX Dcaron V -70 +KPX Dcaron W -40 +KPX Dcaron Y -90 +KPX Dcaron Yacute -90 +KPX Dcaron Ydieresis -90 +KPX Dcaron comma -70 +KPX Dcaron period -70 +KPX Dcroat A -40 +KPX Dcroat Aacute -40 +KPX Dcroat Abreve -40 +KPX Dcroat Acircumflex -40 +KPX Dcroat Adieresis -40 +KPX Dcroat Agrave -40 +KPX Dcroat Amacron -40 +KPX Dcroat Aogonek -40 +KPX Dcroat Aring -40 +KPX Dcroat Atilde -40 +KPX Dcroat V -70 +KPX Dcroat W -40 +KPX Dcroat Y -90 +KPX Dcroat Yacute -90 +KPX Dcroat Ydieresis -90 +KPX Dcroat comma -70 +KPX Dcroat period -70 +KPX F A -80 +KPX F Aacute -80 +KPX F Abreve -80 +KPX F Acircumflex -80 +KPX F Adieresis -80 +KPX F Agrave -80 +KPX F Amacron -80 +KPX F Aogonek -80 +KPX F Aring -80 +KPX F Atilde -80 +KPX F a -50 +KPX F aacute -50 +KPX F abreve -50 +KPX F acircumflex -50 +KPX F adieresis -50 +KPX F agrave -50 +KPX F amacron -50 +KPX F aogonek -50 +KPX F aring -50 +KPX F atilde -50 +KPX F comma -150 +KPX F e -30 +KPX F eacute -30 +KPX F ecaron -30 +KPX F ecircumflex -30 +KPX F edieresis -30 +KPX F edotaccent -30 +KPX F egrave -30 +KPX F emacron -30 +KPX F eogonek -30 +KPX F o -30 +KPX F oacute -30 +KPX F ocircumflex -30 +KPX F odieresis -30 +KPX F ograve -30 +KPX F ohungarumlaut -30 +KPX F omacron -30 +KPX F oslash -30 +KPX F otilde -30 +KPX F period -150 +KPX F r -45 +KPX F racute -45 +KPX F rcaron -45 +KPX F rcommaaccent -45 +KPX J A -20 +KPX J Aacute -20 +KPX J Abreve -20 +KPX J Acircumflex -20 +KPX J Adieresis -20 +KPX J Agrave -20 +KPX J Amacron -20 +KPX J Aogonek -20 +KPX J Aring -20 +KPX J Atilde -20 +KPX J a -20 +KPX J aacute -20 +KPX J abreve -20 +KPX J acircumflex -20 +KPX J adieresis -20 +KPX J agrave -20 +KPX J amacron -20 +KPX J aogonek -20 +KPX J aring -20 +KPX J atilde -20 +KPX J comma -30 +KPX J period -30 +KPX J u -20 +KPX J uacute -20 +KPX J ucircumflex -20 +KPX J udieresis -20 +KPX J ugrave -20 +KPX J uhungarumlaut -20 +KPX J umacron -20 +KPX J uogonek -20 +KPX J uring -20 +KPX K O -50 +KPX K Oacute -50 +KPX K Ocircumflex -50 +KPX K Odieresis -50 +KPX K Ograve -50 +KPX K Ohungarumlaut -50 +KPX K Omacron -50 +KPX K Oslash -50 +KPX K Otilde -50 +KPX K e -40 +KPX K eacute -40 +KPX K ecaron -40 +KPX K ecircumflex -40 +KPX K edieresis -40 +KPX K edotaccent -40 +KPX K egrave -40 +KPX K emacron -40 +KPX K eogonek -40 +KPX K o -40 +KPX K oacute -40 +KPX K ocircumflex -40 +KPX K odieresis -40 +KPX K ograve -40 +KPX K ohungarumlaut -40 +KPX K omacron -40 +KPX K oslash -40 +KPX K otilde -40 +KPX K u -30 +KPX K uacute -30 +KPX K ucircumflex -30 +KPX K udieresis -30 +KPX K ugrave -30 +KPX K uhungarumlaut -30 +KPX K umacron -30 +KPX K uogonek -30 +KPX K uring -30 +KPX K y -50 +KPX K yacute -50 +KPX K ydieresis -50 +KPX Kcommaaccent O -50 +KPX Kcommaaccent Oacute -50 +KPX Kcommaaccent Ocircumflex -50 +KPX Kcommaaccent Odieresis -50 +KPX Kcommaaccent Ograve -50 +KPX Kcommaaccent Ohungarumlaut -50 +KPX Kcommaaccent Omacron -50 +KPX Kcommaaccent Oslash -50 +KPX Kcommaaccent Otilde -50 +KPX Kcommaaccent e -40 +KPX Kcommaaccent eacute -40 +KPX Kcommaaccent ecaron -40 +KPX Kcommaaccent ecircumflex -40 +KPX Kcommaaccent edieresis -40 +KPX Kcommaaccent edotaccent -40 +KPX Kcommaaccent egrave -40 +KPX Kcommaaccent emacron -40 +KPX Kcommaaccent eogonek -40 +KPX Kcommaaccent o -40 +KPX Kcommaaccent oacute -40 +KPX Kcommaaccent ocircumflex -40 +KPX Kcommaaccent odieresis -40 +KPX Kcommaaccent ograve -40 +KPX Kcommaaccent ohungarumlaut -40 +KPX Kcommaaccent omacron -40 +KPX Kcommaaccent oslash -40 +KPX Kcommaaccent otilde -40 +KPX Kcommaaccent u -30 +KPX Kcommaaccent uacute -30 +KPX Kcommaaccent ucircumflex -30 +KPX Kcommaaccent udieresis -30 +KPX Kcommaaccent ugrave -30 +KPX Kcommaaccent uhungarumlaut -30 +KPX Kcommaaccent umacron -30 +KPX Kcommaaccent uogonek -30 +KPX Kcommaaccent uring -30 +KPX Kcommaaccent y -50 +KPX Kcommaaccent yacute -50 +KPX Kcommaaccent ydieresis -50 +KPX L T -110 +KPX L Tcaron -110 +KPX L Tcommaaccent -110 +KPX L V -110 +KPX L W -70 +KPX L Y -140 +KPX L Yacute -140 +KPX L Ydieresis -140 +KPX L quotedblright -140 +KPX L quoteright -160 +KPX L y -30 +KPX L yacute -30 +KPX L ydieresis -30 +KPX Lacute T -110 +KPX Lacute Tcaron -110 +KPX Lacute Tcommaaccent -110 +KPX Lacute V -110 +KPX Lacute W -70 +KPX Lacute Y -140 +KPX Lacute Yacute -140 +KPX Lacute Ydieresis -140 +KPX Lacute quotedblright -140 +KPX Lacute quoteright -160 +KPX Lacute y -30 +KPX Lacute yacute -30 +KPX Lacute ydieresis -30 +KPX Lcaron T -110 +KPX Lcaron Tcaron -110 +KPX Lcaron Tcommaaccent -110 +KPX Lcaron V -110 +KPX Lcaron W -70 +KPX Lcaron Y -140 +KPX Lcaron Yacute -140 +KPX Lcaron Ydieresis -140 +KPX Lcaron quotedblright -140 +KPX Lcaron quoteright -160 +KPX Lcaron y -30 +KPX Lcaron yacute -30 +KPX Lcaron ydieresis -30 +KPX Lcommaaccent T -110 +KPX Lcommaaccent Tcaron -110 +KPX Lcommaaccent Tcommaaccent -110 +KPX Lcommaaccent V -110 +KPX Lcommaaccent W -70 +KPX Lcommaaccent Y -140 +KPX Lcommaaccent Yacute -140 +KPX Lcommaaccent Ydieresis -140 +KPX Lcommaaccent quotedblright -140 +KPX Lcommaaccent quoteright -160 +KPX Lcommaaccent y -30 +KPX Lcommaaccent yacute -30 +KPX Lcommaaccent ydieresis -30 +KPX Lslash T -110 +KPX Lslash Tcaron -110 +KPX Lslash Tcommaaccent -110 +KPX Lslash V -110 +KPX Lslash W -70 +KPX Lslash Y -140 +KPX Lslash Yacute -140 +KPX Lslash Ydieresis -140 +KPX Lslash quotedblright -140 +KPX Lslash quoteright -160 +KPX Lslash y -30 +KPX Lslash yacute -30 +KPX Lslash ydieresis -30 +KPX O A -20 +KPX O Aacute -20 +KPX O Abreve -20 +KPX O Acircumflex -20 +KPX O Adieresis -20 +KPX O Agrave -20 +KPX O Amacron -20 +KPX O Aogonek -20 +KPX O Aring -20 +KPX O Atilde -20 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -30 +KPX O X -60 +KPX O Y -70 +KPX O Yacute -70 +KPX O Ydieresis -70 +KPX O comma -40 +KPX O period -40 +KPX Oacute A -20 +KPX Oacute Aacute -20 +KPX Oacute Abreve -20 +KPX Oacute Acircumflex -20 +KPX Oacute Adieresis -20 +KPX Oacute Agrave -20 +KPX Oacute Amacron -20 +KPX Oacute Aogonek -20 +KPX Oacute Aring -20 +KPX Oacute Atilde -20 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -30 +KPX Oacute X -60 +KPX Oacute Y -70 +KPX Oacute Yacute -70 +KPX Oacute Ydieresis -70 +KPX Oacute comma -40 +KPX Oacute period -40 +KPX Ocircumflex A -20 +KPX Ocircumflex Aacute -20 +KPX Ocircumflex Abreve -20 +KPX Ocircumflex Acircumflex -20 +KPX Ocircumflex Adieresis -20 +KPX Ocircumflex Agrave -20 +KPX Ocircumflex Amacron -20 +KPX Ocircumflex Aogonek -20 +KPX Ocircumflex Aring -20 +KPX Ocircumflex Atilde -20 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -30 +KPX Ocircumflex X -60 +KPX Ocircumflex Y -70 +KPX Ocircumflex Yacute -70 +KPX Ocircumflex Ydieresis -70 +KPX Ocircumflex comma -40 +KPX Ocircumflex period -40 +KPX Odieresis A -20 +KPX Odieresis Aacute -20 +KPX Odieresis Abreve -20 +KPX Odieresis Acircumflex -20 +KPX Odieresis Adieresis -20 +KPX Odieresis Agrave -20 +KPX Odieresis Amacron -20 +KPX Odieresis Aogonek -20 +KPX Odieresis Aring -20 +KPX Odieresis Atilde -20 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -30 +KPX Odieresis X -60 +KPX Odieresis Y -70 +KPX Odieresis Yacute -70 +KPX Odieresis Ydieresis -70 +KPX Odieresis comma -40 +KPX Odieresis period -40 +KPX Ograve A -20 +KPX Ograve Aacute -20 +KPX Ograve Abreve -20 +KPX Ograve Acircumflex -20 +KPX Ograve Adieresis -20 +KPX Ograve Agrave -20 +KPX Ograve Amacron -20 +KPX Ograve Aogonek -20 +KPX Ograve Aring -20 +KPX Ograve Atilde -20 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -30 +KPX Ograve X -60 +KPX Ograve Y -70 +KPX Ograve Yacute -70 +KPX Ograve Ydieresis -70 +KPX Ograve comma -40 +KPX Ograve period -40 +KPX Ohungarumlaut A -20 +KPX Ohungarumlaut Aacute -20 +KPX Ohungarumlaut Abreve -20 +KPX Ohungarumlaut Acircumflex -20 +KPX Ohungarumlaut Adieresis -20 +KPX Ohungarumlaut Agrave -20 +KPX Ohungarumlaut Amacron -20 +KPX Ohungarumlaut Aogonek -20 +KPX Ohungarumlaut Aring -20 +KPX Ohungarumlaut Atilde -20 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -30 +KPX Ohungarumlaut X -60 +KPX Ohungarumlaut Y -70 +KPX Ohungarumlaut Yacute -70 +KPX Ohungarumlaut Ydieresis -70 +KPX Ohungarumlaut comma -40 +KPX Ohungarumlaut period -40 +KPX Omacron A -20 +KPX Omacron Aacute -20 +KPX Omacron Abreve -20 +KPX Omacron Acircumflex -20 +KPX Omacron Adieresis -20 +KPX Omacron Agrave -20 +KPX Omacron Amacron -20 +KPX Omacron Aogonek -20 +KPX Omacron Aring -20 +KPX Omacron Atilde -20 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -30 +KPX Omacron X -60 +KPX Omacron Y -70 +KPX Omacron Yacute -70 +KPX Omacron Ydieresis -70 +KPX Omacron comma -40 +KPX Omacron period -40 +KPX Oslash A -20 +KPX Oslash Aacute -20 +KPX Oslash Abreve -20 +KPX Oslash Acircumflex -20 +KPX Oslash Adieresis -20 +KPX Oslash Agrave -20 +KPX Oslash Amacron -20 +KPX Oslash Aogonek -20 +KPX Oslash Aring -20 +KPX Oslash Atilde -20 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -30 +KPX Oslash X -60 +KPX Oslash Y -70 +KPX Oslash Yacute -70 +KPX Oslash Ydieresis -70 +KPX Oslash comma -40 +KPX Oslash period -40 +KPX Otilde A -20 +KPX Otilde Aacute -20 +KPX Otilde Abreve -20 +KPX Otilde Acircumflex -20 +KPX Otilde Adieresis -20 +KPX Otilde Agrave -20 +KPX Otilde Amacron -20 +KPX Otilde Aogonek -20 +KPX Otilde Aring -20 +KPX Otilde Atilde -20 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -30 +KPX Otilde X -60 +KPX Otilde Y -70 +KPX Otilde Yacute -70 +KPX Otilde Ydieresis -70 +KPX Otilde comma -40 +KPX Otilde period -40 +KPX P A -120 +KPX P Aacute -120 +KPX P Abreve -120 +KPX P Acircumflex -120 +KPX P Adieresis -120 +KPX P Agrave -120 +KPX P Amacron -120 +KPX P Aogonek -120 +KPX P Aring -120 +KPX P Atilde -120 +KPX P a -40 +KPX P aacute -40 +KPX P abreve -40 +KPX P acircumflex -40 +KPX P adieresis -40 +KPX P agrave -40 +KPX P amacron -40 +KPX P aogonek -40 +KPX P aring -40 +KPX P atilde -40 +KPX P comma -180 +KPX P e -50 +KPX P eacute -50 +KPX P ecaron -50 +KPX P ecircumflex -50 +KPX P edieresis -50 +KPX P edotaccent -50 +KPX P egrave -50 +KPX P emacron -50 +KPX P eogonek -50 +KPX P o -50 +KPX P oacute -50 +KPX P ocircumflex -50 +KPX P odieresis -50 +KPX P ograve -50 +KPX P ohungarumlaut -50 +KPX P omacron -50 +KPX P oslash -50 +KPX P otilde -50 +KPX P period -180 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX R O -20 +KPX R Oacute -20 +KPX R Ocircumflex -20 +KPX R Odieresis -20 +KPX R Ograve -20 +KPX R Ohungarumlaut -20 +KPX R Omacron -20 +KPX R Oslash -20 +KPX R Otilde -20 +KPX R T -30 +KPX R Tcaron -30 +KPX R Tcommaaccent -30 +KPX R U -40 +KPX R Uacute -40 +KPX R Ucircumflex -40 +KPX R Udieresis -40 +KPX R Ugrave -40 +KPX R Uhungarumlaut -40 +KPX R Umacron -40 +KPX R Uogonek -40 +KPX R Uring -40 +KPX R V -50 +KPX R W -30 +KPX R Y -50 +KPX R Yacute -50 +KPX R Ydieresis -50 +KPX Racute O -20 +KPX Racute Oacute -20 +KPX Racute Ocircumflex -20 +KPX Racute Odieresis -20 +KPX Racute Ograve -20 +KPX Racute Ohungarumlaut -20 +KPX Racute Omacron -20 +KPX Racute Oslash -20 +KPX Racute Otilde -20 +KPX Racute T -30 +KPX Racute Tcaron -30 +KPX Racute Tcommaaccent -30 +KPX Racute U -40 +KPX Racute Uacute -40 +KPX Racute Ucircumflex -40 +KPX Racute Udieresis -40 +KPX Racute Ugrave -40 +KPX Racute Uhungarumlaut -40 +KPX Racute Umacron -40 +KPX Racute Uogonek -40 +KPX Racute Uring -40 +KPX Racute V -50 +KPX Racute W -30 +KPX Racute Y -50 +KPX Racute Yacute -50 +KPX Racute Ydieresis -50 +KPX Rcaron O -20 +KPX Rcaron Oacute -20 +KPX Rcaron Ocircumflex -20 +KPX Rcaron Odieresis -20 +KPX Rcaron Ograve -20 +KPX Rcaron Ohungarumlaut -20 +KPX Rcaron Omacron -20 +KPX Rcaron Oslash -20 +KPX Rcaron Otilde -20 +KPX Rcaron T -30 +KPX Rcaron Tcaron -30 +KPX Rcaron Tcommaaccent -30 +KPX Rcaron U -40 +KPX Rcaron Uacute -40 +KPX Rcaron Ucircumflex -40 +KPX Rcaron Udieresis -40 +KPX Rcaron Ugrave -40 +KPX Rcaron Uhungarumlaut -40 +KPX Rcaron Umacron -40 +KPX Rcaron Uogonek -40 +KPX Rcaron Uring -40 +KPX Rcaron V -50 +KPX Rcaron W -30 +KPX Rcaron Y -50 +KPX Rcaron Yacute -50 +KPX Rcaron Ydieresis -50 +KPX Rcommaaccent O -20 +KPX Rcommaaccent Oacute -20 +KPX Rcommaaccent Ocircumflex -20 +KPX Rcommaaccent Odieresis -20 +KPX Rcommaaccent Ograve -20 +KPX Rcommaaccent Ohungarumlaut -20 +KPX Rcommaaccent Omacron -20 +KPX Rcommaaccent Oslash -20 +KPX Rcommaaccent Otilde -20 +KPX Rcommaaccent T -30 +KPX Rcommaaccent Tcaron -30 +KPX Rcommaaccent Tcommaaccent -30 +KPX Rcommaaccent U -40 +KPX Rcommaaccent Uacute -40 +KPX Rcommaaccent Ucircumflex -40 +KPX Rcommaaccent Udieresis -40 +KPX Rcommaaccent Ugrave -40 +KPX Rcommaaccent Uhungarumlaut -40 +KPX Rcommaaccent Umacron -40 +KPX Rcommaaccent Uogonek -40 +KPX Rcommaaccent Uring -40 +KPX Rcommaaccent V -50 +KPX Rcommaaccent W -30 +KPX Rcommaaccent Y -50 +KPX Rcommaaccent Yacute -50 +KPX Rcommaaccent Ydieresis -50 +KPX S comma -20 +KPX S period -20 +KPX Sacute comma -20 +KPX Sacute period -20 +KPX Scaron comma -20 +KPX Scaron period -20 +KPX Scedilla comma -20 +KPX Scedilla period -20 +KPX Scommaaccent comma -20 +KPX Scommaaccent period -20 +KPX T A -120 +KPX T Aacute -120 +KPX T Abreve -120 +KPX T Acircumflex -120 +KPX T Adieresis -120 +KPX T Agrave -120 +KPX T Amacron -120 +KPX T Aogonek -120 +KPX T Aring -120 +KPX T Atilde -120 +KPX T O -40 +KPX T Oacute -40 +KPX T Ocircumflex -40 +KPX T Odieresis -40 +KPX T Ograve -40 +KPX T Ohungarumlaut -40 +KPX T Omacron -40 +KPX T Oslash -40 +KPX T Otilde -40 +KPX T a -120 +KPX T aacute -120 +KPX T abreve -60 +KPX T acircumflex -120 +KPX T adieresis -120 +KPX T agrave -120 +KPX T amacron -60 +KPX T aogonek -120 +KPX T aring -120 +KPX T atilde -60 +KPX T colon -20 +KPX T comma -120 +KPX T e -120 +KPX T eacute -120 +KPX T ecaron -120 +KPX T ecircumflex -120 +KPX T edieresis -120 +KPX T edotaccent -120 +KPX T egrave -60 +KPX T emacron -60 +KPX T eogonek -120 +KPX T hyphen -140 +KPX T o -120 +KPX T oacute -120 +KPX T ocircumflex -120 +KPX T odieresis -120 +KPX T ograve -120 +KPX T ohungarumlaut -120 +KPX T omacron -60 +KPX T oslash -120 +KPX T otilde -60 +KPX T period -120 +KPX T r -120 +KPX T racute -120 +KPX T rcaron -120 +KPX T rcommaaccent -120 +KPX T semicolon -20 +KPX T u -120 +KPX T uacute -120 +KPX T ucircumflex -120 +KPX T udieresis -120 +KPX T ugrave -120 +KPX T uhungarumlaut -120 +KPX T umacron -60 +KPX T uogonek -120 +KPX T uring -120 +KPX T w -120 +KPX T y -120 +KPX T yacute -120 +KPX T ydieresis -60 +KPX Tcaron A -120 +KPX Tcaron Aacute -120 +KPX Tcaron Abreve -120 +KPX Tcaron Acircumflex -120 +KPX Tcaron Adieresis -120 +KPX Tcaron Agrave -120 +KPX Tcaron Amacron -120 +KPX Tcaron Aogonek -120 +KPX Tcaron Aring -120 +KPX Tcaron Atilde -120 +KPX Tcaron O -40 +KPX Tcaron Oacute -40 +KPX Tcaron Ocircumflex -40 +KPX Tcaron Odieresis -40 +KPX Tcaron Ograve -40 +KPX Tcaron Ohungarumlaut -40 +KPX Tcaron Omacron -40 +KPX Tcaron Oslash -40 +KPX Tcaron Otilde -40 +KPX Tcaron a -120 +KPX Tcaron aacute -120 +KPX Tcaron abreve -60 +KPX Tcaron acircumflex -120 +KPX Tcaron adieresis -120 +KPX Tcaron agrave -120 +KPX Tcaron amacron -60 +KPX Tcaron aogonek -120 +KPX Tcaron aring -120 +KPX Tcaron atilde -60 +KPX Tcaron colon -20 +KPX Tcaron comma -120 +KPX Tcaron e -120 +KPX Tcaron eacute -120 +KPX Tcaron ecaron -120 +KPX Tcaron ecircumflex -120 +KPX Tcaron edieresis -120 +KPX Tcaron edotaccent -120 +KPX Tcaron egrave -60 +KPX Tcaron emacron -60 +KPX Tcaron eogonek -120 +KPX Tcaron hyphen -140 +KPX Tcaron o -120 +KPX Tcaron oacute -120 +KPX Tcaron ocircumflex -120 +KPX Tcaron odieresis -120 +KPX Tcaron ograve -120 +KPX Tcaron ohungarumlaut -120 +KPX Tcaron omacron -60 +KPX Tcaron oslash -120 +KPX Tcaron otilde -60 +KPX Tcaron period -120 +KPX Tcaron r -120 +KPX Tcaron racute -120 +KPX Tcaron rcaron -120 +KPX Tcaron rcommaaccent -120 +KPX Tcaron semicolon -20 +KPX Tcaron u -120 +KPX Tcaron uacute -120 +KPX Tcaron ucircumflex -120 +KPX Tcaron udieresis -120 +KPX Tcaron ugrave -120 +KPX Tcaron uhungarumlaut -120 +KPX Tcaron umacron -60 +KPX Tcaron uogonek -120 +KPX Tcaron uring -120 +KPX Tcaron w -120 +KPX Tcaron y -120 +KPX Tcaron yacute -120 +KPX Tcaron ydieresis -60 +KPX Tcommaaccent A -120 +KPX Tcommaaccent Aacute -120 +KPX Tcommaaccent Abreve -120 +KPX Tcommaaccent Acircumflex -120 +KPX Tcommaaccent Adieresis -120 +KPX Tcommaaccent Agrave -120 +KPX Tcommaaccent Amacron -120 +KPX Tcommaaccent Aogonek -120 +KPX Tcommaaccent Aring -120 +KPX Tcommaaccent Atilde -120 +KPX Tcommaaccent O -40 +KPX Tcommaaccent Oacute -40 +KPX Tcommaaccent Ocircumflex -40 +KPX Tcommaaccent Odieresis -40 +KPX Tcommaaccent Ograve -40 +KPX Tcommaaccent Ohungarumlaut -40 +KPX Tcommaaccent Omacron -40 +KPX Tcommaaccent Oslash -40 +KPX Tcommaaccent Otilde -40 +KPX Tcommaaccent a -120 +KPX Tcommaaccent aacute -120 +KPX Tcommaaccent abreve -60 +KPX Tcommaaccent acircumflex -120 +KPX Tcommaaccent adieresis -120 +KPX Tcommaaccent agrave -120 +KPX Tcommaaccent amacron -60 +KPX Tcommaaccent aogonek -120 +KPX Tcommaaccent aring -120 +KPX Tcommaaccent atilde -60 +KPX Tcommaaccent colon -20 +KPX Tcommaaccent comma -120 +KPX Tcommaaccent e -120 +KPX Tcommaaccent eacute -120 +KPX Tcommaaccent ecaron -120 +KPX Tcommaaccent ecircumflex -120 +KPX Tcommaaccent edieresis -120 +KPX Tcommaaccent edotaccent -120 +KPX Tcommaaccent egrave -60 +KPX Tcommaaccent emacron -60 +KPX Tcommaaccent eogonek -120 +KPX Tcommaaccent hyphen -140 +KPX Tcommaaccent o -120 +KPX Tcommaaccent oacute -120 +KPX Tcommaaccent ocircumflex -120 +KPX Tcommaaccent odieresis -120 +KPX Tcommaaccent ograve -120 +KPX Tcommaaccent ohungarumlaut -120 +KPX Tcommaaccent omacron -60 +KPX Tcommaaccent oslash -120 +KPX Tcommaaccent otilde -60 +KPX Tcommaaccent period -120 +KPX Tcommaaccent r -120 +KPX Tcommaaccent racute -120 +KPX Tcommaaccent rcaron -120 +KPX Tcommaaccent rcommaaccent -120 +KPX Tcommaaccent semicolon -20 +KPX Tcommaaccent u -120 +KPX Tcommaaccent uacute -120 +KPX Tcommaaccent ucircumflex -120 +KPX Tcommaaccent udieresis -120 +KPX Tcommaaccent ugrave -120 +KPX Tcommaaccent uhungarumlaut -120 +KPX Tcommaaccent umacron -60 +KPX Tcommaaccent uogonek -120 +KPX Tcommaaccent uring -120 +KPX Tcommaaccent w -120 +KPX Tcommaaccent y -120 +KPX Tcommaaccent yacute -120 +KPX Tcommaaccent ydieresis -60 +KPX U A -40 +KPX U Aacute -40 +KPX U Abreve -40 +KPX U Acircumflex -40 +KPX U Adieresis -40 +KPX U Agrave -40 +KPX U Amacron -40 +KPX U Aogonek -40 +KPX U Aring -40 +KPX U Atilde -40 +KPX U comma -40 +KPX U period -40 +KPX Uacute A -40 +KPX Uacute Aacute -40 +KPX Uacute Abreve -40 +KPX Uacute Acircumflex -40 +KPX Uacute Adieresis -40 +KPX Uacute Agrave -40 +KPX Uacute Amacron -40 +KPX Uacute Aogonek -40 +KPX Uacute Aring -40 +KPX Uacute Atilde -40 +KPX Uacute comma -40 +KPX Uacute period -40 +KPX Ucircumflex A -40 +KPX Ucircumflex Aacute -40 +KPX Ucircumflex Abreve -40 +KPX Ucircumflex Acircumflex -40 +KPX Ucircumflex Adieresis -40 +KPX Ucircumflex Agrave -40 +KPX Ucircumflex Amacron -40 +KPX Ucircumflex Aogonek -40 +KPX Ucircumflex Aring -40 +KPX Ucircumflex Atilde -40 +KPX Ucircumflex comma -40 +KPX Ucircumflex period -40 +KPX Udieresis A -40 +KPX Udieresis Aacute -40 +KPX Udieresis Abreve -40 +KPX Udieresis Acircumflex -40 +KPX Udieresis Adieresis -40 +KPX Udieresis Agrave -40 +KPX Udieresis Amacron -40 +KPX Udieresis Aogonek -40 +KPX Udieresis Aring -40 +KPX Udieresis Atilde -40 +KPX Udieresis comma -40 +KPX Udieresis period -40 +KPX Ugrave A -40 +KPX Ugrave Aacute -40 +KPX Ugrave Abreve -40 +KPX Ugrave Acircumflex -40 +KPX Ugrave Adieresis -40 +KPX Ugrave Agrave -40 +KPX Ugrave Amacron -40 +KPX Ugrave Aogonek -40 +KPX Ugrave Aring -40 +KPX Ugrave Atilde -40 +KPX Ugrave comma -40 +KPX Ugrave period -40 +KPX Uhungarumlaut A -40 +KPX Uhungarumlaut Aacute -40 +KPX Uhungarumlaut Abreve -40 +KPX Uhungarumlaut Acircumflex -40 +KPX Uhungarumlaut Adieresis -40 +KPX Uhungarumlaut Agrave -40 +KPX Uhungarumlaut Amacron -40 +KPX Uhungarumlaut Aogonek -40 +KPX Uhungarumlaut Aring -40 +KPX Uhungarumlaut Atilde -40 +KPX Uhungarumlaut comma -40 +KPX Uhungarumlaut period -40 +KPX Umacron A -40 +KPX Umacron Aacute -40 +KPX Umacron Abreve -40 +KPX Umacron Acircumflex -40 +KPX Umacron Adieresis -40 +KPX Umacron Agrave -40 +KPX Umacron Amacron -40 +KPX Umacron Aogonek -40 +KPX Umacron Aring -40 +KPX Umacron Atilde -40 +KPX Umacron comma -40 +KPX Umacron period -40 +KPX Uogonek A -40 +KPX Uogonek Aacute -40 +KPX Uogonek Abreve -40 +KPX Uogonek Acircumflex -40 +KPX Uogonek Adieresis -40 +KPX Uogonek Agrave -40 +KPX Uogonek Amacron -40 +KPX Uogonek Aogonek -40 +KPX Uogonek Aring -40 +KPX Uogonek Atilde -40 +KPX Uogonek comma -40 +KPX Uogonek period -40 +KPX Uring A -40 +KPX Uring Aacute -40 +KPX Uring Abreve -40 +KPX Uring Acircumflex -40 +KPX Uring Adieresis -40 +KPX Uring Agrave -40 +KPX Uring Amacron -40 +KPX Uring Aogonek -40 +KPX Uring Aring -40 +KPX Uring Atilde -40 +KPX Uring comma -40 +KPX Uring period -40 +KPX V A -80 +KPX V Aacute -80 +KPX V Abreve -80 +KPX V Acircumflex -80 +KPX V Adieresis -80 +KPX V Agrave -80 +KPX V Amacron -80 +KPX V Aogonek -80 +KPX V Aring -80 +KPX V Atilde -80 +KPX V G -40 +KPX V Gbreve -40 +KPX V Gcommaaccent -40 +KPX V O -40 +KPX V Oacute -40 +KPX V Ocircumflex -40 +KPX V Odieresis -40 +KPX V Ograve -40 +KPX V Ohungarumlaut -40 +KPX V Omacron -40 +KPX V Oslash -40 +KPX V Otilde -40 +KPX V a -70 +KPX V aacute -70 +KPX V abreve -70 +KPX V acircumflex -70 +KPX V adieresis -70 +KPX V agrave -70 +KPX V amacron -70 +KPX V aogonek -70 +KPX V aring -70 +KPX V atilde -70 +KPX V colon -40 +KPX V comma -125 +KPX V e -80 +KPX V eacute -80 +KPX V ecaron -80 +KPX V ecircumflex -80 +KPX V edieresis -80 +KPX V edotaccent -80 +KPX V egrave -80 +KPX V emacron -80 +KPX V eogonek -80 +KPX V hyphen -80 +KPX V o -80 +KPX V oacute -80 +KPX V ocircumflex -80 +KPX V odieresis -80 +KPX V ograve -80 +KPX V ohungarumlaut -80 +KPX V omacron -80 +KPX V oslash -80 +KPX V otilde -80 +KPX V period -125 +KPX V semicolon -40 +KPX V u -70 +KPX V uacute -70 +KPX V ucircumflex -70 +KPX V udieresis -70 +KPX V ugrave -70 +KPX V uhungarumlaut -70 +KPX V umacron -70 +KPX V uogonek -70 +KPX V uring -70 +KPX W A -50 +KPX W Aacute -50 +KPX W Abreve -50 +KPX W Acircumflex -50 +KPX W Adieresis -50 +KPX W Agrave -50 +KPX W Amacron -50 +KPX W Aogonek -50 +KPX W Aring -50 +KPX W Atilde -50 +KPX W O -20 +KPX W Oacute -20 +KPX W Ocircumflex -20 +KPX W Odieresis -20 +KPX W Ograve -20 +KPX W Ohungarumlaut -20 +KPX W Omacron -20 +KPX W Oslash -20 +KPX W Otilde -20 +KPX W a -40 +KPX W aacute -40 +KPX W abreve -40 +KPX W acircumflex -40 +KPX W adieresis -40 +KPX W agrave -40 +KPX W amacron -40 +KPX W aogonek -40 +KPX W aring -40 +KPX W atilde -40 +KPX W comma -80 +KPX W e -30 +KPX W eacute -30 +KPX W ecaron -30 +KPX W ecircumflex -30 +KPX W edieresis -30 +KPX W edotaccent -30 +KPX W egrave -30 +KPX W emacron -30 +KPX W eogonek -30 +KPX W hyphen -40 +KPX W o -30 +KPX W oacute -30 +KPX W ocircumflex -30 +KPX W odieresis -30 +KPX W ograve -30 +KPX W ohungarumlaut -30 +KPX W omacron -30 +KPX W oslash -30 +KPX W otilde -30 +KPX W period -80 +KPX W u -30 +KPX W uacute -30 +KPX W ucircumflex -30 +KPX W udieresis -30 +KPX W ugrave -30 +KPX W uhungarumlaut -30 +KPX W umacron -30 +KPX W uogonek -30 +KPX W uring -30 +KPX W y -20 +KPX W yacute -20 +KPX W ydieresis -20 +KPX Y A -110 +KPX Y Aacute -110 +KPX Y Abreve -110 +KPX Y Acircumflex -110 +KPX Y Adieresis -110 +KPX Y Agrave -110 +KPX Y Amacron -110 +KPX Y Aogonek -110 +KPX Y Aring -110 +KPX Y Atilde -110 +KPX Y O -85 +KPX Y Oacute -85 +KPX Y Ocircumflex -85 +KPX Y Odieresis -85 +KPX Y Ograve -85 +KPX Y Ohungarumlaut -85 +KPX Y Omacron -85 +KPX Y Oslash -85 +KPX Y Otilde -85 +KPX Y a -140 +KPX Y aacute -140 +KPX Y abreve -70 +KPX Y acircumflex -140 +KPX Y adieresis -140 +KPX Y agrave -140 +KPX Y amacron -70 +KPX Y aogonek -140 +KPX Y aring -140 +KPX Y atilde -140 +KPX Y colon -60 +KPX Y comma -140 +KPX Y e -140 +KPX Y eacute -140 +KPX Y ecaron -140 +KPX Y ecircumflex -140 +KPX Y edieresis -140 +KPX Y edotaccent -140 +KPX Y egrave -140 +KPX Y emacron -70 +KPX Y eogonek -140 +KPX Y hyphen -140 +KPX Y i -20 +KPX Y iacute -20 +KPX Y iogonek -20 +KPX Y o -140 +KPX Y oacute -140 +KPX Y ocircumflex -140 +KPX Y odieresis -140 +KPX Y ograve -140 +KPX Y ohungarumlaut -140 +KPX Y omacron -140 +KPX Y oslash -140 +KPX Y otilde -140 +KPX Y period -140 +KPX Y semicolon -60 +KPX Y u -110 +KPX Y uacute -110 +KPX Y ucircumflex -110 +KPX Y udieresis -110 +KPX Y ugrave -110 +KPX Y uhungarumlaut -110 +KPX Y umacron -110 +KPX Y uogonek -110 +KPX Y uring -110 +KPX Yacute A -110 +KPX Yacute Aacute -110 +KPX Yacute Abreve -110 +KPX Yacute Acircumflex -110 +KPX Yacute Adieresis -110 +KPX Yacute Agrave -110 +KPX Yacute Amacron -110 +KPX Yacute Aogonek -110 +KPX Yacute Aring -110 +KPX Yacute Atilde -110 +KPX Yacute O -85 +KPX Yacute Oacute -85 +KPX Yacute Ocircumflex -85 +KPX Yacute Odieresis -85 +KPX Yacute Ograve -85 +KPX Yacute Ohungarumlaut -85 +KPX Yacute Omacron -85 +KPX Yacute Oslash -85 +KPX Yacute Otilde -85 +KPX Yacute a -140 +KPX Yacute aacute -140 +KPX Yacute abreve -70 +KPX Yacute acircumflex -140 +KPX Yacute adieresis -140 +KPX Yacute agrave -140 +KPX Yacute amacron -70 +KPX Yacute aogonek -140 +KPX Yacute aring -140 +KPX Yacute atilde -70 +KPX Yacute colon -60 +KPX Yacute comma -140 +KPX Yacute e -140 +KPX Yacute eacute -140 +KPX Yacute ecaron -140 +KPX Yacute ecircumflex -140 +KPX Yacute edieresis -140 +KPX Yacute edotaccent -140 +KPX Yacute egrave -140 +KPX Yacute emacron -70 +KPX Yacute eogonek -140 +KPX Yacute hyphen -140 +KPX Yacute i -20 +KPX Yacute iacute -20 +KPX Yacute iogonek -20 +KPX Yacute o -140 +KPX Yacute oacute -140 +KPX Yacute ocircumflex -140 +KPX Yacute odieresis -140 +KPX Yacute ograve -140 +KPX Yacute ohungarumlaut -140 +KPX Yacute omacron -70 +KPX Yacute oslash -140 +KPX Yacute otilde -140 +KPX Yacute period -140 +KPX Yacute semicolon -60 +KPX Yacute u -110 +KPX Yacute uacute -110 +KPX Yacute ucircumflex -110 +KPX Yacute udieresis -110 +KPX Yacute ugrave -110 +KPX Yacute uhungarumlaut -110 +KPX Yacute umacron -110 +KPX Yacute uogonek -110 +KPX Yacute uring -110 +KPX Ydieresis A -110 +KPX Ydieresis Aacute -110 +KPX Ydieresis Abreve -110 +KPX Ydieresis Acircumflex -110 +KPX Ydieresis Adieresis -110 +KPX Ydieresis Agrave -110 +KPX Ydieresis Amacron -110 +KPX Ydieresis Aogonek -110 +KPX Ydieresis Aring -110 +KPX Ydieresis Atilde -110 +KPX Ydieresis O -85 +KPX Ydieresis Oacute -85 +KPX Ydieresis Ocircumflex -85 +KPX Ydieresis Odieresis -85 +KPX Ydieresis Ograve -85 +KPX Ydieresis Ohungarumlaut -85 +KPX Ydieresis Omacron -85 +KPX Ydieresis Oslash -85 +KPX Ydieresis Otilde -85 +KPX Ydieresis a -140 +KPX Ydieresis aacute -140 +KPX Ydieresis abreve -70 +KPX Ydieresis acircumflex -140 +KPX Ydieresis adieresis -140 +KPX Ydieresis agrave -140 +KPX Ydieresis amacron -70 +KPX Ydieresis aogonek -140 +KPX Ydieresis aring -140 +KPX Ydieresis atilde -70 +KPX Ydieresis colon -60 +KPX Ydieresis comma -140 +KPX Ydieresis e -140 +KPX Ydieresis eacute -140 +KPX Ydieresis ecaron -140 +KPX Ydieresis ecircumflex -140 +KPX Ydieresis edieresis -140 +KPX Ydieresis edotaccent -140 +KPX Ydieresis egrave -140 +KPX Ydieresis emacron -70 +KPX Ydieresis eogonek -140 +KPX Ydieresis hyphen -140 +KPX Ydieresis i -20 +KPX Ydieresis iacute -20 +KPX Ydieresis iogonek -20 +KPX Ydieresis o -140 +KPX Ydieresis oacute -140 +KPX Ydieresis ocircumflex -140 +KPX Ydieresis odieresis -140 +KPX Ydieresis ograve -140 +KPX Ydieresis ohungarumlaut -140 +KPX Ydieresis omacron -140 +KPX Ydieresis oslash -140 +KPX Ydieresis otilde -140 +KPX Ydieresis period -140 +KPX Ydieresis semicolon -60 +KPX Ydieresis u -110 +KPX Ydieresis uacute -110 +KPX Ydieresis ucircumflex -110 +KPX Ydieresis udieresis -110 +KPX Ydieresis ugrave -110 +KPX Ydieresis uhungarumlaut -110 +KPX Ydieresis umacron -110 +KPX Ydieresis uogonek -110 +KPX Ydieresis uring -110 +KPX a v -20 +KPX a w -20 +KPX a y -30 +KPX a yacute -30 +KPX a ydieresis -30 +KPX aacute v -20 +KPX aacute w -20 +KPX aacute y -30 +KPX aacute yacute -30 +KPX aacute ydieresis -30 +KPX abreve v -20 +KPX abreve w -20 +KPX abreve y -30 +KPX abreve yacute -30 +KPX abreve ydieresis -30 +KPX acircumflex v -20 +KPX acircumflex w -20 +KPX acircumflex y -30 +KPX acircumflex yacute -30 +KPX acircumflex ydieresis -30 +KPX adieresis v -20 +KPX adieresis w -20 +KPX adieresis y -30 +KPX adieresis yacute -30 +KPX adieresis ydieresis -30 +KPX agrave v -20 +KPX agrave w -20 +KPX agrave y -30 +KPX agrave yacute -30 +KPX agrave ydieresis -30 +KPX amacron v -20 +KPX amacron w -20 +KPX amacron y -30 +KPX amacron yacute -30 +KPX amacron ydieresis -30 +KPX aogonek v -20 +KPX aogonek w -20 +KPX aogonek y -30 +KPX aogonek yacute -30 +KPX aogonek ydieresis -30 +KPX aring v -20 +KPX aring w -20 +KPX aring y -30 +KPX aring yacute -30 +KPX aring ydieresis -30 +KPX atilde v -20 +KPX atilde w -20 +KPX atilde y -30 +KPX atilde yacute -30 +KPX atilde ydieresis -30 +KPX b b -10 +KPX b comma -40 +KPX b l -20 +KPX b lacute -20 +KPX b lcommaaccent -20 +KPX b lslash -20 +KPX b period -40 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX b v -20 +KPX b y -20 +KPX b yacute -20 +KPX b ydieresis -20 +KPX c comma -15 +KPX c k -20 +KPX c kcommaaccent -20 +KPX cacute comma -15 +KPX cacute k -20 +KPX cacute kcommaaccent -20 +KPX ccaron comma -15 +KPX ccaron k -20 +KPX ccaron kcommaaccent -20 +KPX ccedilla comma -15 +KPX ccedilla k -20 +KPX ccedilla kcommaaccent -20 +KPX colon space -50 +KPX comma quotedblright -100 +KPX comma quoteright -100 +KPX e comma -15 +KPX e period -15 +KPX e v -30 +KPX e w -20 +KPX e x -30 +KPX e y -20 +KPX e yacute -20 +KPX e ydieresis -20 +KPX eacute comma -15 +KPX eacute period -15 +KPX eacute v -30 +KPX eacute w -20 +KPX eacute x -30 +KPX eacute y -20 +KPX eacute yacute -20 +KPX eacute ydieresis -20 +KPX ecaron comma -15 +KPX ecaron period -15 +KPX ecaron v -30 +KPX ecaron w -20 +KPX ecaron x -30 +KPX ecaron y -20 +KPX ecaron yacute -20 +KPX ecaron ydieresis -20 +KPX ecircumflex comma -15 +KPX ecircumflex period -15 +KPX ecircumflex v -30 +KPX ecircumflex w -20 +KPX ecircumflex x -30 +KPX ecircumflex y -20 +KPX ecircumflex yacute -20 +KPX ecircumflex ydieresis -20 +KPX edieresis comma -15 +KPX edieresis period -15 +KPX edieresis v -30 +KPX edieresis w -20 +KPX edieresis x -30 +KPX edieresis y -20 +KPX edieresis yacute -20 +KPX edieresis ydieresis -20 +KPX edotaccent comma -15 +KPX edotaccent period -15 +KPX edotaccent v -30 +KPX edotaccent w -20 +KPX edotaccent x -30 +KPX edotaccent y -20 +KPX edotaccent yacute -20 +KPX edotaccent ydieresis -20 +KPX egrave comma -15 +KPX egrave period -15 +KPX egrave v -30 +KPX egrave w -20 +KPX egrave x -30 +KPX egrave y -20 +KPX egrave yacute -20 +KPX egrave ydieresis -20 +KPX emacron comma -15 +KPX emacron period -15 +KPX emacron v -30 +KPX emacron w -20 +KPX emacron x -30 +KPX emacron y -20 +KPX emacron yacute -20 +KPX emacron ydieresis -20 +KPX eogonek comma -15 +KPX eogonek period -15 +KPX eogonek v -30 +KPX eogonek w -20 +KPX eogonek x -30 +KPX eogonek y -20 +KPX eogonek yacute -20 +KPX eogonek ydieresis -20 +KPX f a -30 +KPX f aacute -30 +KPX f abreve -30 +KPX f acircumflex -30 +KPX f adieresis -30 +KPX f agrave -30 +KPX f amacron -30 +KPX f aogonek -30 +KPX f aring -30 +KPX f atilde -30 +KPX f comma -30 +KPX f dotlessi -28 +KPX f e -30 +KPX f eacute -30 +KPX f ecaron -30 +KPX f ecircumflex -30 +KPX f edieresis -30 +KPX f edotaccent -30 +KPX f egrave -30 +KPX f emacron -30 +KPX f eogonek -30 +KPX f o -30 +KPX f oacute -30 +KPX f ocircumflex -30 +KPX f odieresis -30 +KPX f ograve -30 +KPX f ohungarumlaut -30 +KPX f omacron -30 +KPX f oslash -30 +KPX f otilde -30 +KPX f period -30 +KPX f quotedblright 60 +KPX f quoteright 50 +KPX g r -10 +KPX g racute -10 +KPX g rcaron -10 +KPX g rcommaaccent -10 +KPX gbreve r -10 +KPX gbreve racute -10 +KPX gbreve rcaron -10 +KPX gbreve rcommaaccent -10 +KPX gcommaaccent r -10 +KPX gcommaaccent racute -10 +KPX gcommaaccent rcaron -10 +KPX gcommaaccent rcommaaccent -10 +KPX h y -30 +KPX h yacute -30 +KPX h ydieresis -30 +KPX k e -20 +KPX k eacute -20 +KPX k ecaron -20 +KPX k ecircumflex -20 +KPX k edieresis -20 +KPX k edotaccent -20 +KPX k egrave -20 +KPX k emacron -20 +KPX k eogonek -20 +KPX k o -20 +KPX k oacute -20 +KPX k ocircumflex -20 +KPX k odieresis -20 +KPX k ograve -20 +KPX k ohungarumlaut -20 +KPX k omacron -20 +KPX k oslash -20 +KPX k otilde -20 +KPX kcommaaccent e -20 +KPX kcommaaccent eacute -20 +KPX kcommaaccent ecaron -20 +KPX kcommaaccent ecircumflex -20 +KPX kcommaaccent edieresis -20 +KPX kcommaaccent edotaccent -20 +KPX kcommaaccent egrave -20 +KPX kcommaaccent emacron -20 +KPX kcommaaccent eogonek -20 +KPX kcommaaccent o -20 +KPX kcommaaccent oacute -20 +KPX kcommaaccent ocircumflex -20 +KPX kcommaaccent odieresis -20 +KPX kcommaaccent ograve -20 +KPX kcommaaccent ohungarumlaut -20 +KPX kcommaaccent omacron -20 +KPX kcommaaccent oslash -20 +KPX kcommaaccent otilde -20 +KPX m u -10 +KPX m uacute -10 +KPX m ucircumflex -10 +KPX m udieresis -10 +KPX m ugrave -10 +KPX m uhungarumlaut -10 +KPX m umacron -10 +KPX m uogonek -10 +KPX m uring -10 +KPX m y -15 +KPX m yacute -15 +KPX m ydieresis -15 +KPX n u -10 +KPX n uacute -10 +KPX n ucircumflex -10 +KPX n udieresis -10 +KPX n ugrave -10 +KPX n uhungarumlaut -10 +KPX n umacron -10 +KPX n uogonek -10 +KPX n uring -10 +KPX n v -20 +KPX n y -15 +KPX n yacute -15 +KPX n ydieresis -15 +KPX nacute u -10 +KPX nacute uacute -10 +KPX nacute ucircumflex -10 +KPX nacute udieresis -10 +KPX nacute ugrave -10 +KPX nacute uhungarumlaut -10 +KPX nacute umacron -10 +KPX nacute uogonek -10 +KPX nacute uring -10 +KPX nacute v -20 +KPX nacute y -15 +KPX nacute yacute -15 +KPX nacute ydieresis -15 +KPX ncaron u -10 +KPX ncaron uacute -10 +KPX ncaron ucircumflex -10 +KPX ncaron udieresis -10 +KPX ncaron ugrave -10 +KPX ncaron uhungarumlaut -10 +KPX ncaron umacron -10 +KPX ncaron uogonek -10 +KPX ncaron uring -10 +KPX ncaron v -20 +KPX ncaron y -15 +KPX ncaron yacute -15 +KPX ncaron ydieresis -15 +KPX ncommaaccent u -10 +KPX ncommaaccent uacute -10 +KPX ncommaaccent ucircumflex -10 +KPX ncommaaccent udieresis -10 +KPX ncommaaccent ugrave -10 +KPX ncommaaccent uhungarumlaut -10 +KPX ncommaaccent umacron -10 +KPX ncommaaccent uogonek -10 +KPX ncommaaccent uring -10 +KPX ncommaaccent v -20 +KPX ncommaaccent y -15 +KPX ncommaaccent yacute -15 +KPX ncommaaccent ydieresis -15 +KPX ntilde u -10 +KPX ntilde uacute -10 +KPX ntilde ucircumflex -10 +KPX ntilde udieresis -10 +KPX ntilde ugrave -10 +KPX ntilde uhungarumlaut -10 +KPX ntilde umacron -10 +KPX ntilde uogonek -10 +KPX ntilde uring -10 +KPX ntilde v -20 +KPX ntilde y -15 +KPX ntilde yacute -15 +KPX ntilde ydieresis -15 +KPX o comma -40 +KPX o period -40 +KPX o v -15 +KPX o w -15 +KPX o x -30 +KPX o y -30 +KPX o yacute -30 +KPX o ydieresis -30 +KPX oacute comma -40 +KPX oacute period -40 +KPX oacute v -15 +KPX oacute w -15 +KPX oacute x -30 +KPX oacute y -30 +KPX oacute yacute -30 +KPX oacute ydieresis -30 +KPX ocircumflex comma -40 +KPX ocircumflex period -40 +KPX ocircumflex v -15 +KPX ocircumflex w -15 +KPX ocircumflex x -30 +KPX ocircumflex y -30 +KPX ocircumflex yacute -30 +KPX ocircumflex ydieresis -30 +KPX odieresis comma -40 +KPX odieresis period -40 +KPX odieresis v -15 +KPX odieresis w -15 +KPX odieresis x -30 +KPX odieresis y -30 +KPX odieresis yacute -30 +KPX odieresis ydieresis -30 +KPX ograve comma -40 +KPX ograve period -40 +KPX ograve v -15 +KPX ograve w -15 +KPX ograve x -30 +KPX ograve y -30 +KPX ograve yacute -30 +KPX ograve ydieresis -30 +KPX ohungarumlaut comma -40 +KPX ohungarumlaut period -40 +KPX ohungarumlaut v -15 +KPX ohungarumlaut w -15 +KPX ohungarumlaut x -30 +KPX ohungarumlaut y -30 +KPX ohungarumlaut yacute -30 +KPX ohungarumlaut ydieresis -30 +KPX omacron comma -40 +KPX omacron period -40 +KPX omacron v -15 +KPX omacron w -15 +KPX omacron x -30 +KPX omacron y -30 +KPX omacron yacute -30 +KPX omacron ydieresis -30 +KPX oslash a -55 +KPX oslash aacute -55 +KPX oslash abreve -55 +KPX oslash acircumflex -55 +KPX oslash adieresis -55 +KPX oslash agrave -55 +KPX oslash amacron -55 +KPX oslash aogonek -55 +KPX oslash aring -55 +KPX oslash atilde -55 +KPX oslash b -55 +KPX oslash c -55 +KPX oslash cacute -55 +KPX oslash ccaron -55 +KPX oslash ccedilla -55 +KPX oslash comma -95 +KPX oslash d -55 +KPX oslash dcroat -55 +KPX oslash e -55 +KPX oslash eacute -55 +KPX oslash ecaron -55 +KPX oslash ecircumflex -55 +KPX oslash edieresis -55 +KPX oslash edotaccent -55 +KPX oslash egrave -55 +KPX oslash emacron -55 +KPX oslash eogonek -55 +KPX oslash f -55 +KPX oslash g -55 +KPX oslash gbreve -55 +KPX oslash gcommaaccent -55 +KPX oslash h -55 +KPX oslash i -55 +KPX oslash iacute -55 +KPX oslash icircumflex -55 +KPX oslash idieresis -55 +KPX oslash igrave -55 +KPX oslash imacron -55 +KPX oslash iogonek -55 +KPX oslash j -55 +KPX oslash k -55 +KPX oslash kcommaaccent -55 +KPX oslash l -55 +KPX oslash lacute -55 +KPX oslash lcommaaccent -55 +KPX oslash lslash -55 +KPX oslash m -55 +KPX oslash n -55 +KPX oslash nacute -55 +KPX oslash ncaron -55 +KPX oslash ncommaaccent -55 +KPX oslash ntilde -55 +KPX oslash o -55 +KPX oslash oacute -55 +KPX oslash ocircumflex -55 +KPX oslash odieresis -55 +KPX oslash ograve -55 +KPX oslash ohungarumlaut -55 +KPX oslash omacron -55 +KPX oslash oslash -55 +KPX oslash otilde -55 +KPX oslash p -55 +KPX oslash period -95 +KPX oslash q -55 +KPX oslash r -55 +KPX oslash racute -55 +KPX oslash rcaron -55 +KPX oslash rcommaaccent -55 +KPX oslash s -55 +KPX oslash sacute -55 +KPX oslash scaron -55 +KPX oslash scedilla -55 +KPX oslash scommaaccent -55 +KPX oslash t -55 +KPX oslash tcommaaccent -55 +KPX oslash u -55 +KPX oslash uacute -55 +KPX oslash ucircumflex -55 +KPX oslash udieresis -55 +KPX oslash ugrave -55 +KPX oslash uhungarumlaut -55 +KPX oslash umacron -55 +KPX oslash uogonek -55 +KPX oslash uring -55 +KPX oslash v -70 +KPX oslash w -70 +KPX oslash x -85 +KPX oslash y -70 +KPX oslash yacute -70 +KPX oslash ydieresis -70 +KPX oslash z -55 +KPX oslash zacute -55 +KPX oslash zcaron -55 +KPX oslash zdotaccent -55 +KPX otilde comma -40 +KPX otilde period -40 +KPX otilde v -15 +KPX otilde w -15 +KPX otilde x -30 +KPX otilde y -30 +KPX otilde yacute -30 +KPX otilde ydieresis -30 +KPX p comma -35 +KPX p period -35 +KPX p y -30 +KPX p yacute -30 +KPX p ydieresis -30 +KPX period quotedblright -100 +KPX period quoteright -100 +KPX period space -60 +KPX quotedblright space -40 +KPX quoteleft quoteleft -57 +KPX quoteright d -50 +KPX quoteright dcroat -50 +KPX quoteright quoteright -57 +KPX quoteright r -50 +KPX quoteright racute -50 +KPX quoteright rcaron -50 +KPX quoteright rcommaaccent -50 +KPX quoteright s -50 +KPX quoteright sacute -50 +KPX quoteright scaron -50 +KPX quoteright scedilla -50 +KPX quoteright scommaaccent -50 +KPX quoteright space -70 +KPX r a -10 +KPX r aacute -10 +KPX r abreve -10 +KPX r acircumflex -10 +KPX r adieresis -10 +KPX r agrave -10 +KPX r amacron -10 +KPX r aogonek -10 +KPX r aring -10 +KPX r atilde -10 +KPX r colon 30 +KPX r comma -50 +KPX r i 15 +KPX r iacute 15 +KPX r icircumflex 15 +KPX r idieresis 15 +KPX r igrave 15 +KPX r imacron 15 +KPX r iogonek 15 +KPX r k 15 +KPX r kcommaaccent 15 +KPX r l 15 +KPX r lacute 15 +KPX r lcommaaccent 15 +KPX r lslash 15 +KPX r m 25 +KPX r n 25 +KPX r nacute 25 +KPX r ncaron 25 +KPX r ncommaaccent 25 +KPX r ntilde 25 +KPX r p 30 +KPX r period -50 +KPX r semicolon 30 +KPX r t 40 +KPX r tcommaaccent 40 +KPX r u 15 +KPX r uacute 15 +KPX r ucircumflex 15 +KPX r udieresis 15 +KPX r ugrave 15 +KPX r uhungarumlaut 15 +KPX r umacron 15 +KPX r uogonek 15 +KPX r uring 15 +KPX r v 30 +KPX r y 30 +KPX r yacute 30 +KPX r ydieresis 30 +KPX racute a -10 +KPX racute aacute -10 +KPX racute abreve -10 +KPX racute acircumflex -10 +KPX racute adieresis -10 +KPX racute agrave -10 +KPX racute amacron -10 +KPX racute aogonek -10 +KPX racute aring -10 +KPX racute atilde -10 +KPX racute colon 30 +KPX racute comma -50 +KPX racute i 15 +KPX racute iacute 15 +KPX racute icircumflex 15 +KPX racute idieresis 15 +KPX racute igrave 15 +KPX racute imacron 15 +KPX racute iogonek 15 +KPX racute k 15 +KPX racute kcommaaccent 15 +KPX racute l 15 +KPX racute lacute 15 +KPX racute lcommaaccent 15 +KPX racute lslash 15 +KPX racute m 25 +KPX racute n 25 +KPX racute nacute 25 +KPX racute ncaron 25 +KPX racute ncommaaccent 25 +KPX racute ntilde 25 +KPX racute p 30 +KPX racute period -50 +KPX racute semicolon 30 +KPX racute t 40 +KPX racute tcommaaccent 40 +KPX racute u 15 +KPX racute uacute 15 +KPX racute ucircumflex 15 +KPX racute udieresis 15 +KPX racute ugrave 15 +KPX racute uhungarumlaut 15 +KPX racute umacron 15 +KPX racute uogonek 15 +KPX racute uring 15 +KPX racute v 30 +KPX racute y 30 +KPX racute yacute 30 +KPX racute ydieresis 30 +KPX rcaron a -10 +KPX rcaron aacute -10 +KPX rcaron abreve -10 +KPX rcaron acircumflex -10 +KPX rcaron adieresis -10 +KPX rcaron agrave -10 +KPX rcaron amacron -10 +KPX rcaron aogonek -10 +KPX rcaron aring -10 +KPX rcaron atilde -10 +KPX rcaron colon 30 +KPX rcaron comma -50 +KPX rcaron i 15 +KPX rcaron iacute 15 +KPX rcaron icircumflex 15 +KPX rcaron idieresis 15 +KPX rcaron igrave 15 +KPX rcaron imacron 15 +KPX rcaron iogonek 15 +KPX rcaron k 15 +KPX rcaron kcommaaccent 15 +KPX rcaron l 15 +KPX rcaron lacute 15 +KPX rcaron lcommaaccent 15 +KPX rcaron lslash 15 +KPX rcaron m 25 +KPX rcaron n 25 +KPX rcaron nacute 25 +KPX rcaron ncaron 25 +KPX rcaron ncommaaccent 25 +KPX rcaron ntilde 25 +KPX rcaron p 30 +KPX rcaron period -50 +KPX rcaron semicolon 30 +KPX rcaron t 40 +KPX rcaron tcommaaccent 40 +KPX rcaron u 15 +KPX rcaron uacute 15 +KPX rcaron ucircumflex 15 +KPX rcaron udieresis 15 +KPX rcaron ugrave 15 +KPX rcaron uhungarumlaut 15 +KPX rcaron umacron 15 +KPX rcaron uogonek 15 +KPX rcaron uring 15 +KPX rcaron v 30 +KPX rcaron y 30 +KPX rcaron yacute 30 +KPX rcaron ydieresis 30 +KPX rcommaaccent a -10 +KPX rcommaaccent aacute -10 +KPX rcommaaccent abreve -10 +KPX rcommaaccent acircumflex -10 +KPX rcommaaccent adieresis -10 +KPX rcommaaccent agrave -10 +KPX rcommaaccent amacron -10 +KPX rcommaaccent aogonek -10 +KPX rcommaaccent aring -10 +KPX rcommaaccent atilde -10 +KPX rcommaaccent colon 30 +KPX rcommaaccent comma -50 +KPX rcommaaccent i 15 +KPX rcommaaccent iacute 15 +KPX rcommaaccent icircumflex 15 +KPX rcommaaccent idieresis 15 +KPX rcommaaccent igrave 15 +KPX rcommaaccent imacron 15 +KPX rcommaaccent iogonek 15 +KPX rcommaaccent k 15 +KPX rcommaaccent kcommaaccent 15 +KPX rcommaaccent l 15 +KPX rcommaaccent lacute 15 +KPX rcommaaccent lcommaaccent 15 +KPX rcommaaccent lslash 15 +KPX rcommaaccent m 25 +KPX rcommaaccent n 25 +KPX rcommaaccent nacute 25 +KPX rcommaaccent ncaron 25 +KPX rcommaaccent ncommaaccent 25 +KPX rcommaaccent ntilde 25 +KPX rcommaaccent p 30 +KPX rcommaaccent period -50 +KPX rcommaaccent semicolon 30 +KPX rcommaaccent t 40 +KPX rcommaaccent tcommaaccent 40 +KPX rcommaaccent u 15 +KPX rcommaaccent uacute 15 +KPX rcommaaccent ucircumflex 15 +KPX rcommaaccent udieresis 15 +KPX rcommaaccent ugrave 15 +KPX rcommaaccent uhungarumlaut 15 +KPX rcommaaccent umacron 15 +KPX rcommaaccent uogonek 15 +KPX rcommaaccent uring 15 +KPX rcommaaccent v 30 +KPX rcommaaccent y 30 +KPX rcommaaccent yacute 30 +KPX rcommaaccent ydieresis 30 +KPX s comma -15 +KPX s period -15 +KPX s w -30 +KPX sacute comma -15 +KPX sacute period -15 +KPX sacute w -30 +KPX scaron comma -15 +KPX scaron period -15 +KPX scaron w -30 +KPX scedilla comma -15 +KPX scedilla period -15 +KPX scedilla w -30 +KPX scommaaccent comma -15 +KPX scommaaccent period -15 +KPX scommaaccent w -30 +KPX semicolon space -50 +KPX space T -50 +KPX space Tcaron -50 +KPX space Tcommaaccent -50 +KPX space V -50 +KPX space W -40 +KPX space Y -90 +KPX space Yacute -90 +KPX space Ydieresis -90 +KPX space quotedblleft -30 +KPX space quoteleft -60 +KPX v a -25 +KPX v aacute -25 +KPX v abreve -25 +KPX v acircumflex -25 +KPX v adieresis -25 +KPX v agrave -25 +KPX v amacron -25 +KPX v aogonek -25 +KPX v aring -25 +KPX v atilde -25 +KPX v comma -80 +KPX v e -25 +KPX v eacute -25 +KPX v ecaron -25 +KPX v ecircumflex -25 +KPX v edieresis -25 +KPX v edotaccent -25 +KPX v egrave -25 +KPX v emacron -25 +KPX v eogonek -25 +KPX v o -25 +KPX v oacute -25 +KPX v ocircumflex -25 +KPX v odieresis -25 +KPX v ograve -25 +KPX v ohungarumlaut -25 +KPX v omacron -25 +KPX v oslash -25 +KPX v otilde -25 +KPX v period -80 +KPX w a -15 +KPX w aacute -15 +KPX w abreve -15 +KPX w acircumflex -15 +KPX w adieresis -15 +KPX w agrave -15 +KPX w amacron -15 +KPX w aogonek -15 +KPX w aring -15 +KPX w atilde -15 +KPX w comma -60 +KPX w e -10 +KPX w eacute -10 +KPX w ecaron -10 +KPX w ecircumflex -10 +KPX w edieresis -10 +KPX w edotaccent -10 +KPX w egrave -10 +KPX w emacron -10 +KPX w eogonek -10 +KPX w o -10 +KPX w oacute -10 +KPX w ocircumflex -10 +KPX w odieresis -10 +KPX w ograve -10 +KPX w ohungarumlaut -10 +KPX w omacron -10 +KPX w oslash -10 +KPX w otilde -10 +KPX w period -60 +KPX x e -30 +KPX x eacute -30 +KPX x ecaron -30 +KPX x ecircumflex -30 +KPX x edieresis -30 +KPX x edotaccent -30 +KPX x egrave -30 +KPX x emacron -30 +KPX x eogonek -30 +KPX y a -20 +KPX y aacute -20 +KPX y abreve -20 +KPX y acircumflex -20 +KPX y adieresis -20 +KPX y agrave -20 +KPX y amacron -20 +KPX y aogonek -20 +KPX y aring -20 +KPX y atilde -20 +KPX y comma -100 +KPX y e -20 +KPX y eacute -20 +KPX y ecaron -20 +KPX y ecircumflex -20 +KPX y edieresis -20 +KPX y edotaccent -20 +KPX y egrave -20 +KPX y emacron -20 +KPX y eogonek -20 +KPX y o -20 +KPX y oacute -20 +KPX y ocircumflex -20 +KPX y odieresis -20 +KPX y ograve -20 +KPX y ohungarumlaut -20 +KPX y omacron -20 +KPX y oslash -20 +KPX y otilde -20 +KPX y period -100 +KPX yacute a -20 +KPX yacute aacute -20 +KPX yacute abreve -20 +KPX yacute acircumflex -20 +KPX yacute adieresis -20 +KPX yacute agrave -20 +KPX yacute amacron -20 +KPX yacute aogonek -20 +KPX yacute aring -20 +KPX yacute atilde -20 +KPX yacute comma -100 +KPX yacute e -20 +KPX yacute eacute -20 +KPX yacute ecaron -20 +KPX yacute ecircumflex -20 +KPX yacute edieresis -20 +KPX yacute edotaccent -20 +KPX yacute egrave -20 +KPX yacute emacron -20 +KPX yacute eogonek -20 +KPX yacute o -20 +KPX yacute oacute -20 +KPX yacute ocircumflex -20 +KPX yacute odieresis -20 +KPX yacute ograve -20 +KPX yacute ohungarumlaut -20 +KPX yacute omacron -20 +KPX yacute oslash -20 +KPX yacute otilde -20 +KPX yacute period -100 +KPX ydieresis a -20 +KPX ydieresis aacute -20 +KPX ydieresis abreve -20 +KPX ydieresis acircumflex -20 +KPX ydieresis adieresis -20 +KPX ydieresis agrave -20 +KPX ydieresis amacron -20 +KPX ydieresis aogonek -20 +KPX ydieresis aring -20 +KPX ydieresis atilde -20 +KPX ydieresis comma -100 +KPX ydieresis e -20 +KPX ydieresis eacute -20 +KPX ydieresis ecaron -20 +KPX ydieresis ecircumflex -20 +KPX ydieresis edieresis -20 +KPX ydieresis edotaccent -20 +KPX ydieresis egrave -20 +KPX ydieresis emacron -20 +KPX ydieresis eogonek -20 +KPX ydieresis o -20 +KPX ydieresis oacute -20 +KPX ydieresis ocircumflex -20 +KPX ydieresis odieresis -20 +KPX ydieresis ograve -20 +KPX ydieresis ohungarumlaut -20 +KPX ydieresis omacron -20 +KPX ydieresis oslash -20 +KPX ydieresis otilde -20 +KPX ydieresis period -100 +KPX z e -15 +KPX z eacute -15 +KPX z ecaron -15 +KPX z ecircumflex -15 +KPX z edieresis -15 +KPX z edotaccent -15 +KPX z egrave -15 +KPX z emacron -15 +KPX z eogonek -15 +KPX z o -15 +KPX z oacute -15 +KPX z ocircumflex -15 +KPX z odieresis -15 +KPX z ograve -15 +KPX z ohungarumlaut -15 +KPX z omacron -15 +KPX z oslash -15 +KPX z otilde -15 +KPX zacute e -15 +KPX zacute eacute -15 +KPX zacute ecaron -15 +KPX zacute ecircumflex -15 +KPX zacute edieresis -15 +KPX zacute edotaccent -15 +KPX zacute egrave -15 +KPX zacute emacron -15 +KPX zacute eogonek -15 +KPX zacute o -15 +KPX zacute oacute -15 +KPX zacute ocircumflex -15 +KPX zacute odieresis -15 +KPX zacute ograve -15 +KPX zacute ohungarumlaut -15 +KPX zacute omacron -15 +KPX zacute oslash -15 +KPX zacute otilde -15 +KPX zcaron e -15 +KPX zcaron eacute -15 +KPX zcaron ecaron -15 +KPX zcaron ecircumflex -15 +KPX zcaron edieresis -15 +KPX zcaron edotaccent -15 +KPX zcaron egrave -15 +KPX zcaron emacron -15 +KPX zcaron eogonek -15 +KPX zcaron o -15 +KPX zcaron oacute -15 +KPX zcaron ocircumflex -15 +KPX zcaron odieresis -15 +KPX zcaron ograve -15 +KPX zcaron ohungarumlaut -15 +KPX zcaron omacron -15 +KPX zcaron oslash -15 +KPX zcaron otilde -15 +KPX zdotaccent e -15 +KPX zdotaccent eacute -15 +KPX zdotaccent ecaron -15 +KPX zdotaccent ecircumflex -15 +KPX zdotaccent edieresis -15 +KPX zdotaccent edotaccent -15 +KPX zdotaccent egrave -15 +KPX zdotaccent emacron -15 +KPX zdotaccent eogonek -15 +KPX zdotaccent o -15 +KPX zdotaccent oacute -15 +KPX zdotaccent ocircumflex -15 +KPX zdotaccent odieresis -15 +KPX zdotaccent ograve -15 +KPX zdotaccent ohungarumlaut -15 +KPX zdotaccent omacron -15 +KPX zdotaccent oslash -15 +KPX zdotaccent otilde -15 +EndKernPairs +EndKernData +EndFontMetrics diff -ruN 4.6rc2/uploadfiles/media/index.html 4.6-complete/uploadfiles/media/index.html --- 4.6rc2/uploadfiles/media/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/media/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/custom.xml 4.6-complete/uploadfiles/modules/custom.xml --- 4.6rc2/uploadfiles/modules/custom.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/custom.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,34 @@ + + + Custom Module + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Custom Module + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/index.html 4.6-complete/uploadfiles/modules/index.html --- 4.6rc2/uploadfiles/modules/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/mod_archive.php 4.6-complete/uploadfiles/modules/mod_archive.php --- 4.6rc2/uploadfiles/modules/mod_archive.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_archive.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,50 @@ +def( 'count', 10 ) ); +$moduleclass_sfx = $params->get( 'moduleclass_sfx' ); +$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 ); + +$query = "SELECT MONTH(created) AS created_month, created, id, sectionid, title, YEAR(created) AS created_year" +. "\n FROM #__content" +. "\n WHERE ( state='-1' AND checked_out='0' AND sectionid > '0' )" +. "\n GROUP BY created_year DESC, created_month DESC LIMIT $count"; +$database->setQuery( $query ); +$rows = $database->loadObjectList(); + +if (is_array($rows)) { +?> +
            +created, "%m" ); + $month_name = mosFormatDate ( $row->created, "%B" ); + $created_year = mosFormatDate ( $row->created, "%Y" ); + $link = sefRelToAbs( 'index.php?option=com_content&task=archivecategory&year='. $created_year .'&month='. $created_month .'&module=1' ); + $text = $month_name .', '. $created_year; + ?> +
          • + + + +
          • + +
          + diff -ruN 4.6rc2/uploadfiles/modules/mod_archive.xml 4.6-complete/uploadfiles/modules/mod_archive.xml --- 4.6rc2/uploadfiles/modules/mod_archive.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_archive.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,23 @@ + + + Archived Content + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This module shows a list of the calendar months, which contain Archived items. After you have changed the status of a Content Item to 'Archived' this list will be automatically generated. + + mod_archive.php + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_banners.php 4.6-complete/uploadfiles/modules/mod_banners.php --- 4.6rc2/uploadfiles/modules/mod_banners.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_banners.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,86 @@ +get( 'banner_cids', '' ); +$where = ''; +if( $clientids <> '' ) { + $where = "\nAND cid in ($clientids)"; +} + +$moduleclass_sfx = $params->get( 'moduleclass_sfx' ); + +$sql = "SELECT count(*) AS numrows FROM #__banner WHERE showBanner=1" + . (($where<>'') ? $where : ""); +$database->setQuery( $sql ); + +$numrows = $database->loadResult(); +if ($numrows === null) { + echo $database->stderr( true ); + return; +} + +if ($numrows > 1) { + mt_srand( (double) microtime()*1000000 ); + $bannum = mt_rand( 0, --$numrows ); +} else { + $bannum = 0; +} + +$sql = "SELECT * FROM #__banner WHERE showBanner=1 " + . (($where<>'') ? $where : "") + . "\nLIMIT $bannum,1"; +$database->setQuery( $sql ); + +$banner = null; +if ($database->loadObject( $banner )) { + $database->setQuery( "UPDATE #__banner SET impmade=impmade+1 WHERE bid='$banner->bid'" ); + if(!$database->query()) { + echo $database->stderr( true ); + return; + } + $banner->impmade++; + + if ($numrows > 0) { + // Check if this impression is the last one and print the banner + if ($banner->imptotal == $banner->impmade) { + $query = "INSERT INTO #__bannerfinish (cid, type, name, impressions, clicks, imageurl, datestart, dateend) + VALUES ('$banner->cid', '$banner->type', '$banner->name', '$banner->impmade', '$banner->clicks', '$banner->imageurl', '$banner->date', now())"; + $database->setQuery($query); + if(!$database->query()) { + die($database->stderr(true)); + } + + $query="DELETE FROM #__banner WHERE bid=$banner->bid"; + $database->setQuery($query); + if(!$database->query()) { + die($database->stderr(true)); + } + } + + if (trim( $banner->custombannercode )) { + echo $banner->custombannercode; + } else if (eregi( "(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$", $banner->imageurl )) { + $imageurl = "$mosConfig_live_site/images/banners/$banner->imageurl"; + echo "bid")."\" target=\"_blank\">\"".T_('Advertisement')."\""; + + } else if (eregi("\.swf$", $banner->imageurl)) { + $imageurl = "$mosConfig_live_site/images/banners/".$banner->imageurl; + echo " + "; + } + } +} else { + echo " "; +} +?> diff -ruN 4.6rc2/uploadfiles/modules/mod_banners.xml 4.6-complete/uploadfiles/modules/mod_banners.xml --- 4.6rc2/uploadfiles/modules/mod_banners.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_banners.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,20 @@ + + + Banner + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + The banner module allows to show the active banners out of the component within your site. + + mod_banners.php + mod_banners.xml + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_latestcontent.php 4.6-complete/uploadfiles/modules/mod_latestcontent.php --- 4.6rc2/uploadfiles/modules/mod_latestcontent.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_latestcontent.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,243 @@ +get( 'type', 1 ) ); +$count = intval( $params->get( 'count', 5 ) ); +$catid = trim( $params->get( 'catid' ) ); +$secid = trim( $params->get( 'secid' ) ); +$show_front = $params->get( 'show_front', 1 ); +$class_sfx = $params->get( 'moduleclass_sfx' ); +$style = $params->get( 'style' ); +$readmore = $params->get( 'readmore',0 ); +$image = $params->get( 'image' ); + +$params->set( 'intro_only', 1 ); +$params->set( 'hide_author', 1 ); +$params->set( 'hide_createdate', 0 ); +$params->set( 'hide_modifydate', 1 ); + + +$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 ); + +$access = !$mainframe->getCfg( 'shownoauth' ); + +// select between Content Items, Static Content or both +switch ( $type ) { + case 2: //Static Content only + $query = "SELECT a.id, a.title" + . "\n FROM #__content AS a" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid = '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . "\n ORDER BY a.created DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + break; + + case 3: //Both + $query = "SELECT a.id, a.title, a.sectionid" + . "\n FROM #__content AS a" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . "\n ORDER BY a.created DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + break; + + case 1: //Content Items only + default: + $query = "SELECT a.id, a.title, a.sectionid, a.catid" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid > '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . ( $catid ? "\n AND ( a.catid IN (". $catid .") )" : '' ) + . ( $secid ? "\n AND ( a.sectionid IN (". $secid .") )" : '' ) + . ( $show_front == "0" ? "\n AND f.content_id IS NULL" : '' ) + . "\n ORDER BY a.created DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + break; +} + +// needed to reduce queries used by getItemid for Content Items +if ( ( $type == 1 ) || ( $type == 3 ) ) { + require_once(mamboCore::get('mosConfig_absolute_path').'/components/com_content/content.class.php'); + $handler =& new contentHandler(); + $bs = $handler->getBlogSectionCount(); + $bc = $handler->getBlogCategoryCount(); + $gbs = $handler->getGlobalBlogSectionCount(); +} + +// Output + +$newrow = new mosContent( $database ); + +if ($rows) { + + switch ( $style ) { + case 'vert': + echo "\n\n"; + + + foreach ( $rows as $row ) { + // get Itemid + switch ( $type ) { + case 2://Static Content only + $query = "SELECT id" + . "\n FROM #__menu" + . "\n WHERE type = 'content_typed'" + . "\n AND componentid = $row->id" + ; + $database->setQuery( $query ); + $Itemid = $database->loadResult(); + break; + + case 3://Both + if ( $row->sectionid ) { + $Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs ); + } else { + $query = "SELECT id" + . "\n FROM #__menu" + . "\n WHERE type = 'content_typed'" + . "\n AND componentid = $row->id" + ; + $database->setQuery( $query ); + $Itemid = $database->loadResult(); + } + break; + + case 1://Content Items only + default: + //$Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs ); + $query = "SELECT id" + . "\n FROM #__menu" + . "\n WHERE " + . "\n link LIKE '%task=section&id=".$row->sectionid."%'" + . "\n OR link LIKE '%sectionid=".$row->sectionid."%'" + ; + $database->setQuery( $query ); + $Itemid = $database->loadResult(); + break; + } + + // Blank itemid checker for SEF + /* + if ($Itemid == NULL) { + $Itemid = ''; + } else { + $Itemid = '&Itemid='. $Itemid; + } + */ + + $link = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->id . $Itemid); + echo "\n\n"; + } + echo "
          \n"; + //echo ''.$row->title.''."\n"; + $newrow->load( $row->id ); + $newrow->text = $newrow->introtext; + $newrow->groups = ''; + $ItemidCount = array('bc'=>$bc, 'bs'=>$bs, 'gbs'=>$gbs); + HTML_content::show( $newrow, $params, $access, 0, 'com_content',$ItemidCount); + //print_r($ItemidCount); + //echo 'Read More..'."\n"; + echo "\n
          \n"; + break; + + + case 'horiz': + default: + + echo "\n\n"; + echo "\n"; + foreach ( $rows as $row ) { + // get Itemid + switch ( $type ) { + case 2://Static Content only + $query = "SELECT id" + . "\n FROM #__menu" + . "\n WHERE type = 'content_typed'" + . "\n AND componentid = $row->id" + ; + $database->setQuery( $query ); + $Itemid = $database->loadResult(); + break; + + case 3://Both + if ( $row->sectionid ) { + $Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs ); + } else { + $query = "SELECT id" + . "\n FROM #__menu" + . "\n WHERE type = 'content_typed'" + . "\n AND componentid = $row->id" + ; + $database->setQuery( $query ); + $Itemid = $database->loadResult(); + } + break; + + case 1://Content Items only + default: + //$Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs ); + $query = "SELECT id" + . "\n FROM #__menu" + . "\n WHERE " + . "\n link LIKE '%task=section&id=".$row->sectionid."%'" + . "\n OR link LIKE '%sectionid=".$row->sectionid."%'" + ; + $database->setQuery( $query ); + $Itemid = $database->loadResult(); + break; + } + + // Blank itemid checker for SEF + /* + if ($Itemid == NULL) { + $Itemid = ''; + } else { + $Itemid = '&Itemid='. $Itemid; + } + */ + + $link = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->id . $Itemid); + echo "\n"; + } + echo "\n
          \n"; + //echo ''.$row->title.''."\n"; + $newrow->load( $row->id ); + $newrow->text = $newrow->introtext; + $newrow->groups = ''; + $ItemidCount = array('bc'=>$bc, 'bs'=>$bs, 'gbs'=>$gbs); + //$params->set( 'readmore', 0 ); + HTML_content::show( $newrow, $params, $access, 0, 'com_content', $ItemidCount); + //print_r($ItemidCount); + //echo 'Read More..'."\n"; + echo "
          \n"; + break; + } + +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/mod_latestcontent.xml 4.6-complete/uploadfiles/modules/mod_latestcontent.xml --- 4.6rc2/uploadfiles/modules/mod_latestcontent.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_latestcontent.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,54 @@ + + + Latest Content + Mambo Foundation + February 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + adi@mambo-foundation.org + mambo-foundation.org + 1.1 + This module shows a list of content with intro text in vertical or horizontal of the most recently published Items that are still current (some may have expired even though they are the most recent). Items that are displayed on the Front Page Component are not included in the list. + + mod_latestcontent.php + mod_latestcontent.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_latestnews.php 4.6-complete/uploadfiles/modules/mod_latestnews.php --- 4.6rc2/uploadfiles/modules/mod_latestnews.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_latestnews.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,133 @@ +get( 'type', 1 ) ); +$count = intval( $params->get( 'count', 5 ) ); +$count = intval( $params->get( 'count', 5 ) ); +$catid = trim( $params->get( 'catid' ) ); +$secid = trim( $params->get( 'secid' ) ); +$show_front = $params->get( 'show_front', 1 ); +$class_sfx = $params->get( 'moduleclass_sfx' ); + +$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 ); + +$access = !$mainframe->getCfg( 'shownoauth' ); + +// select between Content Items, Static Content or both +switch ( $type ) { + case 2: //Static Content only + $query = "SELECT a.id, a.title" + . "\n FROM #__content AS a" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid = '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . "\n ORDER BY a.created DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + break; + + case 3: //Both + $query = "SELECT a.id, a.title, a.sectionid" + . "\n FROM #__content AS a" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . "\n ORDER BY a.created DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + break; + + case 1: //Content Items only + default: + $query = "SELECT a.id, a.title, a.sectionid, a.catid" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid > '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . ( $catid ? "\n AND ( a.catid IN (". $catid .") )" : '' ) + . ( $secid ? "\n AND ( a.sectionid IN (". $secid .") )" : '' ) + . ( $show_front == "0" ? "\n AND f.content_id IS NULL" : '' ) + . "\n ORDER BY a.created DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + break; +} + +// Output +?> + +getBlogSectionCount(); + $bc = $handler->getBlogCategoryCount(); + $gbs = $handler->getGlobalBlogSectionCount(); + } + + $menuhandler =& mosMenuHandler::getInstance(); + + echo '
            '; + + foreach ( $rows as $row ) { + // get Itemid + switch ( $type ) { + case 2: + $Itemid = $menuhandler->getIDByTypeCid ('content_typed', $row->id); + break; + + case 3: + if ( $row->sectionid ) { + $Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs ); + } + else $Itemid = $menuhandler->getIDByTypeCid ('content_typed', $row->id); + break; + + case 1: + default: + $Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs ); + break; + } + + // Blank itemid checker for SEF + if ($Itemid == NULL) { + $Itemid = ''; + } else { + $Itemid = '&Itemid='. $Itemid; + } + + $link = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->id . $Itemid ); + ?> +
          • + + title; ?> + +
          • + '; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/mod_latestnews.xml 4.6-complete/uploadfiles/modules/mod_latestnews.xml --- 4.6rc2/uploadfiles/modules/mod_latestnews.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_latestnews.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + Latest News + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This module shows a list of the most recently published Items that are still current (some may have expired even though they are the most recent). Items that are displayed on the Front Page Component are not included in the list. + + mod_latestnews.php + mod_latestnews.xml + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_login.php 4.6-complete/uploadfiles/modules/mod_login.php --- 4.6rc2/uploadfiles/modules/mod_login.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_login.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,116 @@ +getCfg( 'allowUserRegistration' ); +$message_login = $params->def( 'login_message', 0 ); +$message_logout = $params->def( 'logout_message', 0 ); +$pretext = $params->get( 'pretext' ); +$posttext = $params->get( 'posttext' ); +$login = $params->def( 'login', $return ); +$logout = $params->def( 'logout', $return ); +$name = $params->def( 'name', 1 ); +$greeting = $params->def( 'greeting', 1 ); + +if ( $name AND $my->id ) { + $query = "SELECT name FROM #__users WHERE id = ". $my->id; + $database->setQuery( $query ); + $name = $database->loadResult(); +} else { + $name = $my->username; +} + +if ( $my->id ) { + ?> +
            + +
            +
            + +
            + + + + + + +
            + +
            + + + + + + + + + + + + + +
            + +
            + +
            + +
            + +
            + + +
            + + +
            + + + +
            + + + + +
            + + + + + + +
            + diff -ruN 4.6rc2/uploadfiles/modules/mod_login.xml 4.6-complete/uploadfiles/modules/mod_login.xml --- 4.6rc2/uploadfiles/modules/mod_login.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_login.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + Login Form + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This module displays a Username and Password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled, (refer to the Configuration settings), then another link will be shown to invite users to self-register. + + mod_login.php + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_mainmenu.php 4.6-complete/uploadfiles/modules/mod_mainmenu.php --- 4.6rc2/uploadfiles/modules/mod_mainmenu.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_mainmenu.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,46 @@ +def( 'menutype', 'mainmenu' ); +$params->def( 'class_sfx', '' ); +$params->def( 'menu_images', 0 ); +$params->def( 'menu_images_align', 0 ); +$params->def( 'expand_menu', 0 ); +$params->def( 'indent_image', 0 ); +$params->def( 'indent_image1', 'indent1.png' ); +$params->def( 'indent_image2', 'indent2.png' ); +$params->def( 'indent_image3', 'indent3.png' ); +$params->def( 'indent_image4', 'indent4.png' ); +$params->def( 'indent_image5', 'indent5.png' ); +$params->def( 'indent_image6', 'indent.png' ); +$params->def( 'spacer', '' ); +$params->def( 'end_spacer', '' ); + +$menu_style = $params->get( 'menu_style', 'vert_indent' ); + +switch ( $menu_style ) { + case 'list_flat': + $menuhandler->mosShowHFMenu( $params, 1 ); + break; + + case 'horiz_flat': + $menuhandler->mosShowHFMenu( $params, 0 ); + break; + + default: + $menuhandler->mosShowVIMenu( $params ); + break; +} +?> diff -ruN 4.6rc2/uploadfiles/modules/mod_mainmenu.xml 4.6-complete/uploadfiles/modules/mod_mainmenu.xml --- 4.6rc2/uploadfiles/modules/mod_mainmenu.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_mainmenu.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,58 @@ + + + Main Menu + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + Displays a menu. + + mod_mainmenu.php + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_mostread.php 4.6-complete/uploadfiles/modules/mod_mostread.php --- 4.6rc2/uploadfiles/modules/mod_mostread.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_mostread.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,131 @@ +get( 'type', 1 ) ); +$count = intval( $params->get( 'count', 5 ) ); +$catid = trim( $params->get( 'catid' ) ); +$secid = trim( $params->get( 'secid' ) ); +$hits = trim( $params->get( 'hits' ) ); +$show_front = $params->get( 'show_front', 1 ); +$class_sfx = $params->get( 'moduleclass_sfx' ); + +$now = date( 'Y-m-d H:i:s', time()+$mosConfig_offset*60*60 ); + +$access = !$mainframe->getCfg( 'shownoauth' ); + +// select between Content Items, Static Content or both +switch ( $type ) { + case 2: + $query = "SELECT a.id, a.title, a.hits" + . "\n FROM #__content AS a" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid = '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . "\n ORDER BY a.hits DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + break; + + case 3: + $query = "SELECT a.id, a.title, a.sectionid, a.hits" + . "\n FROM #__content AS a" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . "\n ORDER BY a.hits DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + break; + + case 1: + default: + $query = "SELECT a.id, a.title, a.sectionid, a.catid, a.hits" + . "\n FROM #__content AS a" + . "\n LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id" + . "\n WHERE ( a.state = '1' AND a.checked_out = '0' AND a.sectionid > '0' )" + . "\n AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."' )" + . "\n AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."' )" + . ( $access ? "\n AND a.access <= '". $my->gid ."'" : '' ) + . ( $catid ? "\n AND ( a.catid IN (". $catid .") )" : '' ) + . ( $secid ? "\n AND ( a.sectionid IN (". $secid .") )" : '' ) + . ( $show_front == "0" ? "\n AND f.content_id IS NULL" : '' ) + . "\n ORDER BY a.hits DESC LIMIT $count" + ; + $database->setQuery( $query ); + $rows = $database->loadObjectList(); + + break; +} + +// needed to reduce queries used by getItemid for Content Items +if ( ( $type == 1 ) || ( $type == 3 ) ) { + require_once(mamboCore::get('mosConfig_absolute_path').'/components/com_content/content.class.php'); + $handler =& new contentHandler(); + $bs = $handler->getBlogSectionCount(); + $bc = $handler->getBlogCategoryCount(); + $gbs = $handler->getGlobalBlogSectionCount(); +} + +// Output +?> +
              +getIDByTypeCid ('content_typed', $row->id); + break; + + case 3: + if ( $row->sectionid ) { + $Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs ); + } + else $Itemid = $menuhandler->getIDByTypeCid ('content_typed', $row->id); + break; + + case 1: + default: + $Itemid = $mainframe->getItemid( $row->id, 0, 0, $bs, $bc, $gbs ); + break; + } + + // Blank itemid checker for SEF + if ($Itemid == NULL) { + $Itemid = ''; + } else { + $Itemid = '&Itemid='.$Itemid; + } + + $link = sefRelToAbs( 'index.php?option=com_content&task=view&id='. $row->id . $Itemid ); + ?> +
            • + + title; ?> + + hits>1 ? ' hits)' : ' hit)'; + if($hits) echo ' ('.$row->hits.$tag ?> +
            • + +
            diff -ruN 4.6rc2/uploadfiles/modules/mod_mostread.xml 4.6-complete/uploadfiles/modules/mod_mostread.xml --- 4.6rc2/uploadfiles/modules/mod_mostread.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_mostread.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,42 @@ + + + Most Popular Content + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This module shows a list of the currently published Items that have been viewed the most - determined by the number of times the page has been viewed. + + mod_mostread.php + mod_mostread.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_newsflash.php 4.6-complete/uploadfiles/modules/mod_newsflash.php --- 4.6rc2/uploadfiles/modules/mod_newsflash.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_newsflash.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,106 @@ +getPath( 'front_html', 'com_content') ); +require_once($mosConfig_absolute_path.'/components/com_content/content.class.php'); + +global $my, $mosConfig_shownoauth, $mosConfig_offset, $acl; + +// Disable edit ability icon +$access = new stdClass(); +$access->canEdit = 0; +$access->canEditOwn = 0; +$access->canPublish = 0; + +$now = date( 'Y-m-d H:i:s', time()+$mosConfig_offset*60*60 ); + +$catid = intval( $params->get( 'catid' ) ); +$style = $params->get( 'style' ); +$image = $params->get( 'image' ); +$readmore = $params->get( 'readmore' ); +$items = intval( $params->get( 'items' ) ); +$moduleclass_sfx = $params->get( 'moduleclass_sfx' ); + +$params->set( 'intro_only', 1 ); +$params->set( 'hide_author', 1 ); +$params->set( 'hide_createdate', 0 ); +$params->set( 'hide_modifydate', 1 ); + +if ( $items ) { + $limit = "LIMIT ". $items; +} else { + $limit = ""; +} + +$noauth = !$mainframe->getCfg( 'shownoauth' ); + +// query to determine article count +$query = "SELECT a.id" +."\n FROM #__content AS a" +."\n INNER JOIN #__categories AS b ON b.id = a.catid" +."\n WHERE a.state = 1" +. ( $noauth ? "\n AND a.access <= '". $my->gid ."' AND b.access <= '". $my->gid ."'" : '' ) +."\n AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '". $now ."') " +."\n AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '". $now ."')" +."\n AND catid='". $catid ."' " +."\n ORDER BY a.ordering" +."\n ". $limit +; +$database->setQuery( $query ); +$rows = $database->loadResultArray(); +$numrows = count( $rows ); + +$row = new mosContent( $database ); + +switch ($style) { + case 'horiz': + echo "\n\n"; + echo "\n"; + foreach ($rows as $id) { + $row->load( $id ); + $row->text = $row->introtext; + $row->groups = ''; + echo '\n"; + } + echo "\n
            '; + HTML_content::show( $row, $params, $access, 0, 'com_content' ); + echo "
            \n"; + break; + + case 'vert': + foreach ($rows as $id) { + $row->load( $id ); + $row->text = $row->introtext; + $row->groups = ''; + + HTML_content::show( $row, $params, $access, 0, 'com_content' ); + } + break; + + case 'flash': + default: + if ($numrows > 0) { + srand ((double) microtime() * 1000000); + $flashnum = $rows[rand( 0, $numrows-1 )]; + } else { + $flashnum = 0; + } + $row->load( $flashnum ); + $row->text = $row->introtext; + $row->groups = ''; + + HTML_content::show( $row, $params, $access, 0, 'com_content' ); + break; +} +?> diff -ruN 4.6rc2/uploadfiles/modules/mod_newsflash.xml 4.6-complete/uploadfiles/modules/mod_newsflash.xml --- 4.6rc2/uploadfiles/modules/mod_newsflash.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_newsflash.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,46 @@ + + + Newsflash + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + The Newsflash module randomly selects one of the published items from a category upon each page refresh. It may also dislpay multiple items in horizontal or vertical configurations. + + mod_newsflash.php + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_poll.php 4.6-complete/uploadfiles/modules/mod_poll.php --- 4.6rc2/uploadfiles/modules/mod_poll.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_poll.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,97 @@ +setQuery( $query1 ); + $polls = $database->loadObjectList(); + + if($database->getErrorNum()) { + echo "MB ".$database->stderr(true); + return; + } + + if ($polls) foreach ($polls as $poll) { + if ($poll->id && $poll->title) { + + $query = "SELECT id, text FROM #__poll_data" + . "\nWHERE pollid='$poll->id' AND text <> ''" + . "\nORDER BY id"; + $database->setQuery($query); + + if(!($options = $database->loadObjectList())) { + echo "MD ".$database->stderr(true); + return; + } + poll_vote_form_html( $poll, $options, $Itemid ); + } + } + } + + function poll_vote_form_html( &$poll, &$options, $Itemid ) { + $tabclass_arr=array("sectiontableentry2","sectiontableentry1"); + $tabcnt = 0; + ?> +
            "> + + + + + + + + + + +
            title; ?>
            + + + + + + + +
            +
            +    + id"); ?>';" /> +
            + + +
            + diff -ruN 4.6rc2/uploadfiles/modules/mod_poll.xml 4.6-complete/uploadfiles/modules/mod_poll.xml --- 4.6rc2/uploadfiles/modules/mod_poll.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_poll.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,23 @@ + + + Poll + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This module compliments the Polls component. It is used to display the configured polls. The module differs from other modules in as much as the Component supports linking between Menu Items and Polls. This means that the module shows only those Polls, which are configured for a certain Menu Item. + + mod_poll.php + mod_poll.xml + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_random_image.php 4.6-complete/uploadfiles/modules/mod_random_image.php --- 4.6rc2/uploadfiles/modules/mod_random_image.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_random_image.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,92 @@ +get( 'type', 'jpg' ); +$folder = $params->get( 'folder' ); +$link = $params->get( 'link' ); +$width = $params->get( 'width' ); +$height = $params->get( 'height' ); +$moduleclass_sfx = $params->get( 'moduleclass_sfx' ); + +$abspath_folder = $mosConfig_absolute_path .'/'. $folder; +$the_array = array(); +$the_image = array(); + +if (is_dir($abspath_folder)) { + if ($handle = opendir($abspath_folder)) { + while (false !== ($file = readdir($handle))) { + if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) { + $the_array[] = $file; + } + } + } + closedir($handle); + + foreach ($the_array as $img) { + if (!is_dir($abspath_folder .'/'. $img)) { + if (eregi($type, $img)) { + $the_image[] = $img; + } + } + } + + if (!$the_image) { + echo 'No images'; + } else { + + $i = count($the_image); + $random = mt_rand(0, $i - 1); + $image_name = $the_image[$random]; + + $i = $abspath_folder . '/'. $image_name; + $size = getimagesize ($i); + + if ($width == '') { + $width = 100; + } + if ($height == '') { + $coeff = $size[0]/$size[1]; + $height = (int) ($width/$coeff); + } + + $image = $mosConfig_live_site .'/'. $folder .'/'. $image_name; + + if ($link) { + echo "\n"; + } + + } + ?> + + diff -ruN 4.6rc2/uploadfiles/modules/mod_random_image.xml 4.6-complete/uploadfiles/modules/mod_random_image.xml --- 4.6rc2/uploadfiles/modules/mod_random_image.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_random_image.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,24 @@ + + + Random Image + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This module display a random image from your chosen directory + + mod_random_image.php + mod_random_image.xml + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_related_items.php 4.6-complete/uploadfiles/modules/mod_related_items.php --- 4.6rc2/uploadfiles/modules/mod_related_items.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_related_items.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,62 @@ +get( 'moduleclass_sfx' ); + +if ($option == 'com_content' && $task == 'view' && $id) { + + // select the meta keywords from the item + $query = "SELECT metakey FROM #__content WHERE id='$id'"; + $database->setQuery( $query ); + + if ($metakey = trim( $database->loadResult() )) { + // explode the meta keys on a comma + $keys = explode( ',', $metakey ); + $likes = array(); + + // assemble any non-blank word(s) + foreach ($keys as $key) { + $key = trim( $key ); + if ($key) { + $likes[] = $database->getEscaped( $key ); + } + } + + if (count( $likes )) { + // select other items based on the metakey field 'like' the keys found + $query = "SELECT id, title" + . "\nFROM #__content" + . "\nWHERE id<>$id AND state=1 AND access <=$my->gid AND (metakey LIKE '%"; + $query .= implode( "%' OR metakey LIKE '%", $likes ); + $query .= "%')"; + + $database->setQuery( $query ); + if ($related = $database->loadObjectList()) { + echo "
              \n"; + foreach ($related as $item) { + if ($option="com_content" && $task="view") { + $Itemid = $mainframe->getItemid($item->id); + } + $href = sefRelToAbs( "index.php?option=com_content&task=view&id=$item->id&Itemid=$Itemid" ); + echo "
            • $item->title
            • \n"; + } + echo "
            \n"; + } + } + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/mod_related_items.xml 4.6-complete/uploadfiles/modules/mod_related_items.xml --- 4.6rc2/uploadfiles/modules/mod_related_items.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_related_items.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,23 @@ + + + Related Items + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + This module displays other Content Items that are related to the Item currently displayed. These are based on the keywords Metadata. All the keywords of the current Content Item are searched against all the keywords of all other published items. For example, you may have an Item on 'Breeding Parrots' and you may have another on 'Hand Raising Black Cockatoos'. If you include the keyword 'parrot' in both Items, then the Related Items module will list the 'Breeding Parrots' Item when viewing 'Hand Raising Black Cockatoos' and vice-versa. + + mod_related_items.php + mod_related_items.xml + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_rssfeed.php 4.6-complete/uploadfiles/modules/mod_rssfeed.php --- 4.6rc2/uploadfiles/modules/mod_rssfeed.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_rssfeed.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,118 @@ +get( 'text' ); +$moduleclass_sfx = $params->get( 'moduleclass_sfx', '' ); +$rss091 = $params->get( 'rss091', 1 ); +$rss10 = $params->get( 'rss10', 1 ); +$rss20 = $params->get( 'rss20', 1 ); +$atom = $params->get( 'atom', 1 ); +$opml = $params->get( 'opml', 1 ); +$rss091_image = $params->get( 'rss091_image', '' ); +$rss10_image = $params->get( 'rss10_image', '' ); +$rss20_image = $params->get( 'rss20_image', '' ); +$atom_image = $params->get( 'atom_image', '' ); +$opml_image = $params->get( 'opml_image', '' ); + +$t_path = $mosConfig_live_site .'/templates/'. $cur_template .'/images/'; +$d_path = $mosConfig_live_site .'/images/M_images/'; + +$mainframe =& mosMainFrame::getInstance(); + +?> + +
            + +
            + +
            + + +ImageCheck( 'rss091.gif', '/images/M_images/', $rss091_image, '/images/M_images/', 'RSS 0.91' ); + ?> +
            + + + +
            + + +ImageCheck( 'rss10.gif', '/images/M_images/', $rss10_image, '/images/M_images/', 'RSS 1.0' ); + ?> +
            + + + +
            + + +ImageCheck( 'rss20.gif', '/images/M_images/', $rss20_image, '/images/M_images/', 'RSS 2.0' ); + ?> +
            + + + +
            + + +ImageCheck( 'atom10.gif', '/images/M_images/', $atom_image, '/images/M_images/', 'ATOM 1.0' ); + ?> +
            + + + +
            + + +ImageCheck( 'opml.png', '/images/M_images/', $opml_image, '/images/M_images/', 'OPML' ); + ?> +
            + + + +
            + +
            diff -ruN 4.6rc2/uploadfiles/modules/mod_rssfeed.xml 4.6-complete/uploadfiles/modules/mod_rssfeed.xml --- 4.6rc2/uploadfiles/modules/mod_rssfeed.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_rssfeed.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,48 @@ + + + Syndicate + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + The Syndicate module will display a link whereby people can syndicate your site for all your latest news. When you click on the RSS icon, you will be redirected to a new page that will list all the latest news in XML format. In order to use the Newsfeed in another Mambo site or a Newsfeed reader, you need to cut and paste the URL. + + mod_rssfeed.php + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_search.php 4.6-complete/uploadfiles/modules/mod_search.php --- 4.6rc2/uploadfiles/modules/mod_search.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_search.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,57 @@ +get( 'button', '' ); +$button_pos = $params->get( 'button_pos', 'left' ); +$button_text = $params->get( 'button_text', T_('Search') ); +$width = intval( $params->get( 'width', 20 ) ); +$text = $params->get( 'text', T_('search...') ); +$moduleclass_sfx = $params->get( 'moduleclass_sfx' ); + +$output = ''; + +if ( $button ) { + $button = ''; +} + +switch ( $button_pos ) { + case 'top': + $button = $button .'
            '; + $output = $button . $output; + break; + + case 'bottom': + $button = '
            '. $button; + $output = $output . $button; + break; + + case 'right': + $output = $output . $button; + break; + + case 'left': + default: + $output = $button . $output; + break; +} +?> + +
            + +
            + +
            + + +
            diff -ruN 4.6rc2/uploadfiles/modules/mod_search.xml 4.6-complete/uploadfiles/modules/mod_search.xml --- 4.6rc2/uploadfiles/modules/mod_search.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_search.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,38 @@ + + + Search Module + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This module will display a search box + + mod_search.php + + + + + + + + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_sections.php 4.6-complete/uploadfiles/modules/mod_sections.php --- 4.6rc2/uploadfiles/modules/mod_sections.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_sections.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,46 @@ +get( 'count', 20 ) ); +$access = !$mainframe->getCfg( 'shownoauth' ); +$now = date( 'Y-m-d H:i:s', time() + $mosConfig_offset * 60 * 60 ); + +$database->setQuery( +"SELECT a.id AS id, a.title AS title, COUNT(b.id) as cnt" +. "\n FROM #__sections as a" +. "\n LEFT JOIN #__content as b" +. "\n ON a.id=b.sectionid" +. ($access ? "\n AND b.access<='$my->gid'" : "" ) +. "\n AND (b.publish_up = '0000-00-00 00:00:00' OR b.publish_up <= '". $now ."' )" +. "\n AND (b.publish_down = '0000-00-00 00:00:00' OR b.publish_down >= '". $now ."' )" +. "\n WHERE a.scope='content'" +. "\n AND a.published='1'" +. ($access ? "\n AND a.access<='$my->gid'" : "" ) +. "\n GROUP BY a.id" +. "\n HAVING COUNT(b.id)>0" +. "\n ORDER BY a.ordering" +. "\n LIMIT $count" +); + +$rows = $database->loadObjectList(); +echo "\n"; +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/mod_sections.xml 4.6-complete/uploadfiles/modules/mod_sections.xml --- 4.6rc2/uploadfiles/modules/mod_sections.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_sections.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,19 @@ + + + Sections + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + The Section module shows a list of all Sections configured in your database. The Sections refer here to the Item Sections only. If the configuration 'Show Unauthorized Links' is set to 'NO', the list will be limited to the sections the user is allowed to see. + + mod_sections.php + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_stats.php 4.6-complete/uploadfiles/modules/mod_stats.php --- 4.6rc2/uploadfiles/modules/mod_stats.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_stats.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,65 @@ +get( 'serverinfo' ); +$siteinfo = $params->get( 'siteinfo' ); +$moduleclass_sfx = $params->get( 'moduleclass_sfx' ); + +$content = ""; + +if ($serverinfo) { + echo "OS: " . substr(php_uname(),0,7) . "
            \n"; + echo "PHP: " .phpversion() . "
            \n"; + echo "MySQL: " .mysql_get_server_info() . "
            \n"; + echo "".T_('Time').": " .date("H:i",time()+($mosConfig_offset*60*60)) . "
            \n"; + $c = $mosConfig_caching ? T_('Enabled'):T_('Disabled'); + echo "Caching: " . $c . "
            \n"; + $z = $mosConfig_gzip ? T_('Enabled'):T_('Disabled'); + echo "GZIP: " . $z . "
            \n"; +} + +if ($siteinfo) { + $query="SELECT count(id) AS count_users FROM #__users"; + $database->setQuery($query); + echo "".T_('Members').": " .$database->loadResult() . "
            \n"; + + $query="SELECT count(id) as count_items from #__content"; + $database->setQuery($query); + echo "".T_('News').": ".$database->loadResult() . "
            \n"; + + $query="SELECT count(id) as count_links FROM #__weblinks WHERE published='1'"; + $database->setQuery($query); + echo "".T_('Web Links').": ".$database->loadResult() . "
            \n"; +} + +if ($mosConfig_enable_stats) { + $counter = $params->get( 'counter' ); + $increase = $params->get( 'increase' ); + if ($counter) { + $query = "SELECT sum(hits) AS count FROM #__stats_agents WHERE type='1'"; + $database->setQuery( $query ); + $hits = $database->loadResult(); + + $hits = $hits + $increase; + + if ($hits == NULL) { + $content .= "" . T_('Visitors') . ": 0\n"; + } else { + $content .= "" . T_('Visitors') . ": " . $hits . "\n"; + } + } +} +?> diff -ruN 4.6rc2/uploadfiles/modules/mod_stats.xml 4.6-complete/uploadfiles/modules/mod_stats.xml --- 4.6rc2/uploadfiles/modules/mod_stats.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_stats.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,31 @@ + + + Statistics + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + The Statistics module shows information about your server installation and statistics on the web site users, number of contents in your database, and number of web links you provide. + + mod_stats.php + + + + + + + + + + + + + + + + + + diff -ruN 4.6rc2/uploadfiles/modules/mod_templatechooser.php 4.6-complete/uploadfiles/modules/mod_templatechooser.php --- 4.6rc2/uploadfiles/modules/mod_templatechooser.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_templatechooser.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,78 @@ +get( 'title_length', 20 ); +$preview_height = $params->get( 'preview_height', 90 ); +$preview_width = $params->get( 'preview_width', 140 ); +$show_preview = $params->get( 'show_preview', 0 ); + +// Read files from template directory +$template_path = "$mosConfig_absolute_path/templates"; +$templatefolder = @dir( $template_path ); +$darray = array(); +if ($templatefolder) { + while ($templatefile = $templatefolder->read()) { + if ($templatefile != "." && $templatefile != ".." && $templatefile != "CVS" && is_dir( "$template_path/$templatefile" ) ) { + if(strlen($templatefile) > $titlelength) { + $templatename = substr( $templatefile, 0, $titlelength-3 ); + $templatename .= "..."; + } else { + $templatename = $templatefile; + } + $darray[] = mosHTML::makeOption( $templatefile, $templatename ); + } + } + $templatefolder->close(); +} + +sort( $darray ); + +// Show the preview image +// Set up JavaScript for instant preview +$onchange = ""; +if ($show_preview) { + $onchange = "showimage()"; +?> +" name="preview" border="1" width="" height="" alt="" /> + + +
            + + +
            diff -ruN 4.6rc2/uploadfiles/modules/mod_templatechooser.xml 4.6-complete/uploadfiles/modules/mod_templatechooser.xml --- 4.6rc2/uploadfiles/modules/mod_templatechooser.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_templatechooser.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,25 @@ + + + Template Chooser + Mambo Project + July 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + The Template Chooser module allows the user (visitor) to change the template on the fly from the front-end via a drop down selection list. + + mod_templatechooser.php + + + + + + + + + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/mod_whosonline.php 4.6-complete/uploadfiles/modules/mod_whosonline.php --- 4.6rc2/uploadfiles/modules/mod_whosonline.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_whosonline.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,60 @@ +get( 'showmode' ); +$moduleclass_sfx = $params->get( 'moduleclass_sfx' ); + +$content=""; + +if ($showmode==0 || $showmode==2) { + $query1 = "SELECT count(session_id) as guest_online FROM #__session WHERE guest=1 AND (usertype is NULL OR usertype='')"; + $database->setQuery($query1); + $guest_array = $database->loadResult(); + + $query2 = "SELECT DISTINCT count(username) as user_online FROM #__session WHERE guest=0 AND usertype <> 'administrator' AND usertype <> 'superadministrator'"; + $database->setQuery($query2); + $user_array = $database->loadResult(); + + if ($guest_array<>0 && $user_array==0) { + $content .= sprintf(Tdn_('frontend', 'We have %d guest online', 'We have %d guests online', $guest_array), $guest_array); + } + + if ($guest_array==0 && $user_array<>0) { + $content .= sprintf(Tdn_('frontend','We have %d member online', 'We have %d members online', $user_array), $user_array); + } + + if ($guest_array<>0 && $user_array<>0) { + $content .= sprintf(Tdn_('frontend','We have %d guest online and ', 'We have %d guests online and ', $guest_array), $guest_array); + $content .= sprintf(Tdn_('frontend',' %d member online', ' %d members online', $user_array), $user_array); + } +} + +if ($showmode==1 || $showmode==2) { + $query = "SELECT DISTINCT a.username" + ."\n FROM #__session AS a" + ."\n WHERE (a.guest=0)"; + $database->setQuery($query); + $rows = $database->loadObjectList(); + if (is_array($rows)) { + foreach($rows as $row) { + $content .= "
              \n"; + $content .= "
            • " . $row->username . "
            • \n"; + $content .= "
            \n"; + } + } + if ($content == "") { + echo Td_('frontend', 'No Users Online') ."\n"; + } +} +?> \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/mod_whosonline.xml 4.6-complete/uploadfiles/modules/mod_whosonline.xml --- 4.6rc2/uploadfiles/modules/mod_whosonline.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_whosonline.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,24 @@ + + + Who's Online + Mambo Foundation + August 2006 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + mambo-foundation.org + 1.0 + The Who's Online module displays the number of anonymous (that is, Guest) users and Registered users, (those that are logged in) that are currently accessing the web site. + + mod_whosonline.php + mod_whosonline.xml + + + + + + + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/modules/mod_wrapper.php 4.6-complete/uploadfiles/modules/mod_wrapper.php --- 4.6rc2/uploadfiles/modules/mod_wrapper.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_wrapper.php 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,62 @@ +def( 'url', '' ); +$params->def( 'scrolling', 'auto' ); +$params->def( 'height', '200' ); +$params->def( 'height_auto', '0' ); +$params->def( 'width', '100%' ); +$params->def( 'add', '1' ); + +$url = $params->get( 'url' ); +if ( $params->get( 'add' ) ) { + // adds "http://" if none is set + if ( !strstr( $url, 'http' ) && !strstr( $url, 'https' ) ) { + $url = 'http://'. $url; + } +} + +// auto height control +if ( $params->get( 'height_auto' ) ) { + $load = "window.onload = iFrameHeight;\n"; +} else { + $load = ''; +} + +?> + + diff -ruN 4.6rc2/uploadfiles/modules/mod_wrapper.xml 4.6-complete/uploadfiles/modules/mod_wrapper.xml --- 4.6rc2/uploadfiles/modules/mod_wrapper.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/modules/mod_wrapper.xml 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1,37 @@ + + + Wrapper Module + Mambo Project + October 2004 + copyright (C) 2005 - 2006 Mambo Foundation Inc. + http://www.gnu.org/copyleft/gpl.html GNU/GPL + core@mambo-foundation.org + www.mambo-foundation.org + 4.5.2 + This module shows an IFrame window to specified location + + mod_wrapper.php + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/offline.php 4.6-complete/uploadfiles/offline.php --- 4.6rc2/uploadfiles/offline.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/offline.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,79 @@ +'; +?> + + + +<?php echo mamboCore::get('mosConfig_sitename'); ?> - <?php echo T_('Offline') ?> + + + + +

             

            + + + + + + + + + + + + + + + + + + + + +
            + <?php echo T_('Mambo Logo') ?> +
            +

            + +

            +
            +

            + +

            +
            +

            + +

            + +
            +

            + +

            +
            + + + diff -ruN 4.6rc2/uploadfiles/page404.php 4.6-complete/uploadfiles/page404.php --- 4.6rc2/uploadfiles/page404.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/page404.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,18 @@ +Please select a page from the main menu.'); +echo '
            '.T_('This is from page404.php'); + +?> diff -ruN 4.6rc2/uploadfiles/parameters/index.html 4.6-complete/uploadfiles/parameters/index.html --- 4.6rc2/uploadfiles/parameters/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/parameters/index.html 2006-09-20 19:05:06.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/pathway.php 4.6-complete/uploadfiles/pathway.php --- 4.6rc2/uploadfiles/pathway.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/pathway.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,19 @@ + diff -ruN 4.6rc2/uploadfiles/robots.txt 4.6-complete/uploadfiles/robots.txt --- 4.6rc2/uploadfiles/robots.txt 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/robots.txt 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,16 @@ +User-agent: * +Disallow: /administrator/ +Disallow: /cache/ +Disallow: /components/ +Disallow: /editor/ +Disallow: /help/ +Disallow: /images/ +Disallow: /includes/ +Disallow: /language/ +Disallow: /mambots/ +Disallow: /media/ +Disallow: /modules/ +Disallow: /templates/ +Disallow: /installation/ + + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/templates/index.html 4.6-complete/uploadfiles/templates/index.html --- 4.6rc2/uploadfiles/templates/index.html 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/index.html 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1 @@ + \ No newline at end of file diff -ruN 4.6rc2/uploadfiles/templates/waterandstone/css/template_css.css 4.6-complete/uploadfiles/templates/waterandstone/css/template_css.css --- 4.6rc2/uploadfiles/templates/waterandstone/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone/css/template_css.css 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,870 @@ +/* --------------------- +basic layout +--------------------- */ + +* { + font-family: Arial, Helvetica, sans-serif; +} + +.waterbody { + background:#CCCCCC url(../images/bg_body.jpg) repeat-x left top; + margin:0; + color:#333333; +} + +div, +td, +p { + font-size:12px; + line-height:18px; + color:#333333; +} + +a, +a:link, +a:active, +a:visited { + text-decoration:underline; + color:#000000; +} + +a:hover { + text-decoration:underline; + color:#3973AC; +} + +ul { + margin: 5px; + padding: 5px; + list-style: none; + list-style-type: square; +} + +li { + line-height: 18px; + padding-left: 5px; + padding-top: 0px; + list-style-position: inside; +} + +/** clear the banner to make it sit in the bottom **/ +.clear { + clear:both; +} + +/* --------------------- +template layout +--------------------- */ + +/** wrapper to make the page center **/ +#container { + width:900px; + margin: 55px auto; + padding:0; + text-align: left; +} + +/** +hold background, it should be float:left +that's way we can not put it in #container +**/ +#containerbg { + position:relative; + width: 900px; + background:transparent url(../images/bg_inside.jpg) repeat-y left top; + float:left; + top:0; + left:0; +} + +#outerleft { + position:relative; + float:left; + clear:left; + width:730px; + +} + +#outerright { + position:relative; + width:170px; + float:right; + clear:right; +} + +#logo { + position:relative; + width:100%; + height:74px; + float:left; + background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top; +} + +/** div container for top menu. position:top **/ +#topmenu { + position:relative; + float:left; + clear:left; + background-color:#000000; + width: 100%; +} + +/** div container for image header **/ +#imgheader { + position:relative; + float:left; + clear:left; + width:100%; + height:99px; + background-color: #000000; +} + +#container_inner { + position:relative; + float:left; + clear:left; + width:730px; +} + +/** div container for left column **/ +#leftcol { + position:relative; + float:left; + clear:left; + width:172px; + background:transparent url(../images/bg_leftcol.jpg) repeat-y left top; +} + +#leftcolmenu { + position:relative; + background:transparent url(../images/bg_leftcol.jpg) repeat-y left top; + overflow:auto; +} + + +/** div wrapper for user2 & user3 **/ +#content_top_wrapper { + position:relative; + float:right; + clear:right; + width:542px; + display:inline; + margin: 4px 8px 0 0; +} + +/** div container for position:user2 **/ +#content_top1 { + position:relative; + float:left; + clear:left; + width:269px; +} + +/** div container for position:user3 **/ +#content_top2 { + position:relative; + float:right; + clear:right; + width:269px; +} + +/** div container for mainbody **/ +#content_main { + position:relative; + float:left; + width:520px; + margin:15px 0 20px 20px; + background-color:#FFFFFF; +} + +/** div container for right column **/ +#rightcol_top, +#rightcol { + float:left; + clear:left; + width:168px; + margin:0 0 0 1px; + display:inline; + overflow:auto; +} + +/** div container for right column position:header **/ +#rightcol_top { + height:70px; + min-height:70px; + background:transparent url(../images/bg_topright.jpg) no-repeat center top; +} + +/** div container for banner position:banner **/ +#banner { + position:relative; + clear:left; + float:left; + width:515px; + height:65px; + min-height:65px; + color:#FFFFFF; + font-size:10px; + padding: 20px 0 0 215px; +} + +#blackline { + position:relative; + clear:left; + float:left; + width:730px;; + height:10px; + min-height:10px; + background-color: #000000; + color:#FFFFFF; + font-size:10px; +} + +/** copyright **/ + +#copyright { + position:relative; + width:900px; + display:block; + clear:both; + float:left; +} + +#copyright div { + color:#666666; + font-size:10px; + font-weight:bold; + display:block!important; + width:900px; + float:left; + clear:left; + margin:-10px 0 0 0; + text-align:left; +} + + + +/* --------------------- +mambo content layout +--------------------- */ + +/** pathway block **/ +span.pathway { + display:block; + text-align:left; + color:#000000; + font-size:10px; + font-weight:bold; + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #E5E5E5; + height:20px; + margin-bottom:10px; +} + +/** content title **/ +.componentheading { + font-family:Georgia, "Times New Roman", Times, serif; + color:#000000; + font-size: 20px; + line-height:25px; + padding: 5px 0 5px 0; + display:block; +} + +.contentheading, +.contentpagetitle, +a.contentpagetitle:link, +a.contentpagetitle:active, +a.contentpagetitle:visited { + font-family: Arial, Helvetica, sans-serif; + font-size:16px; + color:#3973AC; + font-weight: bold; + padding-top: 25px; + background-color:inherit; + display:block; +} + +.contentpaneopen { + width:100%; +} + + +/** pdf, printer version, and email to friend button **/ +.buttonheading { + width: 16px!important; + text-align:right; +} + +.sectiontableheader { + font-weight: bold; +} + +.category, .categorytitle { + font-weight: bold; + color:#3973AC; + background-color:inherit; +} + +.sectiontableentry1, +table.pollstableborder tr.sectiontableentry1 { + background-color: #EFEFEF; + padding: 2px; + color:#333333; +} + +.sectiontableentry2, +table.pollstableborder tr.sectiontableentry2 { + background-color: #FFFFFF; + padding: 2px; + color:#333333; +} + +/** blog Styles **/ +.blogsection { + color:#3973AC; + background-color:inherit; +} + +.blog_more { + font-weight: bold; + line-height: 25px; + padding-top: 20px; + color: #3973AC; + border-bottom: 1px solid #E5E5E5; + background-color:inherit; +} + +/** small text in content **/ +.small { + color:#999999; + font-size:10px; + font-weight: bold; + background-color:inherit; +} + +/** date info in content **/ +#content_main .createdate { + color:#4A87C4; + font-size:10px; + padding: 0 0 15px 0; + line-height:8px; + background-color:inherit; +} + +#content_main .modifydate { + color:#999999; + font-size:10px; + padding: 0; + background-color:inherit; +} + +/** toc page navigation **/ +.pagenav_prev, +.pagenav_next { + font-size:11px; +} + + +/** content item navigation **/ +.pagenavbar { + display:block; + width:100%; + background-color:inherit; + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999!important; + clear:both; + font-size: 11px!important; + margin-top: 10px; + background-image: url(../images/bg_pagenav.jpg); + background-repeat: repeat-x; + background-position: center bottom; +} + +.pagenav { + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999; + clear:both; + font-size: 11px; + margin-left: 0; + margin-right: 0; + background-color:inherit; +} + +.back_button { + display:block; + text-align:left; + font-weight:bold; + font-size:12px; + width:100%; + margin-bottom:10px; + letter-spacing:2px; +} + +/** highlight word search result **/ +.highlight { + font-weight:bold; + background-color: #FFFF00; + padding: 2px 0 2px 0; + +} + +/** table of content layout **/ +table.contenttoc { + border:1px solid #000000; + padding:1px; + width:130px; + margin: 0 0 10px 10px; +} + +/** table of content header **/ +.contenttoc th { + color:#FFFFFF; + background-color:#666666; + font-size:11px; + display:block; + width:124px; +} + +/** unordered list for latest news module **/ +ul.latestnews li,ul.mostread li { + line-height: 18px; + font-size:11px; + font-weight:bold; + list-style-type: none; + list-style-position: outside; +} + + +/** fix opera table width for content list in table category**/ +table.contentpane td.contentdescription { + width:100%!important; +} + + +/* --------------------- +Links +--------------------- */ + +/** any left column link **/ +#leftcol a:link, +#leftcol a:active, +#leftcol a:visited { + color:#FFFFFF; +} + +a.pagenav:link , +a.pagenav_next:link, +a.pagenav_pre:link, +div.back_button a, +div.back_button a:link, +a.latestnews:link, +a.latestnews:active, +a.latestnews:visited, +a.mostread:link, +a.mostread:active, +a.mostread:visited { + text-decoration:none; +} + +/*** read more link ***/ +.readon, +a.readon:link, +a.readon:active, +a.readon:visited { + color:#666666; + font-weight:bold; + text-align:left; + margin-top:10px; + letter-spacing: 2px; + font-size:10px; + text-decoration:none; +} + +/*** blog links ***/ +a.blogsection:link, +a.blogsection:active, +a.blogsection:visited { + color:#3973AC; + text-decoration:none; +} + +/** generic menu item link **/ +a.mainlevel:link, +a.mainlevel:active, +a.mainlevel:visited, +a.sublevel:link, +a.sublevel:active, +a.sublevel:visited { + color:#FFFFFF; + text-decoration:none; + font-size:11px; + line-height: 28px; +} + +/** generic menu item link on mouseover **/ +a.mainlevel:hover, +#leftcol a.mainlevel:hover { + background-color:#484848; + color:#FFFFFF!important; + text-decoration:none!important; +} + +/** specific top right column menu item link **/ +a.mainlevel-right:link, +a.mainlevel-right:active, +a.mainlevel-right:visited, +a.sublevel-right:link, +a.sublevel-right:active, +a.sublevel-right:visited { + color:#000000; + text-decoration:none; + font-size:11px; +} + +/** specific top right column menu item link on mouseover **/ +a.mainlevel-right:hover { + background-color:#CCCCCC; + text-decoration:none; +} + + +/** pathway link item **/ +a.pathway:link, +a.pathway:link, +a.pathway:active, +a.pathway:visited { + color:#999999; + text-decoration:none; +} + +/** table of content list **/ +a.toclink:link, +a.toclink:active, +a.toclink:visited { + color:#3973AC; + font-size:11px; + padding:2px 10px 2px 10px; + display:block; + text-decoration:none; +} + +.pagenavbar a:link, +.pagenavbar a:active, +.pagenavbar a:visited { + letter-spacing:2px; + color:#000000; + font-size: 11px; + text-decoration: none; +} + +.pagenavbar a:hover { + color:#3973AC; +} + +/** latestnews and popular **/ +.latestnews, +.mostread { + color:#000000; +} + +a.latestnews:link, +.mostread a:link, +.latestnews a:active, +.mostread a:active, +.latestnews a:hover, +.mostread a:hover, +.latestnews a:visited, +.mostread a:visited { + color:#000000; + text-decoration:underline; +} + +/** underline on hover **/ +a.toclink:hover, +a.latestnews:hover, +a.mostread:hover, +a.pathway:hover, +a.sublevel:hover, +a.sublevel-right:hover, +a.blogsection:hover, +a.readon:hover, +a.pagenav:hover , +a.pagenav_next:hover, +a.pagenav_pre:hover, +a.latestnews:hover { + text-decoration:underline; + color:#3973AC; + background-color:inherit; +} + +#leftcol a:hover { + color: #93B7DB; + text-decoration:underline; +} + + +/* --------------------- +mambo module layout +--------------------- */ + +/** general module table **/ +table.moduletable, +#leftcol table, +#rightcol table { + width:100%; + float:left; + clear:left; +} + +/** general module table **/ +#rightcol table, +#leftcol table td { + font-size:11px !important; + color:#CCCCCC; +} + +#rightcol table, +#rightcol table td { + font-size:11px !important; + color:#030303; +} + +/** general module title **/ +table.moduletable th, +table.moduletable-bgimg th, +table.moduletable-right th { + border: 1px solid #000000; + color:#FFFFFF; + font-family: Georgia, "Times New Roman", Times, serif; + font-size:15px; + line-height:20px; + background-color:#484848; + height:25px; + text-align:left; + padding-left:15px; + font-weight:normal; +} + +/** specific module td table for content top 1 and 2. +position:user2 an user3 **/ +#content_top1 table.moduletable td, +#content_top2 table.moduletable td { + background:transparent url(../images/bg_module_contenttop.jpg) no-repeat center bottom; + height:100px; + min-height:100px; + vertical-align:top; +} + +/** right column module td **/ +#rightcol table.moduletable td { + padding:5px; +} + +/** generic menu item **/ +.mainlevel { + display:block; + font: bold 11px/25px Arial, Helvetica, sans-serif !important; + padding-left:15px; + background:transparent url(../images/bg_mainlevel.gif) repeat-x center top; + font-weight:bold; + text-decoration:none; +} + +/** specific left column form **/ +#leftcol form { + margin-left:15px; +} + +/** specific left column form **/ +#leftcol .button { + font-size:11px; + color:#FFFFFF; + background-color:#585858; + border-right: 1px solid #333333; + border-bottom: 1px solid #333333; + border-left: 1px solid #888888; + border-top: 1px solid #888888; + width:140px; +} + + +/** specific left column form **/ +#leftcol .inputbox { + font-size:11px; + font-weight: bold; +} + +/** module styles in #leftcol **/ +#leftcol table.moduletable td { + color:#DADADA; + font-size:11px; +} + +/** search div in top right column. position:user4 **/ +div.search { + margin-left:10px; +} + +/** search field in search div **/ +.search .inputbox { + width:130px; + border: 1px solid #000000; +} + +/* --------------------- +mambo form layout +--------------------- */ + +/** left column input form **/ +#leftcol .inputbox { + font-size:11px; + /*border: 1px solid #000000;*/ + margin-bottom:2px; +} + +/** input button html tag **/ +.button, +#rightcol .button { + font-size:11px; + text-transform:uppercase; + color:#666666; + font-weight:bold; + background-color:#CCCCCC; + border-top: 1px solid #FFFFFF; + border-right: 1px solid #999999; + border-bottom: 1px solid #999999; + border-left: 1px solid #FFFFFF; +} + +#rightcol .button { + background-color:#E5E5E5; +} + +.search { + margin-top:30px; +} + + + +/* +mambo top menu layout +you need to add menu class suffix: -nav +*/ + +/** unordered list top menu **/ +ul#mainlevel-nav +{ + list-style: none; + padding: 0; + margin: 0; + font-size: 0.8em; +} + +/** unordered list item for top menu **/ +ul#mainlevel-nav li +{ + display: block; + padding-left: 0px; + padding-right: 0px; + float: left; + margin: 0; + width: auto !important; + font-size: 11px; + line-height: 23px; + white-space: nowrap; +} + +/** unordered list item link for top menu **/ +ul#mainlevel-nav li a +{ + display: block; + padding-left: 15px; + padding-right: 15px; + text-decoration: none; + color: #FFFFFF; + font-weight:bold; +} + +/** unordered list item link for top menu for firefox only **/ +#topmenu>ul#mainlevel-nav li a { + width: auto; +} + +/** unordered list item for top menu for firefox only **/ +ul#mainlevel-nav li a:hover { + background: #535353; + text-decoration:none; +} + + + /* +specific right column menu item. position:right +you need to add menu class suffix: -right and +module class suffix: -right + */ +.mainlevel-right { + display:block; + height:25px; + line-height:25px; + padding-left:15px; + background:#EEF0F0 url(../images/bg_mainlevel_right.gif) repeat-x center top; + font-weight:bold; +} + +/** +moduletable specific with background image +you need to add modules class suffix: -bgimg + **/ +table.moduletable-bgimg { + background:transparent url(../images/bg_module.jpg) no-repeat center bottom; + float:left; + clear:left; + width:100%; +} + +table.moduletable-bgimg td { + padding: 5px ; + font-size:11px; +} + +table.moduletable-bgimg td td { + padding: 0!important; +} + +/** for polls **/ +.poll { + font-size:11px; + line-height: 16px; +} + +table.pollstableborder .sectiontableentry2 { + background-color:transparent; + text-align:left; +} +table.pollstableborder .sectiontableentry1 { + background-color:#F5F5F5; + text-align:left; +} + +.moduletable_bgimg table.pollstableborder td.sectiontableentry2, +.moduletable_bgimg table.pollstableborder td.sectiontableentry1 { + background-color:transparent!important; + text-align:left!important; +} + + +#bottompadding { + position:relative; + width:900px; + display:block; + height:0px; + margin-top:-100px; +} \ No newline at end of file Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_body.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_body.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_inside.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_inside.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_leftcol.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_leftcol.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_mainlevel.gif and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_mainlevel.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_mainlevel_right.gif and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_mainlevel_right.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_module.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_module.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_module_contenttop.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_module_contenttop.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_pagenav.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_pagenav.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_spacer.gif and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_spacer.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/bg_topright.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/bg_topright.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/img_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone/images/img_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/indent1.png and 4.6-complete/uploadfiles/templates/waterandstone/images/indent1.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/indent2.png and 4.6-complete/uploadfiles/templates/waterandstone/images/indent2.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/indent3.png and 4.6-complete/uploadfiles/templates/waterandstone/images/indent3.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/indent4.png and 4.6-complete/uploadfiles/templates/waterandstone/images/indent4.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/indent5.png and 4.6-complete/uploadfiles/templates/waterandstone/images/indent5.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/indent6.png and 4.6-complete/uploadfiles/templates/waterandstone/images/indent6.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone/images/logo.gif and 4.6-complete/uploadfiles/templates/waterandstone/images/logo.gif differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone/index.php 4.6-complete/uploadfiles/templates/waterandstone/index.php --- 4.6rc2/uploadfiles/templates/waterandstone/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,129 @@ +'; +?> + + + + +id ) { + initEditor(); +} +?> + + + + + +
            +
            +
            +
            + + + + +
            + +
            + + +
            + header image +
            + +
            + +
            + +
            +
            + +
            + + + = 1 OR mosCountModules('user3') >= 1 ) { + ?> +
            + +
            + +
            + + +
            + +
            + +
            + + + +
            + + + + + +
            + +
            +
            + +
            +
            +
            + +
            + +
            + + +
            + + + +
            + +
            + +
            +
            + = 1) { + ?> + + + + + +
            +
            +
            +
            +
            +
            + + + +
            +
            + + + + diff -ruN 4.6rc2/uploadfiles/templates/waterandstone/templateDetails.xml 4.6-complete/uploadfiles/templates/waterandstone/templateDetails.xml --- 4.6rc2/uploadfiles/templates/waterandstone/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone/templateDetails.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,39 @@ + + + waterandstone + 26/11/05 + waterandstone + GNU/GPL + info@waterandstone.com + http://www.waterandstone.com + 1.1 + The Water and Stone Grey Template optimized for 1024px width resolution for use with any type of website with easy customization + + index.php + template_thumbnail.png + + + images/bg_body.jpg + images/bg_header.jpg + images/bg_inside.jpg + images/bg_leftcol.jpg + images/bg_mainlevel.gif + images/bg_mainlevel_right.gif + images/bg_module.jpg + images/bg_module_contenttop.jpg + images/bg_pagenav.jpg + images/bg_spacer.gif + images/bg_topright.jpg + images/img_header.jpg + images/indent1.png + images/indent2.png + images/indent3.png + images/indent4.png + images/indent5.png + images/indent6.png + images/logo.gif + + + css/template_css.css + + Binary files 4.6rc2/uploadfiles/templates/waterandstone/template_thumbnail.png and 4.6-complete/uploadfiles/templates/waterandstone/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800/css/template_css.css 4.6-complete/uploadfiles/templates/waterandstone800/css/template_css.css --- 4.6rc2/uploadfiles/templates/waterandstone800/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800/css/template_css.css 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,946 @@ +/* --------------------- +basic layout +--------------------- */ + +* { + font-family: Arial, Helvetica, sans-serif; +} + +.waterbody { + background:#CCCCCC url(../images/bg_body.jpg) repeat-x left top; + margin:0; + color:#333333; +} + +div, +td, +p { + font-size:12px; + line-height:18px; + color:#333333; +} + +a, +a:link, +a:active, +a:visited { + text-decoration:underline; + color:#000000; +} + +a:hover { + text-decoration:underline; +} + +ul { + margin: 5px; + padding: 5px; + list-style: none; + list-style-type: square; +} + +li { + line-height: 18px; + padding-left: 5px; + padding-top: 0px; + list-style-position: inside; +} + +/** To center the objects **/ +.center { + text-align:center!important; +} + +/** clear the banner to make it sit in the bottom **/ +.clear { + clear:both; +} + +/* --------------------- +template layout +--------------------- */ + +/** wrapper to make the page center **/ +#container { + width:760px; + margin: 55px auto; + padding:0; + text-align: left; +} + +/** +hold background, it should be float:left +that's way we can not put it in #container +**/ +#containerbg { + width: 760px; + background:transparent url(../images/bg_inside.jpg) repeat-y left top; + float:left; +} + +#outerleft { + position:relative; + float:left; + clear:left; + width:590px; + +} + +#outerright { + position:relative; + width:170px; + float:right; + clear:right; +} + +#logo { + position:relative; + width:100%; + height:74px; + float:left; + background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top; +} + +/** div container for top menu. position:top **/ +#topmenu { + position:relative; + float:left; + clear:left; + background-color:#000000; + width: 100%; +} + +/** div container for image header **/ +#imgheader { + position:relative; + float:left; + clear:left; + width:100%; + height:99px; + background-color: #000000; +} + +#container_inner { + position:relative; + float:left; + clear:left; + width:590px; +} + +/** div container for left column **/ +#leftcol { + position:relative; + float:left; + clear:left; + width:170px; + background:transparent url(../images/bg_leftcol.jpg) repeat-y left top; +} + +#leftcolmenu { + position:relative; + background:transparent url(../images/bg_leftcol.jpg) repeat-y left top; + overflow:auto; +} + + +/** div wrapper for user2 & user3 **/ +#content_top_wrapper { + position:relative; + float:right; + clear:right; + width:405px; + display:inline; + margin: 4px 6px 0 0; +} + +/** div container for position:user2 **/ +#content_top1 { + position:relative; + float:left; + clear:left; + width:200px; +} + +/** div container for position:user3 **/ +#content_top2 { + position:relative; + float:right; + clear:right; + width:200px; +} + +/** div container for mainbody **/ +#content_main { + position:relative; + float:left; + width:400px; + margin:10px 0 20px 10px; + background-color:#FFFFFF; + overflow:auto; + word-wrap:break-word; +} + +/** div container for right column **/ +#rightcol_top, +#rightcol { + float:left; + clear:left; + width:168px; + margin:0 0 0 1px; + display:inline; + overflow:auto; +} + +/** div container for right column position:header **/ +#rightcol_top { + height:70px; + min-height:70px; + background:transparent url(../images/bg_topright.jpg) no-repeat center top; +} + +/** div container for banner position:banner **/ +#banner { + position:relative; + clear:left; + float:left; + width:590px; + height:65px; + min-height:65px; + color:#FFFFFF; + font-size:9px; + background-color: #333333; + display:block; + text-align:center!important; + vertical-align:middle; + padding:5px 0 0 0; + margin-top:20px; +} + +#blackline { + position:relative; + clear:left; + float:left; + width:590px; + height:10px; + min-height:10px; + background-color: #000000; + color:#FFFFFF; + font-size:10px; + margin-top:20px; +} + + +/** copyright **/ +#copyright { + position:relative; + width:760px; + display:block; + clear:both; + float:left; +} + +#copyright div { + color:#666666; + font-size:10px; + font-weight:bold; + display:block!important; + width:760px; + float:left; + clear:left; + margin:-5px 0 0 0; + text-align:left; +} + + +/* --------------------- +mambo content layout +--------------------- */ + +/** pathway block **/ +span.pathway { + display:block; + text-align:left; + color:#000000; + font-size:10px; + font-weight:bold; + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #E5E5E5; + height:20px; + margin-bottom:10px; +} + +/** content title **/ +.componentheading { + font-family:Georgia, "Times New Roman", Times, serif; + color:#000000; + font-size: 20px; + line-height:25px; + padding: 5px 0 5px 0; + display:block; +} + +.contentheading, +.contentpagetitle, +a.contentpagetitle:link, +a.contentpagetitle:active, +a.contentpagetitle:visited { + font-family: Arial, Helvetica, sans-serif; + font-size:16px; + color:#3973AC; + font-weight: bold; + padding-top: 25px; + background-color:inherit; + display:block; +} + +.contentpaneopen { + width:100%; +} + + +.buttonheading { + width: 16px!important; + text-align:right; +} + + +td.sectiontableheader { + font-weight: bold; +} + +.category, .categorytitle { + font-weight: bold; + color:#3973AC; + background-color:inherit; +} + +.sectiontableentry1, +table.pollstableborder tr.sectiontableentry1 { + background-color: #EFEFEF; + padding: 2px; + color:#333333; + +} + +.sectiontableentry2, +table.pollstableborder tr.sectiontableentry2 { + background-color: #FFFFFF; + padding: 2px; + color:#333333; +} + +tr.sectiontableentry1 td, +tr.sectiontableentry2 td { + word-wrap:break-word; +} + +/** blog Styles **/ +.blogsection { + color:#3973AC; + background-color:inherit; +} + +.blog_more { + font-weight: bold; + line-height: 25px; + padding-top: 20px; + color: #3973AC; + border-bottom: 1px solid #E5E5E5; + background-color:inherit; +} + +/** small text in content **/ +.small { + color:#999999; + font-size:10px; + font-weight: bold; + background-color:inherit; +} + +/** date info in content **/ +#content_main .createdate { + color:#4A87C4; + font-size:10px; + padding: 0 0 15px 0; + line-height:8px; + background-color:inherit; +} + +#content_main .modifydate { + color:#999999; + font-size:10px; + padding: 0; + background-color:inherit; +} + + + +/** toc page navigation **/ +.pagenav_prev, +.pagenav_next { + font-size:11px; +} + + +/** content item navigation **/ +.pagenavbar { + display:block; + width:100%; + background-color:inherit; + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999!important; + clear:both; + font-size: 11px!important; + margin-top: 10px; + background-image: url(../images/bg_pagenav.jpg); + background-repeat: repeat-x; + background-position: center bottom; +} + +.pagenav { + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999; + clear:both; + font-size: 11px; + margin-left: 0; + margin-right: 0; + background-color:inherit; + +} + +.back_button { + display:block; + text-align:left; + font-weight:bold; + font-size:12px; + width:100%; + margin-bottom:10px; + letter-spacing:2px; +} + +/** highlight word search result **/ +.highlight { + font-weight:bold; + background-color: #FFFF00; + padding: 2px 0 2px 0; + +} + +/** table of content layout **/ +table.contenttoc { + border:1px solid #000000; + padding:1px; + display:block; + width:130px; + margin: 0 0 10px 10px; +} + +/** table of content header **/ +.contenttoc th { + color:#FFFFFF; + background-color:#666666; + font-size:11px; + display:block; + width:124px; +} + +/** unordered list for latest news module **/ +ul.latestnews li,ul.mostread li { + line-height: 18px; + font-size:11px; + font-weight:bold; + list-style-type: none; + list-style-position: outside; +} + + +/** fix opera table width for content list in table category**/ +table.contentpane td.contentdescription { + width:100%!important; +} + + +/* --------------------- +Links +--------------------- */ + +/** any left column link **/ +#leftcol a:link, +#leftcol a:active, +#leftcol a:visited, +#leftcolmenu a:link, +#leftcolmenu a:active, +#leftcolmenu a:visited + { + color:#FFFFFF; +} + +a.pagenav:link , +a.pagenav_next:link, +a.pagenav_pre:link, +div.back_button a, +div.back_button a:link, +a.latestnews:link, +a.latestnews:active, +a.latestnews:visited, +a.mostread:link, +a.mostread:active, +a.mostread:visited { + text-decoration:none; +} + +/*** read more link ***/ +.readon, +a.readon:link, +a.readon:active, +a.readon:visited { + color:#666666; + font-weight:bold; + text-align:left; + margin-top:10px; + letter-spacing: 2px; + font-size:10px; + text-decoration:none; +} + +/*** blog links ***/ +a.blogsection:link, +a.blogsection:active, +a.blogsection:visited { + color:#3973AC; + text-decoration:none; +} + +/** generic menu item link **/ +a.mainlevel:link, +a.mainlevel:active, +a.mainlevel:visited, +a.sublevel:link, +a.sublevel:active, +a.sublevel:visited { + color:#FFFFFF; + text-decoration:none; + font-size:11px; + line-height: 27px; +} + +/** generic menu item link on mouseover **/ +a.mainlevel:hover, +#leftcol a.mainlevel:hover, +#leftcolmenu a.mainlevel:hover { + background-color:#484848; + color:#FFFFFF!important; + text-decoration:none!important; +} + +/** specific top right column menu item link **/ +a.mainlevel-right:link, +a.mainlevel-right:active, +a.mainlevel-right:visited, +a.sublevel-right:link, +a.sublevel-right:active, +a.sublevel-right:visited { + color:#000000; + text-decoration:none; + font-size:11px; +} + +/** specific top right column menu item link on mouseover **/ +a.mainlevel-right:hover { + background-color:#CCCCCC; + text-decoration:none; +} + + +/** pathway link item **/ +a.pathway:link, +a.pathway:link, +a.pathway:active, +a.pathway:visited { + color:#999999; + text-decoration:none; +} + +/** table of content list **/ +a.toclink:link, +a.toclink:active, +a.toclink:visited { + color:#3973AC; + font-size:11px; + padding:2px 10px 2px 10px; + display:block; + text-decoration:none; +} + +.pagenavbar a:link, +.pagenavbar a:active, +.pagenavbar a:visited { + letter-spacing:2px; + color:#000000; + font-size: 11px; + text-decoration: none; + + +} + +.pagenavbar a:hover { + color:#3973AC; +} + +/** latestnews and popular **/ +.latestnews, +.mostread { + color:#000000; +} + +a.latestnews:link, +.mostread a:link, +.latestnews a:active, +.mostread a:active, +.latestnews a:hover, +.mostread a:hover, +.latestnews a:visited, +.mostread a:visited { + color:#000000; + text-decoration:underline; +} + +/** underline on hover **/ +a.toclink:hover, +a.latestnews:hover, +a.mostread:hover, +a.pathway:hover, +a.sublevel:hover, +a.sublevel-right:hover, +a.blogsection:hover, +a.readon:hover, +a.pagenav:hover , +a.pagenav_next:hover, +a.pagenav_pre:hover, +a.latestnews:hover { + text-decoration:underline; + color:#3973AC; + background-color:inherit; +} + +#leftcolmenu a:hover, +#leftcol a:hover { + color: #93B7DB; + text-decoration:underline; +} + + +/* --------------------- +mambo module layout +--------------------- */ + +/** general module table **/ +table.moduletable, +#leftcol table, +#rightcol table { + width:100%; + float:left; + clear:left; +} + +/** general module table **/ +#rightcol table, +#leftcol table td { + font-size:11px !important; + color:#CCCCCC; +} + +#rightcol table, +#rightcol table td { + font-size:11px !important; + color:#030303; +} + +/** general module title **/ +table.moduletable th, +table.moduletable-bgimg th, +table.moduletable-right th { + border: 1px solid #000000; + color:#FFFFFF; + font-family: Georgia, "Times New Roman", Times, serif; + font-size:15px; + line-height:20px; + background-color:#484848; + height:25px; + text-align:left; + padding-left:15px; + font-weight:normal; +} + +/** specific module td table for content top 1 and 2. +position:user2 an user3 **/ +#content_top1 table.moduletable td, +#content_top2 table.moduletable td { + background:transparent url(../images/bg_module_contenttop.jpg) no-repeat center bottom; + height:100px; + min-height:100px; + vertical-align:top; +} + +/** right column module td **/ +#rightcol table.moduletable td { + padding:5px; +} + +/** generic menu item **/ + +.mainlevel { + display:block; + font: bold 11px/25px Arial, Helvetica, sans-serif !important; + padding-left:15px; + background:transparent url(../images/bg_mainlevel.gif) repeat-x center top; + font-weight:bold; + text-decoration:none; +} + +/** specific left column form **/ +#leftcol form { + margin-left:15px; +} + +/** specific left column form **/ +#leftcol .button { + font-size:11px; + color:#FFFFFF; + background-color:#585858; + border-right: 1px solid #333333; + border-bottom: 1px solid #333333; + border-left: 1px solid #888888; + border-top: 1px solid #888888; + width:140px; +} + + +/** specific left column form **/ +#leftcol .inputbox { + font-size:11px; + font-weight: bold; +} + +/** module styles in #leftcol **/ +#leftcol table.moduletable td { + color:#DADADA; + font-size:11px; +} + +/** search div in top right column. position:user4 **/ +div.search { + margin-left:10px; +} + +/** search field in search div **/ +.search .inputbox { + width:145px; + border: 1px solid #000000; +} + +/* --------------------- +mambo form layout +--------------------- */ + +/** left column input form **/ +#leftcol .inputbox { + font-size:11px; + /*border: 1px solid #000000;*/ + margin-bottom:2px; +} + + + +/** input button html tag **/ +.button, +#rightcol .button { + font-size:11px; + text-transform:uppercase; + color:#666666; + font-weight:bold; + background-color:#CCCCCC; + border-top: 1px solid #FFFFFF; + border-right: 1px solid #999999; + border-bottom: 1px solid #999999; + border-left: 1px solid #FFFFFF; +} + +#rightcol .button { + background-color:#E5E5E5; +} + +.search { + margin-top:30px; +} + + + +/* +mambo top menu layout +you need to add menu class suffix: -nav +*/ + +/** unordered list top menu **/ +ul#mainlevel-nav +{ + list-style: none; + padding: 0; + margin: 0; + font-size: 0.8em; +} + +/** unordered list item for top menu **/ +ul#mainlevel-nav li +{ + display: block; + padding-left: 0px; + padding-right: 0px; + float: left; + margin: 0; + width: auto !important; + font-size: 11px; + line-height: 23px; + white-space: nowrap; +} + +/** unordered list item link for top menu **/ +ul#mainlevel-nav li a +{ + display: block; + padding-left: 15px; + padding-right: 15px; + text-decoration: none; + color: #FFFFFF; + font-weight:bold; +} + +/** unordered list item link for top menu for firefox only **/ +#topmenu>ul#mainlevel-nav li a { + width: auto; +} + +/** unordered list item for top menu for firefox only **/ +ul#mainlevel-nav li a:hover { + background: #535353; + text-decoration:none; +} + + + /* +specific right column menu item. position:right +you need to add menu class suffix: -right and +module class suffix: -right + */ +.mainlevel-right { + display:block; + height:25px; + line-height:25px; + padding-left:15px; + background:#EEF0F0 url(../images/bg_mainlevel_right.gif) repeat-x center top; + font-weight:bold; +} + +/** +moduletable specific with background image +you need to add modules class suffix: -bgimg + **/ +table.moduletable-bgimg { + background:transparent url(../images/bg_module.jpg) no-repeat center bottom; + float:left; + clear:left; + width:100%; +} + +table.moduletable-bgimg td { + padding: 5px ; + font-size:11px; +} + +table.moduletable-bgimg td td { + padding: 0!important; +} + +/** for polls **/ +.poll { + font-size:11px; + line-height: 16px; +} + +table.pollstableborder .sectiontableentry2 { + background-color:transparent; + text-align:left; +} +table.pollstableborder .sectiontableentry1 { + background-color:#F5F5F5; + text-align:left; +} + +.moduletable_bgimg table.pollstableborder td.sectiontableentry2, +.moduletable_bgimg table.pollstableborder td.sectiontableentry1 { + background-color:transparent!important; + text-align:left!important; +} + +/** hack to make any div or table inside content will not stretcg outside area*/ +table.contentpane table table input.inputbox { + max-width:80px; + width:80px; +} + +table.contentpane { + width:390px!important; +} + +.contentpaneopen { + width:100%!important; +} + +.contentpaneopen tr.sectiontableentry2 td, +.contentpaneopen tr.sectiontableentry1 td{ + display:block; + width:390px!important; +} + +#con_global div, #con_global table, +#hp_view_standard_photo_con1 div div, +#hp_view_agen_con { + width:390px!important; + text-align:left; +} + +#hp_view_standard_photo_con1 div div, +#hp_view_standard_photo_con2, +#hp_view_standard_photo_con3, +#hp_view_agen_con { + width:390px!important; + text-align:left; +} + +table.contentpane table { + width:390px!important; + text-align:left; +} + +table.contentpane td.contentheading { + width:200px!important; +} + +table.contentpane td.buttonheading { + width:150px!important; +} + +#bottompadding { + position:relative; + width:760px; + display:block; + height:20px; + margin-top:-100px; +} \ No newline at end of file Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_body.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_body.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_inside.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_inside.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_leftcol.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_leftcol.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_mainlevel.gif and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_mainlevel.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_mainlevel_right.gif and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_mainlevel_right.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_module.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_module.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_module_contenttop.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_module_contenttop.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_pagenav.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_pagenav.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_spacer.gif and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_spacer.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/bg_topright.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/bg_topright.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/img_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone800/images/img_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/indent1.png and 4.6-complete/uploadfiles/templates/waterandstone800/images/indent1.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/indent2.png and 4.6-complete/uploadfiles/templates/waterandstone800/images/indent2.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/indent3.png and 4.6-complete/uploadfiles/templates/waterandstone800/images/indent3.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/indent4.png and 4.6-complete/uploadfiles/templates/waterandstone800/images/indent4.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/indent5.png and 4.6-complete/uploadfiles/templates/waterandstone800/images/indent5.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/indent6.png and 4.6-complete/uploadfiles/templates/waterandstone800/images/indent6.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800/images/logo.gif and 4.6-complete/uploadfiles/templates/waterandstone800/images/logo.gif differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800/index.php 4.6-complete/uploadfiles/templates/waterandstone800/index.php --- 4.6rc2/uploadfiles/templates/waterandstone800/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,132 @@ +'; +?> + + + + +id ) { + initEditor(); +} +?> + + + + + +
            +
            +
            +
            + + + + +
            + +
            + + +
            + header image +
            + +
            + +
            + +
            +
            + +
            + + + = 1 OR mosCountModules('user3') >= 1 ) { + ?> +
            + +
            + +
            + + +
            + +
            + +
            + + + +
            + + + + + +
            + +
            +
            + +
            +
            +
            + +
            + +
            + + +
            + + + +
            + +
            + +
            +
            + = 1) { + ?> + + +
            +
            + + +
            +
            +
            +
            +
            + + + +
            +
            + + + diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800/templateDetails.xml 4.6-complete/uploadfiles/templates/waterandstone800/templateDetails.xml --- 4.6rc2/uploadfiles/templates/waterandstone800/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800/templateDetails.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,39 @@ + + + waterandstone800 + 26/11/05 + waterandstone + GNU/GPL + nalisa@waterandstone.com + http://www.waterandstone.com + 1.1 + The Water and Stone Grey Template optimized for 800px width resolution for use with any type of website with easy customization + + index.php + template_thumbnail.png + + + images/bg_body.jpg + images/bg_header.jpg + images/bg_inside.jpg + images/bg_leftcol.jpg + images/bg_mainlevel.gif + images/bg_mainlevel_right.gif + images/bg_module.jpg + images/bg_module_contenttop.jpg + images/bg_pagenav.jpg + images/bg_spacer.gif + images/bg_topright.jpg + images/img_header.jpg + images/indent1.png + images/indent2.png + images/indent3.png + images/indent4.png + images/indent5.png + images/indent6.png + images/logo.gif + + + css/template_css.css + + Binary files 4.6rc2/uploadfiles/templates/waterandstone800/template_thumbnail.png and 4.6-complete/uploadfiles/templates/waterandstone800/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_blue/css/template_css.css 4.6-complete/uploadfiles/templates/waterandstone800_blue/css/template_css.css --- 4.6rc2/uploadfiles/templates/waterandstone800_blue/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_blue/css/template_css.css 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,931 @@ +/* --------------------- +basic layout +--------------------- */ + +* { + font-family: Arial, Helvetica, sans-serif; +} + +.waterbody { + background:#F8F7F2 url(../images/bg_body.jpg) repeat-x left top; + margin:0; + color:#333333; +} + +div, +td, +p { + font-size:12px; + line-height:18px; + color:#333333; +} + +a, +a:link, +a:active, +a:visited { + text-decoration:underline; + color:#000000; +} + +a:hover { + text-decoration:underline; +} + +ul { + margin: 5px; + padding: 5px; + list-style: none; + list-style-type: square; +} + +li { + line-height: 18px; + padding-left: 5px; + padding-top: 0px; + list-style-position: inside; +} + +/** To center the objects **/ +.center { + text-align:center!important; +} + +/** clear the banner to make it sit in the bottom **/ +.clear { + clear:both; +} + +/* --------------------- +template layout +--------------------- */ + +/** wrapper to make the page center **/ +#container { + width:760px; + margin: 55px auto; + padding:0; + text-align: left; +} + +/** +hold background, it should be float:left +that's way we can not put it in #container +**/ +#containerbg { + width: 760px; + background:transparent url(../images/bg_inside.jpg) repeat-y left top; + float:left; +} + +#outerleft { + position:relative; + float:left; + clear:left; + width:590px; + +} + +#outerright { + position:relative; + width:170px; + float:right; + clear:right; +} + +#logo { + position:relative; + width:100%; + height:74px; + float:left; + background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top; +} + +/** div container for top menu. position:top **/ +#topmenu { + position:relative; + float:left; + clear:left; + background-color:#000000; + width: 100%; +} + +/** div container for image header **/ +#imgheader { + position:relative; + float:left; + clear:left; + width:100%; + height:99px; + background-color: #000000; +} + +#container_inner { + position:relative; + float:left; + clear:left; + width:590px; +} + +/** div container for left column **/ +#leftcol { + position:relative; + float:left; + clear:left; + width:170px; +} + +#leftcolmenu { + position:relative; + overflow:auto; +} + + +/** div wrapper for user2 & user3 **/ +#content_top_wrapper { + position:relative; + float:right; + clear:right; + width:405px; + display:inline; + margin: 4px 6px 0 0; +} + +/** div container for position:user2 **/ +#content_top1 { + position:relative; + float:left; + clear:left; + width:200px; +} + +/** div container for position:user3 **/ +#content_top2 { + position:relative; + float:right; + clear:right; + width:200px; +} + +/** div container for mainbody **/ +#content_main { + position:relative; + float:left; + width:400px; + margin:10px 0 20px 10px; + background-color:#FFFFFF; + overflow:auto; + word-wrap:break-word; +} + +/** div container for right column **/ +#rightcol_top, +#rightcol { + float:left; + clear:left; + width:168px; + margin:0 0 0 1px; + display:inline; + overflow:auto; +} + +/** div container for right column position:header **/ +#rightcol_top { + height:70px; + min-height:70px; + background:transparent url(../images/bg_topright.jpg) no-repeat center top; +} + +/** div container for banner position:banner **/ +#banner { + position:relative; + clear:left; + float:left; + width:590px; + height:65px; + min-height:65px; + color:#FFFFFF; + font-size:9px; + background-color: #333333; + display:block; + text-align:center!important; + vertical-align:middle; + padding:5px 0 0 0; + margin-top:20px; +} + +#blackline { + position:relative; + clear:left; + float:left; + width:590px; + height:10px; + min-height:10px; + background-color: #000000; + color:#FFFFFF; + font-size:10px; + margin-top:20px; +} + + +/** copyright **/ +#copyright { + position:relative; + width:760px; + display:block; + clear:both; + float:left; +} + +#copyright div { + color:#666666; + font-size:10px; + font-weight:bold; + display:block!important; + width:760px; + float:left; + clear:left; + margin:-5px 0 0 0; + text-align:left; +} + + +/* --------------------- +mambo content layout +--------------------- */ + +/** pathway block **/ +span.pathway { + display:block; + text-align:left; + color:#000000; + font-size:10px; + font-weight:bold; + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #E5E5E5; + height:20px; + margin-bottom:10px; +} + +/** content title **/ +.componentheading { + font-family:Georgia, "Times New Roman", Times, serif; + color:#000000; + font-size: 20px; + line-height:25px; + padding: 5px 0 5px 0; + display:block; +} + +.contentheading, +.contentpagetitle, +a.contentpagetitle:link, +a.contentpagetitle:active, +a.contentpagetitle:visited { + font-family: Arial, Helvetica, sans-serif; + font-size:16px; + color:#3973AC; + font-weight: bold; + padding-top: 25px; + background-color:inherit; + display:block; +} + +.contentpaneopen { + width:100%; +} + + +.buttonheading { + width: 16px!important; + text-align:right; +} + + +td.sectiontableheader { + font-weight: bold; +} + +.category, .categorytitle { + font-weight: bold; + color:#3973AC; + background-color:inherit; +} + +.sectiontableentry1, +table.pollstableborder tr.sectiontableentry1 { + background-color: #FBFBF4; + padding: 2px; + color:#333333; + +} + +.sectiontableentry2, +table.pollstableborder tr.sectiontableentry2 { + background-color: #FFFFFF; + padding: 2px; + color:#333333; +} + +tr.sectiontableentry1 td, +tr.sectiontableentry2 td { + word-wrap:break-word; +} + +/** blog Styles **/ +.blogsection { + color:#3973AC; + background-color:inherit; +} + +.blog_more { + font-weight: bold; + line-height: 25px; + padding-top: 20px; + color: #3973AC; + border-bottom: 1px solid #E5E5E5; + background-color:inherit; +} + +/** small text in content **/ +.small { + color:#999999; + font-size:10px; + font-weight: bold; + background-color:inherit; +} + +/** date info in content **/ +#content_main .createdate { + color:#4A87C4; + font-size:10px; + padding: 0 0 15px 0; + line-height:8px; + background-color:inherit; +} + +#content_main .modifydate { + color:#999999; + font-size:10px; + padding: 0; + background-color:inherit; +} + + + +/** toc page navigation **/ +.pagenav_prev, +.pagenav_next { + font-size:11px; +} + + +/** content item navigation **/ +.pagenavbar { + display:block; + width:100%; + background-color:inherit; + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999!important; + clear:both; + font-size: 11px!important; + margin-top: 10px; + background-image: url(../images/bg_pagenav.jpg); + background-repeat: repeat-x; + background-position: center bottom; +} + +.pagenav { + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999; + clear:both; + font-size: 11px; + margin-left: 0; + margin-right: 0; + background-color:inherit; + +} + +.back_button { + display:block; + text-align:left; + font-weight:bold; + font-size:12px; + width:100%; + margin-bottom:10px; + letter-spacing:2px; +} + +/** highlight word search result **/ +.highlight { + font-weight:bold; + background-color: #FFFF00; + padding: 2px 0 2px 0; + +} + +/** table of content layout **/ +table.contenttoc { + border:1px solid #000000; + padding:1px; + display:block; + width:130px; + margin: 0 0 10px 10px; +} + +/** table of content header **/ +.contenttoc th { + color:#FFFFFF; + background-color:#666666; + font-size:11px; + display:block; + width:124px; +} + +/** unordered list for latest news module **/ +ul.latestnews li,ul.mostread li { + line-height: 18px; + font-size:11px; + font-weight:bold; + list-style-type: none; + list-style-position: outside; +} + + +/** fix opera table width for content list in table category**/ +table.contentpane td.contentdescription { + width:100%!important; +} + + +/* --------------------- +Links +--------------------- */ + +/** any left column link **/ +#leftcol a:link, +#leftcol a:active, +#leftcol a:visited, +#leftcolmenu a:link, +#leftcolmenu a:active, +#leftcolmenu a:visited + { + color:#FFFFFF; +} + +a.pagenav:link , +a.pagenav_next:link, +a.pagenav_pre:link, +div.back_button a, +div.back_button a:link, +a.latestnews:link, +a.latestnews:active, +a.latestnews:visited, +a.mostread:link, +a.mostread:active, +a.mostread:visited { + text-decoration:none; +} + +/*** read more link ***/ +.readon, +a.readon:link, +a.readon:active, +a.readon:visited { + color:#666666; + font-weight:bold; + text-align:left; + margin-top:10px; + letter-spacing: 2px; + font-size:10px; + text-decoration:none; +} + +/*** blog links ***/ +a.blogsection:link, +a.blogsection:active, +a.blogsection:visited { + color:#3973AC; + text-decoration:none; +} + +/** generic menu item link **/ +a.mainlevel:link, +a.mainlevel:active, +a.mainlevel:visited, +a.sublevel:link, +a.sublevel:active, +a.sublevel:visited { + color:#FFFFFF; + text-decoration:none; + font-size:11px; + line-height: 27px; +} + +/** generic menu item link on mouseover **/ +a.mainlevel:hover, +#leftcol a.mainlevel:hover, +#leftcolmenu a.mainlevel:hover { + background-color:#326A99; + color:#FFFFFF!important; + text-decoration:none!important; +} + + + /* +specific right column menu item. position:right +you need to add menu class suffix: -right and +module class suffix: -right + */ +.mainlevel-right { + display:block; + height:25px; + line-height:25px; + padding-left:15px; + background:#E9E8D3 url(../images/bg_mainlevel_right.gif) repeat-x center top; + font-weight:bold; +} + +a.mainlevel-right:link, +a.mainlevel-right:active, +a.mainlevel-right:visited, +a.sublevel-right:link, +a.sublevel-right:active, +a.sublevel-right:visited { + color:#000000; + text-decoration:none; + font-size:11px; + background-color:#E9E8D3; +} + +/** specific top right column menu item link on mouseover **/ +a.mainlevel-right:hover { + background-color:#DFDDC6; + text-decoration:none; +} + + +/** pathway link item **/ +a.pathway:link, +a.pathway:link, +a.pathway:active, +a.pathway:visited { + color:#999999; + text-decoration:none; +} + +/** table of content list **/ +a.toclink:link, +a.toclink:active, +a.toclink:visited { + color:#3973AC; + font-size:11px; + padding:2px 10px 2px 10px; + display:block; + text-decoration:none; +} + +.pagenavbar a:link, +.pagenavbar a:active, +.pagenavbar a:visited { + letter-spacing:2px; + color:#000000; + font-size: 11px; + text-decoration: none; + + +} + +.pagenavbar a:hover { + color:#3973AC; +} + +/** latestnews and popular **/ +.latestnews, +.mostread { + color:#000000; +} + +a.latestnews:link, +.mostread a:link, +.latestnews a:active, +.mostread a:active, +.latestnews a:hover, +.mostread a:hover, +.latestnews a:visited, +.mostread a:visited { + color:#000000; + text-decoration:underline; +} + +/** underline on hover **/ +a.toclink:hover, +a.latestnews:hover, +a.mostread:hover, +a.pathway:hover, +a.sublevel:hover, +a.sublevel-right:hover, +a.blogsection:hover, +a.readon:hover, +a.pagenav:hover , +a.pagenav_next:hover, +a.pagenav_pre:hover, +a.latestnews:hover { + text-decoration:underline; + /*color:#3973AC;*/ + background-color:inherit; +} + +#leftcolmenu a:hover, +#leftcol a:hover { + color: #93B7DB; + text-decoration:underline; +} + + +/* --------------------- +mambo module layout +--------------------- */ + +/** general module table **/ +table.moduletable, +#leftcol table, +#rightcol table { + width:100%; + float:left; + clear:left; +} + +/** general module table **/ +#leftcol table, +#leftcol table td { + font-size:11px !important; + color:#FFFFFF !important; +} + +#rightcol table, +#rightcol table td { + font-size:11px !important; + color:#030303; +} + +/** general module title **/ +table.moduletable th { + border-bottom: 1px solid #000000; + color:#000000; + font-family: Georgia, "Times New Roman", Times, serif; + font-size:13px; + line-height:25px; + background: #E3E2C6 url(../images/bg_leftcol_module_th.gif) repeat-y left top; + height:22px; + text-align:left; + padding-left:15px; + font-weight:normal; + text-transform: uppercase; + letter-spacing: 1px; +} + +#leftcol table.moduletable th { + background: #ACCCE6 url(../images/bg_leftcol_module_th.gif) repeat-y left top; +} + +#rightcol table.moduletable th { + background-color:#B3AE88; +} + + +/** specific module td table for content top 1 and 2. +position:user2 an user3 **/ +#content_top1 table.moduletable td, +#content_top2 table.moduletable td { + background-color:#F7F7EE; + height:100px; + min-height:100px; + vertical-align:top; +} + +/** right column module td **/ +#rightcol table.moduletable td { + padding:5px; +} + +/** generic menu item **/ + +.mainlevel { + display:block; + font: bold 11px/25px Arial, Helvetica, sans-serif !important; + padding-left:15px; + background:transparent url(../images/bg_mainlevel.gif) repeat-x center top; + font-weight:bold; + text-decoration:none; +} + +/** specific left column form **/ +#leftcol form { + margin-left:15px; +} + +/** specific left column form **/ +#leftcol .button { + font-size:11px; + color:#FFFFFF; + background-color:#5F9BCD; + border-right: 1px solid #49779D; + border-bottom: 1px solid #49779D; + border-left: 1px solid #7CADD6; + border-top: 1px solid #7CADD6; + width:140px; +} + + +/** specific left column form **/ +#leftcol .inputbox { + font-size:11px; + font-weight: bold; +} + +/** module styles in #leftcol **/ +#leftcol table.moduletable td { + color:#DADADA; + font-size:11px; +} + + +/** search div in top right column. position:user4 **/ +div.search { + margin-left:10px; +} + +/** search field in search div **/ +.search .inputbox { + width:145px; + border: 1px solid #000000; +} + +/* --------------------- +mambo form layout +--------------------- */ + +/** left column input form **/ +#leftcol .inputbox { + font-size:11px; + /*border: 1px solid #000000;*/ + margin-bottom:2px; +} + + + +/** input button html tag **/ +.button, +#rightcol .button { + font-size:11px; + text-transform:uppercase; + color:#726C49; + font-weight:bold; + background-color:#F7F7EE; + border-top: 1px solid #D0CDB6; + border-right: 1px solid #5E5B47; + border-bottom: 1px solid #5E5B47; + border-left: 1px solid #D0CDB6; +} + +.search { + margin-top:30px; +} + + + +/* +mambo top menu layout +you need to add menu class suffix: -nav +*/ + +/** unordered list top menu **/ +ul#mainlevel-nav +{ + list-style: none; + padding: 0; + margin: 0; + font-size: 0.8em; +} + +/** unordered list item for top menu **/ +ul#mainlevel-nav li +{ + display: block; + padding-left: 0px; + padding-right: 0px; + float: left; + margin: 0; + width: auto !important; + font-size: 11px; + line-height: 23px; + white-space: nowrap; +} + +/** unordered list item link for top menu **/ +ul#mainlevel-nav li a +{ + display: block; + padding-left: 15px; + padding-right: 15px; + text-decoration: none; + color: #FFFFFF; + font-weight:bold; +} + +/** unordered list item link for top menu for firefox only **/ +#topmenu>ul#mainlevel-nav li a { + width: auto; +} + +/** unordered list item for top menu for firefox only **/ +ul#mainlevel-nav li a:hover { + background: #535353; + text-decoration:none; +} + + +/** for polls **/ +.poll { + font-size:11px; + line-height: 16px; +} + +table.pollstableborder .sectiontableentry2 { + background-color:transparent; + text-align:left; +} +table.pollstableborder .sectiontableentry1 { + background-color:#E3E2C6; + text-align:left; +} + +.moduletable_bgimg table.pollstableborder td.sectiontableentry2, +.moduletable_bgimg table.pollstableborder td.sectiontableentry1 { + background-color:transparent!important; + text-align:left!important; +} + +/** hack to make any div or table inside content will not stretcg outside area*/ +table.contentpane table table input.inputbox { + max-width:80px; + width:80px; +} + +table.contentpane { + width:390px!important; +} + +.contentpaneopen { + width:100%!important; +} + +.contentpaneopen tr.sectiontableentry2 td, +.contentpaneopen tr.sectiontableentry1 td{ + display:block; + width:390px!important; +} + +#con_global div, #con_global table, +#hp_view_standard_photo_con1 div div, +#hp_view_agen_con { + width:390px!important; + text-align:left; +} + +#hp_view_standard_photo_con1 div div, +#hp_view_standard_photo_con2, +#hp_view_standard_photo_con3, +#hp_view_agen_con { + width:390px!important; + text-align:left; +} + +table.contentpane table { + width:390px!important; + text-align:left; +} + +table.contentpane td.contentheading { + width:200px!important; +} + +table.contentpane td.buttonheading { + width:150px!important; +} + +#bottompadding { + position:relative; + width:760px; + display:block; + height:20px; + margin-top:-100px; +} \ No newline at end of file Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_body.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_body.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_inside.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_inside.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_leftcol.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_leftcol.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_leftcol_module_th.gif and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_leftcol_module_th.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_mainlevel.gif and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_mainlevel.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_mainlevel_right.gif and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_mainlevel_right.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_module.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_module.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_module_contenttop.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_module_contenttop.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_pagenav.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_pagenav.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_spacer.gif and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_spacer.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/bg_topright.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/bg_topright.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/img_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/img_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/indent1.png and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/indent1.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/indent2.png and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/indent2.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/indent3.png and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/indent3.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/indent4.png and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/indent4.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/indent5.png and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/indent5.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/indent6.png and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/indent6.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/images/logo.gif and 4.6-complete/uploadfiles/templates/waterandstone800_blue/images/logo.gif differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_blue/index.php 4.6-complete/uploadfiles/templates/waterandstone800_blue/index.php --- 4.6rc2/uploadfiles/templates/waterandstone800_blue/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_blue/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,132 @@ +'; +?> + + + + +id ) { + initEditor(); +} +?> + + + + + +
            +
            +
            +
            + + + + +
            + +
            + + +
            + header image +
            + +
            + +
            + +
            +
            + +
            + + + = 1 OR mosCountModules('user3') >= 1 ) { + ?> +
            + +
            + +
            + + +
            + +
            + +
            + + + +
            + + + + + +
            + +
            +
            + +
            +
            +
            + +
            + +
            + + +
            + + + +
            + +
            + +
            +
            + = 1) { + ?> + + +
            +
            + + +
            +
            +
            +
            +
            + + + +
            +
            + + + diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_blue/templateDetails.xml 4.6-complete/uploadfiles/templates/waterandstone800_blue/templateDetails.xml --- 4.6rc2/uploadfiles/templates/waterandstone800_blue/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_blue/templateDetails.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,40 @@ + + + waterandstone800_blue + 07/05/06 + waterandstone + GNU/GPL + info@waterandstone.com + http://www.waterandstone.com + 1.1 + The Water and Stone Blue Template optimized for 800px x 600px screen resolution for use with any type of website with easy customization + + index.php + template_thumbnail.png + + + images/bg_body.jpg + images/bg_header.jpg + images/bg_inside.jpg + images/bg_leftcol.jpg + images/bg_leftcol_module_th.gif + images/bg_mainlevel.gif + images/bg_mainlevel_right.gif + images/bg_module.jpg + images/bg_module_contenttop.jpg + images/bg_pagenav.jpg + images/bg_spacer.gif + images/bg_topright.jpg + images/img_header.jpg + images/indent1.png + images/indent2.png + images/indent3.png + images/indent4.png + images/indent5.png + images/indent6.png + images/logo.gif + + + css/template_css.css + + Binary files 4.6rc2/uploadfiles/templates/waterandstone800_blue/template_thumbnail.png and 4.6-complete/uploadfiles/templates/waterandstone800_blue/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_green/css/template_css.css 4.6-complete/uploadfiles/templates/waterandstone800_green/css/template_css.css --- 4.6rc2/uploadfiles/templates/waterandstone800_green/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_green/css/template_css.css 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,935 @@ +/* --------------------- +basic layout +--------------------- */ + +* { + font-family: Arial, Helvetica, sans-serif; +} + +.waterbody { + background:#FFFFFF url(../images/bg_body.jpg) repeat-x left top; + margin:0; + color:#333333; +} + +div, +td, +p { + font-size:12px; + line-height:18px; + color:#333333; +} + +a, +a:link, +a:active, +a:visited { + text-decoration:underline; + color:#000000; +} + +a:hover { + text-decoration:underline; +} + +ul { + margin: 5px; + padding: 5px; + list-style: none; + list-style-type: square; +} + +li { + line-height: 18px; + padding-left: 5px; + padding-top: 0px; + list-style-position: inside; +} + +/** To center the objects **/ +.center { + text-align:center!important; +} + +/** clear the banner to make it sit in the bottom **/ +.clear { + clear:both; +} + +/* --------------------- +template layout +--------------------- */ + +/** wrapper to make the page center **/ +#container { + width:760px; + margin: 0px auto; + padding:0; + text-align: left; +} + +/** +hold background, it should be float:left +that's way we can not put it in #container +**/ +#containerbg { + width: 760px; + background:transparent url(../images/bg_inside.jpg) repeat-y left top; + float:left; +} + +#outerleft { + position:relative; + float:left; + clear:left; + width:590px; + +} + +#outerright { + position:relative; + width:170px; + float:right; + clear:right; +} + +#logo { + position:relative; + width:100%; + height:74px; + float:left; + background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top; +} + +/** div container for top menu. position:top **/ +#topmenu { + position:relative; + float:left; + clear:left; + background-color:#000000; + width: 100%; +} + +/** div container for image header **/ +#imgheader { + position:relative; + float:left; + clear:left; + width:100%; + height:99px; + background-color: #000000; +} + +#container_inner { + position:relative; + float:left; + clear:left; + width:590px; +} + +/** div container for left column **/ +#leftcol { + position:relative; + float:left; + clear:left; + width:170px; +} + +#leftcolmenu { + position:relative; + overflow:auto; +} + + +/** div wrapper for user2 & user3 **/ +#content_top_wrapper { + position:relative; + float:right; + clear:right; + width:405px; + display:inline; + margin: 4px 6px 0 0; +} + +/** div container for position:user2 **/ +#content_top1 { + position:relative; + float:left; + clear:left; + width:200px; +} + +/** div container for position:user3 **/ +#content_top2 { + position:relative; + float:right; + clear:right; + width:200px; +} + +/** div container for mainbody **/ +#content_main { + position:relative; + float:left; + width:400px; + margin:10px 0 20px 10px; + background-color:#FFFFFF; + overflow:auto; + word-wrap:break-word; +} + +/** div container for right column **/ +#rightcol_top, +#rightcol { + float:left; + clear:left; + width:168px; + margin:0 0 0 1px; + display:inline; + overflow:auto; +} + +/** div container for right column position:header **/ +#rightcol_top { + height:70px; + min-height:70px; +} + +/** div container for banner position:banner **/ +#banner { + position:relative; + clear:left; + float:left; + width:590px; + height:65px; + min-height:65px; + color:#FFFFFF; + font-size:9px; + background-color: #333333; + display:block; + text-align:center!important; + vertical-align:middle; + padding:5px 0 0 0; + margin-top:20px; +} + +#blackline { + position:relative; + clear:left; + float:left; + width:590px; + height:10px; + min-height:10px; + background-color: #000000; + color:#FFFFFF; + font-size:10px; + margin-top:20px; +} + + +/** copyright **/ +#copyright { + position:relative; + width:760px; + display:block; + clear:both; + float:left; +} + +#copyright div { + color:#666666; + font-size:10px; + font-weight:bold; + display:block!important; + width:760px; + float:left; + clear:left; + margin:-5px 0 0 0; + text-align:left; +} + + +/* --------------------- +mambo content layout +--------------------- */ + +/** pathway block **/ +span.pathway { + display:block; + text-align:left; + color:#000000; + font-size:10px; + font-weight:bold; + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #E5E5E5; + height:20px; + margin-bottom:10px; +} + +/** content title **/ +.componentheading { + font-family:Georgia, "Times New Roman", Times, serif !important; + color:#000000; + font-size: 20px; + line-height:25px; + padding: 5px 0 5px 0; + display:block; +} + +.contentheading, +.contentpagetitle, +a.contentpagetitle:link, +a.contentpagetitle:active, +a.contentpagetitle:visited { + font-family:Georgia, "Times New Roman", Times, serif !important; + font-size:18px; + font-weight: normal; + color:#0C362D; + padding-top: 25px; + background-color:inherit; + display:block; +} + +.contentpaneopen { + width:100%; +} + + +.buttonheading { + width: 16px!important; + text-align:right; +} + + +td.sectiontableheader { + font-weight: bold; +} + +.category, .categorytitle { + font-weight: bold; + color:#0C362D; + background-color:inherit; +} + +.sectiontableentry1, +table.pollstableborder tr.sectiontableentry1 { + background-color: #FBFBF4; + padding: 2px; + color:#333333; +} + +.sectiontableentry2, +table.pollstableborder tr.sectiontableentry2 { + background-color: #FFFFFF; + padding: 2px; + color:#333333; +} + +tr.sectiontableentry1 td, +tr.sectiontableentry2 td { + word-wrap:break-word; +} + +/** blog Styles **/ +.blogsection { + color:#0C362D; + background-color:inherit; +} + +.blog_more { + font-weight: bold; + line-height: 25px; + padding-top: 20px; + color: #0C362D; + border-bottom: 1px solid #E5E5E5; + background-color:inherit; +} + +/** small text in content **/ +.small { + color:#8B721D; + font-size:10px; + font-weight: normal; + background-color:inherit; +} + +/** date info in content **/ +#content_main .createdate { + color:#6EB28A; + font-size:10px; + padding: 0 0 15px 0; + line-height:8px; + background-color:inherit; +} + +#content_main .modifydate { + color:#8B721D; + font-size:10px; + padding: 0; + background-color:inherit; +} + + +/** toc page navigation **/ +.pagenav_prev, +.pagenav_next { + font-size:11px; +} + + +/** content item navigation **/ +.pagenavbar { + display:block; + width:100%; + background-color:inherit; + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999!important; + clear:both; + font-size: 11px!important; + margin-top: 10px; + background-image: url(../images/bg_pagenav.jpg); + background-repeat: repeat-x; + background-position: center bottom; +} + +.pagenav { + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999; + clear:both; + font-size: 11px; + margin-left: 0; + margin-right: 0; + background-color:inherit; + +} + +.back_button { + display:block; + text-align:left; + font-weight:bold; + font-size:12px; + width:100%; + margin-bottom:10px; + letter-spacing:2px; +} + +/** highlight word search result **/ +.highlight { + font-weight:bold; + background-color: #FFFF00; + padding: 2px 0 2px 0; + +} + +/** table of content layout **/ +table.contenttoc { + border:1px solid #000000; + padding:1px; + display:block; + width:130px; + margin: 0 0 10px 10px; +} + +/** table of content header **/ +.contenttoc th { + color:#FFFFFF; + background-color:#666666; + font-size:11px; + display:block; + width:124px; +} + +/** unordered list for latest news module **/ +ul.latestnews li,ul.mostread li { + line-height: 18px; + font-size:11px; + font-weight:bold; + list-style-type: none; + list-style-position: outside; +} + + +/** fix opera table width for content list in table category**/ +table.contentpane td.contentdescription { + width:100%!important; +} + + +/* --------------------- +Links +--------------------- */ + +/** any left column link **/ +#leftcol a:link, +#leftcol a:active, +#leftcol a:visited, +#leftcolmenu a:link, +#leftcolmenu a:active, +#leftcolmenu a:visited, +#rightcol a:link, +#rightcol a:active, +#rightcol a:visited, +#rightcolmenu a:link, +#rightcolmenu a:active, +#rightcolmenu a:visited + { + color:#FFFFFF; +} + +a.pagenav:link , +a.pagenav_next:link, +a.pagenav_pre:link, +div.back_button a, +div.back_button a:link, +a.latestnews:link, +a.latestnews:active, +a.latestnews:visited, +a.mostread:link, +a.mostread:active, +a.mostread:visited { + text-decoration:none; +} + +/*** read more link ***/ +.readon, +a.readon:link, +a.readon:active, +a.readon:visited { + color:#666666; + font-weight:bold; + text-align:left; + margin-top:10px; + letter-spacing: 2px; + font-size:10px; + text-decoration:none; +} + +/*** blog links ***/ +a.blogsection:link, +a.blogsection:active, +a.blogsection:visited { + color:#0C362D; + text-decoration:none; +} + +/** generic menu item link **/ +a.mainlevel:link, +a.mainlevel:active, +a.mainlevel:visited, +a.sublevel:link, +a.sublevel:active, +a.sublevel:visited { + color:#FFFFFF; + text-decoration:none; + font-size:11px; + line-height: 27px; +} + +a.sublevel:hover { + color: #000000; +} + +/** generic menu item link on mouseover **/ +a.mainlevel:hover, +#leftcol a.mainlevel:hover, +#leftcolmenu a.mainlevel:hover { + background-color:#B8B35C; + color:#000000!important; + text-decoration:none!important; +} + +/** specific top right column menu item link **/ +a.mainlevel-right:link, +a.mainlevel-right:active, +a.mainlevel-right:visited, +a.sublevel-right:link, +a.sublevel-right:active, +a.sublevel-right:visited { + color:#FFFFFF; + text-decoration:none; + font-size:11px; +} + +/** specific top right column menu item link on mouseover **/ +a.mainlevel-right:hover { + background-color:#15604F; + text-decoration:none; +} + + +/** pathway link item **/ +a.pathway:link, +a.pathway:link, +a.pathway:active, +a.pathway:visited { + color:#999999; + text-decoration:none; +} + +/** table of content list **/ +a.toclink:link, +a.toclink:active, +a.toclink:visited { + color:#0C362D; + font-size:11px; + padding:2px 10px 2px 10px; + display:block; + text-decoration:none; +} + +.pagenavbar a:link, +.pagenavbar a:active, +.pagenavbar a:visited { + letter-spacing:2px; + color:#000000; + font-size: 11px; + text-decoration: none; + + +} + +.pagenavbar a:hover { + color:#0C362D; +} + +/** latestnews and popular **/ +.latestnews, +.mostread { + color:#000000; +} + +a.latestnews:link, +.mostread a:link, +.latestnews a:active, +.mostread a:active, +.latestnews a:hover, +.mostread a:hover, +.latestnews a:visited, +.mostread a:visited { + color:#000000; + text-decoration:underline; +} + +/** underline on hover **/ +a.toclink:hover, +a.latestnews:hover, +a.mostread:hover, +a.pathway:hover, +a.sublevel:hover, +a.sublevel-right:hover, +a.blogsection:hover, +a.readon:hover, +a.pagenav:hover , +a.pagenav_next:hover, +a.pagenav_pre:hover, +a.latestnews:hover { + text-decoration:underline; + /*color:#0C362D;*/ + background-color:inherit; +} + +#leftcolmenu a:hover, +#leftcol a:hover { + color: #000000; + text-decoration:underline; +} + + +/* --------------------- +mambo module layout +--------------------- */ + +/** general module table **/ +table.moduletable, +#leftcol table, +#rightcol table { + width:100%; + float:left; + clear:left; +} + +/** general module table **/ +#rightcol table, +#leftcol table td { + font-size:11px !important; + color:#FFFFFF; +} + +#rightcol table, +#rightcol table td { + font-size:11px !important; + color:#FFFFFF; +} + +/** general module title **/ +table.moduletable th { + border: solid 1px #000000; + color:#FFFFFF; + font-family: Georgia, "Times New Roman", Times, serif; + font-size:13px; + line-height:25px; + background-color: #6EB28A; + height:22px; + text-align:left; + padding-left:15px; + font-weight:normal; + text-transform: uppercase; + letter-spacing: 1px; +} + +#leftcol table.moduletable th { + background-color: #8F8A2C; + color: #000000; + border: solid 1px #000000; +} + +#rightcol table.moduletable th { + background-color:#6EB28A; + border: solid 1px #000000; +} + + +/** specific module td table for content top 1 and 2. +position:user2 an user3 **/ +#content_top1 table.moduletable td, +#content_top2 table.moduletable td { + background-color:#F2FFF2; + height:100px; + min-height:100px; + vertical-align:top; +} + +/** right column module td **/ +#rightcol table.moduletable td { + padding:5px; + +} + +/** generic menu item **/ + +.mainlevel { + display:block; + font: bold 11px/25px Arial, Helvetica, sans-serif !important; + padding-left:15px; + background:transparent url(../images/bg_mainlevel.gif) repeat-x center top; + font-weight:bold; + text-decoration:none; +} + +/** specific left column form **/ +#leftcol form { + margin-left:15px; +} + +/** specific left column form **/ +#leftcol .button { + font-size:11px; + color:#FFFFFF; + background-color:#C4BD40; + border: 1px solid #746A39; + width:140px; +} + + +/** specific left column form **/ +#leftcol .inputbox { + font-size:11px; + font-weight: bold; +} + +/** module styles in #leftcol **/ +#leftcol table.moduletable td { + color:#FFFFFF; + font-size:11px; +} + +/** search div in top right column. position:user4 **/ +div.search { + margin-left:10px; +} + +/** search field in search div **/ +.search .inputbox { + width:145px; + border: 1px solid #000000; +} + +/* --------------------- +mambo form layout +--------------------- */ + +/** left column input form **/ +#leftcol .inputbox { + font-size:11px; + /*border: 1px solid #000000;*/ + margin-bottom:2px; +} + + + +/** input button html tag **/ +.button, +#rightcol .button { + font-size:11px; + text-transform:uppercase; + color:#FFFFFF; + font-weight:bold; + background-color:#000000; + border: 1px solid #666666; +} + +.search { + margin-top:30px; +} + + + +/* +mambo top menu layout +you need to add menu class suffix: -nav +*/ + +/** unordered list top menu **/ +ul#mainlevel-nav +{ + list-style: none; + padding: 0; + margin: 0; + font-size: 0.8em; +} + +/** unordered list item for top menu **/ +ul#mainlevel-nav li +{ + display: block; + padding-left: 0px; + padding-right: 0px; + float: left; + margin: 0; + width: auto !important; + font-size: 11px; + line-height: 23px; + white-space: nowrap; +} + +/** unordered list item link for top menu **/ +ul#mainlevel-nav li a +{ + display: block; + padding-left: 15px; + padding-right: 15px; + text-decoration: none; + color: #FFFFFF; + font-weight:bold; +} + +/** unordered list item link for top menu for firefox only **/ +#topmenu>ul#mainlevel-nav li a { + width: auto; +} + +/** unordered list item for top menu for firefox only **/ +ul#mainlevel-nav li a:hover { + background: #535353; + text-decoration:none; +} + + + /* +specific right column menu item. position:right +you need to add menu class suffix: -right and +module class suffix: -right + */ +.mainlevel-right { + display:block; + height:25px; + line-height:25px; + padding-left:15px; + background:#0C362D url(../images/bg_mainlevel_right.gif) repeat-x center top; + font-weight:bold; +} + + +/** for polls **/ +.poll { + font-size:11px; + line-height: 16px; +} + +table.pollstableborder .sectiontableentry2 { + background-color:transparent; + text-align:left; +} +table.pollstableborder .sectiontableentry1 { + background-color:#092620; + text-align:left; +} + +.moduletable_bgimg table.pollstableborder td.sectiontableentry2, +.moduletable_bgimg table.pollstableborder td.sectiontableentry1 { + background-color:transparent!important; + text-align:left!important; +} + +/** hack to make any div or table inside content will not stretcg outside area*/ +table.contentpane table table input.inputbox { + max-width:80px; + width:80px; +} + +table.contentpane { + width:390px!important; +} + +.contentpaneopen { + width:100%!important; +} + +.contentpaneopen tr.sectiontableentry2 td, +.contentpaneopen tr.sectiontableentry1 td{ + display:block; + width:390px!important; +} + +#con_global div, #con_global table, +#hp_view_standard_photo_con1 div div, +#hp_view_agen_con { + width:390px!important; + text-align:left; +} + +#hp_view_standard_photo_con1 div div, +#hp_view_standard_photo_con2, +#hp_view_standard_photo_con3, +#hp_view_agen_con { + width:390px!important; + text-align:left; +} + +table.contentpane table { + width:390px!important; + text-align:left; +} + +table.contentpane td.contentheading { + width:200px!important; +} + +table.contentpane td.buttonheading { + width:150px!important; +} + +#bottompadding { + position:relative; + width:760px; + display:block; + height:20px; + margin-top:-100px; +} \ No newline at end of file Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_body.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_body.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_inside.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_inside.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_leftcol.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_leftcol.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_leftcol_module_th.gif and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_leftcol_module_th.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_mainlevel.gif and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_mainlevel.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_mainlevel_right.gif and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_mainlevel_right.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_module.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_module.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_module_contenttop.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_module_contenttop.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_pagenav.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_pagenav.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_spacer.gif and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_spacer.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/bg_topright.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/bg_topright.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/img_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/img_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/indent1.png and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/indent1.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/indent2.png and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/indent2.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/indent3.png and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/indent3.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/indent4.png and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/indent4.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/indent5.png and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/indent5.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/indent6.png and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/indent6.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/images/logo.gif and 4.6-complete/uploadfiles/templates/waterandstone800_green/images/logo.gif differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_green/index.php 4.6-complete/uploadfiles/templates/waterandstone800_green/index.php --- 4.6rc2/uploadfiles/templates/waterandstone800_green/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_green/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,132 @@ +'; +?> + + + + +id ) { + initEditor(); +} +?> + + + + + +
            +
            +
            +
            + + + + +
            + +
            + + +
            + header image +
            + +
            + +
            + +
            +
            + +
            + + + = 1 OR mosCountModules('user3') >= 1 ) { + ?> +
            + +
            + +
            + + +
            + +
            + +
            + + + +
            + + + + + +
            + +
            +
            + +
            +
            +
            + +
            + +
            + + +
            + + + +
            + +
            + +
            +
            + = 1) { + ?> + + +
            +
            + + +
            +
            +
            +
            +
            + + + +
            +
            + + + diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_green/templateDetails.xml 4.6-complete/uploadfiles/templates/waterandstone800_green/templateDetails.xml --- 4.6rc2/uploadfiles/templates/waterandstone800_green/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_green/templateDetails.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,40 @@ + + + waterandstone800_green + 07/05/06 + waterandstone + GNU/GPL + info@waterandstone.com + http://www.waterandstone.com + 1.1 + The Water and Stone Green Template optimized for 800px x 600px screen resolution for use with any type of website with easy customization + + index.php + template_thumbnail.png + + + images/bg_body.jpg + images/bg_header.jpg + images/bg_inside.jpg + images/bg_leftcol.jpg + images/bg_leftcol_module_th.gif + images/bg_mainlevel.gif + images/bg_mainlevel_right.gif + images/bg_module.jpg + images/bg_module_contenttop.jpg + images/bg_pagenav.jpg + images/bg_spacer.gif + images/bg_topright.jpg + images/img_header.jpg + images/indent1.png + images/indent2.png + images/indent3.png + images/indent4.png + images/indent5.png + images/indent6.png + images/logo.gif + + + css/template_css.css + + Binary files 4.6rc2/uploadfiles/templates/waterandstone800_green/template_thumbnail.png and 4.6-complete/uploadfiles/templates/waterandstone800_green/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/css/template_css.css 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/css/template_css.css --- 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/css/template_css.css 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,976 @@ +/* --------------------- +basic layout +--------------------- */ + +* { + font-family: Arial, Helvetica, sans-serif; +} + +.waterbody { + background:#E8E8E8 url(../images/bg_body.jpg) repeat left top; + margin:0; + color:#333333; +} + +div, +td, +p { + font-size:12px; + line-height:18px; + color:#333333; +} + +a, +a:link, +a:active, +a:visited { + color:#000000; +} + +a:hover { + color:#96C600; +} + +#leftcol a, +#leftcol a:link, +#leftcol a:active, +#leftcol a:visited { + text-decoration:none !important; + border-bottom: 1px dotted #000000; + color:#000000; +} + +#leftcol a:hover { + text-decoration:none; + color:#000000; + border-bottom: 1px solid #000000; + text-decoration:none !important; +} + +#rightcol a, +#rightcol a:link, +#rightcol a:active, +#rightcol a:visited { + text-decoration:none !important; + border-bottom: 1px dotted #FFFFFF; + color:#FFFFFF; +} + +#rightcol a:hover { + border-bottom: 1px solid #FFFFFF; + color:#FFFFFF; + text-decoration:none !important; +} +ul { + margin: 5px; + padding: 5px; + list-style: none; + list-style-type: square; +} + +li { + line-height: 18px; + padding-left: 5px; + padding-top: 0px; + list-style-position: inside; +} + +/** To center the objects **/ +.center { + text-align:center!important; +} + +/** clear the banner to make it sit in the bottom **/ +.clear { + clear:both; +} + +/* --------------------- +template layout +--------------------- */ + +/** wrapper to make the page center **/ +#container { + width:760px; + margin: 0px auto; + padding:0; + text-align: left; +} + +/** +hold background, it should be float:left +that's way we can not put it in #container +**/ +#containerbg { + width: 760px; + background:transparent url(../images/bg_inside.jpg) repeat-y left top; + float:left; +} + +#outerleft { + position:relative; + float:left; + clear:left; + width:590px; + +} + +#outerright { + position:relative; + width:170px; + float:right; + clear:right; +} + +#logo { + position:relative; + width:100%; + height:74px; + float:left; + background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top; +} + +/** div container for top menu. position:top **/ +#topmenu { + position:relative; + float:left; + clear:left; + background-color:#000000; + width: 100%; +} + +/** div container for image header **/ +#imgheader { + position:relative; + float:left; + clear:left; + width:100%; + height:99px; + background-color: #000000; +} + +#container_inner { + position:relative; + float:left; + clear:left; + width:590px; +} + +/** div container for left column **/ +#leftcol { + position:relative; + float:left; + clear:left; + width:170px; +} + +#leftcolmenu { + position:relative; + overflow:auto; +} + + +/** div wrapper for user2 & user3 **/ +#content_top_wrapper { + position:relative; + float:right; + clear:right; + width:405px; + display:inline; + margin: 4px 6px 0 0; +} + +/** div container for position:user2 **/ +#content_top1 { + position:relative; + float:left; + clear:left; + width:200px; +} + +/** div container for position:user3 **/ +#content_top2 { + position:relative; + float:right; + clear:right; + width:200px; +} + +/** div container for mainbody **/ +#content_main { + position:relative; + float:left; + width:400px; + margin:10px 0 20px 10px; + background-color:#FFFFFF; + overflow:auto; + word-wrap:break-word; +} + +/** div container for right column **/ +#rightcol_top, +#rightcol { + float:left; + clear:left; + width:168px; + margin:0 0 0 1px; + display:inline; + overflow:auto; +} + +/** div container for right column position:header **/ +#rightcol_top { + height:70px; + min-height:70px; +} + +/** div container for banner position:banner **/ +#banner { + position:relative; + clear:left; + float:left; + width:590px; + height:65px; + min-height:65px; + color:#FFFFFF; + font-size:9px; + background-color: #333333; + display:block; + text-align:center!important; + vertical-align:middle; + padding:5px 0 0 0; + margin-top:20px; +} + +#blackline { + position:relative; + clear:left; + float:left; + width:590px; + height:10px; + min-height:10px; + background-color: #000000; + color:#FFFFFF; + font-size:10px; + margin-top:20px; +} + + +/** copyright **/ +#copyright { + position:relative; + width:760px; + display:block; + clear:both; + float:left; +} + +#copyright div { + color:#666666; + font-size:10px; + font-weight:bold; + display:block!important; + width:760px; + float:left; + clear:left; + margin:-5px 0 0 0; + text-align:left; +} + + +/* --------------------- +mambo content layout +--------------------- */ + + +/** pathway block **/ +span.pathway { + display:block; + text-align:left; + color:#000000; + font-size:10px; + font-weight:bold; + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #E5E5E5; + height:20px; + margin-bottom:10px; +} + +/** content title **/ +.componentheading { + font-family:Georgia, "Times New Roman", Times, serif !important; + color:#000000; + font-size: 20px; + line-height:25px; + padding: 5px 0 5px 0; + display:block; +} + +.contentheading, +.contentpagetitle, +a.contentpagetitle:link, +a.contentpagetitle:active, +a.contentpagetitle:visited { + font-family:Georgia, "Times New Roman", Times, serif !important; + font-size:18px; + font-weight: normal; + color:#0C362D; + padding-top: 25px; + background-color:inherit; + display:block; +} + +.contentpaneopen { + width:100%; +} + + +.buttonheading { + width: 16px!important; + text-align:right; +} + + +td.sectiontableheader { + font-weight: bold; +} + +.category, .categorytitle { + font-weight: bold; + color:#000000; + background-color:inherit; +} + +.sectiontableentry1, +table.pollstableborder tr.sectiontableentry1 { + background-color: #F9FFEA; + padding: 2px; + color:#333333; + +} + +.sectiontableentry2, +table.pollstableborder tr.sectiontableentry2 { + background-color: #FFFFFF; + padding: 2px; + color:#333333; +} + +tr.sectiontableentry1 td, +tr.sectiontableentry2 td { + word-wrap:break-word; +} + + +/** blog Styles **/ +.blogsection { + color:#000000; + background-color:inherit; +} + +.blog_more { + font-weight: bold; + line-height: 25px; + padding-top: 20px; + color: #000000; + border-bottom: 1px solid #E5E5E5; + background-color:inherit; +} + +/** small text in content **/ +.small { + color:#336600; + font-size:10px; + font-weight: normal; + background-color:inherit; +} + +/** date info in content **/ +#content_main .createdate { + color:#99CC00; + font-size:10px; + padding: 0 0 15px 0; + line-height:8px; + background-color:inherit; +} + +#content_main .modifydate { + color:#999999; + font-size:10px; + padding: 0; + background-color:inherit; +} + + +/** toc page navigation **/ +.pagenav_prev, +.pagenav_next { + font-size:11px; +} + + +/** content item navigation **/ +.pagenavbar { + display:block; + width:100%; + background-color:inherit; + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999!important; + clear:both; + font-size: 11px!important; + margin-top: 10px; + background-image: url(../images/bg_pagenav.jpg); + background-repeat: repeat-x; + background-position: center bottom; +} + +.pagenav { + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999; + clear:both; + font-size: 11px; + margin-left: 0; + margin-right: 0; + background-color:inherit; +} + +.back_button { + display:block; + text-align:left; + font-weight:bold; + font-size:12px; + width:100%; + margin-bottom:10px; + letter-spacing:2px; +} + + +/** highlight word search result **/ +.highlight { + font-weight:bold; + background-color: #FFFF00; + padding: 2px 0 2px 0; + +} + +/** table of content layout **/ +table.contenttoc { + border:1px solid #000000; + padding:1px; + width:130px; + margin: 0 0 10px 10px; +} + +/** table of content header **/ +.contenttoc th { + color:#FFFFFF; + background-color:#666666; + font-size:11px; + display:block; + width:124px; +} + +/** unordered list for latest news module **/ +ul.latestnews li,ul.mostread li { + line-height: 18px; + font-size:11px; + font-weight:bold; + list-style-type: none; + list-style-position: outside; +} + + +/** fix opera table width for content list in table category**/ +table.contentpane td.contentdescription { + width:100%!important; +} + +/* --------------------- +Links +--------------------- */ + +/** any left column link **/ + +a.pagenav:link , +a.pagenav_next:link, +a.pagenav_pre:link, +div.back_button a, +div.back_button a:link, +a.latestnews:link, +a.latestnews:active, +a.latestnews:visited, +a.mostread:link, +a.mostread:active, +a.mostread:visited { + text-decoration: none !important; + border-bottom: 1px dotted #000000 !important; +} + +a.latestnews:hover, +a.mostread:hover { + color: #000000 !important; + text-decoration: none !important; + border-bottom: 1px solid #000000 !important; +} + +a.pagenav:hover , +a.pagenav_next:hover, +a.pagenav_pre:hover, +div.back_button a:hover { + text-decoration: none !important; + border-bottom: 1px solid #000000 !important; +} + +/*** read more link ***/ +.readon, +a.readon:link, +a.readon:active, +a.readon:visited { + color:#99CC00; + font-weight:bold; + text-align:left; + margin-top:10px; + letter-spacing: 2px; + font-size:10px; + text-decoration:none; +} + +a.readon:hover { + color:#666666; +} + + +/*** blog links ***/ +a.blogsection:link, +a.blogsection:active, +a.blogsection:visited { + color:#000000; + text-decoration:none; +} + +/** generic menu item link **/ +a.mainlevel:link, +a.mainlevel:active, +a.mainlevel:visited, +a.sublevel:link, +a.sublevel:active, +a.sublevel:visited { + color:#000000; + text-decoration:none; + border: none !important; + font-size:11px; + line-height: 27px; +} + +a.sublevel:hover { + color: #E0FF33 !important; +} + +/** generic menu item link on mouseover **/ + +a.mainlevel:hover, +#leftcol a.mainlevel:hover, +#leftcolmenu a.mainlevel:hover { + background:#E0FF33 url(../images/bg_mainlevel.gif) repeat-x center top; + color:#000000!important; + text-decoration:none!important; + border: none !important; +} + +/** specific top right column menu item link **/ +a.mainlevel-right:link, +a.mainlevel-right:active, +a.mainlevel-right:visited, +a.sublevel-right:link, +a.sublevel-right:active, +a.sublevel-right:visited { + color:#000000; + text-decoration:none !important; + font-size:11px; + border: none !important; +} + +/** specific top right column menu item link on mouseover **/ +a.mainlevel-right:hover { + background:#666666; + text-decoration:none; + border: none !important; +} + +/** pathway link item **/ +a.pathway:link, +a.pathway:link, +a.pathway:active, +a.pathway:visited { + color:#999999; + text-decoration:none; + border: none; +} + + +/** table of content list **/ +a.toclink:link, +a.toclink:active, +a.toclink:visited { + color:#000000; + font-size:11px; + padding:2px 10px 2px 10px; + display:block; + text-decoration:none; +} + +.pagenavbar a:link, +.pagenavbar a:active, +.pagenavbar a:visited { + letter-spacing:2px; + color:#000000; + font-size: 11px; + text-decoration: none; +} + +.pagenavbar a:hover { + color:#000000; +} + + +/** latestnews and popular **/ +.latestnews, +.mostread { + color:#000000; +} + +a.latestnews:hover, +.mostread a:hover, +.latestnews a:hover, +.mostread a:active, +.latestnews a:hover, +.mostread a:hover,{ + border-bottom: 1px solid #000000; +} + + +/* --------------------- +mambo module layout +--------------------- */ + +/** general module table **/ +table.moduletable, +#leftcol table, +#rightcol table { + width:100%; + float:left; + clear:left; +} + +/** general module table **/ +#leftcol table, +#leftcol table td { + font-size:11px !important; + color:#000000; +} + +#rightcol table, +#rightcol table td { + font-size:11px !important; + color:#FFFFFF; +} + +/** general module title **/ +table.moduletable th { + border: solid 1px #000000; + color:#000000; + font-family: Georgia, "Times New Roman", Times, serif; + font-size:13px; + line-height:25px; + background: #B5B5B5 url(../images/bg_leftcol_module_th.gif) repeat-y left top; + height:22px; + text-align:left; + padding-left:15px; + font-weight:normal; + text-transform: uppercase; + letter-spacing: 1px; +} + +#leftcol table.moduletable th { + background-color: #B8F400; + color: #000000; + border: none; + border-top: solid 1px #000000; + border-bottom: solid 1px #000000; +} + +#rightcol table.moduletable th { + background-color:#B5B5B5; + border: solid 1px #000000; +} +/** specific module td table for content top 1 and 2. +position:user2 an user3 **/ +#content_top1 table.moduletable td, +#content_top2 table.moduletable td { + background-color:#EFEFEF; + height:100px; + min-height:100px; + vertical-align:top; +} + +/** right column module td **/ +#rightcol table.moduletable td { + padding:5px; +} + +/** generic menu item **/ + +.mainlevel { + display:block; + font: bold 11px/25px Arial, Helvetica, sans-serif !important; + color: #000000 !important; + padding-left:15px; + background:transparent url(../images/bg_mainlevel.gif) repeat-x center top; + font-weight:bold; + text-decoration:none; +} + +/** specific left column form **/ +#leftcol form { + margin-left:15px; +} + +/** specific left column form **/ +#leftcol .button { + font-size:11px; + color:#FFFFFF; + background-color:#A8DF00; + border: 1px solid #CCFF00; + width:140px; +} + + +/** specific left column form **/ +#leftcol .inputbox { + font-size:11px; + font-weight: bold; +} + +/** module styles in #leftcol **/ +#leftcol table.moduletable td { + color:#000000; + font-size:11px; +} + +/** search div in top right column. position:user4 **/ +div.search { + margin-left:10px; +} + +/** search field in search div **/ +.search .inputbox { + width:145px; + border: 1px solid #000000; +} + +/* --------------------- +mambo form layout +--------------------- */ + +/** left column input form **/ +#leftcol .inputbox { + font-size:11px; + margin-bottom:2px; +} + + + +/** input button html tag **/ +.button, +#rightcol .button { + font-size:11px; + text-transform:uppercase; + color:#FFFFFF; + font-weight:bold; + background-color:#000000; + border: 1px solid #666666; +} + +.search { + margin-top:30px; +} + + +/* +mambo top menu layout +you need to add menu class suffix: -nav +*/ + +/** unordered list top menu **/ +ul#mainlevel-nav +{ + list-style: none; + padding: 0; + margin: 0; + font-size: 0.8em; +} + +/** unordered list item for top menu **/ +ul#mainlevel-nav li +{ + display: block; + padding-left: 0px; + padding-right: 0px; + float: left; + margin: 0; + width: auto !important; + font-size: 11px; + line-height: 23px; + white-space: nowrap; +} + +/** unordered list item link for top menu **/ +ul#mainlevel-nav li a +{ + display: block; + padding-left: 15px; + padding-right: 15px; + text-decoration: none; + color: #FFFFFF; + font-weight:bold; +} + +/** unordered list item link for top menu for firefox only **/ +#topmenu>ul#mainlevel-nav li a { + width: auto; +} + +/** unordered list item for top menu for firefox only **/ +ul#mainlevel-nav li a:hover { + background: #535353; + text-decoration:none; +} + + + /* +specific right column menu item. position:right +you need to add menu class suffix: -right and +module class suffix: -right + */ +.mainlevel-right { + display:block; + height:25px; + line-height:25px; + padding-left:15px; + color: #FFFFFF; + background:#333333 url(../images/bg_mainlevel_right.gif) repeat-x center top; + font-weight:bold; +} + +/** +moduletable specific with background image +you need to add modules class suffix: -bgimg + **/ +table.moduletable-bgimg { + background:transparent url(../images/bg_module.jpg) no-repeat center bottom; + float:left; + clear:left; + width:100%; +} + +table.moduletable-bgimg td { + padding: 5px ; + font-size:11px; +} + +table.moduletable-bgimg td td { + padding: 0!important; +} + +/** for polls **/ +.poll { + font-size:11px; + line-height: 16px; +} + +table.pollstableborder .sectiontableentry2 { + background-color:transparent; + text-align:left; +} +table.pollstableborder .sectiontableentry1 { + background-color:#333333; + text-align:left; +} + +.moduletable_bgimg table.pollstableborder td.sectiontableentry2, +.moduletable_bgimg table.pollstableborder td.sectiontableentry1 { + background-color:transparent!important; + text-align:left!important; +} + + +#bottompadding { + position:relative; + width:900px; + display:block; + height:0px; + margin-top:-100px; +} + +/** hack to make any div or table inside content will not stretcg outside area*/ +table.contentpane table table input.inputbox { + max-width:80px; + width:80px; +} + +table.contentpane { + width:390px!important; +} + +.contentpaneopen { + width:100%!important; +} + +.contentpaneopen tr.sectiontableentry2 td, +.contentpaneopen tr.sectiontableentry1 td{ + display:block; + width:390px!important; +} + +#con_global div, #con_global table, +#hp_view_standard_photo_con1 div div, +#hp_view_agen_con { + width:390px!important; + text-align:left; +} + +#hp_view_standard_photo_con1 div div, +#hp_view_standard_photo_con2, +#hp_view_standard_photo_con3, +#hp_view_agen_con { + width:390px!important; + text-align:left; +} + +table.contentpane table { + width:390px!important; + text-align:left; +} + +table.contentpane td.contentheading { + width:200px!important; +} + +table.contentpane td.buttonheading { + width:150px!important; +} + +#bottompadding { + position:relative; + width:760px; + display:block; + height:20px; + margin-top:-100px; +} \ No newline at end of file Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_body.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_body.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_inside.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_inside.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_leftcol.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_leftcol.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_leftcol_module_th.gif and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_leftcol_module_th.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_mainlevel.gif and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_mainlevel.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_mainlevel_right.gif and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_mainlevel_right.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_module.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_module.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_module_contenttop.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_module_contenttop.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_pagenav.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_pagenav.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_spacer.gif and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_spacer.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/bg_topright.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/bg_topright.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/img_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/img_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/indent1.png and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/indent1.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/indent2.png and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/indent2.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/indent3.png and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/indent3.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/indent4.png and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/indent4.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/indent5.png and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/indent5.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/indent6.png and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/indent6.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/images/logo.gif and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/images/logo.gif differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/index.php 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/index.php --- 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,132 @@ +'; +?> + + + + +id ) { + initEditor(); +} +?> + + + + + +
            +
            +
            +
            + + + + +
            + +
            + + +
            + header image +
            + +
            + +
            + +
            +
            + +
            + + + = 1 OR mosCountModules('user3') >= 1 ) { + ?> +
            + +
            + +
            + + +
            + +
            + +
            + + + +
            + + + + + +
            + +
            +
            + +
            +
            +
            + +
            + +
            + + +
            + + + +
            + +
            + +
            +
            + = 1) { + ?> + + +
            +
            + + +
            +
            +
            +
            +
            + + + +
            +
            + + + diff -ruN 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/templateDetails.xml 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/templateDetails.xml --- 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/templateDetails.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,40 @@ + + + waterandstone800_greenandblack + 21/05/06 + waterandstone + GNU/GPL + info@waterandstone.com + http://www.waterandstone.com + 1.1 + The Water and Stone Green and Black Template optimized for 800px x 600px screen resolution for use with any type of website with easy customization + + index.php + template_thumbnail.png + + + images/bg_body.jpg + images/bg_header.jpg + images/bg_inside.jpg + images/bg_leftcol.jpg + images/bg_leftcol_module_th.gif + images/bg_mainlevel.gif + images/bg_mainlevel_right.gif + images/bg_module.jpg + images/bg_module_contenttop.jpg + images/bg_pagenav.jpg + images/bg_spacer.gif + images/bg_topright.jpg + images/img_header.jpg + images/indent1.png + images/indent2.png + images/indent3.png + images/indent4.png + images/indent5.png + images/indent6.png + images/logo.gif + + + css/template_css.css + + Binary files 4.6rc2/uploadfiles/templates/waterandstone800_greenandblack/template_thumbnail.png and 4.6-complete/uploadfiles/templates/waterandstone800_greenandblack/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_blue/css/template_css.css 4.6-complete/uploadfiles/templates/waterandstone_blue/css/template_css.css --- 4.6rc2/uploadfiles/templates/waterandstone_blue/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_blue/css/template_css.css 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,879 @@ +* { + font-family: Arial, Helvetica, sans-serif; +} + +.waterbody { + background:#F8F7F2 url(../images/bg_body.jpg) repeat-x left top; + margin:0; + color:#333333; +} + +div, +td, +p { + font-size:12px; + line-height:18px; + color:#333333; +} + +a, +a:link, +a:active, +a:visited { + text-decoration:underline; + color:#000000; +} + +a:hover { + text-decoration:underline; +} + +ul { + margin: 5px; + padding: 5px; + list-style: none; + list-style-type: square; +} + +li { + line-height: 18px; + padding-left: 5px; + padding-top: 0px; + list-style-position: inside; +} + +/** To center the objects **/ +.center { + text-align:center!important; +} + +/* --------------------- +template layout +--------------------- */ + +/** wrapper to make the page center **/ +#container { + width:900px; + margin: 55px auto; + padding:0; + text-align: left; +} + +/** +hold background, it should be float:left +that's way we can not put it in #container +**/ +#containerbg { + position:relative; + width: 900px; + background:transparent url(../images/bg_inside.jpg) repeat-y left top; + float:left; + top:0; + left:0; +} + +#outerleft { + position:relative; + float:left; + clear:left; + width:730px; + +} + +#outerright { + position:relative; + width:170px; + float:right; + clear:right; +} + +#logo { + position:relative; + width:100%; + height:74px; + float:left; + background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top; +} + +/** div container for top menu. position:top **/ +#topmenu { + position:relative; + float:left; + clear:left; + background-color:#000000; + width: 100%; +} + +/** div container for image header **/ +#imgheader { + position:relative; + float:left; + clear:left; + width:100%; + height:99px; + background-color: #000000; +} + +#container_inner { + position:relative; + float:left; + clear:left; + width:730px; +} + +/** div container for left column **/ +#leftcol { + position:relative; + float:left; + clear:left; + width:172px; +} + +#leftcolmenu { + position:relative; + overflow:auto; +} + + +/** div wrapper for user2 & user3 **/ +#content_top_wrapper { + position:relative; + float:right; + clear:right; + width:542px; + display:inline; + margin: 4px 8px 0 0; +} + +/** div container for position:user2 **/ +#content_top1 { + position:relative; + float:left; + clear:left; + width:269px; +} + +/** div container for position:user3 **/ +#content_top2 { + position:relative; + float:right; + clear:right; + width:269px; +} + +/** div container for mainbody **/ +#content_main { + position:relative; + float:left; + width:520px; + margin:15px 0 20px 20px; + background-color:#FFFFFF; +} + +/** div container for right column **/ +#rightcol_top, +#rightcol { + float:left; + clear:left; + width:168px; + margin:0 0 0 1px; + display:inline; + overflow:auto; +} + +/** div container for right column position:header **/ +#rightcol_top { + height:70px; + min-height:70px; + background:transparent url(../images/bg_topright.jpg) no-repeat center top; +} + +/** div container for banner position:banner **/ +#banner { + position:relative; + clear:left; + float:left; + width:515px; + height:65px; + min-height:65px; + color:#FFFFFF; + font-size:10px; + padding: 20px 0 0 215px; +} + +#blackline { + position:relative; + clear:left; + float:left; + width:730px;; + height:10px; + min-height:10px; + background-color: #000000; + color:#FFFFFF; + font-size:10px; +} + +/** copyright **/ + +#copyright { + position:relative; + width:900px; + display:block; + clear:both; + float:left; +} + +#copyright div { + color:#666666; + font-size:10px; + font-weight:bold; + display:block!important; + width:900px; + float:left; + clear:left; + margin:-10px 0 0 0; + text-align:left; +} + + + +/* --------------------- +mambo content layout +--------------------- */ + +/** pathway block **/ +span.pathway { + display:block; + text-align:left; + color:#000000; + font-size:10px; + font-weight:bold; + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #E5E5E5; + height:20px; + margin-bottom:10px; +} + +/** content title **/ +.componentheading { + font-family:Georgia, "Times New Roman", Times, serif; + color:#000000; + font-size: 20px; + line-height:25px; + padding: 5px 0 5px 0; + display:block; +} + +.contentheading, +.contentpagetitle, +a.contentpagetitle:link, +a.contentpagetitle:active, +a.contentpagetitle:visited { + font-family: Arial, Helvetica, sans-serif; + font-size:16px; + color:#3973AC; + font-weight: bold; + padding-top: 25px; + background-color:inherit; + display:block; +} + +.contentpaneopen { + width:100%; +} + + +.buttonheading { + width: 16px!important; + text-align:right; +} + + +td.sectiontableheader { + font-weight: bold; +} + +.category, .categorytitle { + font-weight: bold; + color:#3973AC; + background-color:inherit; +} + +.sectiontableentry1, +table.pollstableborder tr.sectiontableentry1 { + background-color: #FBFBF4; + padding: 2px; + color:#333333; + +} + +.sectiontableentry2, +table.pollstableborder tr.sectiontableentry2 { + background-color: #FFFFFF; + padding: 2px; + color:#333333; +} + +tr.sectiontableentry1 td, +tr.sectiontableentry2 td { + word-wrap:break-word; +} + +/** blog Styles **/ +.blogsection { + color:#3973AC; + background-color:inherit; +} + +.blog_more { + font-weight: bold; + line-height: 25px; + padding-top: 20px; + color: #3973AC; + border-bottom: 1px solid #E5E5E5; + background-color:inherit; +} + +/** small text in content **/ +.small { + color:#999999; + font-size:10px; + font-weight: bold; + background-color:inherit; +} + +/** date info in content **/ +#content_main .createdate { + color:#4A87C4; + font-size:10px; + padding: 0 0 15px 0; + line-height:8px; + background-color:inherit; +} + +#content_main .modifydate { + color:#999999; + font-size:10px; + padding: 0; + background-color:inherit; +} + + +/** content item navigation **/ +.pagenavbar { + display:block; + width:100%; + background-color:inherit; + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999!important; + clear:both; + font-size: 11px!important; + margin-top: 10px; + background-image: url(../images/bg_pagenav.jpg); + background-repeat: repeat-x; + background-position: center bottom; +} + +.pagenav { + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999; + clear:both; + font-size: 11px; + margin-left: 0; + margin-right: 0; + background-color:inherit; +} + +.back_button { + display:block; + text-align:left; + font-weight:bold; + font-size:12px; + width:100%; + margin-bottom:10px; + letter-spacing:2px; +} + +/** highlight word search result **/ +.highlight { + font-weight:bold; + background-color: #FFFF00; + padding: 2px 0 2px 0; + +} + +/** table of content layout **/ +table.contenttoc { + border:1px solid #000000; + padding:1px; + width:130px; + margin: 0 0 10px 10px; +} + +/** table of content header **/ +.contenttoc th { + color:#FFFFFF; + background-color:#666666; + font-size:11px; + display:block; + width:124px; +} + +/** unordered list for latest news module **/ +ul.latestnews li,ul.mostread li { + line-height: 18px; + font-size:11px; + font-weight:bold; + list-style-type: none; + list-style-position: outside; +} + + +/** fix opera table width for content list in table category**/ +table.contentpane td.contentdescription { + width:100%!important; +} + + +/* --------------------- +Links +--------------------- */ + +/** any left column link **/ +#leftcol a:link, +#leftcol a:active, +#leftcol a:visited, +#leftcolmenu a:link, +#leftcolmenu a:active, +#leftcolmenu a:visited + { + color:#FFFFFF; +} + +a.pagenav:link , +a.pagenav_next:link, +a.pagenav_pre:link, +div.back_button a, +div.back_button a:link, +a.latestnews:link, +a.latestnews:active, +a.latestnews:visited, +a.mostread:link, +a.mostread:active, +a.mostread:visited { + text-decoration:none; +} + +/*** read more link ***/ +.readon, +a.readon:link, +a.readon:active, +a.readon:visited { + color:#666666; + font-weight:bold; + text-align:left; + margin-top:10px; + letter-spacing: 2px; + font-size:10px; + text-decoration:none; +} + +/*** blog links ***/ +a.blogsection:link, +a.blogsection:active, +a.blogsection:visited { + color:#3973AC; + text-decoration:none; +} + +/** generic menu item link **/ +a.mainlevel:link, +a.mainlevel:active, +a.mainlevel:visited, +a.sublevel:link, +a.sublevel:active, +a.sublevel:visited { + color:#FFFFFF; + text-decoration:none; + font-size:11px; + line-height: 27px; +} + +/** generic menu item link on mouseover **/ +a.mainlevel:hover, +#leftcol a.mainlevel:hover, +#leftcolmenu a.mainlevel:hover { + background-color:#326A99; + color:#FFFFFF!important; + text-decoration:none!important; +} + + + /* +specific right column menu item. position:right +you need to add menu class suffix: -right and +module class suffix: -right + */ +.mainlevel-right { + display:block; + height:25px; + line-height:25px; + padding-left:15px; + background:#E9E8D3 url(../images/bg_mainlevel_right.gif) repeat-x center top; + font-weight:bold; +} + +a.mainlevel-right:link, +a.mainlevel-right:active, +a.mainlevel-right:visited, +a.sublevel-right:link, +a.sublevel-right:active, +a.sublevel-right:visited { + color:#000000; + text-decoration:none; + font-size:11px; + background-color:#E9E8D3; +} + +/** specific top right column menu item link on mouseover **/ +a.mainlevel-right:hover { + background-color:#DFDDC6; + text-decoration:none; +} + + +/** pathway link item **/ +a.pathway:link, +a.pathway:link, +a.pathway:active, +a.pathway:visited { + color:#999999; + text-decoration:none; +} + + +/** table of content list **/ +a.toclink:link, +a.toclink:active, +a.toclink:visited { + color:#3973AC; + font-size:11px; + padding:2px 10px 2px 10px; + display:block; + text-decoration:none; +} + +.pagenavbar a:link, +.pagenavbar a:active, +.pagenavbar a:visited { + letter-spacing:2px; + color:#000000; + font-size: 11px; + text-decoration: none; +} + +.pagenavbar a:hover { + color:#3973AC; +} + +/** latestnews and popular **/ +.latestnews, +.mostread { + color:#000000; +} + +a.latestnews:link, +.mostread a:link, +.latestnews a:active, +.mostread a:active, +.latestnews a:hover, +.mostread a:hover, +.latestnews a:visited, +.mostread a:visited { + color:#000000; + text-decoration:underline; +} + +/** underline on hover **/ +a.toclink:hover, +a.latestnews:hover, +a.mostread:hover, +a.pathway:hover, +a.sublevel:hover, +a.sublevel-right:hover, +a.blogsection:hover, +a.readon:hover, +a.pagenav:hover , +a.pagenav_next:hover, +a.pagenav_pre:hover, +a.latestnews:hover { + text-decoration:underline; + color:#3973AC; + background-color:inherit; +} + +#leftcol a:hover { + color: #93B7DB; + text-decoration:underline; +} + + +/* --------------------- +mambo module layout +--------------------- */ + +/** general module table **/ +table.moduletable, +#leftcol table, +#rightcol table { + width:100%; + float:left; + clear:left; +} + +/** general module table **/ +#leftcol table, +#leftcol table td { + font-size:11px !important; + color:#FFFFFF !important; +} + +#rightcol table, +#rightcol table td { + font-size:11px !important; + color:#030303; +} + +/** general module title **/ +table.moduletable th { + border-bottom: 1px solid #000000; + color:#000000; + font-family: Georgia, "Times New Roman", Times, serif; + font-size:13px; + line-height:25px; + background: #E3E2C6 url(../images/bg_leftcol_module_th.gif) repeat-y left top; + height:22px; + text-align:left; + padding-left:15px; + font-weight:normal; + text-transform: uppercase; + letter-spacing: 1px; +} + +#leftcol table.moduletable th { + background: #ACCCE6 url(../images/bg_leftcol_module_th.gif) repeat-y left top; +} + +#rightcol table.moduletable th { + background-color:#B3AE88; +} + + +/** specific module td table for content top 1 and 2. +position:user2 an user3 **/ +#content_top1 table.moduletable td, +#content_top2 table.moduletable td { + background-color:#F7F7EE; + height:100px; + min-height:100px; + vertical-align:top; +} + +/** right column module td **/ +#rightcol table.moduletable td { + padding:5px; +} + +/** generic menu item **/ + +.mainlevel { + display:block; + font: bold 11px/25px Arial, Helvetica, sans-serif !important; + padding-left:15px; + background:transparent url(../images/bg_mainlevel.gif) repeat-x center top; + font-weight:bold; + text-decoration:none; +} + +/** specific left column form **/ +#leftcol form { + margin-left:15px; +} + +/** specific left column form **/ +#leftcol .button { + font-size:11px; + color:#FFFFFF; + background-color:#5F9BCD; + border-right: 1px solid #49779D; + border-bottom: 1px solid #49779D; + border-left: 1px solid #7CADD6; + border-top: 1px solid #7CADD6; + width:140px; +} + + +/** specific left column form **/ +#leftcol .inputbox { + font-size:11px; + font-weight: bold; +} + +/** module styles in #leftcol **/ +#leftcol table.moduletable td { + color:#DADADA; + font-size:11px; +} + +/** search div in top right column. position:user4 **/ +div.search { + margin-left:10px; +} + +/** search field in search div **/ +.search .inputbox { + width:145px; + border: 1px solid #000000; +} + +/* --------------------- +mambo form layout +--------------------- */ + +/** left column input form **/ +#leftcol .inputbox { + font-size:11px; + /*border: 1px solid #000000;*/ + margin-bottom:2px; +} + + + +/** input button html tag **/ +.button, +#rightcol .button { + font-size:11px; + text-transform:uppercase; + color:#726C49; + font-weight:bold; + background-color:#F7F7EE; + border-top: 1px solid #D0CDB6; + border-right: 1px solid #5E5B47; + border-bottom: 1px solid #5E5B47; + border-left: 1px solid #D0CDB6; +} + +.search { + margin-top:30px; +} + + + + +/* +mambo top menu layout +you need to add menu class suffix: -nav +*/ + +/** unordered list top menu **/ +ul#mainlevel-nav +{ + list-style: none; + padding: 0; + margin: 0; + font-size: 0.8em; +} + +/** unordered list item for top menu **/ +ul#mainlevel-nav li +{ + display: block; + padding-left: 0px; + padding-right: 0px; + float: left; + margin: 0; + width: auto !important; + font-size: 11px; + line-height: 23px; + white-space: nowrap; +} + +/** unordered list item link for top menu **/ +ul#mainlevel-nav li a +{ + display: block; + padding-left: 15px; + padding-right: 15px; + text-decoration: none; + color: #FFFFFF; + font-weight:bold; +} + +/** unordered list item link for top menu for firefox only **/ +#topmenu>ul#mainlevel-nav li a { + width: auto; +} + +/** unordered list item for top menu for firefox only **/ +ul#mainlevel-nav li a:hover { + background: #535353; + text-decoration:none; +} + + +/** +moduletable specific with background image +you need to add modules class suffix: -bgimg + **/ +table.moduletable-bgimg { + background:transparent url(../images/bg_module.jpg) no-repeat center bottom; + float:left; + clear:left; + width:100%; +} + +table.moduletable-bgimg td { + padding: 5px ; + font-size:11px; +} + +table.moduletable-bgimg td td { + padding: 0!important; +} + +/** for polls **/ +.poll { + font-size:11px; + line-height: 16px; +} + +table.pollstableborder .sectiontableentry2 { + background-color:transparent; + text-align:left; +} +table.pollstableborder .sectiontableentry1 { + background-color:#E3E2C6; + text-align:left; +} + +.moduletable_bgimg table.pollstableborder td.sectiontableentry2, +.moduletable_bgimg table.pollstableborder td.sectiontableentry1 { + background-color:transparent!important; + text-align:left!important; +} + + +#bottompadding { + position:relative; + width:900px; + display:block; + height:0px; + margin-top:-100px; +} \ No newline at end of file Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_body.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_body.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_inside.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_inside.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_leftcol.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_leftcol.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_leftcol_module_th.gif and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_leftcol_module_th.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_mainlevel.gif and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_mainlevel.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_mainlevel_right.gif and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_mainlevel_right.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_module.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_module.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_module_contenttop.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_module_contenttop.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_pagenav.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_pagenav.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_spacer.gif and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_spacer.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/bg_topright.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/bg_topright.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/img_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/img_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/indent1.png and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/indent1.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/indent2.png and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/indent2.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/indent3.png and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/indent3.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/indent4.png and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/indent4.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/indent5.png and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/indent5.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/indent6.png and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/indent6.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/images/logo.gif and 4.6-complete/uploadfiles/templates/waterandstone_blue/images/logo.gif differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_blue/index.php 4.6-complete/uploadfiles/templates/waterandstone_blue/index.php --- 4.6rc2/uploadfiles/templates/waterandstone_blue/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_blue/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,129 @@ +'; +?> + + + + +id ) { + initEditor(); +} +?> + + + + + +
            +
            +
            +
            + + + + +
            + +
            + + +
            + header image +
            + +
            + +
            + +
            +
            + +
            + + + = 1 OR mosCountModules('user3') >= 1 ) { + ?> +
            + +
            + +
            + + +
            + +
            + +
            + + + +
            + + + + + +
            + +
            +
            + +
            +
            +
            + +
            + +
            + + +
            + + + +
            + +
            + +
            +
            + = 1) { + ?> + + + + + +
            +
            +
            +
            +
            +
            + + + +
            +
            + + + + diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_blue/templateDetails.xml 4.6-complete/uploadfiles/templates/waterandstone_blue/templateDetails.xml --- 4.6rc2/uploadfiles/templates/waterandstone_blue/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_blue/templateDetails.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,40 @@ + + + waterandstone_blue + 07/05/06 + waterandstone + GNU/GPL + info@waterandstone.com + http://www.waterandstone.com + 1.1 + The Water and Stone Blue Template optimized for 1024px x 768px screen resolution for use with any type of website with easy customization + + index.php + template_thumbnail.png + + + images/bg_body.jpg + images/bg_header.jpg + images/bg_inside.jpg + images/bg_leftcol.jpg + images/bg_leftcol_module_th.gif + images/bg_mainlevel.gif + images/bg_mainlevel_right.gif + images/bg_module.jpg + images/bg_module_contenttop.jpg + images/bg_pagenav.jpg + images/bg_spacer.gif + images/bg_topright.jpg + images/img_header.jpg + images/indent1.png + images/indent2.png + images/indent3.png + images/indent4.png + images/indent5.png + images/indent6.png + images/logo.gif + + + css/template_css.css + + Binary files 4.6rc2/uploadfiles/templates/waterandstone_blue/template_thumbnail.png and 4.6-complete/uploadfiles/templates/waterandstone_blue/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_green/css/template_css.css 4.6-complete/uploadfiles/templates/waterandstone_green/css/template_css.css --- 4.6rc2/uploadfiles/templates/waterandstone_green/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_green/css/template_css.css 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,882 @@ +* { + font-family: Arial, Helvetica, sans-serif; +} + +.waterbody { + background:#FFFFFF url(../images/bg_body.jpg) repeat-x left top; + margin:0; + color:#333333; +} + +div, +td, +p { + font-size:12px; + line-height:18px; + color:#333333; +} + +a, +a:link, +a:active, +a:visited { + text-decoration:underline; + color:#000000; +} + +a:hover { + text-decoration:underline; +} + +ul { + margin: 5px; + padding: 5px; + list-style: none; + list-style-type: square; +} + +li { + line-height: 18px; + padding-left: 5px; + padding-top: 0px; + list-style-position: inside; +} + +/** To center the objects **/ +.center { + text-align:center!important; +} + +/* --------------------- +template layout +--------------------- */ + +/** wrapper to make the page center **/ +#container { + width:900px; + margin: 0px auto; + padding:0; + text-align: left; +} + +/** +hold background, it should be float:left +that's way we can not put it in #container +**/ +#containerbg { + position:relative; + width: 900px; + background:transparent url(../images/bg_inside.jpg) repeat-y left top; + float:left; + top:0; + left:0; +} + +#outerleft { + position:relative; + float:left; + clear:left; + width:730px; + +} + +#outerright { + position:relative; + width:170px; + float:right; + clear:right; +} + +#logo { + position:relative; + width:100%; + height:74px; + float:left; + background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top; +} + +/** div container for top menu. position:top **/ +#topmenu { + position:relative; + float:left; + clear:left; + background-color:#000000; + width: 100%; +} + +/** div container for image header **/ +#imgheader { + position:relative; + float:left; + clear:left; + width:100%; + height:99px; + background-color: #000000; +} + +#container_inner { + position:relative; + float:left; + clear:left; + width:730px; +} + +/** div container for left column **/ +#leftcol { + position:relative; + float:left; + clear:left; + width:172px; +} + +#leftcolmenu { + position:relative; + overflow:auto; +} + + +/** div wrapper for user2 & user3 **/ +#content_top_wrapper { + position:relative; + float:right; + clear:right; + width:542px; + display:inline; + margin: 4px 8px 0 0; +} + +/** div container for position:user2 **/ +#content_top1 { + position:relative; + float:left; + clear:left; + width:269px; +} + +/** div container for position:user3 **/ +#content_top2 { + position:relative; + float:right; + clear:right; + width:269px; +} + +/** div container for mainbody **/ +#content_main { + position:relative; + float:left; + width:520px; + margin:15px 0 20px 20px; + background-color:#FFFFFF; +} + +/** div container for right column **/ +#rightcol_top, +#rightcol { + float:left; + clear:left; + width:168px; + margin:0 0 0 1px; + display:inline; + overflow:auto; +} + +/** div container for right column position:header **/ +#rightcol_top { + height:70px; + min-height:70px; +} + +/** div container for banner position:banner **/ +#banner { + position:relative; + clear:left; + float:left; + width:515px; + height:65px; + min-height:65px; + color:#FFFFFF; + font-size:10px; + padding: 20px 0 0 215px; +} + +#blackline { + position:relative; + clear:left; + float:left; + width:730px;; + height:10px; + min-height:10px; + background-color: #000000; + color:#FFFFFF; + font-size:10px; +} + +/** copyright **/ + +#copyright { + position:relative; + width:900px; + display:block; + clear:both; + float:left; +} + +#copyright div { + color:#666666; + font-size:10px; + font-weight:bold; + display:block!important; + width:900px; + float:left; + clear:left; + margin:-10px 0 0 0; + text-align:left; +} + + + +/* --------------------- +mambo content layout +--------------------- */ + +/** pathway block **/ +span.pathway { + display:block; + text-align:left; + color:#000000; + font-size:10px; + font-weight:bold; + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #E5E5E5; + height:20px; + margin-bottom:10px; +} + +/** content title **/ +.componentheading { + font-family:Georgia, "Times New Roman", Times, serif !important; + color:#000000; + font-size: 20px; + line-height:25px; + padding: 5px 0 5px 0; + display:block; +} + +.contentheading, +.contentpagetitle, +a.contentpagetitle:link, +a.contentpagetitle:active, +a.contentpagetitle:visited { + font-family:Georgia, "Times New Roman", Times, serif !important; + font-size:18px; + color:#0C362D; + padding-top: 25px; + background-color:inherit; + display:block; +} + +.contentpaneopen { + width:100%; +} + + +.buttonheading { + width: 16px!important; + text-align:right; +} + + +td.sectiontableheader { + font-weight: bold; +} + +.category, .categorytitle { + font-weight: bold; + color:#0C362D; + background-color:inherit; +} + +.sectiontableentry1, +table.pollstableborder tr.sectiontableentry1 { + background-color: #FBFBF4; + padding: 2px; + color:#333333; + +} + +.sectiontableentry2, +table.pollstableborder tr.sectiontableentry2 { + background-color: #FFFFFF; + padding: 2px; + color:#333333; +} + +tr.sectiontableentry1 td, +tr.sectiontableentry2 td { + word-wrap:break-word; +} + +/** blog Styles **/ +.blogsection { + color:#0C362D; + background-color:inherit; +} + +.blog_more { + font-weight: bold; + line-height: 25px; + padding-top: 20px; + color: #0C362D; + border-bottom: 1px solid #E5E5E5; + background-color:inherit; +} + +/** small text in content **/ +.small { + color:#8B721D; + font-size:10px; + font-weight: normal; + background-color:inherit; +} + +/** date info in content **/ +#content_main .createdate { + color:#6EB28A; + font-size:10px; + padding: 0 0 15px 0; + line-height:8px; + background-color:inherit; +} + +#content_main .modifydate { + color:#8B721D; + font-size:10px; + padding: 0; + background-color:inherit; +} + + +/** content item navigation **/ +.pagenavbar { + display:block; + width:100%; + background-color:inherit; + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999!important; + clear:both; + font-size: 11px!important; + margin-top: 10px; + background-image: url(../images/bg_pagenav.jpg); + background-repeat: repeat-x; + background-position: center bottom; +} + +.pagenav { + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999; + clear:both; + font-size: 11px; + margin-left: 0; + margin-right: 0; + background-color:inherit; +} + +.back_button { + display:block; + text-align:left; + font-weight:bold; + font-size:12px; + width:100%; + margin-bottom:10px; + letter-spacing:2px; +} + +/** highlight word search result **/ +.highlight { + font-weight:bold; + background-color: #FFFF00; + padding: 2px 0 2px 0; + +} + +/** table of content layout **/ +table.contenttoc { + border:1px solid #000000; + padding:1px; + width:130px; + margin: 0 0 10px 10px; +} + +/** table of content header **/ +.contenttoc th { + color:#FFFFFF; + background-color:#666666; + font-size:11px; + display:block; + width:124px; +} + +/** unordered list for latest news module **/ +ul.latestnews li,ul.mostread li { + line-height: 18px; + font-size:11px; + font-weight:bold; + list-style-type: none; + list-style-position: outside; +} + + +/** fix opera table width for content list in table category**/ +table.contentpane td.contentdescription { + width:100%!important; +} + + +/* --------------------- +Links +--------------------- */ + +/** any left column link **/ +#leftcol a:link, +#leftcol a:active, +#leftcol a:visited, +#leftcolmenu a:link, +#leftcolmenu a:active, +#leftcolmenu a:visited, +#rightcol a:link, +#rightcol a:active, +#rightcol a:visited, +#rightcolmenu a:link, +#rightcolmenu a:active, +#rightcolmenu a:visited + { + color:#FFFFFF; +} + +a.pagenav:link , +a.pagenav_next:link, +a.pagenav_pre:link, +div.back_button a, +div.back_button a:link, +a.latestnews:link, +a.latestnews:active, +a.latestnews:visited, +a.mostread:link, +a.mostread:active, +a.mostread:visited { + text-decoration:none; +} + +/*** read more link ***/ +.readon, +a.readon:link, +a.readon:active, +a.readon:visited { + color:#666666; + font-weight:bold; + text-align:left; + margin-top:10px; + letter-spacing: 2px; + font-size:10px; + text-decoration:none; +} + +/*** blog links ***/ +a.blogsection:link, +a.blogsection:active, +a.blogsection:visited { + color:#0C362D; + text-decoration:none; +} + +/** generic menu item link **/ +a.mainlevel:link, +a.mainlevel:active, +a.mainlevel:visited, +a.sublevel:link, +a.sublevel:active, +a.sublevel:visited { + color:#FFFFFF; + text-decoration:none; + font-size:11px; + line-height: 27px; +} + +a.sublevel:hover { + color: #000000; +} + +/** generic menu item link on mouseover **/ +a.mainlevel:hover, +#leftcol a.mainlevel:hover, +#leftcolmenu a.mainlevel:hover { + background-color:#B8B35C; + color:#000000!important; + text-decoration:none!important; +} + +/** specific top right column menu item link **/ +a.mainlevel-right:link, +a.mainlevel-right:active, +a.mainlevel-right:visited, +a.sublevel-right:link, +a.sublevel-right:active, +a.sublevel-right:visited { + color:#FFFFFF; + text-decoration:none; + font-size:11px; +} + +/** specific top right column menu item link on mouseover **/ +a.mainlevel-right:hover { + background-color:#15604F; + text-decoration:none; +} + + +/** pathway link item **/ +a.pathway:link, +a.pathway:link, +a.pathway:active, +a.pathway:visited { + color:#999999; + text-decoration:none; +} + + +/** table of content list **/ +a.toclink:link, +a.toclink:active, +a.toclink:visited { + color:#0C362D; + font-size:11px; + padding:2px 10px 2px 10px; + display:block; + text-decoration:none; +} + +.pagenavbar a:link, +.pagenavbar a:active, +.pagenavbar a:visited { + letter-spacing:2px; + color:#000000; + font-size: 11px; + text-decoration: none; +} + +.pagenavbar a:hover { + color:#0C362D; +} + +/** latestnews and popular **/ +.latestnews, +.mostread { + color:#000000; +} + +a.latestnews:link, +.mostread a:link, +.latestnews a:active, +.mostread a:active, +.latestnews a:hover, +.mostread a:hover, +.latestnews a:visited, +.mostread a:visited { + color:#000000; + text-decoration:underline; +} + +/** underline on hover **/ +a.toclink:hover, +a.latestnews:hover, +a.mostread:hover, +a.pathway:hover, +a.sublevel:hover, +a.sublevel-right:hover, +a.blogsection:hover, +a.readon:hover, +a.pagenav:hover , +a.pagenav_next:hover, +a.pagenav_pre:hover, +a.latestnews:hover { + text-decoration:underline; + color:#0C362D; + background-color:inherit; +} + +#leftcol a:hover { + color: #000000; + text-decoration:underline; +} + + +/* --------------------- +mambo module layout +--------------------- */ + +/** general module table **/ +table.moduletable, +#leftcol table, +#rightcol table { + width:100%; + float:left; + clear:left; +} + +/** general module table **/ +#rightcol table, +#leftcol table td { + font-size:11px !important; + color:#FFFFFF; +} + +#rightcol table, +#rightcol table td { + font-size:11px !important; + color:#FFFFFF; +} + +/** general module title **/ +table.moduletable th { + border: solid 1px #000000; + color:#FFFFFF; + font-family: Georgia, "Times New Roman", Times, serif; + font-size:13px; + line-height:25px; + background-color: #6EB28A; + height:22px; + text-align:left; + padding-left:15px; + font-weight:normal; + text-transform: uppercase; + letter-spacing: 1px; +} + +#leftcol table.moduletable th { + background-color: #8F8A2C; + color: #000000; + border: solid 1px #000000; +} + +#rightcol table.moduletable th { + background-color:#6EB28A; + border: solid 1px #000000; +} + + +/** specific module td table for content top 1 and 2. +position:user2 an user3 **/ +#content_top1 table.moduletable td, +#content_top2 table.moduletable td { + background-color:#F2FFF2; + height:100px; + min-height:100px; + vertical-align:top; +} + +/** right column module td **/ +#rightcol table.moduletable td { + padding:5px; +} + +/** generic menu item **/ + +.mainlevel { + display:block; + font: bold 11px/25px Arial, Helvetica, sans-serif !important; + padding-left:15px; + background:transparent url(../images/bg_mainlevel.gif) repeat-x center top; + font-weight:bold; + text-decoration:none; +} + +/** specific left column form **/ +#leftcol form { + margin-left:15px; +} + +/** specific left column form **/ +#leftcol .button { + font-size:11px; + color:#FFFFFF; + background-color:#C4BD40; + border: 1px solid #746A39; + width:140px; +} + + +/** specific left column form **/ +#leftcol .inputbox { + font-size:11px; + font-weight: bold; +} + +/** module styles in #leftcol **/ +#leftcol table.moduletable td { + color:#FFFFFF; + font-size:11px; +} + +/** search div in top right column. position:user4 **/ +div.search { + margin-left:10px; +} + +/** search field in search div **/ +.search .inputbox { + width:145px; + border: 1px solid #000000; +} + +/* --------------------- +mambo form layout +--------------------- */ + +/** left column input form **/ +#leftcol .inputbox { + font-size:11px; + margin-bottom:2px; +} + + + +/** input button html tag **/ +.button, +#rightcol .button { + font-size:11px; + text-transform:uppercase; + color:#FFFFFF; + font-weight:bold; + background-color:#000000; + border: 1px solid #666666; +} + +.search { + margin-top:30px; +} + + + + +/* +mambo top menu layout +you need to add menu class suffix: -nav +*/ + +/** unordered list top menu **/ +ul#mainlevel-nav +{ + list-style: none; + padding: 0; + margin: 0; + font-size: 0.8em; +} + +/** unordered list item for top menu **/ +ul#mainlevel-nav li +{ + display: block; + padding-left: 0px; + padding-right: 0px; + float: left; + margin: 0; + width: auto !important; + font-size: 11px; + line-height: 23px; + white-space: nowrap; +} + +/** unordered list item link for top menu **/ +ul#mainlevel-nav li a +{ + display: block; + padding-left: 15px; + padding-right: 15px; + text-decoration: none; + color: #FFFFFF; + font-weight:bold; +} + +/** unordered list item link for top menu for firefox only **/ +#topmenu>ul#mainlevel-nav li a { + width: auto; +} + +/** unordered list item for top menu for firefox only **/ +ul#mainlevel-nav li a:hover { + background: #535353; + text-decoration:none; +} + + + /* +specific right column menu item. position:right +you need to add menu class suffix: -right and +module class suffix: -right + */ +.mainlevel-right { + display:block; + height:25px; + line-height:25px; + padding-left:15px; + background:#0C362D url(../images/bg_mainlevel_right.gif) repeat-x center top; + font-weight:bold; +} + +/** +moduletable specific with background image +you need to add modules class suffix: -bgimg + **/ +table.moduletable-bgimg { + background:transparent url(../images/bg_module.jpg) no-repeat center bottom; + float:left; + clear:left; + width:100%; +} + +table.moduletable-bgimg td { + padding: 5px ; + font-size:11px; +} + +table.moduletable-bgimg td td { + padding: 0!important; +} + +/** for polls **/ +.poll { + font-size:11px; + line-height: 16px; +} + +table.pollstableborder .sectiontableentry2 { + background-color:transparent; + text-align:left; +} +table.pollstableborder .sectiontableentry1 { + background-color:#092620; + text-align:left; +} + +.moduletable_bgimg table.pollstableborder td.sectiontableentry2, +.moduletable_bgimg table.pollstableborder td.sectiontableentry1 { + background-color:transparent!important; + text-align:left!important; +} + + +#bottompadding { + position:relative; + width:900px; + display:block; + height:0px; + margin-top:-100px; +} \ No newline at end of file Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_body.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_body.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_inside.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_inside.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_leftcol.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_leftcol.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_leftcol_module_th.gif and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_leftcol_module_th.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_mainlevel.gif and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_mainlevel.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_mainlevel_right.gif and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_mainlevel_right.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_module.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_module.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_module_contenttop.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_module_contenttop.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_pagenav.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_pagenav.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_spacer.gif and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_spacer.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/bg_topright.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/bg_topright.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/img_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone_green/images/img_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/indent1.png and 4.6-complete/uploadfiles/templates/waterandstone_green/images/indent1.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/indent2.png and 4.6-complete/uploadfiles/templates/waterandstone_green/images/indent2.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/indent3.png and 4.6-complete/uploadfiles/templates/waterandstone_green/images/indent3.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/indent4.png and 4.6-complete/uploadfiles/templates/waterandstone_green/images/indent4.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/indent5.png and 4.6-complete/uploadfiles/templates/waterandstone_green/images/indent5.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/indent6.png and 4.6-complete/uploadfiles/templates/waterandstone_green/images/indent6.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/images/logo.gif and 4.6-complete/uploadfiles/templates/waterandstone_green/images/logo.gif differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_green/index.php 4.6-complete/uploadfiles/templates/waterandstone_green/index.php --- 4.6rc2/uploadfiles/templates/waterandstone_green/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_green/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,129 @@ +'; +?> + + + + +id ) { + initEditor(); +} +?> + + + + + +
            +
            +
            +
            + + + + +
            + +
            + + +
            + header image +
            + +
            + +
            + +
            +
            + +
            + + + = 1 OR mosCountModules('user3') >= 1 ) { + ?> +
            + +
            + +
            + + +
            + +
            + +
            + + + +
            + + + + + +
            + +
            +
            + +
            +
            +
            + +
            + +
            + + +
            + + + +
            + +
            + +
            +
            + = 1) { + ?> + + + + + +
            +
            +
            +
            +
            +
            + + + +
            +
            + + + + diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_green/templateDetails.xml 4.6-complete/uploadfiles/templates/waterandstone_green/templateDetails.xml --- 4.6rc2/uploadfiles/templates/waterandstone_green/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_green/templateDetails.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,40 @@ + + + waterandstone_green + 07/05/06 + waterandstone + GNU/GPL + info@waterandstone.com + http://www.waterandstone.com + 1.1 + The Water and Stone Green Template optimized for 1024px x 768px screen resolution for use with any type of website with easy customization + + index.php + template_thumbnail.png + + + images/bg_body.jpg + images/bg_header.jpg + images/bg_inside.jpg + images/bg_leftcol.jpg + images/bg_leftcol_module_th.gif + images/bg_mainlevel.gif + images/bg_mainlevel_right.gif + images/bg_module.jpg + images/bg_module_contenttop.jpg + images/bg_pagenav.jpg + images/bg_spacer.gif + images/bg_topright.jpg + images/img_header.jpg + images/indent1.png + images/indent2.png + images/indent3.png + images/indent4.png + images/indent5.png + images/indent6.png + images/logo.gif + + + css/template_css.css + + Binary files 4.6rc2/uploadfiles/templates/waterandstone_green/template_thumbnail.png and 4.6-complete/uploadfiles/templates/waterandstone_green/template_thumbnail.png differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/css/template_css.css 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/css/template_css.css --- 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/css/template_css.css 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/css/template_css.css 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,901 @@ +* { + font-family: Arial, Helvetica, sans-serif; +} + +.waterbody { + background:#E8E8E8 url(../images/bg_body.jpg) repeat left top; + margin:0; + color:#333333; +} + +div, +td, +p { + font-size:12px; + line-height:18px; + color:#333333; +} + +a, +a:link, +a:active, +a:visited { + color:#000000; +} + +a:hover { + color:#96C600; +} + +#leftcol a, +#leftcol a:link, +#leftcol a:active, +#leftcol a:visited { + text-decoration:none !important; + border-bottom: 1px dotted #000000; + color:#000000; +} + +#leftcol a:hover { + text-decoration:none; + color:#000000; + border-bottom: 1px solid #000000; + text-decoration:none !important; +} + +#rightcol a, +#rightcol a:link, +#rightcol a:active, +#rightcol a:visited { + text-decoration:none !important; + border-bottom: 1px dotted #FFFFFF; + color:#FFFFFF; +} + +#rightcol a:hover { + border-bottom: 1px solid #FFFFFF; + color:#FFFFFF; + text-decoration:none !important; +} + + +ul { + margin: 5px; + padding: 5px; + list-style: none; + list-style-type: square; +} + +li { + line-height: 18px; + padding-left: 5px; + padding-top: 0px; + list-style-position: inside; +} + +/** To center the objects **/ +.center { + text-align:center!important; +} + +/* --------------------- +template layout +--------------------- */ + +/** wrapper to make the page center **/ +#container { + width:900px; + margin: 0px auto; + padding:0; + text-align: left; +} + +/** +hold background, it should be float:left +that's way we can not put it in #container +**/ +#containerbg { + position:relative; + width: 900px; + background:transparent url(../images/bg_inside.jpg) repeat-y left top; + float:left; + top:0; + left:0; +} + +#outerleft { + position:relative; + float:left; + clear:left; + width:730px; + +} + +#outerright { + position:relative; + width:170px; + float:right; + clear:right; +} + +#logo { + position:relative; + width:100%; + height:74px; + float:left; + background:#FFFFFF url(../images/bg_header.jpg) no-repeat left top; +} + +/** div container for top menu. position:top **/ +#topmenu { + position:relative; + float:left; + clear:left; + background-color:#000000; + width: 100%; +} + +/** div container for image header **/ +#imgheader { + position:relative; + float:left; + clear:left; + width:100%; + height:99px; + background-color: #000000; +} + +#container_inner { + position:relative; + float:left; + clear:left; + width:730px; +} + +/** div container for left column **/ +#leftcol { + position:relative; + float:left; + clear:left; + width:172px; +} + +#leftcolmenu { + position:relative; + overflow:auto; +} + + +/** div wrapper for user2 & user3 **/ +#content_top_wrapper { + position:relative; + float:right; + clear:right; + width:542px; + display:inline; + margin: 4px 8px 0 0; +} + +/** div container for position:user2 **/ +#content_top1 { + position:relative; + float:left; + clear:left; + width:269px; +} + +/** div container for position:user3 **/ +#content_top2 { + position:relative; + float:right; + clear:right; + width:269px; +} + +/** div container for mainbody **/ +#content_main { + position:relative; + float:left; + width:520px; + margin:15px 0 20px 20px; + background-color:#FFFFFF; +} + +/** div container for right column **/ +#rightcol_top, +#rightcol { + float:left; + clear:left; + width:168px; + margin:0 0 0 1px; + display:inline; + overflow:auto; +} + +/** div container for right column position:header **/ +#rightcol_top { + height:70px; + min-height:70px; +} + +/** div container for banner position:banner **/ +#banner { + position:relative; + clear:left; + float:left; + width:515px; + height:65px; + min-height:65px; + color:#FFFFFF; + font-size:10px; + padding: 20px 0 0 215px; +} + +#blackline { + position:relative; + clear:left; + float:left; + width:730px;; + height:10px; + min-height:10px; + background-color: #000000; + color:#FFFFFF; + font-size:10px; +} + +/** copyright **/ + +#copyright { + position:relative; + width:900px; + display:block; + clear:both; + float:left; +} + +#copyright div { + color:#666666; + font-size:10px; + font-weight:bold; + display:block!important; + width:900px; + float:left; + clear:left; + margin:-10px 0 0 0; + text-align:left; +} + + + +/* --------------------- +mambo content layout +--------------------- */ + +/** pathway block **/ +span.pathway { + display:block; + text-align:left; + color:#000000; + font-size:10px; + font-weight:bold; + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #E5E5E5; + height:20px; + margin-bottom:10px; +} + +/** content title **/ +.componentheading { + font-family:Georgia, "Times New Roman", Times, serif !important; + color:#000000; + font-size: 20px; + line-height:25px; + padding: 5px 0 5px 0; + display:block; +} + +.contentheading, +.contentpagetitle, +a.contentpagetitle:link, +a.contentpagetitle:active, +a.contentpagetitle:visited { + font-family:Georgia, "Times New Roman", Times, serif !important; + font-size:18px; + color:#000000; + padding-top: 25px; + background-color:inherit; + display:block; +} + +.contentpaneopen { + width:100%; +} + + +.buttonheading { + width: 16px!important; + text-align:right; +} + + +td.sectiontableheader { + font-weight: bold; +} + +.category, .categorytitle { + font-weight: bold; + color:#000000; + background-color:inherit; +} + +.sectiontableentry1, +table.pollstableborder tr.sectiontableentry1 { + background-color: #F9FFEA; + padding: 2px; + color:#333333; + +} + +.sectiontableentry2, +table.pollstableborder tr.sectiontableentry2 { + background-color: #FFFFFF; + padding: 2px; + color:#333333; +} + +tr.sectiontableentry1 td, +tr.sectiontableentry2 td { + word-wrap:break-word; +} + +/** blog Styles **/ +.blogsection { + color:#000000; + background-color:inherit; +} + +.blog_more { + font-weight: bold; + line-height: 25px; + padding-top: 20px; + color: #000000; + border-bottom: 1px solid #E5E5E5; + background-color:inherit; +} + +/** small text in content **/ +.small { + color:#336600; + font-size:10px; + font-weight: normal; + background-color:inherit; +} + +/** date info in content **/ +#content_main .createdate { + color:#99CC00; + font-size:10px; + padding: 0 0 15px 0; + line-height:8px; + background-color:inherit; +} + +#content_main .modifydate { + color:#999999; + font-size:10px; + padding: 0; + background-color:inherit; +} + + +/** content item navigation **/ +.pagenavbar { + display:block; + width:100%; + background-color:inherit; + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999!important; + clear:both; + font-size: 11px!important; + margin-top: 10px; + background-image: url(../images/bg_pagenav.jpg); + background-repeat: repeat-x; + background-position: center bottom; +} + +.pagenav { + height:20px; + line-height:25px; + text-align:right; + letter-spacing:2px; + color:#999999; + clear:both; + font-size: 11px; + margin-left: 0; + margin-right: 0; + background-color:inherit; +} + +.back_button { + display:block; + text-align:left; + font-weight:bold; + font-size:12px; + width:100%; + margin-bottom:10px; + letter-spacing:2px; +} + +/** highlight word search result **/ +.highlight { + font-weight:bold; + background-color: #FFFF00; + padding: 2px 0 2px 0; + +} + +/** table of content layout **/ +table.contenttoc { + border:1px solid #000000; + padding:1px; + width:130px; + margin: 0 0 10px 10px; +} + +/** table of content header **/ +.contenttoc th { + color:#FFFFFF; + background-color:#666666; + font-size:11px; + display:block; + width:124px; +} + +/** unordered list for latest news module **/ +ul.latestnews li,ul.mostread li { + line-height: 18px; + font-size:11px; + font-weight:bold; + list-style-type: none; + list-style-position: outside; +} + + +/** fix opera table width for content list in table category**/ +table.contentpane td.contentdescription { + width:100%!important; +} + + +/* --------------------- +Links +--------------------- */ + +/** any left column link **/ + +a.pagenav:link , +a.pagenav_next:link, +a.pagenav_pre:link, +div.back_button a, +div.back_button a:link, +a.latestnews:link, +a.latestnews:active, +a.latestnews:visited, +a.mostread:link, +a.mostread:active, +a.mostread:visited { + text-decoration: none !important; + border-bottom: 1px dotted #000000 !important; +} + +a.latestnews:hover, +a.mostread:hover { + color: #000000 !important; + text-decoration: none !important; + border-bottom: 1px solid #000000 !important; +} + +a.pagenav:hover , +a.pagenav_next:hover, +a.pagenav_pre:hover, +div.back_button a:hover { + text-decoration: none !important; + border-bottom: 1px solid #000000 !important; +} + +/*** read more link ***/ +.readon, +a.readon:link, +a.readon:active, +a.readon:visited { + color:#99CC00; + font-weight:bold; + text-align:left; + margin-top:10px; + letter-spacing: 2px; + font-size:10px; + text-decoration:none; +} + +a.readon:hover { + color:#666666; +} + +/*** blog links ***/ +a.blogsection:link, +a.blogsection:active, +a.blogsection:visited { + color:#000000; + text-decoration:none; +} + +/** generic menu item link **/ +a.mainlevel:link, +a.mainlevel:active, +a.mainlevel:visited, +a.sublevel:link, +a.sublevel:active, +a.sublevel:visited { + color:#000000; + text-decoration:none; + border: none !important; + font-size:11px; + line-height: 27px; +} + +a.sublevel:hover { + color: #E0FF33 !important; +} + +/** generic menu item link on mouseover **/ +a.mainlevel:hover, +#leftcol a.mainlevel:hover, +#leftcolmenu a.mainlevel:hover { + background:#E0FF33 url(../images/bg_mainlevel.gif) repeat-x center top; + color:#000000!important; + text-decoration:none!important; + border: none !important; +} + +/** specific top right column menu item link **/ +a.mainlevel-right:link, +a.mainlevel-right:active, +a.mainlevel-right:visited, +a.sublevel-right:link, +a.sublevel-right:active, +a.sublevel-right:visited { + color:#000000; + text-decoration:none !important; + font-size:11px; + border: none !important; +} + +/** specific top right column menu item link on mouseover **/ +a.mainlevel-right:hover { + background:#666666; + text-decoration:none; + border: none !important; +} + + +/** pathway link item **/ +a.pathway:link, +a.pathway:link, +a.pathway:active, +a.pathway:visited { + color:#999999; + text-decoration:none; + border: none; +} + + +/** table of content list **/ +a.toclink:link, +a.toclink:active, +a.toclink:visited { + color:#000000; + font-size:11px; + padding:2px 10px 2px 10px; + display:block; + text-decoration:none; +} + +.pagenavbar a:link, +.pagenavbar a:active, +.pagenavbar a:visited { + letter-spacing:2px; + color:#000000; + font-size: 11px; + text-decoration: none; +} + +.pagenavbar a:hover { + color:#000000; +} + +/** latestnews and popular **/ +.latestnews, +.mostread { + color:#000000; +} + +a.latestnews:hover, +.mostread a:hover, +.latestnews a:hover, +.mostread a:active, +.latestnews a:hover, +.mostread a:hover,{ + border-bottom: 1px solid #000000; +} + + +/* --------------------- +mambo module layout +--------------------- */ + +/** general module table **/ +table.moduletable, +#leftcol table, +#rightcol table { + width:100%; + float:left; + clear:left; +} + +/** general module table **/ +#leftcol table, +#leftcol table td { + font-size:11px !important; + color:#000000; +} + +#rightcol table, +#rightcol table td { + font-size:11px !important; + color:#FFFFFF; +} + +/** general module title **/ +table.moduletable th { + border: solid 1px #000000; + color:#000000; + font-family: Georgia, "Times New Roman", Times, serif; + font-size:13px; + line-height:25px; + background: #B5B5B5 url(../images/bg_leftcol_module_th.gif) repeat-y left top; + height:22px; + text-align:left; + padding-left:15px; + font-weight:normal; + text-transform: uppercase; + letter-spacing: 1px; +} + +#leftcol table.moduletable th { + background-color: #B8F400; + color: #000000; + border: none; + border-top: solid 1px #000000; + border-bottom: solid 1px #000000; +} + +#rightcol table.moduletable th { + background-color:#B5B5B5; + border: solid 1px #000000; +} + + +/** specific module td table for content top 1 and 2. +position:user2 an user3 **/ +#content_top1 table.moduletable td, +#content_top2 table.moduletable td { + background-color:#EFEFEF; + height:100px; + min-height:100px; + vertical-align:top; +} + +/** right column module td **/ +#rightcol table.moduletable td { + padding:5px; +} + +/** generic menu item **/ + +.mainlevel { + display:block; + font: bold 11px/25px Arial, Helvetica, sans-serif !important; + color: #000000 !important; + padding-left:15px; + background:transparent url(../images/bg_mainlevel.gif) repeat-x center top; + font-weight:bold; + text-decoration:none; +} + +/** specific left column form **/ +#leftcol form { + margin-left:15px; +} + +/** specific left column form **/ +#leftcol .button { + font-size:11px; + color:#FFFFFF; + background-color:#A8DF00; + border: 1px solid #CCFF00; + width:140px; +} + + +/** specific left column form **/ +#leftcol .inputbox { + font-size:11px; + font-weight: bold; +} + +/** module styles in #leftcol **/ +#leftcol table.moduletable td { + color:#000000; + font-size:11px; +} + +/** search div in top right column. position:user4 **/ +div.search { + margin-left:10px; +} + +/** search field in search div **/ +.search .inputbox { + width:145px; + border: 1px solid #000000; +} + +/* --------------------- +mambo form layout +--------------------- */ + +/** left column input form **/ +#leftcol .inputbox { + font-size:11px; + margin-bottom:2px; +} + + + +/** input button html tag **/ +.button, +#rightcol .button { + font-size:11px; + text-transform:uppercase; + color:#FFFFFF; + font-weight:bold; + background-color:#000000; + border: 1px solid #666666; +} + +.search { + margin-top:30px; +} + + + + +/* +mambo top menu layout +you need to add menu class suffix: -nav +*/ + +/** unordered list top menu **/ +ul#mainlevel-nav +{ + list-style: none; + padding: 0; + margin: 0; + font-size: 0.8em; +} + +/** unordered list item for top menu **/ +ul#mainlevel-nav li +{ + display: block; + padding-left: 0px; + padding-right: 0px; + float: left; + margin: 0; + width: auto !important; + font-size: 11px; + line-height: 23px; + white-space: nowrap; +} + +/** unordered list item link for top menu **/ +ul#mainlevel-nav li a +{ + display: block; + padding-left: 15px; + padding-right: 15px; + text-decoration: none; + color: #FFFFFF; + font-weight:bold; +} + +/** unordered list item link for top menu for firefox only **/ +#topmenu>ul#mainlevel-nav li a { + width: auto; +} + +/** unordered list item for top menu for firefox only **/ +ul#mainlevel-nav li a:hover { + background: #535353; + text-decoration:none; +} + + + /* +specific right column menu item. position:right +you need to add menu class suffix: -right and +module class suffix: -right + */ +.mainlevel-right { + display:block; + height:25px; + line-height:25px; + padding-left:15px; + color: #FFFFFF; + background:#333333 url(../images/bg_mainlevel_right.gif) repeat-x center top; + font-weight:bold; +} + +/** +moduletable specific with background image +you need to add modules class suffix: -bgimg + **/ +table.moduletable-bgimg { + background:transparent url(../images/bg_module.jpg) no-repeat center bottom; + float:left; + clear:left; + width:100%; +} + +table.moduletable-bgimg td { + padding: 5px ; + font-size:11px; +} + +table.moduletable-bgimg td td { + padding: 0!important; +} + +/** for polls **/ +.poll { + font-size:11px; + line-height: 16px; +} + +table.pollstableborder .sectiontableentry2 { + background-color:transparent; + text-align:left; +} +table.pollstableborder .sectiontableentry1 { + background-color:#333333; + text-align:left; +} + +.moduletable_bgimg table.pollstableborder td.sectiontableentry2, +.moduletable_bgimg table.pollstableborder td.sectiontableentry1 { + background-color:transparent!important; + text-align:left!important; +} + + +#bottompadding { + position:relative; + width:900px; + display:block; + height:0px; + margin-top:-100px; +} \ No newline at end of file Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_body.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_body.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_inside.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_inside.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_leftcol.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_leftcol.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_leftcol_module_th.gif and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_leftcol_module_th.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_mainlevel.gif and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_mainlevel.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_mainlevel_right.gif and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_mainlevel_right.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_module.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_module.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_module_contenttop.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_module_contenttop.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_pagenav.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_pagenav.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_spacer.gif and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_spacer.gif differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/bg_topright.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/bg_topright.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/img_header.jpg and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/img_header.jpg differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/indent1.png and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/indent1.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/indent2.png and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/indent2.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/indent3.png and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/indent3.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/indent4.png and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/indent4.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/indent5.png and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/indent5.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/indent6.png and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/indent6.png differ Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/images/logo.gif and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/images/logo.gif differ diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/index.php 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/index.php --- 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/index.php 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/index.php 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,129 @@ +'; +?> + + + + +id ) { + initEditor(); +} +?> + + + + + +
            +
            +
            +
            + + + + +
            + +
            + + +
            + header image +
            + +
            + +
            + +
            +
            + +
            + + + = 1 OR mosCountModules('user3') >= 1 ) { + ?> +
            + +
            + +
            + + +
            + +
            + +
            + + + +
            + + + + + +
            + +
            +
            + +
            +
            +
            + +
            + +
            + + +
            + + + +
            + +
            + +
            +
            + = 1) { + ?> + + + + + +
            +
            +
            +
            +
            +
            + + + +
            +
            + + + + diff -ruN 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/templateDetails.xml 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/templateDetails.xml --- 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/templateDetails.xml 1969-12-31 18:00:00.000000000 -0600 +++ 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/templateDetails.xml 2006-09-20 19:05:08.000000000 -0500 @@ -0,0 +1,40 @@ + + + waterandstone_greenandblack + 21/05/06 + waterandstone + GNU/GPL + info@waterandstone.com + http://www.waterandstone.com + 1.1 + The Water and Stone Green and Black Template optimized for 1024px x 768px screen resolution for use with any type of website with easy customization + + index.php + template_thumbnail.png + + + images/bg_body.jpg + images/bg_header.jpg + images/bg_inside.jpg + images/bg_leftcol.jpg + images/bg_leftcol_module_th.gif + images/bg_mainlevel.gif + images/bg_mainlevel_right.gif + images/bg_module.jpg + images/bg_module_contenttop.jpg + images/bg_pagenav.jpg + images/bg_spacer.gif + images/bg_topright.jpg + images/img_header.jpg + images/indent1.png + images/indent2.png + images/indent3.png + images/indent4.png + images/indent5.png + images/indent6.png + images/logo.gif + + + css/template_css.css + + Binary files 4.6rc2/uploadfiles/templates/waterandstone_greenandblack/template_thumbnail.png and 4.6-complete/uploadfiles/templates/waterandstone_greenandblack/template_thumbnail.png differ